af7c70b5e3a75b4cc049b85bd325a0c4eb1808f0
[gnulib.git] / ChangeLog
1 2008-01-06  Simon Josefsson  <simon@josefsson.org>
2
3         * tests/test-localename.c: Don't include obsolete "setenv.h".
4
5         * modules/localename-tests (Depends-on): Need unsetenv.
6
7 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8
9         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
10
11 2008-01-06  Colin Watson  <cjwatson@debian.org>
12
13         * users.txt: Add man-db.
14
15 2008-01-07  Bruno Haible  <bruno@clisp.org>
16
17         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
18         previous section name.
19
20 2008-01-07  Bruno Haible  <bruno@clisp.org>
21
22         * lib/progname.c (set_program_name): Don't strip off a leading
23         "lt-" prefix outside a .libs directory.
24         Suggested by Paul Eggert.
25
26 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
27             Bruno Haible  <bruno@clisp.org>
28
29         Improve memory cleanup in 'relocatable' module.
30         * lib/relocatable.h (compute_curr_prefix): Change return type to
31         'char *'.
32         * lib/relocatable.c (compute_curr_prefix): Change return type to
33         'char *'. Free curr_installdir after use.
34         (relocate): Free curr_prefix_better after use.
35         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
36
37 2008-01-01  Bruno Haible  <bruno@clisp.org>
38
39         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
40         failure on older glibc systems.
41         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42
43 2008-01-05  Eric Blake  <ebb9@byu.net>
44
45         Avoid quadratic system memmem.
46         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
47         Reported by Ralf Wildenhues.
48
49         Fix memmem test for mingw.
50         * modules/memmem-tests (configure.ac): Check for alarm.
51         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
52         it.
53         * doc/functions/memmem.texi: New file.
54         * doc/gnulib.texi (Function Substitutes): Add memmem.
55         Reported by Bruno Haible.
56
57 2008-01-04  Bruno Haible  <bruno@clisp.org>
58
59         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
60         Require gl_HEADER_STRINGS_H_DEFAULTS, not
61         gl_HEADER_STRING_H_DEFAULTS.
62
63 2008-01-04  Eric Blake  <ebb9@byu.net>
64
65         Shorten duration of memmem test.
66         * tests/test-memmem.c (main): Use alarm to declare failure if test
67         is taking too long.
68         Reported by Ralf Wildenhues.
69
70 2007-12-21  Simon Josefsson  <simon@josefsson.org>
71
72         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
73         string, needed by strerror.
74
75 2008-01-03  Colin Watson  <cjwatson@debian.org>
76             Bruno Haible  <bruno@clisp.org>
77
78         * doc/gnulib-tool.texi (Localization): New section.
79
80 2008-01-02  Bruno Haible  <bruno@clisp.org>
81
82         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
83         variables to 'unsigned char *' type.
84         Reported by Paul Eggert.
85
86 2008-01-02  Jim Meyering  <jim@meyering.net>
87
88         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
89
90 2007-12-31  Jim Meyering  <jim@meyering.net>
91
92         Avoid use of private FTS type name.
93         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
94
95 2007-12-30  Karl Berry  <karl@gnu.org>
96
97         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
98         work around defect in Texinfo and/or the standalone Info browser.
99
100 2007-12-30  Bruno Haible  <bruno@clisp.org>
101
102         Unify 5 copies of the KMP code.
103         * lib/str-kmp.h: New file.
104         * lib/c-strcasestr.c: Include str-kmp.h.
105         (knuth_morris_pratt): Remove function.
106         (c_strcasestr): Update.
107         * lib/c-strstr.c: Include str-kmp.h.
108         (knuth_morris_pratt): Remove function.
109         (c_strcasestr): Update.
110         * lib/mbscasestr.c: Include str-kmp.h.
111         (knuth_morris_pratt_unibyte): Remove function.
112         * lib/mbsstr.c: Include str-kmp.h.
113         (knuth_morris_pratt_unibyte): Remove function.
114         * lib/strcasestr.c: Include str-kmp.h.
115         (knuth_morris_pratt): Remove function.
116         (strcasestr): Update.
117         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
118         * modules/c-strstr (Files): Likewise.
119         * modules/mbscasestr (Files): Likewise.
120         * modules/mbsstr (Files): Likewise.
121         * modules/strcasestr (Files): Likewise.
122         Suggested by Paul Eggert.
123
124 2007-12-30  Bruno Haible  <bruno@clisp.org>
125
126         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
127         defined.
128
129 2007-12-30  Bruno Haible  <bruno@clisp.org>
130
131         * lib/xmalloca.h: Include xalloc.h.
132         (xnmalloca): New macro.
133
134 2007-12-30  Bruno Haible  <bruno@clisp.org>
135
136         * lib/malloca.h (nmalloca): New macro.
137         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
138         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
139         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
140         knuth_morris_pratt_multibyte): Likewise.
141         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
142         knuth_morris_pratt_multibyte): Likewise.
143         * lib/memmem.c (knuth_morris_pratt): Likewise.
144         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
145
146 2007-12-25  Bruno Haible  <bruno@clisp.org>
147
148         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
149         * lib/glob.c: Don't include openat.h.
150         (link_exists2_p): Add back the code that deals with the
151         !GLOB_ALTDIRFUNC case.
152         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
153         let it do the filename concatenation.
154         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
155         * modules/glob (Depends-on): Remove openat.
156
157 2007-12-31  Bruno Haible  <bruno@clisp.org>
158
159         * modules/dirfd (License): Change to LGPLv2+.
160         Approved by Jim Meyering.
161
162 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
163
164         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
165         when multiplying M by sizeof (size_t).
166
167 2007-12-10  Martin Lambers  <marlam@marlam.de>
168
169         Override getpagesize on mingw.
170         * lib/getpagesize.c: New file.
171         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
172         * modules/getpagesize (Files): Add lib/getpagesize.c.
173         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
174         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
175         REPLACE_GETPAGESIZE.
176         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
177
178 2007-12-25  Bruno Haible  <bruno@clisp.org>
179
180         * modules/localcharset (Notice): New field.
181         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
182         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
183
184 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
185             Bruno Haible  <bruno@clisp.org>
186
187         Avoid using the syntax symbol() in formatted documentation.
188         * MODULES.html.sh (func_module): When replacing symbol() with a
189         hyperlink, remove the parentheses. Show an error if some remain.
190         Recognize and render the '...' syntax.
191         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
192         Rework. Add paragraph about GCC's inlining.
193         * doc/alloca.texi: Likewise.
194         * doc/error.texi: Remove parentheses from symbol reference.
195         * doc/gnulib-intro.texi: Likewise.
196         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
197         * modules/fnmatch (Description): Reword to say "the ... function".
198         * modules/full-read (Description): Likewise.
199         * modules/full-write (Description): Likewise.
200         * modules/safe-read (Description): Likewise.
201         * modules/safe-write (Description): Likewise.
202         * modules/strchrnul (Description): Likewise.
203         * modules/trim (Description): Likewise.
204         * modules/error (Description): Remove parentheses from symbol
205         references.
206         * modules/verror (Description): Likewise.
207         Reported by Karl Berry.
208
209 2007-12-25  Bruno Haible  <bruno@clisp.org>
210
211         Fixup after 2007-10-16 commit.
212         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
213
214 2007-12-24  Bruno Haible  <bruno@clisp.org>
215
216         Make --enable-relocatable work with DESTDIR.
217         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
218         to compute installdir from destprog.
219         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
220         also set the RELOC_DESTDIR variable.
221         Reported by Левашев Иван <octagram@bluebottle.com>.
222
223 2007-12-24  Bruno Haible  <bruno@clisp.org>
224
225         Fix link error due to xalloc_die().
226         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
227         of xreadlink.
228         * lib/relocwrapper.c: Update comments.
229         * build-aux/install-reloc: Remove xreadlink.c from file list.
230         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
231         xreadlink.c.
232         Reported by Левашев Иван <octagram@bluebottle.com>.
233
234 2007-12-24  Bruno Haible  <bruno@clisp.org>
235
236         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
237         * lib/setenv.h: Remove file.
238         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
239         lib/setenv.h.
240         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
241         (Depends-on): Add stdlib.
242         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
243         gl_FUNC_UNSETENV.
244         (Include): Replace setenv.h with <stdlib.h>.
245         * modules/unsetenv: New file.
246         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
247         * lib/unsetenv.c: Include <stdlib.h> first.
248         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
249         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
250         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
251         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
252         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
253         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
254         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
255         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
256         * doc/functions/unsetenv.texi: Update.
257         * modules/xsetenv (Depends-on): Add unsetenv.
258         * modules/getdate (Depends-on): Likewise.
259         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
260         * lib/xsetenv.c: Don't include setenv.h.
261         * lib/getdate.y: Likewise.
262         * lib/relocwrapper.c: Likewise.
263         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
264         (Depends-on): Add stdlib.
265         * NEWS: Mention the changes.
266         Reported by Левашев Иван <octagram@bluebottle.com>.
267
268 2007-12-23  Bruno Haible  <bruno@clisp.org>
269
270         * lib/memmem.c (memmem): Use lowercase variable names. Tab
271         indentation.
272
273 2007-12-23  Bruno Haible  <bruno@clisp.org>
274
275         * lib/c-strcasestr.c: Add more comments.
276         * lib/c-strstr.c: Likewise.
277         * lib/mbscasestr.c: Likewise.
278         * lib/mbsstr.c: Likewise.
279         * lib/strcasestr.c: Likewise.
280         * lib/memmem.c: Likewise.
281
282 2007-12-23  Bruno Haible  <bruno@clisp.org>
283
284         * tests/test-memmem.c: Include <string.h> first.
285
286 2007-12-22  Bruno Haible  <bruno@clisp.org>
287
288         * gnulib-tool (func_create_testdir): Change $auxdir while generating
289         the contents of $testsbase.
290         Reported by Ralf Wildenhues.
291
292 2007-12-22  Bruno Haible  <bruno@clisp.org>
293
294         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
295         two variables local_ldadd_before, local_ldadd_last.
296
297 2007-12-20  Eric Blake  <ebb9@byu.net>
298
299         Work around circular library issue when cross-compiling.
300         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
301         that progname.o does not need to pull in rpl_memcmp.
302
303 2007-12-19  Eric Blake  <ebb9@byu.net>
304
305         Fix memmem to avoid O(n^2) worst-case complexity.
306         * lib/memmem.c (knuth_morris_pratt): New function.
307         (memmem): Use it if first few naive iterations fail.
308         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
309         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
310         * modules/memchr (License): Likewise.
311         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
312         malloca.
313         * tests/test-memmem.c: Rewrite, borrowing ideas from
314         test-mbsstr1.c; the old version wouldn't even compile!
315         * modules/memmem-tests: New file.
316         * lib/string.in.h (rpl_memmem): Add declaration.
317         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
318         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
319         REPLACE_MEMMEM.
320
321 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
322
323         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
324         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
325         before any system include files, and undef after them all.  This
326         should fix a problem on VMS reported by John E. Malmberg in
327         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
328
329 2007-12-17  Eric Blake  <ebb9@byu.net>
330
331         Revert addition of verify, for BSD/OS.
332         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
333         can't handle large files, for the sake of obsolete platforms.
334         * modules/fseeko (Depends-on): Remove verify.
335         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
336         * doc/functions/ftello.texi (ftello): Likewise.
337         * doc/functions/fgetpos.texi (fgetpos): Likewise.
338         Reported by Larry Jones.
339
340 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
341
342         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
343         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
344
345 2007-12-17  Jim Meyering  <meyering@redhat.com>
346
347         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
348         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
349         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
350         * modules/getcwd (Depends-on): Add openat.
351         Reported by Petr Salinger.
352
353 2007-12-17  Bruno Haible  <bruno@clisp.org>
354
355         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
356         avoid a segmentation fault of the configure test on x86_64 systems.
357
358 2007-12-15  Jim Meyering  <meyering@redhat.com>
359
360         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
361
362 2007-12-13  Eric Blake  <ebb9@byu.net>
363
364         Another fseek test.
365         * tests/test-fseek.c (main): Also test ungetc handling.
366         * tests/test-fseeko.c (main): Likewise.
367         * modules/fseeko (Depends-on): Add verify.
368         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
369         large.
370         Reported by Larry Jones.
371
372         Fix fseeko on mingw.
373         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
374         seek.
375
376         Beef up fseek tests.
377         * tests/test-fseek.c (main): Also test eof handling.
378         * tests/test-fseeko.c (main): Likewise.
379         Reported by Larry Jones.
380
381 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
382
383         Fix fseeko on BSD-based platforms.
384         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
385         successful seek.
386
387 2007-12-12  Eric Blake  <ebb9@byu.net>
388
389         Allow circular dependency of separate libtests.a
390         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
391         when use_libtests.
392
393 2007-12-11  Eric Blake  <ebb9@byu.net>
394
395         Fix bug with -0.0L in previous patch.
396         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
397         * tests/test-isnan.c (main): Also test on zeroes.
398         * tests/test-isnanf.c (main): Likewise.
399         * tests/test-isnanl.h (main): Likewise.
400
401         Detect pseudo-denormals on x86 even when cross-compiling.
402         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
403         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
404         invalid bit patterns that happen to satisfy ==.
405
406         Avoid link failures with separate libtests.a.
407         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
408         last, to satisfy circular dependencies.
409
410 2007-12-11  Eric Blake  <ebb9@byu.net>
411         and Bruno Haible  <bruno@clisp.org>
412
413         Fix OpenBSD 4.0 <float.h> handling of long double.
414         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
415         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
416         * doc/headers/float.texi (float.h): Document OpenBSD bug.
417
418 2007-12-11  Jim Meyering  <meyering@redhat.com>
419
420         * users.txt: Add libvirt.
421
422         Support versions of autoconf prior to 2.59c.
423         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
424         if it is not already defined.
425
426 2007-12-09  Bruno Haible  <bruno@clisp.org>
427
428         Let 'gnulib-tool --import' collect sources needed for the tests in
429         tests/ rather than in lib/.
430         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
431         argument. If true, add rules to generate libtests.a, and put libtests.a
432         into $(LDADD). Consider source files in subdirectories and set
433         uses_subdirs.
434         (func_emit_initmacro_start, func_emit_initmacro_end,
435         func_emit_initmacro_done): Pass all arguments explicitly.
436         (func_import): Determine two module lists main_modules,
437         testsrelated_modules. Determine use_libtests. Determine two variables
438         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
439         instead of just sed_transform_lib_file. Determine two variables
440         main_files and testsrelated_files. Compute 'files' as the union of
441         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
442         func_add_or_update. In the generated gnulib-comp.m4, collect the
443         object files for tests/ in different variables than those for lib/.
444         Substitute LIBTESTS_LIBDEPS.
445         (func_create_testdir): Combine the uses_subdirs results from
446         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
447
448 2007-12-09  Bruno Haible  <bruno@clisp.org>
449
450         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
451         the build-aux directory.
452
453 2007-12-09  Bruno Haible  <bruno@clisp.org>
454
455         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
456         introduced on 2006-09-09.
457
458 2007-12-07  Jim Meyering  <meyering@redhat.com>
459
460         Let these macros work also with autoconf-2.59.
461         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
462         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
463         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
464
465 2007-12-06  Jim Meyering  <meyering@redhat.com>
466
467         Avoid a configure-time syntax error in gl_FUNC_ACL.
468         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
469         function in each branch, before testing the cache variable.
470
471 2007-12-04  Eric Blake  <ebb9@byu.net>
472
473         Make scripts executable.
474         * build-aux/config.guess: Add execute permissions.
475         * build-aux/config.sub: Likewise.
476         * build-aux/gendocs.sh: Likewise.
477
478         Fix frexp on mingw.
479         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
480         cross-compiling.
481         * doc/functions/frexp.texi (frexp): Document the bug.
482
483         Make cygwin fseeko check more reliable.
484         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
485         version numbers, rather than unrelated feature check.
486         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
487         * doc/functions/ftello.texi (ftello): Likewise.
488         Reported by Bruno Haible.
489
490         * m4/strerror.m4: Bump version number.
491
492 2007-12-03  Bruno Haible  <bruno@clisp.org>
493
494         * doc/functions/mprotect.texi: Mention the mingw problem.
495
496 2007-12-03  Eric Blake  <ebb9@byu.net>
497
498         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
499         REPLACE_STRERROR is initialized before this macro.
500
501 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
502
503         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
504         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
505         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
506         put -lsec in even for programs other than 'ls'.  This fixes a problem
507         for gettext reported by Bruno Haible in
508         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
509         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
510         Add support for Solaris 10.  This isn't efficient, but should get the
511         job done for now.
512
513 2007-12-03  James Youngman  <jay@gnu.org>
514
515         * doc/regexprops-generic.texi: change "an close-group" to "a
516         close-group" and "illegal" to "not allowed".
517
518 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
519
520         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
521         pr_byname.h. Needed for the rare case when the maintainer has done
522         "make maintainer-clean" in the source directory and then attempts a
523         build outside the source directory.
524         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
525         scripts_byname.h.
526
527 2007-12-02  Martin Lambers <marlam@marlam.de>
528             Bruno Haible  <bruno@clisp.org>
529
530         * lib/getpagesize.h: Remove file.
531         * lib/unistd.in.h: Include declaration of getpagesize here.
532         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
533         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
534         HAVE_SYS_PARAM_H.
535         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
536         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
537         * modules/getpagesize (Files): Remove lib/getpagesize.h.
538         (Depends-on): Add unistd.
539         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
540         (Include): Use <unistd.h> instead of getpagesize.h.
541         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
542         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
543         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
544         gl_GETPAGESIZE invocation, already handled by module dependency.
545         * lib/pagealign_alloc.c: Don't include getpagesize.h.
546
547 2007-12-02  Bruno Haible  <bruno@clisp.org>
548
549         * modules/strings-tests: New file.
550         * tests/test-strings.c: New file.
551
552         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
553         * lib/strings.in.h: New file.
554         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
555         * m4/strings_h.m4: New file.
556         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
557         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
558         * modules/strings: New file.
559         * modules/string (Makefile.am): Update.
560         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
561         Reported by Karl Berry.
562
563 2007-12-01  Eric Blake  <ebb9@byu.net>
564
565         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
566         accomodate fix in cygwin 1.5.25.
567
568 2007-12-01  Jim Meyering  <meyering@redhat.com>
569
570         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
571         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
572         that would inhibit utf8-optimization of a regexp containing line-
573         or buffer-anchors, e.g., `^', `$'.
574
575 2007-11-30  Bruno Haible  <bruno@clisp.org>
576
577         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
578         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
579         glthread_recursive_lock_init.
580         * lib/lock.c (glthread_recursive_lock_init)
581         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
582         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
583
584 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
585
586         New function qset_acl, like set_acl but with syscall semantics.
587         * lib/acl.h (qset_acl): New decl.
588         * lib/acl.c (qset_acl): New function.
589         (set_acl): Use new function.  Use more-consistent diagnostics.
590
591 2007-11-28  Jim Meyering  <meyering@redhat.com>
592
593         * modules/physmem (License): Change from GPL to LGPLv2+.
594
595 2007-11-26  Bruno Haible  <bruno@clisp.org>
596
597         * lib/vasnprintf.c (decode_long_double): Don't abort if the
598         'long double' type has excess precision.
599         Reported by Jim Meyering in
600         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
601
602 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
603
604         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
605         Sync from <http://gnu.org/licenses>.
606         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
607         with license text from same location.
608         * doc/maintain.texi, doc/standards.texi:  Sync from
609         <http://savannah.gnu.org/projects/gnustandards>.
610
611 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
612         and Jim Meyering  <meyering@redhat.com>
613
614         Adjust getdate' grammar to accept a slightly more regular language.
615         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
616         Before, the former was rejected.
617         * lib/getdate.y (digits_to_date_time): New function, factored
618         out of ...
619         (number): ...here.  Just call digits_to_date_time.
620         (hybrid): New non-terminal to handle an <unsigned number,
621         signed relative offset> sequence consistently.
622
623 2007-11-18  Jim Meyering  <meyering@redhat.com>
624
625         Pull my changes from coreutils:
626         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
627         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
628         use of $gnulib_tool_option_extras, so that it's separated from the
629         preceding argument.
630
631         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
632         * build-aux/bootstrap (cp_mark_as_generated): Create any required
633         parent destination directories before copying a file into place.
634
635 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
636
637         bootstrap: work also with 4-argument variant of AC_INIT
638         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
639
640 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
641
642         Port test-getaddrinfo to Solaris.
643         Problem reported by Bruno Haible in
644         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
645         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
646         explanation of setting 'hints'.
647         Don't reject an implementation merely because it returns EAI_SERVICE.
648         (EAI_SERVICE): Define to 0 if not defined.
649
650 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
651
652         The license of gnu-make and posix-shell is now "GPLed build tool".
653         * modules/gnu-make (License): Likewise.
654         * modules/posix-shell (License): Likewise.
655
656         New module posix-shell, for determining a POSIX shell
657         or perhaps something that is close enough to a POSIX shell.
658         * m4/posix-shell.m4: New file.
659         * modules/posix-shell: New file.
660
661         * MODULES.html.sh: Mention new module.
662
663         New module gnu-make, for determining whether we're using GNU Make.
664         * m4/gnu-make.m4: New file.
665         * modules/gnu-make: New file.
666         * MODULES.html.sh: Mention new module.
667
668 2007-11-14  Jim Meyering  <meyering@redhat.com>
669
670         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
671         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
672         use this macro to create a function _definition_.
673         Remove useless "#undef ARGMATCH_DIE".
674
675 2007-11-14  Bruno Haible  <bruno@clisp.org>
676
677         * lib/config.charset: Update for OpenBSD 4.1.
678         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
679
680 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
681
682         Document 64-bit #if problems in stdint.texi.
683         * doc/headers/stdint.texi (stdint.h): Mention problems with
684         64-bit-#if, and how to work around them.
685
686         Don't insist on 'long long int' support in the preprocessor.  It
687         breaks too many things.  For example, PRIdMAX still uses a 'long
688         long int' format with the latest Sun compiler, even though
689         HAVE_LONG_LONG_INT isn't defined due to that compiler's
690         preprocessor problem.  This causes the latest coreutils to dump
691         core on Solaris 10 sparc with the Sun C compiler.
692         Instead, fix the 2007-10-16 problem in a different way, by evaluating
693         the troublesome expressions at configure-time, not at #if-time.
694         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
695         preprocessor.
696         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
697         compile-time C checks, done at 'configure'-time.
698         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
699         * modules/inttypes (Makefile): Substitute the new symbols that
700         gl_INTTYPES_H now generates.
701         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
702
703 2007-11-12  Bruno Haible  <bruno@clisp.org>
704
705         Tests for Unicode character classification functions.
706
707         * modules/unictype/bidicategory-byname-tests: New file.
708         * modules/unictype/bidicategory-name-tests: New file.
709         * modules/unictype/bidicategory-of-tests: New file.
710         * modules/unictype/bidicategory-test-tests: New file.
711         * modules/unictype/block-list-tests: New file.
712         * modules/unictype/block-of-tests: New file.
713         * modules/unictype/block-test-tests: New file.
714         * modules/unictype/category-C-tests: New file.
715         * modules/unictype/category-Cc-tests: New file.
716         * modules/unictype/category-Cf-tests: New file.
717         * modules/unictype/category-Cn-tests: New file.
718         * modules/unictype/category-Co-tests: New file.
719         * modules/unictype/category-Cs-tests: New file.
720         * modules/unictype/category-L-tests: New file.
721         * modules/unictype/category-Ll-tests: New file.
722         * modules/unictype/category-Lm-tests: New file.
723         * modules/unictype/category-Lo-tests: New file.
724         * modules/unictype/category-Lt-tests: New file.
725         * modules/unictype/category-Lu-tests: New file.
726         * modules/unictype/category-M-tests: New file.
727         * modules/unictype/category-Mc-tests: New file.
728         * modules/unictype/category-Me-tests: New file.
729         * modules/unictype/category-Mn-tests: New file.
730         * modules/unictype/category-N-tests: New file.
731         * modules/unictype/category-Nd-tests: New file.
732         * modules/unictype/category-Nl-tests: New file.
733         * modules/unictype/category-No-tests: New file.
734         * modules/unictype/category-P-tests: New file.
735         * modules/unictype/category-Pc-tests: New file.
736         * modules/unictype/category-Pd-tests: New file.
737         * modules/unictype/category-Pe-tests: New file.
738         * modules/unictype/category-Pf-tests: New file.
739         * modules/unictype/category-Pi-tests: New file.
740         * modules/unictype/category-Po-tests: New file.
741         * modules/unictype/category-Ps-tests: New file.
742         * modules/unictype/category-S-tests: New file.
743         * modules/unictype/category-Sc-tests: New file.
744         * modules/unictype/category-Sk-tests: New file.
745         * modules/unictype/category-Sm-tests: New file.
746         * modules/unictype/category-So-tests: New file.
747         * modules/unictype/category-Z-tests: New file.
748         * modules/unictype/category-Zl-tests: New file.
749         * modules/unictype/category-Zp-tests: New file.
750         * modules/unictype/category-Zs-tests: New file.
751         * modules/unictype/category-and-not-tests: New file.
752         * modules/unictype/category-and-tests: New file.
753         * modules/unictype/category-byname-tests: New file.
754         * modules/unictype/category-name-tests: New file.
755         * modules/unictype/category-none-tests: New file.
756         * modules/unictype/category-of-tests: New file.
757         * modules/unictype/category-or-tests: New file.
758         * modules/unictype/category-test-withtable-tests: New file.
759         * modules/unictype/combining-class-tests: New file.
760         * modules/unictype/ctype-alnum-tests: New file.
761         * modules/unictype/ctype-alpha-tests: New file.
762         * modules/unictype/ctype-blank-tests: New file.
763         * modules/unictype/ctype-cntrl-tests: New file.
764         * modules/unictype/ctype-digit-tests: New file.
765         * modules/unictype/ctype-graph-tests: New file.
766         * modules/unictype/ctype-lower-tests: New file.
767         * modules/unictype/ctype-print-tests: New file.
768         * modules/unictype/ctype-punct-tests: New file.
769         * modules/unictype/ctype-space-tests: New file.
770         * modules/unictype/ctype-upper-tests: New file.
771         * modules/unictype/ctype-xdigit-tests: New file.
772         * modules/unictype/decimal-digit-tests: New file.
773         * modules/unictype/digit-tests: New file.
774         * modules/unictype/mirror-tests: New file.
775         * modules/unictype/numeric-tests: New file.
776         * modules/unictype/property-alphabetic-tests: New file.
777         * modules/unictype/property-ascii-hex-digit-tests: New file.
778         * modules/unictype/property-bidi-arabic-digit-tests: New file.
779         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
780         * modules/unictype/property-bidi-block-separator-tests: New file.
781         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
782         * modules/unictype/property-bidi-common-separator-tests: New file.
783         * modules/unictype/property-bidi-control-tests: New file.
784         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
785         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
786         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
787         * modules/unictype/property-bidi-european-digit-tests: New file.
788         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
789         * modules/unictype/property-bidi-left-to-right-tests: New file.
790         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
791         * modules/unictype/property-bidi-other-neutral-tests: New file.
792         * modules/unictype/property-bidi-pdf-tests: New file.
793         * modules/unictype/property-bidi-segment-separator-tests: New file.
794         * modules/unictype/property-bidi-whitespace-tests: New file.
795         * modules/unictype/property-byname-tests: New file.
796         * modules/unictype/property-combining-tests: New file.
797         * modules/unictype/property-composite-tests: New file.
798         * modules/unictype/property-currency-symbol-tests: New file.
799         * modules/unictype/property-dash-tests: New file.
800         * modules/unictype/property-decimal-digit-tests: New file.
801         * modules/unictype/property-default-ignorable-code-point-tests: New file.
802         * modules/unictype/property-deprecated-tests: New file.
803         * modules/unictype/property-diacritic-tests: New file.
804         * modules/unictype/property-extender-tests: New file.
805         * modules/unictype/property-format-control-tests: New file.
806         * modules/unictype/property-grapheme-base-tests: New file.
807         * modules/unictype/property-grapheme-extend-tests: New file.
808         * modules/unictype/property-grapheme-link-tests: New file.
809         * modules/unictype/property-hex-digit-tests: New file.
810         * modules/unictype/property-hyphen-tests: New file.
811         * modules/unictype/property-id-continue-tests: New file.
812         * modules/unictype/property-id-start-tests: New file.
813         * modules/unictype/property-ideographic-tests: New file.
814         * modules/unictype/property-ids-binary-operator-tests: New file.
815         * modules/unictype/property-ids-trinary-operator-tests: New file.
816         * modules/unictype/property-ignorable-control-tests: New file.
817         * modules/unictype/property-iso-control-tests: New file.
818         * modules/unictype/property-join-control-tests: New file.
819         * modules/unictype/property-left-of-pair-tests: New file.
820         * modules/unictype/property-line-separator-tests: New file.
821         * modules/unictype/property-logical-order-exception-tests: New file.
822         * modules/unictype/property-lowercase-tests: New file.
823         * modules/unictype/property-math-tests: New file.
824         * modules/unictype/property-non-break-tests: New file.
825         * modules/unictype/property-not-a-character-tests: New file.
826         * modules/unictype/property-numeric-tests: New file.
827         * modules/unictype/property-other-alphabetic-tests: New file.
828         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
829         * modules/unictype/property-other-grapheme-extend-tests: New file.
830         * modules/unictype/property-other-id-continue-tests: New file.
831         * modules/unictype/property-other-id-start-tests: New file.
832         * modules/unictype/property-other-lowercase-tests: New file.
833         * modules/unictype/property-other-math-tests: New file.
834         * modules/unictype/property-other-uppercase-tests: New file.
835         * modules/unictype/property-paired-punctuation-tests: New file.
836         * modules/unictype/property-paragraph-separator-tests: New file.
837         * modules/unictype/property-pattern-syntax-tests: New file.
838         * modules/unictype/property-pattern-white-space-tests: New file.
839         * modules/unictype/property-private-use-tests: New file.
840         * modules/unictype/property-punctuation-tests: New file.
841         * modules/unictype/property-quotation-mark-tests: New file.
842         * modules/unictype/property-radical-tests: New file.
843         * modules/unictype/property-sentence-terminal-tests: New file.
844         * modules/unictype/property-soft-dotted-tests: New file.
845         * modules/unictype/property-space-tests: New file.
846         * modules/unictype/property-terminal-punctuation-tests: New file.
847         * modules/unictype/property-test-tests: New file.
848         * modules/unictype/property-titlecase-tests: New file.
849         * modules/unictype/property-unassigned-code-value-tests: New file.
850         * modules/unictype/property-unified-ideograph-tests: New file.
851         * modules/unictype/property-uppercase-tests: New file.
852         * modules/unictype/property-variation-selector-tests: New file.
853         * modules/unictype/property-white-space-tests: New file.
854         * modules/unictype/property-xid-continue-tests: New file.
855         * modules/unictype/property-xid-start-tests: New file.
856         * modules/unictype/property-zero-width-tests: New file.
857         * modules/unictype/scripts-tests: New file.
858         * modules/unictype/syntax-c-ident-tests: New file.
859         * modules/unictype/syntax-c-whitespace-tests: New file.
860         * modules/unictype/syntax-java-ident-tests: New file.
861         * modules/unictype/syntax-java-whitespace-tests: New file.
862         * tests/unictype/test-bidi_byname.c: New file.
863         * tests/unictype/test-bidi_name.c: New file.
864         * tests/unictype/test-bidi_of.c: New file.
865         * tests/unictype/test-bidi_test.c: New file.
866         * tests/unictype/test-block_list.c: New file.
867         * tests/unictype/test-block_of.c: New file.
868         * tests/unictype/test-block_test.c: New file.
869         * tests/unictype/test-categ_and.c: New file.
870         * tests/unictype/test-categ_and_not.c: New file.
871         * tests/unictype/test-categ_byname.c: New file.
872         * tests/unictype/test-categ_name.c: New file.
873         * tests/unictype/test-categ_none.c: New file.
874         * tests/unictype/test-categ_of.c: New file.
875         * tests/unictype/test-categ_or.c: New file.
876         * tests/unictype/test-categ_test_withtable.c: New file.
877         * tests/unictype/test-combining.c: New file.
878         * tests/unictype/test-decdigit.c: New file.
879         * tests/unictype/test-digit.c: New file.
880         * tests/unictype/test-mirror.c: New file.
881         * tests/unictype/test-numeric.c: New file.
882         * tests/unictype/test-pr_byname.c: New file.
883         * tests/unictype/test-pr_test.c: New file.
884         * tests/unictype/test-predicate-part1.h: New file.
885         * tests/unictype/test-predicate-part2.h: New file.
886         * tests/unictype/test-scripts.c: New file.
887         * tests/unictype/test-sy_c_ident.c: New file.
888         * tests/unictype/test-sy_java_ident.c: New file.
889
890         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
891         for Unicode 5.0.0.
892         * tests/unictype/test-categ_Cc.c: Likewise.
893         * tests/unictype/test-categ_Cf.c: Likewise.
894         * tests/unictype/test-categ_Cn.c: Likewise.
895         * tests/unictype/test-categ_Co.c: Likewise.
896         * tests/unictype/test-categ_Cs.c: Likewise.
897         * tests/unictype/test-categ_L.c: Likewise.
898         * tests/unictype/test-categ_Ll.c: Likewise.
899         * tests/unictype/test-categ_Lm.c: Likewise.
900         * tests/unictype/test-categ_Lo.c: Likewise.
901         * tests/unictype/test-categ_Lt.c: Likewise.
902         * tests/unictype/test-categ_Lu.c: Likewise.
903         * tests/unictype/test-categ_M.c: Likewise.
904         * tests/unictype/test-categ_Mc.c: Likewise.
905         * tests/unictype/test-categ_Me.c: Likewise.
906         * tests/unictype/test-categ_Mn.c: Likewise.
907         * tests/unictype/test-categ_N.c: Likewise.
908         * tests/unictype/test-categ_Nd.c: Likewise.
909         * tests/unictype/test-categ_Nl.c: Likewise.
910         * tests/unictype/test-categ_No.c: Likewise.
911         * tests/unictype/test-categ_P.c: Likewise.
912         * tests/unictype/test-categ_Pc.c: Likewise.
913         * tests/unictype/test-categ_Pd.c: Likewise.
914         * tests/unictype/test-categ_Pe.c: Likewise.
915         * tests/unictype/test-categ_Pf.c: Likewise.
916         * tests/unictype/test-categ_Pi.c: Likewise.
917         * tests/unictype/test-categ_Po.c: Likewise.
918         * tests/unictype/test-categ_Ps.c: Likewise.
919         * tests/unictype/test-categ_S.c: Likewise.
920         * tests/unictype/test-categ_Sc.c: Likewise.
921         * tests/unictype/test-categ_Sk.c: Likewise.
922         * tests/unictype/test-categ_Sm.c: Likewise.
923         * tests/unictype/test-categ_So.c: Likewise.
924         * tests/unictype/test-categ_Z.c: Likewise.
925         * tests/unictype/test-categ_Zl.c: Likewise.
926         * tests/unictype/test-categ_Zp.c: Likewise.
927         * tests/unictype/test-categ_Zs.c: Likewise.
928         * tests/unictype/test-ctype_alnum.c: Likewise.
929         * tests/unictype/test-ctype_alpha.c: Likewise.
930         * tests/unictype/test-ctype_blank.c: Likewise.
931         * tests/unictype/test-ctype_cntrl.c: Likewise.
932         * tests/unictype/test-ctype_digit.c: Likewise.
933         * tests/unictype/test-ctype_graph.c: Likewise.
934         * tests/unictype/test-ctype_lower.c: Likewise.
935         * tests/unictype/test-ctype_print.c: Likewise.
936         * tests/unictype/test-ctype_punct.c: Likewise.
937         * tests/unictype/test-ctype_space.c: Likewise.
938         * tests/unictype/test-ctype_upper.c: Likewise.
939         * tests/unictype/test-ctype_xdigit.c: Likewise.
940         * tests/unictype/test-decdigit.h: Likewise.
941         * tests/unictype/test-digit.h: Likewise.
942         * tests/unictype/test-numeric.h: Likewise.
943         * tests/unictype/test-pr_alphabetic.c: Likewise.
944         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
945         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
946         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
947         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
948         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
949         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
950         * tests/unictype/test-pr_bidi_control.c: Likewise.
951         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
952         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
953         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
954         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
955         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
956         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
957         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
958         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
959         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
960         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
961         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
962         * tests/unictype/test-pr_combining.c: Likewise.
963         * tests/unictype/test-pr_composite.c: Likewise.
964         * tests/unictype/test-pr_currency_symbol.c: Likewise.
965         * tests/unictype/test-pr_dash.c: Likewise.
966         * tests/unictype/test-pr_decimal_digit.c: Likewise.
967         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
968         * tests/unictype/test-pr_deprecated.c: Likewise.
969         * tests/unictype/test-pr_diacritic.c: Likewise.
970         * tests/unictype/test-pr_extender.c: Likewise.
971         * tests/unictype/test-pr_format_control.c: Likewise.
972         * tests/unictype/test-pr_grapheme_base.c: Likewise.
973         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
974         * tests/unictype/test-pr_grapheme_link.c: Likewise.
975         * tests/unictype/test-pr_hex_digit.c: Likewise.
976         * tests/unictype/test-pr_hyphen.c: Likewise.
977         * tests/unictype/test-pr_id_continue.c: Likewise.
978         * tests/unictype/test-pr_id_start.c: Likewise.
979         * tests/unictype/test-pr_ideographic.c: Likewise.
980         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
981         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
982         * tests/unictype/test-pr_ignorable_control.c: Likewise.
983         * tests/unictype/test-pr_iso_control.c: Likewise.
984         * tests/unictype/test-pr_join_control.c: Likewise.
985         * tests/unictype/test-pr_left_of_pair.c: Likewise.
986         * tests/unictype/test-pr_line_separator.c: Likewise.
987         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
988         * tests/unictype/test-pr_lowercase.c: Likewise.
989         * tests/unictype/test-pr_math.c: Likewise.
990         * tests/unictype/test-pr_non_break.c: Likewise.
991         * tests/unictype/test-pr_not_a_character.c: Likewise.
992         * tests/unictype/test-pr_numeric.c: Likewise.
993         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
994         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
995         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
996         * tests/unictype/test-pr_other_id_continue.c: Likewise.
997         * tests/unictype/test-pr_other_id_start.c: Likewise.
998         * tests/unictype/test-pr_other_lowercase.c: Likewise.
999         * tests/unictype/test-pr_other_math.c: Likewise.
1000         * tests/unictype/test-pr_other_uppercase.c: Likewise.
1001         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
1002         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
1003         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
1004         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
1005         * tests/unictype/test-pr_private_use.c: Likewise.
1006         * tests/unictype/test-pr_punctuation.c: Likewise.
1007         * tests/unictype/test-pr_quotation_mark.c: Likewise.
1008         * tests/unictype/test-pr_radical.c: Likewise.
1009         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
1010         * tests/unictype/test-pr_soft_dotted.c: Likewise.
1011         * tests/unictype/test-pr_space.c: Likewise.
1012         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
1013         * tests/unictype/test-pr_titlecase.c: Likewise.
1014         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
1015         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
1016         * tests/unictype/test-pr_uppercase.c: Likewise.
1017         * tests/unictype/test-pr_variation_selector.c: Likewise.
1018         * tests/unictype/test-pr_white_space.c: Likewise.
1019         * tests/unictype/test-pr_xid_continue.c: Likewise.
1020         * tests/unictype/test-pr_xid_start.c: Likewise.
1021         * tests/unictype/test-pr_zero_width.c: Likewise.
1022         * tests/unictype/test-sy_c_whitespace.c: Likewise.
1023         * tests/unictype/test-sy_java_whitespace.c: Likewise.
1024
1025 2007-11-12  Bruno Haible  <bruno@clisp.org>
1026
1027         Unicode character classification functions.
1028         * lib/unictype.h: New file.
1029         * modules/unictype/base: New file.
1030         * modules/unictype/category-L: New file.
1031         * modules/unictype/category-Lu: New file.
1032         * modules/unictype/category-Ll: New file.
1033         * modules/unictype/category-Lt: New file.
1034         * modules/unictype/category-Lm: New file.
1035         * modules/unictype/category-Lo: New file.
1036         * modules/unictype/category-M: New file.
1037         * modules/unictype/category-Mn: New file.
1038         * modules/unictype/category-Mc: New file.
1039         * modules/unictype/category-Me: New file.
1040         * modules/unictype/category-N: New file.
1041         * modules/unictype/category-Nd: New file.
1042         * modules/unictype/category-Nl: New file.
1043         * modules/unictype/category-No: New file.
1044         * modules/unictype/category-P: New file.
1045         * modules/unictype/category-Pc: New file.
1046         * modules/unictype/category-Pd: New file.
1047         * modules/unictype/category-Ps: New file.
1048         * modules/unictype/category-Pe: New file.
1049         * modules/unictype/category-Pi: New file.
1050         * modules/unictype/category-Pf: New file.
1051         * modules/unictype/category-Po: New file.
1052         * modules/unictype/category-S: New file.
1053         * modules/unictype/category-Sm: New file.
1054         * modules/unictype/category-Sc: New file.
1055         * modules/unictype/category-Sk: New file.
1056         * modules/unictype/category-So: New file.
1057         * modules/unictype/category-Z: New file.
1058         * modules/unictype/category-Zs: New file.
1059         * modules/unictype/category-Zl: New file.
1060         * modules/unictype/category-Zp: New file.
1061         * modules/unictype/category-C: New file.
1062         * modules/unictype/category-Cc: New file.
1063         * modules/unictype/category-Cf: New file.
1064         * modules/unictype/category-Cs: New file.
1065         * modules/unictype/category-Co: New file.
1066         * modules/unictype/category-Cn: New file.
1067         * modules/unictype/category-or: New file.
1068         * modules/unictype/category-of: New file.
1069         * modules/unictype/category-test: New file.
1070         * modules/unictype/category-test-withtable: New file.
1071         * modules/unictype/category-byname: New file.
1072         * modules/unictype/category-none: New file.
1073         * modules/unictype/category-and: New file.
1074         * modules/unictype/category-and-not: New file.
1075         * modules/unictype/category-name: New file.
1076         * modules/unictype/combining-class: New file.
1077         * modules/unictype/category-all: New file.
1078         * modules/unictype/bidicategory-all: New file.
1079         * modules/unictype/bidicategory-byname: New file.
1080         * modules/unictype/bidicategory-name: New file.
1081         * modules/unictype/bidicategory-of: New file.
1082         * modules/unictype/bidicategory-test: New file.
1083         * modules/unictype/decimal-digit: New file.
1084         * modules/unictype/digit: New file.
1085         * modules/unictype/numeric: New file.
1086         * modules/unictype/mirror: New file.
1087         * modules/unictype/property-white-space: New file.
1088         * modules/unictype/property-alphabetic: New file.
1089         * modules/unictype/property-other-alphabetic: New file.
1090         * modules/unictype/property-not-a-character: New file.
1091         * modules/unictype/property-default-ignorable-code-point: New file.
1092         * modules/unictype/property-other-default-ignorable-code-point: New
1093         file.
1094         * modules/unictype/property-deprecated: New file.
1095         * modules/unictype/property-logical-order-exception: New file.
1096         * modules/unictype/property-variation-selector: New file.
1097         * modules/unictype/property-private-use: New file.
1098         * modules/unictype/property-unassigned-code-value: New file.
1099         * modules/unictype/property-uppercase: New file.
1100         * modules/unictype/property-other-uppercase: New file.
1101         * modules/unictype/property-lowercase: New file.
1102         * modules/unictype/property-other-lowercase: New file.
1103         * modules/unictype/property-titlecase: New file.
1104         * modules/unictype/property-soft-dotted: New file.
1105         * modules/unictype/property-id-start: New file.
1106         * modules/unictype/property-other-id-start: New file.
1107         * modules/unictype/property-id-continue: New file.
1108         * modules/unictype/property-other-id-continue: New file.
1109         * modules/unictype/property-xid-start: New file.
1110         * modules/unictype/property-xid-continue: New file.
1111         * modules/unictype/property-pattern-white-space: New file.
1112         * modules/unictype/property-pattern-syntax: New file.
1113         * modules/unictype/property-join-control: New file.
1114         * modules/unictype/property-grapheme-base: New file.
1115         * modules/unictype/property-grapheme-extend: New file.
1116         * modules/unictype/property-other-grapheme-extend: New file.
1117         * modules/unictype/property-grapheme-link: New file.
1118         * modules/unictype/property-bidi-control: New file.
1119         * modules/unictype/property-bidi-left-to-right: New file.
1120         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
1121         * modules/unictype/property-bidi-arabic-right-to-left: New file.
1122         * modules/unictype/property-bidi-european-digit: New file.
1123         * modules/unictype/property-bidi-eur-num-separator: New file.
1124         * modules/unictype/property-bidi-eur-num-terminator: New file.
1125         * modules/unictype/property-bidi-arabic-digit: New file.
1126         * modules/unictype/property-bidi-common-separator: New file.
1127         * modules/unictype/property-bidi-block-separator: New file.
1128         * modules/unictype/property-bidi-segment-separator: New file.
1129         * modules/unictype/property-bidi-whitespace: New file.
1130         * modules/unictype/property-bidi-non-spacing-mark: New file.
1131         * modules/unictype/property-bidi-boundary-neutral: New file.
1132         * modules/unictype/property-bidi-pdf: New file.
1133         * modules/unictype/property-bidi-embedding-or-override: New file.
1134         * modules/unictype/property-bidi-other-neutral: New file.
1135         * modules/unictype/property-hex-digit: New file.
1136         * modules/unictype/property-ascii-hex-digit: New file.
1137         * modules/unictype/property-ideographic: New file.
1138         * modules/unictype/property-unified-ideograph: New file.
1139         * modules/unictype/property-radical: New file.
1140         * modules/unictype/property-ids-binary-operator: New file.
1141         * modules/unictype/property-ids-trinary-operator: New file.
1142         * modules/unictype/property-zero-width: New file.
1143         * modules/unictype/property-space: New file.
1144         * modules/unictype/property-non-break: New file.
1145         * modules/unictype/property-iso-control: New file.
1146         * modules/unictype/property-format-control: New file.
1147         * modules/unictype/property-dash: New file.
1148         * modules/unictype/property-hyphen: New file.
1149         * modules/unictype/property-punctuation: New file.
1150         * modules/unictype/property-line-separator: New file.
1151         * modules/unictype/property-paragraph-separator: New file.
1152         * modules/unictype/property-quotation-mark: New file.
1153         * modules/unictype/property-sentence-terminal: New file.
1154         * modules/unictype/property-terminal-punctuation: New file.
1155         * modules/unictype/property-currency-symbol: New file.
1156         * modules/unictype/property-math: New file.
1157         * modules/unictype/property-other-math: New file.
1158         * modules/unictype/property-paired-punctuation: New file.
1159         * modules/unictype/property-left-of-pair: New file.
1160         * modules/unictype/property-combining: New file.
1161         * modules/unictype/property-composite: New file.
1162         * modules/unictype/property-decimal-digit: New file.
1163         * modules/unictype/property-numeric: New file.
1164         * modules/unictype/property-diacritic: New file.
1165         * modules/unictype/property-extender: New file.
1166         * modules/unictype/property-ignorable-control: New file.
1167         * modules/unictype/property-test: New file.
1168         * modules/unictype/property-byname: New file.
1169         * modules/unictype/property-all: New file.
1170         * modules/unictype/scripts: New file.
1171         * modules/unictype/scripts-all: New file.
1172         * modules/unictype/block-of: New file.
1173         * modules/unictype/block-test: New file.
1174         * modules/unictype/block-list: New file.
1175         * modules/unictype/block-all: New file.
1176         * modules/unictype/syntax-c-whitespace: New file.
1177         * modules/unictype/syntax-java-whitespace: New file.
1178         * modules/unictype/syntax-c-ident: New file.
1179         * modules/unictype/syntax-java-ident: New file.
1180         * modules/unictype/ctype-alnum: New file.
1181         * modules/unictype/ctype-alpha: New file.
1182         * modules/unictype/ctype-cntrl: New file.
1183         * modules/unictype/ctype-digit: New file.
1184         * modules/unictype/ctype-graph: New file.
1185         * modules/unictype/ctype-lower: New file.
1186         * modules/unictype/ctype-print: New file.
1187         * modules/unictype/ctype-punct: New file.
1188         * modules/unictype/ctype-space: New file.
1189         * modules/unictype/ctype-upper: New file.
1190         * modules/unictype/ctype-xdigit: New file.
1191         * modules/unictype/ctype-blank: New file.
1192         * lib/unictype/bidi_byname.c: New file.
1193         * lib/unictype/bidi_name.c: New file.
1194         * lib/unictype/bidi_of.c: New file.
1195         * lib/unictype/bidi_test.c: New file.
1196         * lib/unictype/bitmap.h: New file.
1197         * lib/unictype/block_test.c: New file.
1198         * lib/unictype/blocks.c: New file.
1199         * lib/unictype/categ_C.c: New file.
1200         * lib/unictype/categ_Cc.c: New file.
1201         * lib/unictype/categ_Cf.c: New file.
1202         * lib/unictype/categ_Cn.c: New file.
1203         * lib/unictype/categ_Co.c: New file.
1204         * lib/unictype/categ_Cs.c: New file.
1205         * lib/unictype/categ_L.c: New file.
1206         * lib/unictype/categ_Ll.c: New file.
1207         * lib/unictype/categ_Lm.c: New file.
1208         * lib/unictype/categ_Lo.c: New file.
1209         * lib/unictype/categ_Lt.c: New file.
1210         * lib/unictype/categ_Lu.c: New file.
1211         * lib/unictype/categ_M.c: New file.
1212         * lib/unictype/categ_Mc.c: New file.
1213         * lib/unictype/categ_Me.c: New file.
1214         * lib/unictype/categ_Mn.c: New file.
1215         * lib/unictype/categ_N.c: New file.
1216         * lib/unictype/categ_Nd.c: New file.
1217         * lib/unictype/categ_Nl.c: New file.
1218         * lib/unictype/categ_No.c: New file.
1219         * lib/unictype/categ_P.c: New file.
1220         * lib/unictype/categ_Pc.c: New file.
1221         * lib/unictype/categ_Pd.c: New file.
1222         * lib/unictype/categ_Pe.c: New file.
1223         * lib/unictype/categ_Pf.c: New file.
1224         * lib/unictype/categ_Pi.c: New file.
1225         * lib/unictype/categ_Po.c: New file.
1226         * lib/unictype/categ_Ps.c: New file.
1227         * lib/unictype/categ_S.c: New file.
1228         * lib/unictype/categ_Sc.c: New file.
1229         * lib/unictype/categ_Sk.c: New file.
1230         * lib/unictype/categ_Sm.c: New file.
1231         * lib/unictype/categ_So.c: New file.
1232         * lib/unictype/categ_Z.c: New file.
1233         * lib/unictype/categ_Zl.c: New file.
1234         * lib/unictype/categ_Zp.c: New file.
1235         * lib/unictype/categ_Zs.c: New file.
1236         * lib/unictype/categ_and.c: New file.
1237         * lib/unictype/categ_and_not.c: New file.
1238         * lib/unictype/categ_byname.c: New file.
1239         * lib/unictype/categ_name.c: New file.
1240         * lib/unictype/categ_none.c: New file.
1241         * lib/unictype/categ_of.c: New file.
1242         * lib/unictype/categ_or.c: New file.
1243         * lib/unictype/categ_test.c: New file.
1244         * lib/unictype/combining.c: New file.
1245         * lib/unictype/ctype_alnum.c: New file.
1246         * lib/unictype/ctype_alpha.c: New file.
1247         * lib/unictype/ctype_blank.c: New file.
1248         * lib/unictype/ctype_cntrl.c: New file.
1249         * lib/unictype/ctype_digit.c: New file.
1250         * lib/unictype/ctype_graph.c: New file.
1251         * lib/unictype/ctype_lower.c: New file.
1252         * lib/unictype/ctype_print.c: New file.
1253         * lib/unictype/ctype_punct.c: New file.
1254         * lib/unictype/ctype_space.c: New file.
1255         * lib/unictype/ctype_upper.c: New file.
1256         * lib/unictype/ctype_xdigit.c: New file.
1257         * lib/unictype/decdigit.c: New file.
1258         * lib/unictype/digit.c: New file.
1259         * lib/unictype/identsyntaxmap.h: New file.
1260         * lib/unictype/mirror.c: New file.
1261         * lib/unictype/numeric.c: New file.
1262         * lib/unictype/pr_alphabetic.c: New file.
1263         * lib/unictype/pr_ascii_hex_digit.c: New file.
1264         * lib/unictype/pr_bidi_arabic_digit.c: New file.
1265         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
1266         * lib/unictype/pr_bidi_block_separator.c: New file.
1267         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
1268         * lib/unictype/pr_bidi_common_separator.c: New file.
1269         * lib/unictype/pr_bidi_control.c: New file.
1270         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
1271         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
1272         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
1273         * lib/unictype/pr_bidi_european_digit.c: New file.
1274         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
1275         * lib/unictype/pr_bidi_left_to_right.c: New file.
1276         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
1277         * lib/unictype/pr_bidi_other_neutral.c: New file.
1278         * lib/unictype/pr_bidi_pdf.c: New file.
1279         * lib/unictype/pr_bidi_segment_separator.c: New file.
1280         * lib/unictype/pr_bidi_whitespace.c: New file.
1281         * lib/unictype/pr_byname.c: New file.
1282         * lib/unictype/pr_byname.gperf: New file.
1283         * lib/unictype/pr_combining.c: New file.
1284         * lib/unictype/pr_composite.c: New file.
1285         * lib/unictype/pr_currency_symbol.c: New file.
1286         * lib/unictype/pr_dash.c: New file.
1287         * lib/unictype/pr_decimal_digit.c: New file.
1288         * lib/unictype/pr_default_ignorable_code_point.c: New file.
1289         * lib/unictype/pr_deprecated.c: New file.
1290         * lib/unictype/pr_diacritic.c: New file.
1291         * lib/unictype/pr_extender.c: New file.
1292         * lib/unictype/pr_format_control.c: New file.
1293         * lib/unictype/pr_grapheme_base.c: New file.
1294         * lib/unictype/pr_grapheme_extend.c: New file.
1295         * lib/unictype/pr_grapheme_link.c: New file.
1296         * lib/unictype/pr_hex_digit.c: New file.
1297         * lib/unictype/pr_hyphen.c: New file.
1298         * lib/unictype/pr_id_continue.c: New file.
1299         * lib/unictype/pr_id_start.c: New file.
1300         * lib/unictype/pr_ideographic.c: New file.
1301         * lib/unictype/pr_ids_binary_operator.c: New file.
1302         * lib/unictype/pr_ids_trinary_operator.c: New file.
1303         * lib/unictype/pr_ignorable_control.c: New file.
1304         * lib/unictype/pr_iso_control.c: New file.
1305         * lib/unictype/pr_join_control.c: New file.
1306         * lib/unictype/pr_left_of_pair.c: New file.
1307         * lib/unictype/pr_line_separator.c: New file.
1308         * lib/unictype/pr_logical_order_exception.c: New file.
1309         * lib/unictype/pr_lowercase.c: New file.
1310         * lib/unictype/pr_math.c: New file.
1311         * lib/unictype/pr_non_break.c: New file.
1312         * lib/unictype/pr_not_a_character.c: New file.
1313         * lib/unictype/pr_numeric.c: New file.
1314         * lib/unictype/pr_other_alphabetic.c: New file.
1315         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
1316         * lib/unictype/pr_other_grapheme_extend.c: New file.
1317         * lib/unictype/pr_other_id_continue.c: New file.
1318         * lib/unictype/pr_other_id_start.c: New file.
1319         * lib/unictype/pr_other_lowercase.c: New file.
1320         * lib/unictype/pr_other_math.c: New file.
1321         * lib/unictype/pr_other_uppercase.c: New file.
1322         * lib/unictype/pr_paired_punctuation.c: New file.
1323         * lib/unictype/pr_paragraph_separator.c: New file.
1324         * lib/unictype/pr_pattern_syntax.c: New file.
1325         * lib/unictype/pr_pattern_white_space.c: New file.
1326         * lib/unictype/pr_private_use.c: New file.
1327         * lib/unictype/pr_punctuation.c: New file.
1328         * lib/unictype/pr_quotation_mark.c: New file.
1329         * lib/unictype/pr_radical.c: New file.
1330         * lib/unictype/pr_sentence_terminal.c: New file.
1331         * lib/unictype/pr_soft_dotted.c: New file.
1332         * lib/unictype/pr_space.c: New file.
1333         * lib/unictype/pr_terminal_punctuation.c: New file.
1334         * lib/unictype/pr_test.c: New file.
1335         * lib/unictype/pr_titlecase.c: New file.
1336         * lib/unictype/pr_unassigned_code_value.c: New file.
1337         * lib/unictype/pr_unified_ideograph.c: New file.
1338         * lib/unictype/pr_uppercase.c: New file.
1339         * lib/unictype/pr_variation_selector.c: New file.
1340         * lib/unictype/pr_white_space.c: New file.
1341         * lib/unictype/pr_xid_continue.c: New file.
1342         * lib/unictype/pr_xid_start.c: New file.
1343         * lib/unictype/pr_zero_width.c: New file.
1344         * lib/unictype/scripts.c: New file.
1345         * lib/unictype/sy_c_ident.c: New file.
1346         * lib/unictype/sy_c_whitespace.c: New file.
1347         * lib/unictype/sy_java_ident.c: New file.
1348         * lib/unictype/sy_java_whitespace.c: New file.
1349
1350         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
1351         Unicode 5.0.0.
1352         * lib/unictype/blocks.h: Likewise.
1353         * lib/unictype/categ_C.h: Likewise.
1354         * lib/unictype/categ_Cc.h: Likewise.
1355         * lib/unictype/categ_Cf.h: Likewise.
1356         * lib/unictype/categ_Cn.h: Likewise.
1357         * lib/unictype/categ_Co.h: Likewise.
1358         * lib/unictype/categ_Cs.h: Likewise.
1359         * lib/unictype/categ_L.h: Likewise.
1360         * lib/unictype/categ_Ll.h: Likewise.
1361         * lib/unictype/categ_Lm.h: Likewise.
1362         * lib/unictype/categ_Lo.h: Likewise.
1363         * lib/unictype/categ_Lt.h: Likewise.
1364         * lib/unictype/categ_Lu.h: Likewise.
1365         * lib/unictype/categ_M.h: Likewise.
1366         * lib/unictype/categ_Mc.h: Likewise.
1367         * lib/unictype/categ_Me.h: Likewise.
1368         * lib/unictype/categ_Mn.h: Likewise.
1369         * lib/unictype/categ_N.h: Likewise.
1370         * lib/unictype/categ_Nd.h: Likewise.
1371         * lib/unictype/categ_Nl.h: Likewise.
1372         * lib/unictype/categ_No.h: Likewise.
1373         * lib/unictype/categ_P.h: Likewise.
1374         * lib/unictype/categ_Pc.h: Likewise.
1375         * lib/unictype/categ_Pd.h: Likewise.
1376         * lib/unictype/categ_Pe.h: Likewise.
1377         * lib/unictype/categ_Pf.h: Likewise.
1378         * lib/unictype/categ_Pi.h: Likewise.
1379         * lib/unictype/categ_Po.h: Likewise.
1380         * lib/unictype/categ_Ps.h: Likewise.
1381         * lib/unictype/categ_S.h: Likewise.
1382         * lib/unictype/categ_Sc.h: Likewise.
1383         * lib/unictype/categ_Sk.h: Likewise.
1384         * lib/unictype/categ_Sm.h: Likewise.
1385         * lib/unictype/categ_So.h: Likewise.
1386         * lib/unictype/categ_Z.h: Likewise.
1387         * lib/unictype/categ_Zl.h: Likewise.
1388         * lib/unictype/categ_Zp.h: Likewise.
1389         * lib/unictype/categ_Zs.h: Likewise.
1390         * lib/unictype/categ_of.h: Likewise.
1391         * lib/unictype/combining.h: Likewise.
1392         * lib/unictype/ctype_alnum.h: Likewise.
1393         * lib/unictype/ctype_alpha.h: Likewise.
1394         * lib/unictype/ctype_blank.h: Likewise.
1395         * lib/unictype/ctype_cntrl.h: Likewise.
1396         * lib/unictype/ctype_digit.h: Likewise.
1397         * lib/unictype/ctype_graph.h: Likewise.
1398         * lib/unictype/ctype_lower.h: Likewise.
1399         * lib/unictype/ctype_print.h: Likewise.
1400         * lib/unictype/ctype_punct.h: Likewise.
1401         * lib/unictype/ctype_space.h: Likewise.
1402         * lib/unictype/ctype_upper.h: Likewise.
1403         * lib/unictype/ctype_xdigit.h: Likewise.
1404         * lib/unictype/decdigit.h: Likewise.
1405         * lib/unictype/digit.h: Likewise.
1406         * lib/unictype/mirror.h: Likewise.
1407         * lib/unictype/numeric.h: Likewise.
1408         * lib/unictype/pr_alphabetic.h: Likewise.
1409         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
1410         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
1411         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
1412         * lib/unictype/pr_bidi_block_separator.h: Likewise.
1413         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
1414         * lib/unictype/pr_bidi_common_separator.h: Likewise.
1415         * lib/unictype/pr_bidi_control.h: Likewise.
1416         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
1417         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
1418         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
1419         * lib/unictype/pr_bidi_european_digit.h: Likewise.
1420         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
1421         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
1422         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
1423         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
1424         * lib/unictype/pr_bidi_pdf.h: Likewise.
1425         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
1426         * lib/unictype/pr_bidi_whitespace.h: Likewise.
1427         * lib/unictype/pr_combining.h: Likewise.
1428         * lib/unictype/pr_composite.h: Likewise.
1429         * lib/unictype/pr_currency_symbol.h: Likewise.
1430         * lib/unictype/pr_dash.h: Likewise.
1431         * lib/unictype/pr_decimal_digit.h: Likewise.
1432         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
1433         * lib/unictype/pr_deprecated.h: Likewise.
1434         * lib/unictype/pr_diacritic.h: Likewise.
1435         * lib/unictype/pr_extender.h: Likewise.
1436         * lib/unictype/pr_format_control.h: Likewise.
1437         * lib/unictype/pr_grapheme_base.h: Likewise.
1438         * lib/unictype/pr_grapheme_extend.h: Likewise.
1439         * lib/unictype/pr_grapheme_link.h: Likewise.
1440         * lib/unictype/pr_hex_digit.h: Likewise.
1441         * lib/unictype/pr_hyphen.h: Likewise.
1442         * lib/unictype/pr_id_continue.h: Likewise.
1443         * lib/unictype/pr_id_start.h: Likewise.
1444         * lib/unictype/pr_ideographic.h: Likewise.
1445         * lib/unictype/pr_ids_binary_operator.h: Likewise.
1446         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
1447         * lib/unictype/pr_ignorable_control.h: Likewise.
1448         * lib/unictype/pr_iso_control.h: Likewise.
1449         * lib/unictype/pr_join_control.h: Likewise.
1450         * lib/unictype/pr_left_of_pair.h: Likewise.
1451         * lib/unictype/pr_line_separator.h: Likewise.
1452         * lib/unictype/pr_logical_order_exception.h: Likewise.
1453         * lib/unictype/pr_lowercase.h: Likewise.
1454         * lib/unictype/pr_math.h: Likewise.
1455         * lib/unictype/pr_non_break.h: Likewise.
1456         * lib/unictype/pr_not_a_character.h: Likewise.
1457         * lib/unictype/pr_numeric.h: Likewise.
1458         * lib/unictype/pr_other_alphabetic.h: Likewise.
1459         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
1460         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
1461         * lib/unictype/pr_other_id_continue.h: Likewise.
1462         * lib/unictype/pr_other_id_start.h: Likewise.
1463         * lib/unictype/pr_other_lowercase.h: Likewise.
1464         * lib/unictype/pr_other_math.h: Likewise.
1465         * lib/unictype/pr_other_uppercase.h: Likewise.
1466         * lib/unictype/pr_paired_punctuation.h: Likewise.
1467         * lib/unictype/pr_paragraph_separator.h: Likewise.
1468         * lib/unictype/pr_pattern_syntax.h: Likewise.
1469         * lib/unictype/pr_pattern_white_space.h: Likewise.
1470         * lib/unictype/pr_private_use.h: Likewise.
1471         * lib/unictype/pr_punctuation.h: Likewise.
1472         * lib/unictype/pr_quotation_mark.h: Likewise.
1473         * lib/unictype/pr_radical.h: Likewise.
1474         * lib/unictype/pr_sentence_terminal.h: Likewise.
1475         * lib/unictype/pr_soft_dotted.h: Likewise.
1476         * lib/unictype/pr_space.h: Likewise.
1477         * lib/unictype/pr_terminal_punctuation.h: Likewise.
1478         * lib/unictype/pr_titlecase.h: Likewise.
1479         * lib/unictype/pr_unassigned_code_value.h: Likewise.
1480         * lib/unictype/pr_unified_ideograph.h: Likewise.
1481         * lib/unictype/pr_uppercase.h: Likewise.
1482         * lib/unictype/pr_variation_selector.h: Likewise.
1483         * lib/unictype/pr_white_space.h: Likewise.
1484         * lib/unictype/pr_xid_continue.h: Likewise.
1485         * lib/unictype/pr_xid_start.h: Likewise.
1486         * lib/unictype/pr_zero_width.h: Likewise.
1487         * lib/unictype/scripts.h: Likewise.
1488         * lib/unictype/scripts_byname.gperf: Likewise.
1489         * lib/unictype/sy_c_ident.h: Likewise.
1490         * lib/unictype/sy_c_whitespace.h: Likewise.
1491         * lib/unictype/sy_java_ident.h: Likewise.
1492         * lib/unictype/sy_java_whitespace.h: Likewise.
1493
1494         * lib/unictype/Makefile: New file.
1495         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
1496         glibc.
1497         * lib/unictype/3level.h: New file, copied from glibc.
1498         * lib/unictype/3levelbit.h: New file.
1499
1500 2007-11-11  Bruno Haible  <bruno@clisp.org>
1501
1502         * modules/gperf: New file.
1503         * modules/iconv_open (Depends-on): Add it.
1504         (Makefile.am): Remove the GPERF definition.
1505
1506 2007-11-11  Bruno Haible  <bruno@clisp.org>
1507
1508         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
1509         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
1510
1511 2007-11-11  Bruno Haible  <bruno@clisp.org>
1512
1513         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
1514         (usage): Remove function.
1515
1516 2007-11-11  Bruno Haible  <bruno@clisp.org>
1517
1518         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
1519         gl_FUNC_CEILF_LIBS.
1520         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
1521         gl_FUNC_CEIL_LIBS.
1522         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
1523         gl_FUNC_CEILL_LIBS.
1524         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
1525         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
1526         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
1527
1528 2007-11-11  Bruno Haible  <bruno@clisp.org>
1529
1530         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
1531         roundf were declared but do not exist on functions.
1532         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
1533         roundl were declared but do not exist on functions.
1534         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
1535         HAVE_FLOORL_AND_CEILL, respectively.
1536         Needed for Sun C on Solaris 10.
1537
1538 2007-11-11  Bruno Haible  <bruno@clisp.org>
1539
1540         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
1541         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
1542         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
1543         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
1544         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
1545         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
1546         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
1547         HAVE_DECL_ROUNDF.
1548         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
1549         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
1550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
1551         of HAVE_DECL_ROUND*.
1552         * modules/math (Makefile.am): Update.
1553
1554 2007-11-10  Bruno Haible  <bruno@clisp.org>
1555
1556         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
1557         ptrdiff_t as m4/intl.m4.
1558
1559 2007-11-10  Jim Meyering  <meyering@redhat.com>
1560
1561         Avoid link failure for the argmatch test.
1562         * tests/test-argmatch.c (usage): Define function to avoid a link
1563         failure: argmatch_die requires a usage function.
1564
1565 2007-11-09  Bruno Haible  <bruno@clisp.org>
1566
1567         * doc/functions/snprintf.texi: Mention BeOS deficiency.
1568         * doc/functions/vsnprintf.texi: Likewise.
1569         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
1570         with a size argument < 2.
1571
1572 2007-11-09  Bruno Haible  <bruno@clisp.org>
1573
1574         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
1575         buffer. Fixes an inefficiency introduced on 2007-11-03.
1576
1577 2007-11-09  Bruno Haible  <bruno@clisp.org>
1578
1579         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
1580         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
1581
1582 2007-11-08  Jim Meyering  <meyering@redhat.com>
1583
1584         Change cache variable name prefix "jm_" to "gl_" everywhere.
1585         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
1586         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
1587         * m4/uptime.m4: s/gl_/jm_/
1588
1589 2007-11-07  Bruno Haible  <bruno@clisp.org>
1590
1591         Update to GNU gettext 0.17.
1592         * m4/intl.m4: Update to GNU gettext 0.17.
1593         * m4/po.m4: Likewise.
1594         * modules/gettext (Files): Remove m4/ulonglong.m4.
1595         (configure.ac): Require gettext infrastructure from version 0.17.
1596
1597 2007-11-06  Bruno Haible  <bruno@clisp.org>
1598
1599         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
1600         symbolic values are not defined in a public header.
1601         * lib/freadable.c (freadable) [QNX]: Likewise.
1602         * lib/freadahead.c (freadahead) [QNX]: Likewise.
1603         * lib/freading.c (freading) [QNX]: Likewise.
1604         * lib/fseterr.c (fseterr) [QNX]: Likewise.
1605         * lib/fwritable.c (fwritable) [QNX]: Likewise.
1606         * lib/fwriting.c (fwriting) [QNX]: Likewise.
1607         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
1608         Reported by Alain Magloire.
1609
1610         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
1611
1612 2007-11-05  Bruno Haible  <bruno@clisp.org>
1613
1614         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
1615         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
1616         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
1617         Reported by Eric Blake.
1618
1619 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1620             Bruno Haible  <bruno@clisp.org>
1621
1622         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
1623         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
1624         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
1625         (malloc): Undefine also before including <stdlib.h>.
1626         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
1627         Needed on OSF/1 4.0.
1628
1629 2007-11-05  Jim Meyering  <meyering@redhat.com>
1630
1631         git-version-gen: sync from coreutils.
1632         * build-aux/git-version-gen: Add comments.
1633         Change the first '-' to '.' in the snapshot version string,
1634         e.g., 6.9-377-08144 -> 6.9.377-08144
1635         Remove first parameter.
1636         Don't declare a version "-dirty" merely because a time
1637         stamp has changed.
1638
1639 2007-11-04  Bruno Haible  <bruno@clisp.org>
1640
1641         * lib/lock.h: Protect all macro definitions containing an 'if'
1642         statement through a "do { ... } while (0)".
1643         * lib/tls.h: Likewise.
1644
1645 2007-11-04  Bruno Haible  <bruno@clisp.org>
1646
1647         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
1648
1649 2007-11-04  Bruno Haible  <bruno@clisp.org>
1650
1651         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
1652         * modules/fprintf-posix (Depends-on): Add nocrash.
1653         * modules/snprintf-posix (Depends-on): Likewise.
1654         * modules/sprintf-posix (Depends-on): Likewise.
1655         * modules/vasnprintf-posix (Depends-on): Likewise.
1656         * modules/vasprintf-posix (Depends-on): Likewise.
1657         * modules/vfprintf-posix (Depends-on): Likewise.
1658         * modules/vsnprintf-posix (Depends-on): Likewise.
1659         * modules/vsprintf-posix (Depends-on): Likewise.
1660         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
1661         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
1662         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
1663         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
1664         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
1665         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
1666         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
1667
1668 2007-11-04  Bruno Haible  <bruno@clisp.org>
1669
1670         * modules/nocrash: New file.
1671         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
1672         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
1673
1674 2007-11-04  Bruno Haible  <bruno@clisp.org>
1675
1676         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
1677         precision handling.
1678         * tests/test-vasprintf-posix.c (test_function): Likewise.
1679         * tests/test-snprintf-posix.h (test_function): Likewise.
1680         * tests/test-sprintf-posix.h (test_function): Likewise.
1681
1682         Fix *printf behaviour for large precisions on mingw and BeOS.
1683         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
1684         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
1685         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
1686         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
1687         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1688         gl_PRINTF_PRECISION and test its result. Invoke
1689         gl_PREREQ_VASNPRINTF_PRECISION.
1690         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1691         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1692         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1694         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1695         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1696         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1697         * doc/functions/fprintf.texi: Update.
1698         * doc/functions/printf.texi: Update.
1699         * doc/functions/snprintf.texi: Update.
1700         * doc/functions/sprintf.texi: Update.
1701         * doc/functions/vfprintf.texi: Update.
1702         * doc/functions/vprintf.texi: Update.
1703         * doc/functions/vsnprintf.texi: Update.
1704         * doc/functions/vsprintf.texi: Update.
1705
1706 2007-11-04  Bruno Haible  <bruno@clisp.org>
1707
1708         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
1709
1710 2007-11-04  Bruno Haible  <bruno@clisp.org>
1711
1712         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
1713         Reported by Sylvain Beucler <beuc@gnu.org>.
1714
1715 2007-11-03  Bruno Haible  <bruno@clisp.org>
1716
1717         * tests/test-fprintf-posix2.sh: New file.
1718         * tests/test-fprintf-posix2.c: New file.
1719         * modules/fprintf-posix-tests (Files): Add them.
1720         (TESTS): Add test-fprintf-posix2.sh.
1721         (configure.ac): Check for getrlimit and setrlimit.
1722         (check_PROGRAMS): Add test-fprintf-posix2.
1723
1724         * tests/test-printf-posix2.sh: New file.
1725         * tests/test-printf-posix2.c: New file.
1726         * modules/printf-posix-tests (Files): Add them.
1727         (TESTS): Add test-printf-posix2.sh.
1728         (configure.ac): Check for getrlimit and setrlimit.
1729         (check_PROGRAMS): Add test-printf-posix2.
1730
1731         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
1732         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
1733         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
1734         (decode_double): New function, copied from decode_long_double.
1735         (scale10_round_decimal_decoded): New function, extracted from
1736         scale10_round_decimal_long_double.
1737         (scale10_round_decimal_long_double): Use it.
1738         (scale10_round_decimal_double): New function.
1739         (floorlog10): New function.
1740         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
1741         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
1742         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
1743         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1744         gl_PRINTF_ENOMEM and test its result. Invoke
1745         gl_PREREQ_VASNPRINTF_ENOMEM.
1746         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1747         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1748         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1749         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1750         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1751         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1752         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1753         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
1754         * modules/snprintf-posix (Depends-on): Likewise.
1755         * modules/sprintf-posix (Depends-on): Likewise.
1756         * modules/vasnprintf-posix (Depends-on): Likewise.
1757         * modules/vasprintf-posix (Depends-on): Likewise.
1758         * modules/vfprintf-posix (Depends-on): Likewise.
1759         * modules/vsnprintf-posix (Depends-on): Likewise.
1760         * modules/vsprintf-posix (Depends-on): Likewise.
1761         * doc/functions/fprintf.texi: Update.
1762         * doc/functions/printf.texi: Update.
1763         * doc/functions/snprintf.texi: Update.
1764         * doc/functions/sprintf.texi: Update.
1765         * doc/functions/vfprintf.texi: Update.
1766         * doc/functions/vprintf.texi: Update.
1767         * doc/functions/vsnprintf.texi: Update.
1768         * doc/functions/vsprintf.texi: Update.
1769
1770 2007-11-03  Bruno Haible  <bruno@clisp.org>
1771
1772         * modules/frexp-nolibm-tests: New file.
1773
1774         * modules/frexp-nolibm: New file.
1775         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
1776
1777 2007-11-03  Bruno Haible  <bruno@clisp.org>
1778
1779         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
1780         value is C99 compliant.
1781         Needed for OSF/1 5.1.
1782
1783 2007-11-03  Bruno Haible  <bruno@clisp.org>
1784
1785         Fix out-of-memory handling of vasnprintf.
1786         * lib/printf-parse.c: Include <errno.h>.
1787         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
1788         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
1789         is already set.
1790
1791 2007-11-02  Eric Blake  <ebb9@byu.net>
1792
1793         Fix tests on cygwin.
1794         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
1795
1796 2007-11-01  Bruno Haible  <bruno@clisp.org>
1797
1798         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
1799         warning.
1800         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
1801         needed for POSIX compatibility.
1802
1803 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
1804
1805         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
1806         for compatibility with GNU.
1807
1808 2007-11-01  Bruno Haible  <bruno@clisp.org>
1809
1810         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
1811         (putenv): Renamed from rpl_putenv. Change argument type from
1812         'const char *' to 'char *'.
1813         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
1814         of defining putenv in config.h, just set REPLACE_PUTENV.
1815         * modules/putenv (Depends-on): Add stdlib.
1816         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
1817         (Include): Use <stdlib.h>.
1818         * lib/stdlib.in.h (putenv): New declaration.
1819         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
1820         REPLACE_PUTENV.
1821         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
1822         REPLACE_PUTENV.
1823         Needed for MacOS X 10.5.0.
1824         Reported by Peter O'Gorman <peter@pogma.com>.
1825
1826 2007-11-01  Jim Meyering  <meyering@redhat.com>
1827
1828         Treat an empty date string exactly like "0".
1829         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
1830         if the remaining date string (to be parsed) is empty, use "0".
1831         Reported by Mischa Molhoek and discussed in this thread:
1832         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
1833
1834 2007-10-31  Bruno Haible  <bruno@clisp.org>
1835
1836         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
1837         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
1838         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
1839         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
1840         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
1841         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
1842
1843 2007-10-31  Bruno Haible  <bruno@clisp.org>
1844
1845         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
1846         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
1847         (AC_TYPE_LONG_LONG_INT): Use it.
1848         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
1849         it as well.
1850         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
1851         to m4/longlong.m4.
1852         * modules/stdint (Files): Remove m4/ulonglong.m4.
1853         * modules/strtoull (Files): Use m4/longlong.m4 instead of
1854         m4/ulonglong.m4.
1855         * modules/strtoumax (Files): Likewise.
1856
1857 2007-10-30  Bruno Haible  <bruno@clisp.org>
1858
1859         * modules/xvasprintf-posix: New file.
1860         Suggested by Eric Blake.
1861
1862 2007-10-30  Bruno Haible  <bruno@clisp.org>
1863
1864         * modules/xprintf-posix-tests: New file.
1865         * tests/test-xprintf-posix.sh: New file.
1866         * tests/test-xprintf-posix.c: New file.
1867         * tests/test-xfprintf-posix.c: New file.
1868
1869         * modules/xprintf-posix: New file.
1870
1871 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1872
1873         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
1874         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
1875         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
1876
1877 2007-10-29  Bruno Haible  <bruno@clisp.org>
1878
1879         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
1880         contain the special marker '_cv_'.
1881         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
1882         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
1883         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
1884         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
1885         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
1886         Reported by Ralf Wildenhues.
1887
1888 2007-10-29  Bruno Haible  <bruno@clisp.org>
1889
1890         * gnulib-tool (func_import): When --lgpl is not specified, set
1891         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
1892         GPLv3.
1893         Reported by Simon Josefsson.
1894
1895 2007-10-28  Bruno Haible  <bruno@clisp.org>
1896
1897         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
1898         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
1899         HAVE_DECL_ISFINITE.
1900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
1901         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
1902         HAVE_DECL_ISFINITE.
1903
1904 2007-10-28  Bruno Haible  <bruno@clisp.org>
1905
1906         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
1907         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
1908
1909 2007-10-28  Bruno Haible  <bruno@clisp.org>
1910
1911         Fix link errors with Sun C 5.0 on Solaris 10.
1912         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
1913         function is declared but not present in the compiler's libm.
1914         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
1915         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1916         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
1917         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
1918         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
1919         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
1920         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
1921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
1922         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
1923         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
1924         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
1925         HAVE_DECL_FLOORL.
1926
1927 2007-10-28  Bruno Haible  <bruno@clisp.org>
1928
1929         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
1930         gl_FUNC_FLOORL. Cache the result.
1931         (gl_FUNC_FLOORL): Use it.
1932         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
1933         gl_FUNC_CEILL. Cache the result.
1934         (gl_FUNC_CEILL): Use it.
1935
1936         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
1937         gl_FUNC_FLOOR. Cache the result.
1938         (gl_FUNC_FLOOR): Use it.
1939         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
1940         gl_FUNC_CEIL. Cache the result.
1941         (gl_FUNC_CEIL): Use it.
1942
1943         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
1944         gl_FUNC_FLOORF. Cache the result.
1945         (gl_FUNC_FLOORF): Use it.
1946         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
1947         gl_FUNC_CEILF. Cache the result.
1948         (gl_FUNC_CEILF): Use it.
1949
1950 2007-10-28  Bruno Haible  <bruno@clisp.org>
1951
1952         * gnulib-tool: Allow specifying the LGPL version number through
1953         --lgpl=2 or --lgpl=3.
1954         (func_usage): Document --lgpl with argument.
1955         Handle --lgpl=... arguments.
1956         (func_import): Recognize also gl_LGPL calls with an argument. When
1957         --lgpl=2 is used and the module's license is just LGPL, report an
1958         error. Set sed_transform_lib_file according to the lgpl variable. In
1959         the generated files, use --lgpl or gl_LGPL invocations with argument,
1960         if necessary.
1961         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
1962         an LGPv2+ license.
1963         * doc/gnulib-tool.texi (Modified imports): Update explanation of
1964         gl_LGPL macro.
1965
1966 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1967             Bruno Haible  <bruno@clisp.org>
1968
1969         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
1970         (u16_uctomb_aux): Likewise.
1971         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
1972         !HAVE_INLINE.
1973         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
1974
1975 2007-10-28  Bruno Haible  <bruno@clisp.org>
1976
1977         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
1978         Invoke AM_GETTEXT_OPTION if it exists.
1979         * modules/vasprintf: Likewise.
1980         * modules/verror: Likewise.
1981         * modules/xprintf: Likewise.
1982         * modules/xvasprintf: Likewise.
1983
1984 2007-10-27  Ben Pfaff  <blp@gnu.org>
1985
1986         * lib/math.in.h: Define isfinite macro and prototypes for
1987         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
1988         implementations.
1989         * m4/math_h.m4: New substitutions for isfinite module.
1990         * lib/isfinite.c: New file.
1991         * m4/isfinite.m4: New file.
1992         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
1993         * modules/isfinite: New file.
1994         * modules/isfinite-tests: New file.
1995         * tests/tests-isfinite.c: New file.
1996         * doc/functions/isfinite.texi: Mention isfinite module.
1997         * MODULES.html.sh: Mention new module.
1998
1999 2007-10-27  Ben Pfaff  <blp@gnu.org>
2000
2001         Ralf Wildenhues reported that Tru64 4.0D declares the round
2002         functions but does not have definitions.
2003         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
2004         cannot be found in any library, set the output variable to
2005         "missing" instead of "".
2006         * m4/round.m4: Also use our substitute if we cannot find round in
2007         any library, even if it is declared.
2008         * m4/roundf.m4: Likewise for roundf.
2009         * m4/roundl.m4: Likewise for roundl.
2010         * lib/math.in.h: Undefine roundf, round, roundl before defining
2011         their replacements, to allow for hypothetical systems where these
2012         may be defined as macros but not available in libraries.
2013
2014 2007-10-27  Bruno Haible  <bruno@clisp.org>
2015
2016         * doc/gnulib.texi: Invoke @firstparagraphindent.
2017         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
2018         changes in gnulib.
2019         (Source changes): New section.
2020
2021 2007-10-26  Bruno Haible  <bruno@clisp.org>
2022
2023         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
2024         borrowed from autoconf.
2025
2026 2007-10-26  Bruno Haible  <bruno@clisp.org>
2027
2028         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
2029         strerror returned the empty string. Needed on HP-UX 11.00.
2030
2031 2007-10-24  Micah Cowan  <micah@cowan.name>
2032
2033         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
2034         * build-aux/bootstrap: Remove support for now-unnecessary option,
2035         --cvs-user, and envvars CVS_USER, CVS_RSH.
2036
2037 2007-10-24  Jim Meyering  <meyering@redhat.com>
2038
2039         Avoid diagnostics from sha1sum when there is no cached checksum.
2040         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
2041         if the po.s1 file hasn't been created yet.
2042
2043         * build-aux/bootstrap: Sync from coreutils:
2044         2007-10-24  Jim Meyering  <meyering@redhat.com>
2045         Get gnulib from the git repository, not from an obsolete cvs one.
2046         * build-aux/bootstrap: Suggestion from Micah Cowan.
2047         2007-10-04  Jim Meyering  <jim@meyering.net>
2048         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
2049         (update_po_files): Work also when there are no .po files in po/.
2050
2051 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2052
2053         * README: Append ".git" to git and cg examples.
2054         Problem reported by Benoit Sigoure.
2055
2056 2007-10-23  Micah Cowan  <micah@cowan.name>
2057
2058         * users.txt: Add wget.
2059
2060 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2061
2062         Fix linking of some unistdio tests on FreeBSD.
2063         * modules/unistdio/u16-vsnprintf-tests
2064         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
2065         * modules/unistdio/u16-vsprintf-tests
2066         (test_u16_vsnprintf1_LDADD): Likewise.
2067         * modules/unistdio/u32-vsnprintf-tests
2068         (test_u32_vsnprintf1_LDADD): Likewise.
2069         * modules/unistdio/u32-vsprintf-tests
2070         (test_u32_vsprintf1_LDADD): Likewise.
2071         * modules/unistdio/u8-vsnprintf-tests
2072         (test_u8_vsnprintf1_LDADD): Likewise.
2073         * modules/unistdio/u8-vsprintf-tests
2074         (test_u8_vsprintf1_LDADD): Likewise.
2075         * modules/unistdio/ulc-vsnprintf-tests
2076         (test_ulc_vsnprintf1_LDADD): Likewise.
2077         * modules/unistdio/ulc-vsprintf-tests
2078         (test_ulc_vsprintf1_LDADD): Likewise.
2079
2080         Fix linking of some uniconv tests on FreeBSD.
2081         * modules/uniconv/u16-conv-from-enc-tests
2082         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
2083         * modules/uniconv/u16-conv-to-enc-tests
2084         (test_u16_conv_to_enc_LDADD): Likewise.
2085         * modules/uniconv/u16-strconv-from-enc-tests
2086         (test_u16_strconv_from_enc_LDADD): Likewise.
2087         * modules/uniconv/u16-strconv-to-enc-tests
2088         (test_u16_strconv_to_enc_LDADD): Likewise.
2089         * modules/uniconv/u32-conv-from-enc-tests
2090         (test_u32_conv_from_enc_LDADD): Likewise.
2091         * modules/uniconv/u32-conv-to-enc-tests
2092         (test_u32_conv_to_enc_LDADD): Likewise.
2093         * modules/uniconv/u32-strconv-from-enc-tests
2094         (test_u32_strconv_from_enc_LDADD): Likewise.
2095         * modules/uniconv/u32-strconv-to-enc-tests
2096         (test_u32_strconv_to_enc_LDADD): Likewise.
2097         * modules/uniconv/u8-conv-from-enc-tests
2098         (test_u8_conv_from_enc_LDADD): Likewise.
2099         * modules/uniconv/u8-conv-to-enc-tests
2100         (test_u8_conv_to_enc_LDADD): Likewise.
2101         * modules/uniconv/u8-strconv-from-enc-tests
2102         (test_u8_strconv_from_enc_LDADD): Likewise.
2103         * modules/uniconv/u8-strconv-to-enc-tests
2104         (test_u8_strconv_to_enc_LDADD): Likewise.
2105
2106 2007-10-22  Bruno Haible  <bruno@clisp.org>
2107
2108         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
2109         size.
2110
2111 2007-10-22  Eric Blake  <ebb9@byu.net>
2112
2113         Tweak x*printf documentation.
2114         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
2115         variable name and comments.
2116         Suggested by Bruno Haible.
2117
2118 2007-10-22  Bruno Haible  <bruno@clisp.org>
2119
2120         * lib/acl.c (copy_acl): Fix file name in comment.
2121
2122 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2123
2124         Fix Tru64 problem with stdbool.h.
2125         * lib/stdbool.in.h (false, true):
2126         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
2127         Don't declare as an enum in this situation; it runs afoul of Tru64.
2128         Problem reported by Steven M. Schweda in
2129         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
2130
2131 2007-10-22  Eric Blake  <ebb9@byu.net>
2132
2133         Also wrap vf?printf.
2134         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
2135         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
2136         (xvprintf, xvfprintf): New functions.
2137
2138 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2139
2140         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
2141         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
2142
2143         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
2144         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
2145
2146 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2147
2148         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
2149         by Bruno Haible.
2150
2151 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2152
2153         * lib/getloadavg.c
2154         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
2155         Undef `sys' after including sys/table.h, for Tru64 4.0D.
2156
2157         * tests/test-i-ring.c: Work for C89.
2158
2159 2007-10-22  Bruno Haible  <bruno@clisp.org>
2160
2161         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
2162         -1u, in preprocessor expression, so that we don't test for the bug
2163         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
2164         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
2165
2166 2007-10-22  Eric Blake  <ebb9@byu.net>
2167
2168         * tests/test-yesno.sh: Silence stderr during test.
2169
2170 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2171
2172         * modules/crypto/gc-camellia: New file.
2173
2174         * m4/gc-camellia.m4: New file.
2175
2176         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
2177
2178         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
2179
2180 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2181
2182         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
2183         --help to stdout.  Reported by sms@antinode.org (Steven
2184         M. Schweda).
2185
2186 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2187
2188         * users.txt: Fix link to libksba.
2189
2190 2007-10-21  Ben Pfaff  <blp@gnu.org>
2191
2192         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
2193         round.c roundf implementation that depends on floorf and ceilf to
2194         be tested unconditionally.
2195
2196 2007-10-21  Ben Pfaff  <blp@gnu.org>
2197
2198         * m4/check-libm-func.m4: Removed.
2199         * m4/check-math-lib.m4: New file.
2200         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
2201         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
2202         definition and lack of AC_LIBOBJ([roundf]).
2203         * m4/roundl.m4: Ditto, and similarly for roundl.
2204         * modules/round: Reference new m4 file.
2205         * modules/roundf: Ditto.
2206         * modules/roundl: Ditto.
2207         * tests/test-round2.c (main): Use ROUND instead of round.
2208         Bug report from Bruno Haible.
2209
2210 2007-10-21  Bruno Haible  <bruno@clisp.org>
2211
2212         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
2213         context.
2214
2215 2007-10-21  Bruno Haible  <bruno@clisp.org>
2216
2217         * tests/test-wcwidth.c (main): Allow negative result for some control
2218         characters.
2219
2220         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
2221         Needed on OSF/1 5.1.
2222
2223 2007-10-21  Bruno Haible  <bruno@clisp.org>
2224
2225         * tests/test-floorf1.c: Include isnanf.h.
2226         (main): Use isnanf() instead of isnan().
2227         * tests/test-ceilf1.c: Include isnanf.h.
2228         (main): Use isnanf() instead of isnan().
2229         * tests/test-truncf1.c: Include isnanf.h.
2230         (main): Use isnanf() instead of isnan().
2231         * tests/test-roundf1.c: Include isnanf.h.
2232         (main): Use isnanf() instead of isnan().
2233
2234 2007-10-21  Eric Blake  <ebb9@byu.net>
2235
2236         * users.txt: Update URL for m4.
2237
2238 2007-10-21  Bruno Haible  <bruno@clisp.org>
2239
2240         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
2241
2242 2007-10-21  Bruno Haible  <bruno@clisp.org>
2243
2244         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
2245         Git's management files if the CVS files are not present.
2246
2247 2007-10-20  Bruno Haible  <bruno@clisp.org>
2248
2249         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
2250         gcc-3.4.x.
2251
2252 2007-10-20  Ben Pfaff  <blp@gnu.org>
2253
2254         * lib/math.in.h: Declare round, roundf, roundl if we are providing
2255         implementations.
2256         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
2257         * lib/round.c: New file.
2258         * lib/roundf.c: New file.
2259         * lib/roundl.c: New file.
2260         * m4/round.m4: New file.
2261         * m4/roundf.m4: New file.
2262         * m4/roundl.m4: New file.
2263         * m4/check-libm-func-m4: New file.
2264         * modules/math: Replace round, roundf, roundl related @VARS@ in
2265         math.in.h.
2266         * modules/round: New file.
2267         * modules/round-tests: New file.
2268         * modules/roundf: New file.
2269         * modules/roundf-tests: New file.
2270         * modules/roundl: New file.
2271         * modules/roundl-tests: New file.
2272         * tests/test-round1.c: New file.
2273         * tests/test-round2.c: New file.
2274         * tests/test-roundf1.c: New file.
2275         * tests/test-roundf2.c: New file.
2276         * tests/test-roundl.c: New file.
2277         * doc/functions/round.texi: Mention round module.
2278         * doc/functions/roundf.texi: Mention roundf module.
2279         * doc/functions/roundl.texi: Mention roundl module.
2280         * MODULES.html.sh: Mention new modules.
2281         Thanks to Bruno Haible for suggestions.
2282
2283 2007-10-20  Jim Meyering  <meyering@redhat.com>
2284
2285         * lib/xprintf.c: Include <config.h> unconditionally.
2286
2287         Change xprintf's license to GPL.
2288         * modules/xprintf (License): s/LGPL/GPL/, since this module
2289         depends on modules (exit and exitfail) which are GPL.
2290         Suggestion from Bruno Haible.
2291
2292         xprintf fixes.
2293         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
2294         Use a clearer diagnostic.
2295         Patch from Bruno Haible.
2296
2297 2007-10-20  Bruno Haible  <bruno@clisp.org>
2298
2299         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
2300         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
2301         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2302
2303 2007-10-20  Bruno Haible  <bruno@clisp.org>
2304
2305         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
2306         precision in the comparison result > x - 1 or similar.
2307         * tests/test-ceilf2.c (correct_result_p): Likewise.
2308         * tests/test-truncf2.c (correct_result_p): Likewise.
2309         * tests/test-trunc2.c (correct_result_p): Likewise.
2310         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2311
2312 2007-10-20  Bruno Haible  <bruno@clisp.org>
2313
2314         * modules/ceil: New file.
2315         * m4/ceil.m4: New file.
2316         * doc/functions/ceil.texi: Mention the 'ceil' module.
2317
2318 2007-10-20  Bruno Haible  <bruno@clisp.org>
2319
2320         * modules/floor: New file.
2321         * m4/floor.m4: New file.
2322         * doc/functions/floor.texi: Mention the 'floor' module.
2323
2324 2007-10-20  Bruno Haible  <bruno@clisp.org>
2325
2326         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
2327         of %a.
2328         * modules/floorf-tests (Depends-on): Likewise.
2329         * modules/truncf-tests (Depends-on): Likewise.
2330         * modules/trunc-tests (Depends-on): Likewise.
2331         Reported by Ben Pfaff.
2332
2333 2007-10-19  Jim Meyering  <meyering@redhat.com>
2334
2335         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
2336         Don't bother testing specific errno values.  Just test ferror.
2337
2338         New module: xprintf
2339         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
2340
2341 2007-10-19  Bruno Haible  <bruno@clisp.org>
2342
2343         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
2344         syntax.
2345         * modules/javaexec (Makefile.am): Likewise.
2346         * modules/relocatable-prog (Makefile.am): Likewise.
2347         Suggested by Jim Meyering.
2348
2349 2007-10-18  Bruno Haible  <bruno@clisp.org>
2350
2351         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
2352         Reported by Jim Meyering.
2353
2354 2007-10-18  Eric Blake  <ebb9@byu.net>
2355
2356         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
2357
2358 2007-10-18  Bruno Haible  <bruno@clisp.org>
2359
2360         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
2361         the format string into writable memory. Needed in Fortify conditions.
2362
2363 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
2364             Bruno Haible  <bruno@clisp.org>
2365
2366         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
2367         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
2368         * modules/trim (Depends-on): Add mbchar.
2369         (configure.ac): Add gl_FUNC_MBRTOWC.
2370         (Makefile.am): Augment lib_SOURCES.
2371
2372 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
2373
2374         Modify glob.c to use fstatat and dirfd, to simplify it.
2375         Suggested by Eric Blake.
2376         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
2377         Don't include <stdbool.h>; not used.
2378         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
2379         (link_exists_p): Simplify implementation, since we can now assume
2380         dirfd and fstatat.
2381         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
2382
2383 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2384
2385         * gnulib-tool (func_get_dependencies): Fix sed script to
2386         match only tests.
2387
2388 2007-10-17  Bruno Haible  <bruno@clisp.org>
2389
2390         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
2391         allow locale names without encoding suffix.
2392         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2393         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2394
2395 2007-10-16  Bruno Haible  <bruno@clisp.org>
2396
2397         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
2398         * lib/getgroups.c (getgroups): Likewise.
2399         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
2400
2401 2007-10-16  Bruno Haible  <bruno@clisp.org>
2402
2403         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
2404         * modules/malloc-posix (License): Likewise.
2405         * modules/realloc-posix (License): Likewise.
2406         * modules/calloc-posix (License): Likewise.
2407         * modules/intprops (License): Change from GPL to LGPL, with
2408         Paul Eggert's approval.
2409
2410 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2411
2412         Merge glibc changes into lib/glob.c.
2413
2414         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
2415         2007-10-15 04:59:03 UTC.  Here are the changes:
2416
2417         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
2418
2419         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
2420
2421         * lib/glob.c: Add some branch prediction throughout.
2422
2423         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
2424
2425         [BZ #5103]
2426         * lib/glob.c (glob): Recognize patterns starting \/.
2427
2428         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
2429
2430         [BZ #3996]
2431         * lib/glob.c (attribute_hidden): Define if not defined.
2432         (glob): Unescape dirname, filename or username when needed and not
2433         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
2434         is NULL.  Handle unescaped [ in pattern without closing ].
2435         Don't pass GLOB_CHECK down to recursive glob for directories.
2436         (__glob_pattern_type): New function.
2437         (__glob_pattern_p): Implement using __glob_pattern_type.
2438         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
2439         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
2440         Remove unreachable code.
2441
2442         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
2443
2444         * lib/glob.c (glob_in_dir): Add some comments and asserts to
2445         explain why there are no leaks.
2446
2447         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
2448
2449         [BZ #3253]
2450         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
2451         time, rather allocate increasingly bigger arrays of pointers, if
2452         possible with alloca, if too large with malloc.
2453
2454 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2455
2456         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
2457         Problem reported by H.Merijn Brand in
2458         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
2459         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
2460         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
2461
2462 2007-10-15  Bruno Haible  <bruno@clisp.org>
2463
2464         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
2465         with explicit rpl_ prefix.
2466         * lib/fopen.c (fopen): Likewise.
2467         * lib/freopen.c (freopen): Likewise.
2468         * lib/iconv.c (iconv): Likewise.
2469         * lib/iconv_close.c (iconv_close): Likewise.
2470
2471 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2472
2473         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
2474
2475 2007-10-15  Bruno Haible  <bruno@clisp.org>
2476
2477         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
2478         <stddef.h> instead of <stdlib.h> since we only need NULL.
2479         Reported by Ben Pfaff <blp@cs.stanford.edu>.
2480
2481 2007-10-15  Bruno Haible  <bruno@clisp.org>
2482
2483         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
2484         Replace paragraph talking about LIBOBJS.
2485         Reported by Colin Watson <cjwatson@debian.org>.
2486
2487 2007-10-15  Bruno Haible  <bruno@clisp.org>
2488
2489         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
2490         <stdlib.h> before using NULL.
2491
2492 2007-10-15  Simon Josefsson  <simon@josefsson.org>
2493
2494         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
2495         Reported by Albert Chin <china@thewrittenword.com>.
2496
2497 2007-10-14  Bruno Haible  <bruno@clisp.org>
2498
2499         * modules/iconv_open-utf-tests: New file.
2500         * tests/test-iconv-utf.c: New file.
2501
2502         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
2503         * modules/iconv_open-utf: New file.
2504         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
2505         (iconv, iconv_close): New declarations.
2506         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
2507         be defined.
2508         (iconv_open): Add special handling of conversion between UTF-8 and
2509         UTF-{16,32}{BE,LE}.
2510         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
2511         * lib/iconv_close.c: New file.
2512         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
2513         gl_FUNC_ICONV_OPEN.
2514         (gl_FUNC_ICONV_OPEN): Use it.
2515         (gl_FUNC_ICONV_OPEN_UTF): New macro.
2516         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
2517         and REPLACE_ICONV_UTF.
2518         * modules/iconv_open (Depends-on): Add c-strcase.
2519         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
2520         ICONV_CONST.
2521         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
2522
2523 2007-10-13  Albert Chin  <china@thewrittenword.com>
2524             Bruno Haible  <bruno@clisp.org>
2525
2526         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
2527         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
2528
2529 2007-10-13  Bruno Haible  <bruno@clisp.org>
2530
2531         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
2532         defined, use the ISO C99 inline semantics.
2533         * lib/argp.h (ARGP_EI): Likewise.
2534
2535 2007-10-13  Bruno Haible  <bruno@clisp.org>
2536
2537         Handle 'inline' change in gcc 4.3.0.
2538         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
2539         argp_fmtstream_write, argp_fmtstream_set_lmargin,
2540         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
2541         argp_fmtstream_point): Disable 'extern' declaration if the function
2542         definition is going to be provided inline.
2543         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
2544         semantics, not the ISO C99 inline semantics.
2545         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
2546         'extern' declaration if the function definition is going to be provided
2547         inline.
2548         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
2549         the GNU C inline semantics, not the ISO C99 inline semantics. With
2550         GCC 4.2, avoid a warning.
2551
2552 2007-10-13  Bruno Haible  <bruno@clisp.org>
2553
2554         * lib/freading.h (freading): Enable the use of __freading for
2555         glibc >= 2.7.
2556         * lib/freading.c (freading): Likewise.
2557
2558 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2559
2560         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
2561         "warning: C99 inline functions are not supported; using GNU89".
2562
2563 2007-10-12  Bruno Haible  <bruno@clisp.org>
2564
2565         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
2566         of 2.
2567         * tests/test-ceilf2.c: New file.
2568         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
2569
2570         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
2571         * modules/ceilf-tests: Update.
2572
2573 2007-10-12  Bruno Haible  <bruno@clisp.org>
2574
2575         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
2576         of 2.
2577         * tests/test-floorf2.c: New file.
2578         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
2579
2580         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
2581         * modules/floorf-tests: Update.
2582
2583 2007-10-12  Bruno Haible  <bruno@clisp.org>
2584
2585         * tests/test-trunc2.c: New file.
2586         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
2587
2588         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
2589         * modules/trunc-tests: Update.
2590
2591 2007-10-12  Bruno Haible  <bruno@clisp.org>
2592
2593         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
2594         of 2.
2595         * tests/test-truncf2.c: New file.
2596         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
2597
2598         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
2599         * modules/truncf-tests: Update.
2600
2601 2007-10-11  Eric Blake  <ebb9@byu.net>
2602
2603         Don't claim strerror is broken on Interix.
2604         * doc/functions/strerror.texi (strerror): Known broken systems are
2605         now Solaris 8, and not Interix.
2606         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
2607         Interix on cross-compile.
2608         Reported by Martin Koeppe in
2609         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
2610
2611 2007-10-11  Bruno Haible  <bruno@clisp.org>
2612
2613         * modules/i-ring-tests: New file.
2614         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
2615         instead of assert.
2616
2617 2007-10-11  Bruno Haible  <bruno@clisp.org>
2618
2619         * modules/filenamecat-tests: New file.
2620         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
2621         * lib/filenamecat.c: Remove test code.
2622
2623 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2624
2625         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
2626
2627         * lib/strerror.c: Include <string.h> always, to test interface,
2628         and to remove the need for the dummy.
2629         Include intprops.h to compute width instead of doing it ourselves
2630         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
2631         (strerror): Define it to return NULL if there's no system strerror.
2632         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
2633         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
2634         ancient pre-strerror Unix systems well any more.  Saying "unknown
2635         system error" is enough.
2636         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
2637         simpler strerror.c implementation.
2638         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
2639         Simplify the tests to reflect the simpler strerror implementation.
2640         * modules/strerror (Depends-on): Add intprops.
2641
2642 2007-10-09  Eric Blake  <ebb9@byu.net>
2643
2644         Silence test-fpending.
2645         * modules/fpending-tests (Files): Add wrapper script.
2646         * tests/test-fpending.sh: New file.
2647
2648 2007-10-09  Bruno Haible  <bruno@clisp.org>
2649
2650         * MODULES.html.sh (func_module): Don't create a hyperlink for
2651         function names like 'printf_frexp'.
2652         (Misc): Add crc, memxor.
2653         (Characteristics of floating types): New section.
2654         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
2655         isnanf-nolibm, signbit, trunc, truncf, truncl.
2656         (Enhancements for ISO C 99 functions): New subsection Input/output.
2657         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
2658         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
2659         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
2660         (Compatibility checks for POSIX:2001 functions): Add clock-time.
2661         (Enhancements for POSIX:2001 functions): Add chdir-long.
2662         (File system functions): Add areadlink, chdir-safer, read-file.
2663         Remove cycle-check.
2664         (File system as inode set): New section.
2665         (Date and time): Add gethrxtime.
2666         (Multithreading): Add openmp.
2667         (Internationalization functions): Add localename.
2668         (Unicode string functions): Add unistr/u*-mbsnlen.
2669         (Support for maintaining and releasing projects): Add git-version-gen.
2670         (Lone files): Remove directories.
2671
2672 2007-10-08  Ben Pfaff  <blp@gnu.org>
2673
2674         * lib/xmalloca.h: Fix typo in comment.
2675
2676 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2677
2678         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
2679         when avoiding problems with integer overflow.  Use a portable test
2680         instead.
2681
2682 2007-10-08  Simon Josefsson  <simon@josefsson.org>
2683
2684         * modules/dummy (License): Change to LGPLv2+.
2685         * modules/float (License): Likewise
2686         * modules/realloc (License): Likewise
2687         * modules/stdlib (License): Likewise
2688
2689 2007-10-07  Bruno Haible  <bruno@clisp.org>
2690
2691         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
2692         * floor.c (TWO_MANT_DIG): Likewise.
2693         * ceil.c (TWO_MANT_DIG): Likewise.
2694         Reported by Ben Pfaff.
2695
2696 2007-10-07  Bruno Haible  <bruno@clisp.org>
2697
2698         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
2699         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
2700         * lib/frexp.c (FUNC): Likewise.
2701         * lib/printf-frexp.h (printf_frexp): Likewise.
2702         * lib/printf-frexpl.h (printf_frexpl): Likewise.
2703         * lib/printf-frexp.c (FUNC): Likewise.
2704         Suggested by Jim Meyering.
2705
2706 2007-10-07  Jim Meyering  <meyering@redhat.com>
2707
2708         Make xnanosleep's integer overflow test more robust.
2709         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
2710         so that gcc-4.3.0 doesn't optimize away this test for overflow.
2711
2712 2007-10-07  Bruno Haible  <bruno@clisp.org>
2713
2714         * NEWS: Mention the license change.
2715
2716         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
2717         abbreviations in the modules files.
2718
2719         Change copyright notice from GPLv2+ to GPLv3+.
2720         * README: Change copyright notice.
2721         * MODULES.html.sh: Likewise.
2722         * build-aux/bootstrap.conf: Likewise.
2723         * build-aux/config.libpath: Likewise.
2724         * build-aux/csharpcomp.sh.in: Likewise.
2725         * build-aux/csharpexec.sh.in: Likewise.
2726         * build-aux/install-reloc: Likewise.
2727         * build-aux/javacomp.sh.in: Likewise.
2728         * build-aux/javaexec.sh.in: Likewise.
2729         * build-aux/ldd.sh.in: Likewise.
2730         * build-aux/reloc-ldflags: Likewise.
2731         * build-aux/relocatable.sh.in: Likewise.
2732         * build-aux/x-to-1.in: Likewise.
2733         * check-module: Likewise.
2734         * config/srclistvars.sh: Likewise.
2735         * gnulib-tool: Likewise.
2736         * lib/acl-internal.h: Likewise.
2737         * lib/acl.c: Likewise.
2738         * lib/acl.h: Likewise.
2739         * lib/acl_entries.c: Likewise.
2740         * lib/areadlink-with-size.c: Likewise.
2741         * lib/areadlink.c: Likewise.
2742         * lib/areadlink.h: Likewise.
2743         * lib/argmatch.c: Likewise.
2744         * lib/argmatch.h: Likewise.
2745         * lib/argp-ba.c: Likewise.
2746         * lib/argp-eexst.c: Likewise.
2747         * lib/argp-fmtstream.c: Likewise.
2748         * lib/argp-fmtstream.h: Likewise.
2749         * lib/argp-fs-xinl.c: Likewise.
2750         * lib/argp-help.c: Likewise.
2751         * lib/argp-namefrob.h: Likewise.
2752         * lib/argp-parse.c: Likewise.
2753         * lib/argp-pin.c: Likewise.
2754         * lib/argp-pv.c: Likewise.
2755         * lib/argp-pvh.c: Likewise.
2756         * lib/argp-xinl.c: Likewise.
2757         * lib/argp.h: Likewise.
2758         * lib/at-func.c: Likewise.
2759         * lib/atanl.c: Likewise.
2760         * lib/backupfile.c: Likewise.
2761         * lib/backupfile.h: Likewise.
2762         * lib/basename.c: Likewise.
2763         * lib/binary-io.h: Likewise.
2764         * lib/byteswap.in.h: Likewise.
2765         * lib/c-stack.c: Likewise.
2766         * lib/c-stack.h: Likewise.
2767         * lib/c-strcasestr.c: Likewise.
2768         * lib/c-strcasestr.h: Likewise.
2769         * lib/c-strstr.c: Likewise.
2770         * lib/c-strstr.h: Likewise.
2771         * lib/c-strtod.c: Likewise.
2772         * lib/calloc.c: Likewise.
2773         * lib/canon-host.c: Likewise.
2774         * lib/canon-host.h: Likewise.
2775         * lib/canonicalize-lgpl.c: Likewise.
2776         * lib/canonicalize.c: Likewise.
2777         * lib/canonicalize.h: Likewise.
2778         * lib/ceil.c: Likewise.
2779         * lib/ceilf.c: Likewise.
2780         * lib/ceill.c: Likewise.
2781         * lib/chdir-long.c: Likewise.
2782         * lib/chdir-long.h: Likewise.
2783         * lib/chdir-safer.c: Likewise.
2784         * lib/chdir-safer.h: Likewise.
2785         * lib/chown.c: Likewise.
2786         * lib/classpath.c: Likewise.
2787         * lib/classpath.h: Likewise.
2788         * lib/clean-temp.c: Likewise.
2789         * lib/clean-temp.h: Likewise.
2790         * lib/cloexec.c: Likewise.
2791         * lib/close-stream.c: Likewise.
2792         * lib/closein.c: Likewise.
2793         * lib/closein.h: Likewise.
2794         * lib/closeout.c: Likewise.
2795         * lib/closeout.h: Likewise.
2796         * lib/concat-filename.c: Likewise.
2797         * lib/copy-file.c: Likewise.
2798         * lib/copy-file.h: Likewise.
2799         * lib/count-one-bits.h: Likewise.
2800         * lib/crc.c: Likewise.
2801         * lib/crc.h: Likewise.
2802         * lib/creat-safer.c: Likewise.
2803         * lib/csharpcomp.c: Likewise.
2804         * lib/csharpcomp.h: Likewise.
2805         * lib/csharpexec.c: Likewise.
2806         * lib/csharpexec.h: Likewise.
2807         * lib/cycle-check.c: Likewise.
2808         * lib/cycle-check.h: Likewise.
2809         * lib/diacrit.c: Likewise.
2810         * lib/diacrit.h: Likewise.
2811         * lib/diffseq.h: Likewise.
2812         * lib/dirchownmod.c: Likewise.
2813         * lib/dirent.in.h: Likewise.
2814         * lib/dirfd.c: Likewise.
2815         * lib/dirfd.h: Likewise.
2816         * lib/dirname.c: Likewise.
2817         * lib/dirname.h: Likewise.
2818         * lib/dummy.c: Likewise.
2819         * lib/dup-safer.c: Likewise.
2820         * lib/dup2.c: Likewise.
2821         * lib/eealloc.h: Likewise.
2822         * lib/error.c: Likewise.
2823         * lib/error.h: Likewise.
2824         * lib/euidaccess.c: Likewise.
2825         * lib/exclude.c: Likewise.
2826         * lib/exclude.h: Likewise.
2827         * lib/execute.c: Likewise.
2828         * lib/execute.h: Likewise.
2829         * lib/exitfail.c: Likewise.
2830         * lib/exitfail.h: Likewise.
2831         * lib/expl.c: Likewise.
2832         * lib/fatal-signal.c: Likewise.
2833         * lib/fatal-signal.h: Likewise.
2834         * lib/fbufmode.c: Likewise.
2835         * lib/fbufmode.h: Likewise.
2836         * lib/fchdir.c: Likewise.
2837         * lib/fchmodat.c: Likewise.
2838         * lib/fchownat.c: Likewise.
2839         * lib/fcntl--.h: Likewise.
2840         * lib/fcntl-safer.h: Likewise.
2841         * lib/fcntl.in.h: Likewise.
2842         * lib/fd-safer.c: Likewise.
2843         * lib/fflush.c: Likewise.
2844         * lib/file-has-acl.c: Likewise.
2845         * lib/file-set.c: Likewise.
2846         * lib/file-type.c: Likewise.
2847         * lib/file-type.h: Likewise.
2848         * lib/fileblocks.c: Likewise.
2849         * lib/filemode.c: Likewise.
2850         * lib/filemode.h: Likewise.
2851         * lib/filename.h: Likewise.
2852         * lib/filenamecat.c: Likewise.
2853         * lib/filenamecat.h: Likewise.
2854         * lib/findprog.c: Likewise.
2855         * lib/findprog.h: Likewise.
2856         * lib/float.in.h: Likewise.
2857         * lib/floor.c: Likewise.
2858         * lib/floorf.c: Likewise.
2859         * lib/floorl.c: Likewise.
2860         * lib/fopen-safer.c: Likewise.
2861         * lib/fopen.c: Likewise.
2862         * lib/fpending.c: Likewise.
2863         * lib/fpending.h: Likewise.
2864         * lib/fprintf.c: Likewise.
2865         * lib/fprintftime.h: Likewise.
2866         * lib/fpucw.h: Likewise.
2867         * lib/fpurge.c: Likewise.
2868         * lib/fpurge.h: Likewise.
2869         * lib/freadable.c: Likewise.
2870         * lib/freadable.h: Likewise.
2871         * lib/freadahead.c: Likewise.
2872         * lib/freadahead.h: Likewise.
2873         * lib/freading.c: Likewise.
2874         * lib/freading.h: Likewise.
2875         * lib/free.c: Likewise.
2876         * lib/freopen.c: Likewise.
2877         * lib/frexp.c: Likewise.
2878         * lib/frexpl.c: Likewise.
2879         * lib/fseek.c: Likewise.
2880         * lib/fseterr.c: Likewise.
2881         * lib/fseterr.h: Likewise.
2882         * lib/fstatat.c: Likewise.
2883         * lib/fstrcmp.c: Likewise.
2884         * lib/fstrcmp.h: Likewise.
2885         * lib/fsusage.c: Likewise.
2886         * lib/fsusage.h: Likewise.
2887         * lib/ftell.c: Likewise.
2888         * lib/ftello.c: Likewise.
2889         * lib/fts-cycle.c: Likewise.
2890         * lib/fts.c: Likewise.
2891         * lib/fts_.h: Likewise.
2892         * lib/full-read.c: Likewise.
2893         * lib/full-read.h: Likewise.
2894         * lib/full-write.c: Likewise.
2895         * lib/full-write.h: Likewise.
2896         * lib/fwritable.c: Likewise.
2897         * lib/fwritable.h: Likewise.
2898         * lib/fwriteerror.c: Likewise.
2899         * lib/fwriteerror.h: Likewise.
2900         * lib/fwriting.c: Likewise.
2901         * lib/fwriting.h: Likewise.
2902         * lib/gcd.c: Likewise.
2903         * lib/gcd.h: Likewise.
2904         * lib/getcwd.c: Likewise.
2905         * lib/getdate.h: Likewise.
2906         * lib/getdate.y: Likewise.
2907         * lib/getdomainname.c: Likewise.
2908         * lib/getdomainname.h: Likewise.
2909         * lib/getgroups.c: Likewise.
2910         * lib/gethostname.c: Likewise.
2911         * lib/gethrxtime.c: Likewise.
2912         * lib/gethrxtime.h: Likewise.
2913         * lib/getloadavg.c: Likewise.
2914         * lib/getndelim2.c: Likewise.
2915         * lib/getndelim2.h: Likewise.
2916         * lib/getnline.c: Likewise.
2917         * lib/getnline.h: Likewise.
2918         * lib/getopt.c: Likewise.
2919         * lib/getopt.in.h: Likewise.
2920         * lib/getopt1.c: Likewise.
2921         * lib/getopt_int.h: Likewise.
2922         * lib/getpagesize.h: Likewise.
2923         * lib/getsubopt.c: Likewise.
2924         * lib/gettime.c: Likewise.
2925         * lib/getugroups.c: Likewise.
2926         * lib/getugroups.h: Likewise.
2927         * lib/getusershell.c: Likewise.
2928         * lib/gl_anyavltree_list1.h: Likewise.
2929         * lib/gl_anyavltree_list2.h: Likewise.
2930         * lib/gl_anyhash_list1.h: Likewise.
2931         * lib/gl_anyhash_list2.h: Likewise.
2932         * lib/gl_anylinked_list1.h: Likewise.
2933         * lib/gl_anylinked_list2.h: Likewise.
2934         * lib/gl_anyrbtree_list1.h: Likewise.
2935         * lib/gl_anyrbtree_list2.h: Likewise.
2936         * lib/gl_anytree_list1.h: Likewise.
2937         * lib/gl_anytree_list2.h: Likewise.
2938         * lib/gl_anytree_oset.h: Likewise.
2939         * lib/gl_anytreehash_list1.h: Likewise.
2940         * lib/gl_anytreehash_list2.h: Likewise.
2941         * lib/gl_array_list.c: Likewise.
2942         * lib/gl_array_list.h: Likewise.
2943         * lib/gl_array_oset.c: Likewise.
2944         * lib/gl_array_oset.h: Likewise.
2945         * lib/gl_avltree_list.c: Likewise.
2946         * lib/gl_avltree_list.h: Likewise.
2947         * lib/gl_avltree_oset.c: Likewise.
2948         * lib/gl_avltree_oset.h: Likewise.
2949         * lib/gl_avltreehash_list.c: Likewise.
2950         * lib/gl_avltreehash_list.h: Likewise.
2951         * lib/gl_carray_list.c: Likewise.
2952         * lib/gl_carray_list.h: Likewise.
2953         * lib/gl_linked_list.c: Likewise.
2954         * lib/gl_linked_list.h: Likewise.
2955         * lib/gl_linkedhash_list.c: Likewise.
2956         * lib/gl_linkedhash_list.h: Likewise.
2957         * lib/gl_list.c: Likewise.
2958         * lib/gl_list.h: Likewise.
2959         * lib/gl_oset.c: Likewise.
2960         * lib/gl_oset.h: Likewise.
2961         * lib/gl_rbtree_list.c: Likewise.
2962         * lib/gl_rbtree_list.h: Likewise.
2963         * lib/gl_rbtree_oset.c: Likewise.
2964         * lib/gl_rbtree_oset.h: Likewise.
2965         * lib/gl_rbtreehash_list.c: Likewise.
2966         * lib/gl_rbtreehash_list.h: Likewise.
2967         * lib/gl_sublist.c: Likewise.
2968         * lib/gl_sublist.h: Likewise.
2969         * lib/group-member.c: Likewise.
2970         * lib/group-member.h: Likewise.
2971         * lib/hard-locale.c: Likewise.
2972         * lib/hard-locale.h: Likewise.
2973         * lib/hash-pjw.c: Likewise.
2974         * lib/hash-pjw.h: Likewise.
2975         * lib/hash-triple.c: Likewise.
2976         * lib/hash.c: Likewise.
2977         * lib/hash.h: Likewise.
2978         * lib/human.c: Likewise.
2979         * lib/human.h: Likewise.
2980         * lib/i-ring.c: Likewise.
2981         * lib/i-ring.h: Likewise.
2982         * lib/idcache.c: Likewise.
2983         * lib/imaxabs.c: Likewise.
2984         * lib/imaxdiv.c: Likewise.
2985         * lib/inet_pton.c: Likewise.
2986         * lib/inet_pton.h: Likewise.
2987         * lib/intprops.h: Likewise.
2988         * lib/inttostr.c: Likewise.
2989         * lib/inttostr.h: Likewise.
2990         * lib/inttypes.in.h: Likewise.
2991         * lib/isapipe.c: Likewise.
2992         * lib/isdir.c: Likewise.
2993         * lib/isnan.c: Likewise.
2994         * lib/isnan.h: Likewise.
2995         * lib/isnanf.c: Likewise.
2996         * lib/isnanf.h: Likewise.
2997         * lib/isnanl-nolibm.h: Likewise.
2998         * lib/isnanl.c: Likewise.
2999         * lib/isnanl.h: Likewise.
3000         * lib/javacomp.c: Likewise.
3001         * lib/javacomp.h: Likewise.
3002         * lib/javaexec.c: Likewise.
3003         * lib/javaexec.h: Likewise.
3004         * lib/javaversion.c: Likewise.
3005         * lib/javaversion.h: Likewise.
3006         * lib/javaversion.java: Likewise.
3007         * lib/lbrkprop.h: Likewise.
3008         * lib/lchmod.h: Likewise.
3009         * lib/lchown.c: Likewise.
3010         * lib/ldexpl.c: Likewise.
3011         * lib/linebreak.c: Likewise.
3012         * lib/linebreak.h: Likewise.
3013         * lib/linebuffer.c: Likewise.
3014         * lib/linebuffer.h: Likewise.
3015         * lib/locale.in.h: Likewise.
3016         * lib/logl.c: Likewise.
3017         * lib/long-options.c: Likewise.
3018         * lib/long-options.h: Likewise.
3019         * lib/lstat.c: Likewise.
3020         * lib/lstat.h: Likewise.
3021         * lib/math.in.h: Likewise.
3022         * lib/mbchar.c: Likewise.
3023         * lib/mbchar.h: Likewise.
3024         * lib/mbfile.h: Likewise.
3025         * lib/mbiter.h: Likewise.
3026         * lib/mbscasecmp.c: Likewise.
3027         * lib/mbscasestr.c: Likewise.
3028         * lib/mbschr.c: Likewise.
3029         * lib/mbscspn.c: Likewise.
3030         * lib/mbslen.c: Likewise.
3031         * lib/mbsncasecmp.c: Likewise.
3032         * lib/mbsnlen.c: Likewise.
3033         * lib/mbspbrk.c: Likewise.
3034         * lib/mbspcasecmp.c: Likewise.
3035         * lib/mbsrchr.c: Likewise.
3036         * lib/mbssep.c: Likewise.
3037         * lib/mbsspn.c: Likewise.
3038         * lib/mbsstr.c: Likewise.
3039         * lib/mbstok_r.c: Likewise.
3040         * lib/mbswidth.c: Likewise.
3041         * lib/mbswidth.h: Likewise.
3042         * lib/mbuiter.h: Likewise.
3043         * lib/memcasecmp.c: Likewise.
3044         * lib/memcasecmp.h: Likewise.
3045         * lib/memchr.c: Likewise.
3046         * lib/memcmp.c: Likewise.
3047         * lib/memcoll.c: Likewise.
3048         * lib/memcoll.h: Likewise.
3049         * lib/memcpy.c: Likewise.
3050         * lib/memrchr.c: Likewise.
3051         * lib/mkancesdirs.c: Likewise.
3052         * lib/mkdir-p.c: Likewise.
3053         * lib/mkdir-p.h: Likewise.
3054         * lib/mkdir.c: Likewise.
3055         * lib/mkdirat.c: Likewise.
3056         * lib/mkdtemp.c: Likewise.
3057         * lib/mkstemp-safer.c: Likewise.
3058         * lib/mkstemp.c: Likewise.
3059         * lib/modechange.c: Likewise.
3060         * lib/modechange.h: Likewise.
3061         * lib/mountlist.c: Likewise.
3062         * lib/mountlist.h: Likewise.
3063         * lib/mpsort.c: Likewise.
3064         * lib/nanosleep.c: Likewise.
3065         * lib/obstack.c: Likewise.
3066         * lib/obstack.h: Likewise.
3067         * lib/open-safer.c: Likewise.
3068         * lib/open.c: Likewise.
3069         * lib/openat-die.c: Likewise.
3070         * lib/openat-priv.h: Likewise.
3071         * lib/openat-proc.c: Likewise.
3072         * lib/openat.c: Likewise.
3073         * lib/openat.h: Likewise.
3074         * lib/pagealign_alloc.c: Likewise.
3075         * lib/pagealign_alloc.h: Likewise.
3076         * lib/physmem.c: Likewise.
3077         * lib/physmem.h: Likewise.
3078         * lib/pipe-safer.c: Likewise.
3079         * lib/pipe.c: Likewise.
3080         * lib/pipe.h: Likewise.
3081         * lib/posixtm.c: Likewise.
3082         * lib/posixtm.h: Likewise.
3083         * lib/posixver.c: Likewise.
3084         * lib/printf-frexp.c: Likewise.
3085         * lib/printf-frexp.h: Likewise.
3086         * lib/printf-frexpl.c: Likewise.
3087         * lib/printf-frexpl.h: Likewise.
3088         * lib/printf.c: Likewise.
3089         * lib/progname.c: Likewise.
3090         * lib/progname.h: Likewise.
3091         * lib/progreloc.c: Likewise.
3092         * lib/putenv.c: Likewise.
3093         * lib/quote.c: Likewise.
3094         * lib/quote.h: Likewise.
3095         * lib/quotearg.c: Likewise.
3096         * lib/quotearg.h: Likewise.
3097         * lib/raise.c: Likewise.
3098         * lib/readline.c: Likewise.
3099         * lib/readline.h: Likewise.
3100         * lib/readlink.c: Likewise.
3101         * lib/readtokens.c: Likewise.
3102         * lib/readtokens.h: Likewise.
3103         * lib/readtokens0.c: Likewise.
3104         * lib/readtokens0.h: Likewise.
3105         * lib/readutmp.c: Likewise.
3106         * lib/readutmp.h: Likewise.
3107         * lib/realloc.c: Likewise.
3108         * lib/relocwrapper.c: Likewise.
3109         * lib/rename-dest-slash.c: Likewise.
3110         * lib/rename.c: Likewise.
3111         * lib/rmdir.c: Likewise.
3112         * lib/rpmatch.c: Likewise.
3113         * lib/safe-read.c: Likewise.
3114         * lib/safe-read.h: Likewise.
3115         * lib/safe-write.c: Likewise.
3116         * lib/safe-write.h: Likewise.
3117         * lib/same-inode.h: Likewise.
3118         * lib/same.c: Likewise.
3119         * lib/same.h: Likewise.
3120         * lib/save-cwd.c: Likewise.
3121         * lib/save-cwd.h: Likewise.
3122         * lib/savedir.c: Likewise.
3123         * lib/savedir.h: Likewise.
3124         * lib/savewd.c: Likewise.
3125         * lib/savewd.h: Likewise.
3126         * lib/search.in.h: Likewise.
3127         * lib/setenv.c: Likewise.
3128         * lib/setenv.h: Likewise.
3129         * lib/settime.c: Likewise.
3130         * lib/sh-quote.c: Likewise.
3131         * lib/sh-quote.h: Likewise.
3132         * lib/sig2str.c: Likewise.
3133         * lib/sig2str.h: Likewise.
3134         * lib/signal.in.h: Likewise.
3135         * lib/signbitd.c: Likewise.
3136         * lib/signbitf.c: Likewise.
3137         * lib/signbitl.c: Likewise.
3138         * lib/sigprocmask.c: Likewise.
3139         * lib/sincosl.c: Likewise.
3140         * lib/sleep.c: Likewise.
3141         * lib/sprintf.c: Likewise.
3142         * lib/sqrtl.c: Likewise.
3143         * lib/stat-time.h: Likewise.
3144         * lib/stdio--.h: Likewise.
3145         * lib/stdio-safer.h: Likewise.
3146         * lib/stdlib--.h: Likewise.
3147         * lib/stdlib-safer.h: Likewise.
3148         * lib/stdlib.in.h: Likewise.
3149         * lib/stpcpy.c: Likewise.
3150         * lib/stpncpy.c: Likewise.
3151         * lib/strchrnul.c: Likewise.
3152         * lib/strcspn.c: Likewise.
3153         * lib/strerror.c: Likewise.
3154         * lib/strftime.c: Likewise.
3155         * lib/strftime.h: Likewise.
3156         * lib/striconveh.c: Likewise.
3157         * lib/striconveh.h: Likewise.
3158         * lib/striconveha.c: Likewise.
3159         * lib/striconveha.h: Likewise.
3160         * lib/stripslash.c: Likewise.
3161         * lib/strnlen1.c: Likewise.
3162         * lib/strnlen1.h: Likewise.
3163         * lib/strtod.c: Likewise.
3164         * lib/strtoimax.c: Likewise.
3165         * lib/strtok_r.c: Likewise.
3166         * lib/strtol.c: Likewise.
3167         * lib/strtoll.c: Likewise.
3168         * lib/strtoul.c: Likewise.
3169         * lib/strtoull.c: Likewise.
3170         * lib/sysexits.in.h: Likewise.
3171         * lib/tempname.c: Likewise.
3172         * lib/tempname.h: Likewise.
3173         * lib/timespec.h: Likewise.
3174         * lib/tls.c: Likewise.
3175         * lib/tls.h: Likewise.
3176         * lib/tmpdir.c: Likewise.
3177         * lib/tmpdir.h: Likewise.
3178         * lib/tmpfile-safer.c: Likewise.
3179         * lib/tmpfile.c: Likewise.
3180         * lib/trigl.c: Likewise.
3181         * lib/trigl.h: Likewise.
3182         * lib/trim.c: Likewise.
3183         * lib/trim.h: Likewise.
3184         * lib/trunc.c: Likewise.
3185         * lib/truncf.c: Likewise.
3186         * lib/truncl.c: Likewise.
3187         * lib/tsearch.c: Likewise.
3188         * lib/unicodeio.c: Likewise.
3189         * lib/unicodeio.h: Likewise.
3190         * lib/unistd--.h: Likewise.
3191         * lib/unistd-safer.h: Likewise.
3192         * lib/unistdio/ulc-fprintf.c: Likewise.
3193         * lib/unistdio/ulc-vfprintf.c: Likewise.
3194         * lib/unlinkdir.c: Likewise.
3195         * lib/unlinkdir.h: Likewise.
3196         * lib/unlocked-io.h: Likewise.
3197         * lib/unsetenv.c: Likewise.
3198         * lib/userspec.c: Likewise.
3199         * lib/utime.c: Likewise.
3200         * lib/utimecmp.c: Likewise.
3201         * lib/utimecmp.h: Likewise.
3202         * lib/utimens.c: Likewise.
3203         * lib/verify.h: Likewise.
3204         * lib/verror.c: Likewise.
3205         * lib/verror.h: Likewise.
3206         * lib/version-etc-fsf.c: Likewise.
3207         * lib/version-etc.c: Likewise.
3208         * lib/version-etc.h: Likewise.
3209         * lib/vfprintf.c: Likewise.
3210         * lib/vprintf.c: Likewise.
3211         * lib/vsprintf.c: Likewise.
3212         * lib/w32spawn.h: Likewise.
3213         * lib/wait-process.c: Likewise.
3214         * lib/wait-process.h: Likewise.
3215         * lib/wcwidth.c: Likewise.
3216         * lib/write-any-file.c: Likewise.
3217         * lib/xalloc-die.c: Likewise.
3218         * lib/xalloc.h: Likewise.
3219         * lib/xasprintf.c: Likewise.
3220         * lib/xgetcwd.c: Likewise.
3221         * lib/xgetcwd.h: Likewise.
3222         * lib/xgetdomainname.c: Likewise.
3223         * lib/xgetdomainname.h: Likewise.
3224         * lib/xgethostname.c: Likewise.
3225         * lib/xmalloc.c: Likewise.
3226         * lib/xmalloca.c: Likewise.
3227         * lib/xmalloca.h: Likewise.
3228         * lib/xmemcoll.c: Likewise.
3229         * lib/xnanosleep.c: Likewise.
3230         * lib/xreadlink.c: Likewise.
3231         * lib/xreadlink.h: Likewise.
3232         * lib/xsetenv.c: Likewise.
3233         * lib/xsetenv.h: Likewise.
3234         * lib/xstriconv.c: Likewise.
3235         * lib/xstriconv.h: Likewise.
3236         * lib/xstrndup.c: Likewise.
3237         * lib/xstrndup.h: Likewise.
3238         * lib/xstrtod.c: Likewise.
3239         * lib/xstrtod.h: Likewise.
3240         * lib/xstrtol-error.c: Likewise.
3241         * lib/xstrtol.c: Likewise.
3242         * lib/xstrtol.h: Likewise.
3243         * lib/xtime.h: Likewise.
3244         * lib/xvasprintf.c: Likewise.
3245         * lib/xvasprintf.h: Likewise.
3246         * lib/yesno.c: Likewise.
3247         * lib/yesno.h: Likewise.
3248         * posix-modules: Likewise.
3249         * tests/test-alloca-opt.c: Likewise.
3250         * tests/test-arcfour.c: Likewise.
3251         * tests/test-arctwo.c: Likewise.
3252         * tests/test-argmatch.c: Likewise.
3253         * tests/test-argp-2.sh: Likewise.
3254         * tests/test-argp.c: Likewise.
3255         * tests/test-arpa_inet.c: Likewise.
3256         * tests/test-array_list.c: Likewise.
3257         * tests/test-array_oset.c: Likewise.
3258         * tests/test-atexit.c: Likewise.
3259         * tests/test-avltree_list.c: Likewise.
3260         * tests/test-avltree_oset.c: Likewise.
3261         * tests/test-avltreehash_list.c: Likewise.
3262         * tests/test-base64.c: Likewise.
3263         * tests/test-binary-io.c: Likewise.
3264         * tests/test-byteswap.c: Likewise.
3265         * tests/test-c-ctype.c: Likewise.
3266         * tests/test-c-strcasecmp.c: Likewise.
3267         * tests/test-c-strcasestr.c: Likewise.
3268         * tests/test-c-strncasecmp.c: Likewise.
3269         * tests/test-c-strstr.c: Likewise.
3270         * tests/test-canonicalize-lgpl.c: Likewise.
3271         * tests/test-canonicalize.c: Likewise.
3272         * tests/test-carray_list.c: Likewise.
3273         * tests/test-ceilf.c: Likewise.
3274         * tests/test-ceill.c: Likewise.
3275         * tests/test-count-one-bits.c: Likewise.
3276         * tests/test-crc.c: Likewise.
3277         * tests/test-dirname.c: Likewise.
3278         * tests/test-fbufmode.c: Likewise.
3279         * tests/test-fcntl.c: Likewise.
3280         * tests/test-fflush.c: Likewise.
3281         * tests/test-floorf.c: Likewise.
3282         * tests/test-floorl.c: Likewise.
3283         * tests/test-fopen.c: Likewise.
3284         * tests/test-fprintf-posix.c: Likewise.
3285         * tests/test-fprintf-posix.h: Likewise.
3286         * tests/test-fpurge.c: Likewise.
3287         * tests/test-freadable.c: Likewise.
3288         * tests/test-freadahead.c: Likewise.
3289         * tests/test-freading.c: Likewise.
3290         * tests/test-freopen.c: Likewise.
3291         * tests/test-frexp.c: Likewise.
3292         * tests/test-frexpl.c: Likewise.
3293         * tests/test-fseek.c: Likewise.
3294         * tests/test-fseeko.c: Likewise.
3295         * tests/test-fseterr.c: Likewise.
3296         * tests/test-fstrcmp.c: Likewise.
3297         * tests/test-ftell.c: Likewise.
3298         * tests/test-ftello.c: Likewise.
3299         * tests/test-fwritable.c: Likewise.
3300         * tests/test-fwriting.c: Likewise.
3301         * tests/test-getaddrinfo.c: Likewise.
3302         * tests/test-getpass.c: Likewise.
3303         * tests/test-gettimeofday.c: Likewise.
3304         * tests/test-hmac-md5.c: Likewise.
3305         * tests/test-hmac-sha1.c: Likewise.
3306         * tests/test-iconv.c: Likewise.
3307         * tests/test-iconvme.c: Likewise.
3308         * tests/test-inttypes.c: Likewise.
3309         * tests/test-isnan.c: Likewise.
3310         * tests/test-isnanf.c: Likewise.
3311         * tests/test-isnanl-nolibm.c: Likewise.
3312         * tests/test-isnanl.c: Likewise.
3313         * tests/test-isnanl.h: Likewise.
3314         * tests/test-ldexpl.c: Likewise.
3315         * tests/test-linked_list.c: Likewise.
3316         * tests/test-linkedhash_list.c: Likewise.
3317         * tests/test-locale.c: Likewise.
3318         * tests/test-localename.c: Likewise.
3319         * tests/test-lock.c: Likewise.
3320         * tests/test-lseek.c: Likewise.
3321         * tests/test-malloca.c: Likewise.
3322         * tests/test-math.c: Likewise.
3323         * tests/test-mbscasecmp.c: Likewise.
3324         * tests/test-mbscasestr1.c: Likewise.
3325         * tests/test-mbscasestr2.c: Likewise.
3326         * tests/test-mbscasestr3.c: Likewise.
3327         * tests/test-mbscasestr4.c: Likewise.
3328         * tests/test-mbschr.c: Likewise.
3329         * tests/test-mbscspn.c: Likewise.
3330         * tests/test-mbsncasecmp.c: Likewise.
3331         * tests/test-mbspbrk.c: Likewise.
3332         * tests/test-mbspcasecmp.c: Likewise.
3333         * tests/test-mbsrchr.c: Likewise.
3334         * tests/test-mbsspn.c: Likewise.
3335         * tests/test-mbsstr1.c: Likewise.
3336         * tests/test-mbsstr2.c: Likewise.
3337         * tests/test-mbsstr3.c: Likewise.
3338         * tests/test-md5.c: Likewise.
3339         * tests/test-memmem.c: Likewise.
3340         * tests/test-netinet_in.c: Likewise.
3341         * tests/test-open.c: Likewise.
3342         * tests/test-printf-frexp.c: Likewise.
3343         * tests/test-printf-frexpl.c: Likewise.
3344         * tests/test-printf-posix.c: Likewise.
3345         * tests/test-printf-posix.h: Likewise.
3346         * tests/test-rbtree_list.c: Likewise.
3347         * tests/test-rbtree_oset.c: Likewise.
3348         * tests/test-rbtreehash_list.c: Likewise.
3349         * tests/test-read-file.c: Likewise.
3350         * tests/test-rijndael.c: Likewise.
3351         * tests/test-search.c: Likewise.
3352         * tests/test-signbit.c: Likewise.
3353         * tests/test-sleep.c: Likewise.
3354         * tests/test-snprintf-posix.c: Likewise.
3355         * tests/test-snprintf-posix.h: Likewise.
3356         * tests/test-snprintf.c: Likewise.
3357         * tests/test-sprintf-posix.c: Likewise.
3358         * tests/test-sprintf-posix.h: Likewise.
3359         * tests/test-stat-time.c: Likewise.
3360         * tests/test-stdbool.c: Likewise.
3361         * tests/test-stdint.c: Likewise.
3362         * tests/test-stdio.c: Likewise.
3363         * tests/test-stdlib.c: Likewise.
3364         * tests/test-stpncpy.c: Likewise.
3365         * tests/test-strcasestr.c: Likewise.
3366         * tests/test-striconv.c: Likewise.
3367         * tests/test-striconveh.c: Likewise.
3368         * tests/test-striconveha.c: Likewise.
3369         * tests/test-string.c: Likewise.
3370         * tests/test-sys_select.c: Likewise.
3371         * tests/test-sys_socket.c: Likewise.
3372         * tests/test-sys_stat.c: Likewise.
3373         * tests/test-sys_time.c: Likewise.
3374         * tests/test-sysexits.c: Likewise.
3375         * tests/test-time.c: Likewise.
3376         * tests/test-tls.c: Likewise.
3377         * tests/test-trunc.c: Likewise.
3378         * tests/test-truncf.c: Likewise.
3379         * tests/test-truncl.c: Likewise.
3380         * tests/test-unistd.c: Likewise.
3381         * tests/test-vasnprintf-posix.c: Likewise.
3382         * tests/test-vasnprintf-posix2.c: Likewise.
3383         * tests/test-vasnprintf.c: Likewise.
3384         * tests/test-vasprintf-posix.c: Likewise.
3385         * tests/test-vasprintf.c: Likewise.
3386         * tests/test-verify.c: Likewise.
3387         * tests/test-vfprintf-posix.c: Likewise.
3388         * tests/test-vprintf-posix.c: Likewise.
3389         * tests/test-vsnprintf-posix.c: Likewise.
3390         * tests/test-vsnprintf.c: Likewise.
3391         * tests/test-vsprintf-posix.c: Likewise.
3392         * tests/test-wchar.c: Likewise.
3393         * tests/test-wctype.c: Likewise.
3394         * tests/test-wcwidth.c: Likewise.
3395         * tests/test-xstrtol.c: Likewise.
3396         * tests/test-xvasprintf.c: Likewise.
3397         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
3398         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
3399         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
3400         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
3401         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
3402         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
3403         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
3404         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
3405         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
3406         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
3407         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
3408         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
3409         * tests/uniname/test-uninames.c: Likewise.
3410         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
3411         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
3412         * tests/unistdio/test-u16-printf1.h: Likewise.
3413         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
3414         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
3415         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
3416         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
3417         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
3418         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
3419         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
3420         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
3421         * tests/unistdio/test-u32-printf1.h: Likewise.
3422         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
3423         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
3424         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
3425         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
3426         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
3427         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
3428         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
3429         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
3430         * tests/unistdio/test-u8-printf1.h: Likewise.
3431         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
3432         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
3433         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
3434         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
3435         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
3436         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
3437         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
3438         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
3439         * tests/unistdio/test-ulc-printf1.h: Likewise.
3440         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
3441         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
3442         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
3443         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
3444         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
3445         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
3446         * tests/uniwidth/test-u16-strwidth.c: Likewise.
3447         * tests/uniwidth/test-u16-width.c: Likewise.
3448         * tests/uniwidth/test-u32-strwidth.c: Likewise.
3449         * tests/uniwidth/test-u32-width.c: Likewise.
3450         * tests/uniwidth/test-u8-strwidth.c: Likewise.
3451         * tests/uniwidth/test-u8-width.c: Likewise.
3452         * tests/uniwidth/test-uc_width.c: Likewise.
3453         * config/srclist-update: Likewise.
3454         (fixlicense): Update to GPLv3+.
3455
3456         Change copyright notice from LGPLv2.1+ to LGPLv3+.
3457         * tests/test-tsearch.c: Change copyright notice.
3458
3459         Change copyright notice from LGPLv2.0+ to LGPLv3+.
3460         * lib/c-strcaseeq.h: Change copyright notice.
3461         * lib/streq.h: Likewise.
3462         * lib/uniconv.h: Likewise.
3463         * lib/uniconv/u-conv-from-enc.h: Likewise.
3464         * lib/uniconv/u-conv-to-enc.h: Likewise.
3465         * lib/uniconv/u-strconv-from-enc.h: Likewise.
3466         * lib/uniconv/u-strconv-to-enc.h: Likewise.
3467         * lib/uniconv/u16-conv-from-enc.c: Likewise.
3468         * lib/uniconv/u16-conv-to-enc.c: Likewise.
3469         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
3470         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
3471         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
3472         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
3473         * lib/uniconv/u32-conv-from-enc.c: Likewise.
3474         * lib/uniconv/u32-conv-to-enc.c: Likewise.
3475         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
3476         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
3477         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
3478         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
3479         * lib/uniconv/u8-conv-from-enc.c: Likewise.
3480         * lib/uniconv/u8-conv-to-enc.c: Likewise.
3481         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
3482         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
3483         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
3484         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
3485         * lib/uniname.h: Likewise.
3486         * lib/uniname/uniname.c: Likewise.
3487         * lib/unistdio.h: Likewise.
3488         * lib/unistdio/u-asnprintf.h: Likewise.
3489         * lib/unistdio/u-asprintf.h: Likewise.
3490         * lib/unistdio/u-printf-args.c: Likewise.
3491         * lib/unistdio/u-printf-args.h: Likewise.
3492         * lib/unistdio/u-printf-parse.h: Likewise.
3493         * lib/unistdio/u-snprintf.h: Likewise.
3494         * lib/unistdio/u-sprintf.h: Likewise.
3495         * lib/unistdio/u-vasprintf.h: Likewise.
3496         * lib/unistdio/u-vsnprintf.h: Likewise.
3497         * lib/unistdio/u-vsprintf.h: Likewise.
3498         * lib/unistdio/u16-asnprintf.c: Likewise.
3499         * lib/unistdio/u16-asprintf.c: Likewise.
3500         * lib/unistdio/u16-printf-parse.c: Likewise.
3501         * lib/unistdio/u16-snprintf.c: Likewise.
3502         * lib/unistdio/u16-sprintf.c: Likewise.
3503         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
3504         * lib/unistdio/u16-u16-asprintf.c: Likewise.
3505         * lib/unistdio/u16-u16-snprintf.c: Likewise.
3506         * lib/unistdio/u16-u16-sprintf.c: Likewise.
3507         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
3508         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
3509         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
3510         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
3511         * lib/unistdio/u16-vasnprintf.c: Likewise.
3512         * lib/unistdio/u16-vasprintf.c: Likewise.
3513         * lib/unistdio/u16-vsnprintf.c: Likewise.
3514         * lib/unistdio/u16-vsprintf.c: Likewise.
3515         * lib/unistdio/u32-asnprintf.c: Likewise.
3516         * lib/unistdio/u32-asprintf.c: Likewise.
3517         * lib/unistdio/u32-printf-parse.c: Likewise.
3518         * lib/unistdio/u32-snprintf.c: Likewise.
3519         * lib/unistdio/u32-sprintf.c: Likewise.
3520         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
3521         * lib/unistdio/u32-u32-asprintf.c: Likewise.
3522         * lib/unistdio/u32-u32-snprintf.c: Likewise.
3523         * lib/unistdio/u32-u32-sprintf.c: Likewise.
3524         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
3525         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
3526         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
3527         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
3528         * lib/unistdio/u32-vasnprintf.c: Likewise.
3529         * lib/unistdio/u32-vasprintf.c: Likewise.
3530         * lib/unistdio/u32-vsnprintf.c: Likewise.
3531         * lib/unistdio/u32-vsprintf.c: Likewise.
3532         * lib/unistdio/u8-asnprintf.c: Likewise.
3533         * lib/unistdio/u8-asprintf.c: Likewise.
3534         * lib/unistdio/u8-printf-parse.c: Likewise.
3535         * lib/unistdio/u8-snprintf.c: Likewise.
3536         * lib/unistdio/u8-sprintf.c: Likewise.
3537         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
3538         * lib/unistdio/u8-u8-asprintf.c: Likewise.
3539         * lib/unistdio/u8-u8-snprintf.c: Likewise.
3540         * lib/unistdio/u8-u8-sprintf.c: Likewise.
3541         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
3542         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
3543         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
3544         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
3545         * lib/unistdio/u8-vasnprintf.c: Likewise.
3546         * lib/unistdio/u8-vasprintf.c: Likewise.
3547         * lib/unistdio/u8-vsnprintf.c: Likewise.
3548         * lib/unistdio/u8-vsprintf.c: Likewise.
3549         * lib/unistdio/ulc-asnprintf.c: Likewise.
3550         * lib/unistdio/ulc-asprintf.c: Likewise.
3551         * lib/unistdio/ulc-printf-parse.c: Likewise.
3552         * lib/unistdio/ulc-snprintf.c: Likewise.
3553         * lib/unistdio/ulc-sprintf.c: Likewise.
3554         * lib/unistdio/ulc-vasnprintf.c: Likewise.
3555         * lib/unistdio/ulc-vasprintf.c: Likewise.
3556         * lib/unistdio/ulc-vsnprintf.c: Likewise.
3557         * lib/unistdio/ulc-vsprintf.c: Likewise.
3558         * lib/unistr.h: Likewise.
3559         * lib/unistr/u-cpy-alloc.h: Likewise.
3560         * lib/unistr/u-cpy.h: Likewise.
3561         * lib/unistr/u-endswith.h: Likewise.
3562         * lib/unistr/u-move.h: Likewise.
3563         * lib/unistr/u-set.h: Likewise.
3564         * lib/unistr/u-startswith.h: Likewise.
3565         * lib/unistr/u-stpcpy.h: Likewise.
3566         * lib/unistr/u-stpncpy.h: Likewise.
3567         * lib/unistr/u-strcat.h: Likewise.
3568         * lib/unistr/u-strcpy.h: Likewise.
3569         * lib/unistr/u-strcspn.h: Likewise.
3570         * lib/unistr/u-strdup.h: Likewise.
3571         * lib/unistr/u-strlen.h: Likewise.
3572         * lib/unistr/u-strncat.h: Likewise.
3573         * lib/unistr/u-strncpy.h: Likewise.
3574         * lib/unistr/u-strnlen.h: Likewise.
3575         * lib/unistr/u-strpbrk.h: Likewise.
3576         * lib/unistr/u-strspn.h: Likewise.
3577         * lib/unistr/u-strstr.h: Likewise.
3578         * lib/unistr/u-strtok.h: Likewise.
3579         * lib/unistr/u16-check.c: Likewise.
3580         * lib/unistr/u16-chr.c: Likewise.
3581         * lib/unistr/u16-cmp.c: Likewise.
3582         * lib/unistr/u16-cpy-alloc.c: Likewise.
3583         * lib/unistr/u16-cpy.c: Likewise.
3584         * lib/unistr/u16-endswith.c: Likewise.
3585         * lib/unistr/u16-mblen.c: Likewise.
3586         * lib/unistr/u16-mbsnlen.c: Likewise.
3587         * lib/unistr/u16-mbtouc-aux.c: Likewise.
3588         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
3589         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
3590         * lib/unistr/u16-mbtouc.c: Likewise.
3591         * lib/unistr/u16-mbtoucr.c: Likewise.
3592         * lib/unistr/u16-move.c: Likewise.
3593         * lib/unistr/u16-next.c: Likewise.
3594         * lib/unistr/u16-prev.c: Likewise.
3595         * lib/unistr/u16-set.c: Likewise.
3596         * lib/unistr/u16-startswith.c: Likewise.
3597         * lib/unistr/u16-stpcpy.c: Likewise.
3598         * lib/unistr/u16-stpncpy.c: Likewise.
3599         * lib/unistr/u16-strcat.c: Likewise.
3600         * lib/unistr/u16-strchr.c: Likewise.
3601         * lib/unistr/u16-strcmp.c: Likewise.
3602         * lib/unistr/u16-strcpy.c: Likewise.
3603         * lib/unistr/u16-strcspn.c: Likewise.
3604         * lib/unistr/u16-strdup.c: Likewise.
3605         * lib/unistr/u16-strlen.c: Likewise.
3606         * lib/unistr/u16-strmblen.c: Likewise.
3607         * lib/unistr/u16-strmbtouc.c: Likewise.
3608         * lib/unistr/u16-strncat.c: Likewise.
3609         * lib/unistr/u16-strncmp.c: Likewise.
3610         * lib/unistr/u16-strncpy.c: Likewise.
3611         * lib/unistr/u16-strnlen.c: Likewise.
3612         * lib/unistr/u16-strpbrk.c: Likewise.
3613         * lib/unistr/u16-strrchr.c: Likewise.
3614         * lib/unistr/u16-strspn.c: Likewise.
3615         * lib/unistr/u16-strstr.c: Likewise.
3616         * lib/unistr/u16-strtok.c: Likewise.
3617         * lib/unistr/u16-to-u32.c: Likewise.
3618         * lib/unistr/u16-to-u8.c: Likewise.
3619         * lib/unistr/u16-uctomb-aux.c: Likewise.
3620         * lib/unistr/u16-uctomb.c: Likewise.
3621         * lib/unistr/u32-check.c: Likewise.
3622         * lib/unistr/u32-chr.c: Likewise.
3623         * lib/unistr/u32-cmp.c: Likewise.
3624         * lib/unistr/u32-cpy-alloc.c: Likewise.
3625         * lib/unistr/u32-cpy.c: Likewise.
3626         * lib/unistr/u32-endswith.c: Likewise.
3627         * lib/unistr/u32-mblen.c: Likewise.
3628         * lib/unistr/u32-mbsnlen.c: Likewise.
3629         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
3630         * lib/unistr/u32-mbtouc.c: Likewise.
3631         * lib/unistr/u32-mbtoucr.c: Likewise.
3632         * lib/unistr/u32-move.c: Likewise.
3633         * lib/unistr/u32-next.c: Likewise.
3634         * lib/unistr/u32-prev.c: Likewise.
3635         * lib/unistr/u32-set.c: Likewise.
3636         * lib/unistr/u32-startswith.c: Likewise.
3637         * lib/unistr/u32-stpcpy.c: Likewise.
3638         * lib/unistr/u32-stpncpy.c: Likewise.
3639         * lib/unistr/u32-strcat.c: Likewise.
3640         * lib/unistr/u32-strchr.c: Likewise.
3641         * lib/unistr/u32-strcmp.c: Likewise.
3642         * lib/unistr/u32-strcpy.c: Likewise.
3643         * lib/unistr/u32-strcspn.c: Likewise.
3644         * lib/unistr/u32-strdup.c: Likewise.
3645         * lib/unistr/u32-strlen.c: Likewise.
3646         * lib/unistr/u32-strmblen.c: Likewise.
3647         * lib/unistr/u32-strmbtouc.c: Likewise.
3648         * lib/unistr/u32-strncat.c: Likewise.
3649         * lib/unistr/u32-strncmp.c: Likewise.
3650         * lib/unistr/u32-strncpy.c: Likewise.
3651         * lib/unistr/u32-strnlen.c: Likewise.
3652         * lib/unistr/u32-strpbrk.c: Likewise.
3653         * lib/unistr/u32-strrchr.c: Likewise.
3654         * lib/unistr/u32-strspn.c: Likewise.
3655         * lib/unistr/u32-strstr.c: Likewise.
3656         * lib/unistr/u32-strtok.c: Likewise.
3657         * lib/unistr/u32-to-u16.c: Likewise.
3658         * lib/unistr/u32-to-u8.c: Likewise.
3659         * lib/unistr/u32-uctomb.c: Likewise.
3660         * lib/unistr/u8-check.c: Likewise.
3661         * lib/unistr/u8-chr.c: Likewise.
3662         * lib/unistr/u8-cmp.c: Likewise.
3663         * lib/unistr/u8-cpy-alloc.c: Likewise.
3664         * lib/unistr/u8-cpy.c: Likewise.
3665         * lib/unistr/u8-endswith.c: Likewise.
3666         * lib/unistr/u8-mblen.c: Likewise.
3667         * lib/unistr/u8-mbsnlen.c: Likewise.
3668         * lib/unistr/u8-mbtouc-aux.c: Likewise.
3669         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
3670         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
3671         * lib/unistr/u8-mbtouc.c: Likewise.
3672         * lib/unistr/u8-mbtoucr.c: Likewise.
3673         * lib/unistr/u8-move.c: Likewise.
3674         * lib/unistr/u8-next.c: Likewise.
3675         * lib/unistr/u8-prev.c: Likewise.
3676         * lib/unistr/u8-set.c: Likewise.
3677         * lib/unistr/u8-startswith.c: Likewise.
3678         * lib/unistr/u8-stpcpy.c: Likewise.
3679         * lib/unistr/u8-stpncpy.c: Likewise.
3680         * lib/unistr/u8-strcat.c: Likewise.
3681         * lib/unistr/u8-strchr.c: Likewise.
3682         * lib/unistr/u8-strcmp.c: Likewise.
3683         * lib/unistr/u8-strcpy.c: Likewise.
3684         * lib/unistr/u8-strcspn.c: Likewise.
3685         * lib/unistr/u8-strdup.c: Likewise.
3686         * lib/unistr/u8-strlen.c: Likewise.
3687         * lib/unistr/u8-strmblen.c: Likewise.
3688         * lib/unistr/u8-strmbtouc.c: Likewise.
3689         * lib/unistr/u8-strncat.c: Likewise.
3690         * lib/unistr/u8-strncmp.c: Likewise.
3691         * lib/unistr/u8-strncpy.c: Likewise.
3692         * lib/unistr/u8-strnlen.c: Likewise.
3693         * lib/unistr/u8-strpbrk.c: Likewise.
3694         * lib/unistr/u8-strrchr.c: Likewise.
3695         * lib/unistr/u8-strspn.c: Likewise.
3696         * lib/unistr/u8-strstr.c: Likewise.
3697         * lib/unistr/u8-strtok.c: Likewise.
3698         * lib/unistr/u8-to-u16.c: Likewise.
3699         * lib/unistr/u8-to-u32.c: Likewise.
3700         * lib/unistr/u8-uctomb-aux.c: Likewise.
3701         * lib/unistr/u8-uctomb.c: Likewise.
3702         * lib/unitypes.h: Likewise.
3703         * lib/uniwidth.h: Likewise.
3704         * lib/uniwidth/cjk.h: Likewise.
3705         * lib/uniwidth/u16-strwidth.c: Likewise.
3706         * lib/uniwidth/u16-width.c: Likewise.
3707         * lib/uniwidth/u32-strwidth.c: Likewise.
3708         * lib/uniwidth/u32-width.c: Likewise.
3709         * lib/uniwidth/u8-strwidth.c: Likewise.
3710         * lib/uniwidth/u8-width.c: Likewise.
3711         * lib/uniwidth/width.c: Likewise.
3712
3713 2007-10-07  Bruno Haible  <bruno@clisp.org>
3714
3715         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
3716         The file is still under LGPL (see modules/inttypes).
3717
3718 2007-10-06  Bruno Haible  <bruno@clisp.org>
3719
3720         * modules/trunc (Dependencies): Add 'extensions'.
3721         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
3722         Reported by Ben Pfaff <blp@gnu.org>.
3723
3724 2007-10-06  Bruno Haible  <bruno@clisp.org>
3725
3726         * modules/freopen-tests: New file.
3727         * tests/test-freopen.c: New file.
3728
3729         * modules/fopen-tests: New file.
3730         * tests/test-fopen.c: New file.
3731
3732         * modules/fopen: New file.
3733         * lib/fopen.c: New file.
3734         * m4/fopen.m4: New file.
3735         * modules/freopen: New file.
3736         * lib/freopen.c: New file.
3737         * m4/freopen.m4: New file.
3738         * lib/stdio.in.h (fopen, freopen): New declarations.
3739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
3740         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
3741         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
3742         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
3743         * doc/functions/fopen.texi: Mention the 'fopen' module.
3744         * doc/functions/freopen.texi: Mention the 'freopen' module.
3745
3746 2007-10-06  Bruno Haible  <bruno@clisp.org>
3747
3748         * modules/open-tests: New file.
3749         * tests/test-open.c: New file.
3750
3751         * modules/open: New file.
3752         * lib/open.c: New file.
3753         * m4/open.m4: New file.
3754         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
3755         lib/open.c does.
3756         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
3757         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
3758         macros.
3759         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
3760         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
3761         REPLACE_OPEN.
3762         * doc/functions/open.texi: Mention the 'open' module.
3763
3764 2007-10-04  Bruno Haible  <bruno@clisp.org>
3765
3766         * modules/ceill-tests: New file.
3767         * tests/test-ceill.c: New file.
3768
3769         * modules/ceill: New file.
3770         * lib/ceill.c: Replace entire file.
3771         * m4/ceill.m4: New file.
3772         * lib/math.in.h (ceill): Replace declaration.
3773         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
3774         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
3775         * doc/functions/ceill.texi: Mention the 'ceill' module.
3776         * modules/mathl (Files): Remove lib/ceill.c.
3777         (Depends-on): Add ceill.
3778
3779 2007-10-04  Bruno Haible  <bruno@clisp.org>
3780
3781         * modules/ceilf-tests: New file.
3782         * tests/test-ceilf.c: New file.
3783
3784         * modules/ceilf: New file.
3785         * lib/ceil.c: New file.
3786         * lib/ceilf.c: New file.
3787         * m4/ceilf.m4: New file.
3788         * lib/math.in.h (ceilf): New declaration.
3789         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
3790         HAVE_DECL_CEILF.
3791         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
3792         HAVE_DECL_CEILF.
3793         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
3794
3795 2007-10-04  Bruno Haible  <bruno@clisp.org>
3796
3797         * modules/floorl-tests: New file.
3798         * tests/test-floorl.c: New file.
3799
3800         * modules/floorl: New file.
3801         * lib/floorl.c: Replace entire file.
3802         * m4/floorl.m4: New file.
3803         * lib/math.in.h (floorl): Replace declaration.
3804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
3805         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
3806         * doc/functions/floorl.texi: Mention the 'floorl' module.
3807         * modules/mathl (Files): Remove lib/floorl.c.
3808         (Depends-on): Add floorl.
3809
3810 2007-10-04  Bruno Haible  <bruno@clisp.org>
3811
3812         * modules/floorf-tests: New file.
3813         * tests/test-floorf.c: New file.
3814
3815         * modules/floorf: New file.
3816         * lib/floor.c: New file.
3817         * lib/floorf.c: New file.
3818         * m4/floorf.m4: New file.
3819         * lib/math.in.h (floorf): New declaration.
3820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
3821         HAVE_DECL_FLOORF.
3822         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
3823         HAVE_DECL_FLOORF.
3824         * doc/functions/floorf.texi: Mention the 'floorf' module.
3825
3826 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
3827             Bruno Haible  <bruno@clisp.org>
3828
3829         Advertise for the Git server instead of the CVS server.
3830         * doc/gnulib-intro.texi (Steady Development): Mention the Git
3831         repository instead of the CVS one.
3832         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
3833         about all VCS systems generically.
3834         * doc/gnulib.texi (Introduction): Capitalize `Git'.
3835
3836 2007-10-04  Bruno Haible  <bruno@clisp.org>
3837
3838         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
3839         means.
3840         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
3841
3842 2007-10-04  Bruno Haible  <bruno@clisp.org>
3843
3844         * modules/truncl-tests: New file.
3845         * tests/test-truncl.c: New file.
3846
3847         * modules/truncl: New file.
3848         * lib/truncl.c: New file.
3849         * m4/truncl.m4: New file.
3850         * lib/math.in.h (truncl): New declaration.
3851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
3852         HAVE_DECL_TRUNCL.
3853         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
3854         HAVE_DECL_TRUNCL.
3855         * doc/functions/truncl.texi: Mention the 'truncl' module.
3856
3857 2007-10-04  Bruno Haible  <bruno@clisp.org>
3858
3859         * modules/truncf-tests: New file.
3860         * tests/test-truncf.c: New file.
3861
3862         * modules/truncf: New file.
3863         * lib/trunc.c: Make paramerizable through USE_* macros.
3864         * lib/truncf.c: New file.
3865         * m4/truncf.m4: New file.
3866         * lib/math.in.h (truncf): New declaration.
3867         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
3868         HAVE_DECL_TRUNCF.
3869         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
3870         HAVE_DECL_TRUNCF.
3871         * doc/functions/truncf.texi: Mention the 'truncf' module.
3872
3873 2007-10-03  Bruno Haible  <bruno@clisp.org>
3874
3875         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
3876         augmentation also for tests modules.
3877         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
3878         * modules/atexit-tests (Makefile.am): Likewise.
3879         * modules/binary-io-tests (Makefile.am): Likewise.
3880         * modules/c-strcase-tests (Makefile.am): Likewise.
3881         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
3882         * modules/canonicalize-tests (Makefile.am): Likewise.
3883         * modules/closein-tests (Makefile.am): Likewise.
3884         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3885         * modules/freadahead-tests (Makefile.am): Likewise.
3886         * modules/fseek-tests (Makefile.am): Likewise.
3887         * modules/fseeko-tests (Makefile.am): Likewise.
3888         * modules/ftell-tests (Makefile.am): Likewise.
3889         * modules/ftello-tests (Makefile.am): Likewise.
3890         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
3891         * modules/isnanl-tests (Makefile.am): Likewise.
3892         * modules/lseek-tests (Makefile.am): Likewise.
3893         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3894         * modules/mbscasestr-tests (Makefile.am): Likewise.
3895         * modules/mbschr-tests (Makefile.am): Likewise.
3896         * modules/mbscspn-tests (Makefile.am): Likewise.
3897         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3898         * modules/mbspbrk-tests (Makefile.am): Likewise.
3899         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3900         * modules/mbsrchr-tests (Makefile.am): Likewise.
3901         * modules/mbsspn-tests (Makefile.am): Likewise.
3902         * modules/mbsstr-tests (Makefile.am): Likewise.
3903         * modules/printf-posix-tests (Makefile.am): Likewise.
3904         * modules/snprintf-posix-tests (Makefile.am): Likewise.
3905         * modules/sprintf-posix-tests (Makefile.am): Likewise.
3906         * modules/tsearch-tests (Makefile.am): Likewise.
3907         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3908         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3909         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3910         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3911         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3912         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3913         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3914         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3915         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
3916         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
3917         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3918         * modules/xstrtol-tests (Makefile.am): Likewise.
3919         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3920         * modules/yesno-tests (Makefile.am): Likewise.
3921
3922 2007-10-03  Bruno Haible  <bruno@clisp.org>
3923
3924         * modules/trunc-tests: New file.
3925         * tests/test-trunc.c: New file.
3926
3927         * modules/trunc: New file.
3928         * lib/trunc.c: New file.
3929         * m4/trunc.m4: New file.
3930         * lib/math.in.h (trunc): New declaration.
3931         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
3932         HAVE_DECL_TRUNC.
3933         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
3934         HAVE_DECL_TRUNC.
3935         * doc/functions/trunc.texi: Mention the 'trunc' module.
3936
3937 2007-10-03  Bruno Haible  <bruno@clisp.org>
3938
3939         * tests/test-fpending.c: New file, mostly copied
3940         from coreutils/lib/t-fpending.c.
3941         * modules/fpending-tests: New file.
3942
3943 2007-10-03  Bruno Haible  <bruno@clisp.org>
3944
3945         Port the stdio extensions to QNX (untested).
3946         * lib/fseterr.c (fseterr): Add support for QNX.
3947         * lib/fbufmode.c (fbufmode): Likewise.
3948         * lib/freadable.c (freadable): Likewise.
3949         * lib/fwritable.c (fwritable): Likewise.
3950         * lib/freading.c (freading): Likewise.
3951         * lib/fwriting.c (fwriting): Likewise.
3952         * lib/freadahead.c (freadahed): Likewise.
3953         * lib/fpurge.c (fpurge): Likewise.
3954         * lib/fseeko.c (rpl_fseeko): Likewise.
3955
3956 2007-10-03  Bruno Haible  <bruno@clisp.org>
3957             Jim Meyering  <jim@meyering.net>
3958             Eric Blake  <ebb9@byu.net>
3959
3960         * doc/relocatable.texi: Use @command instead of @program.
3961
3962 2007-10-02  Jim Meyering  <jim@meyering.net>
3963
3964         Perform one more "_.h" -> ".in.h" substitution.
3965         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
3966         instead of unistd_.h here, too.
3967
3968 2007-10-01  Bruno Haible  <bruno@clisp.org>
3969
3970         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
3971         Needed for the alloca-opt module.
3972
3973 2007-09-30  Bruno Haible  <bruno@clisp.org>
3974
3975         * lib/alloca.in.h: Renamed from lib/alloca_.h.
3976         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
3977         alloca_.h.
3978         * lib/argz.in.h: Renamed from lib/argz_.h.
3979         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
3980         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
3981         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
3982         byteswap_.h.
3983         * lib/dirent.in.h: Renamed from lib/dirent_.h.
3984         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
3985         dirent_.h.
3986         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
3987         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
3988         fcntl_.h.
3989         * lib/float.in.h: Renamed from lib/float_.h.
3990         * modules/float (Files, Makefile.am): Use float.in.h instead of
3991         float_.h.
3992         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
3993         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
3994         fnmatch_.h.
3995         * lib/getopt.in.h: Renamed from lib/getopt_.h.
3996         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
3997         getopt_.h.
3998         * lib/glob.in.h: Renamed from lib/glob_.h.
3999         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
4000         * lib/iconv.in.h: Renamed from lib/iconv_.h.
4001         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
4002         iconv_.h.
4003         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
4004         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
4005         inttypes_.h.
4006         * lib/locale.in.h: Renamed from lib/locale_.h.
4007         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
4008         locale_.h.
4009         * lib/math.in.h: Renamed from lib/math_.h.
4010         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
4011         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
4012         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
4013         of netinet_in_.h. Add dependency.
4014         * lib/poll.in.h: Renamed from lib/poll_.h.
4015         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
4016         * lib/search.in.h: Renamed from lib/search_.h.
4017         * modules/search (Files, Makefile.am): Use search.in.h instead of
4018         search_.h.
4019         * lib/signal.in.h: Renamed from lib/signal_.h.
4020         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
4021         _signal.h.
4022         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
4023         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
4024         stdbool_.h.
4025         * lib/stdint.in.h: Renamed from lib/stdint_.h.
4026         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
4027         stdint_.h.
4028         * lib/stdio.in.h: Renamed from lib/stdio_.h.
4029         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
4030         stdio_.h.
4031         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
4032         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
4033         stdlib_.h.
4034         * lib/string.in.h: Renamed from lib/string_.h.
4035         * modules/string (Files, Makefile.am): Use string.in.h instead of
4036         string_.h.
4037         * doc/gnulib-tool.texi (Initial import): Update.
4038         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
4039         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
4040         of sys_select_.h. Add dependency.
4041         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
4042         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
4043         of sys_socket_.h.
4044         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
4045         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
4046         sys_stat_.h.
4047         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
4048         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
4049         sys_time_.h.
4050         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
4051         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
4052         sysexits_.h.
4053         * lib/time.in.h: Renamed from lib/time_.h.
4054         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
4055         * lib/unistd.in.h: Renamed from lib/unistd_.h.
4056         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
4057         unistd_.h.
4058         * lib/wchar.in.h: Renamed from lib/wchar_.h.
4059         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
4060         wchar_.h.
4061         * lib/wctype.in.h: Renamed from lib/wctype_.h.
4062         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
4063         wctype_.h.
4064         * build-aux/bootstrap (slurp): Update.
4065         * lib/.cppi-disable: Update.
4066
4067 2007-09-30  Bruno Haible  <bruno@clisp.org>
4068
4069         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
4070         Needed on BeOS.
4071
4072 2007-09-30  Bruno Haible  <bruno@clisp.org>
4073
4074         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
4075
4076 2007-09-29  Bruno Haible  <bruno@clisp.org>
4077
4078         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
4079
4080 2007-09-29  Bruno Haible  <bruno@clisp.org>
4081
4082         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
4083         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
4084         * build-aux/install-reloc: Compile also areadlink.c.
4085         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
4086
4087 2007-09-29  Bruno Haible  <bruno@clisp.org>
4088
4089         * gnulib-tool (func_emit_initmacro_done): Indentation.
4090
4091 2007-09-29  Bruno Haible  <bruno@clisp.org>
4092
4093         * README: Add CVS checkout update instructions.
4094         Info from Bob Proulx <bob@proulx.com>.
4095
4096 2007-09-28  Eric Blake  <ebb9@byu.net>
4097
4098         Provide move-if-change.
4099         * build-aux/move-if-change: New file, based on best practice
4100         rather than any canonical upstream location.
4101
4102 2007-09-28  Jim Meyering  <jim@meyering.net>
4103
4104         Fix canonicalize loop-detection corner case.
4105         Do not attempt to stat the symlink values stored via seen_triple.
4106         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
4107         on linux-2.6.18, (but not 2.6.22).
4108         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
4109         triple_compare.  The former compares dev,ino,filename, while the latter
4110         would actually stat dirname(filename) when dev and ino were equal.
4111         * lib/hash-triple.c: Install <string.h>.
4112         (STREQ): Define.
4113         (triple_compare_ino_str): New function.
4114         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
4115
4116 2007-09-28  Eric Blake  <ebb9@byu.net>
4117
4118         Enforce that AC_REPLACE_FUNCS files exist.
4119         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
4120         override check for typos.
4121
4122         Fix test-closein on Solaris 10.
4123         * tests/test-closein.c (main): Don't assume stdin can be inherited
4124         closed on all systems.
4125         * tests/test-closein.sh: Likewise.
4126         Reported by Piotr Tarnowski.
4127
4128 2007-09-28  Jim Meyering  <jim@meyering.net>
4129
4130         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
4131
4132 2007-09-27  Jim Meyering  <jim@meyering.net>
4133
4134         canonicalize: Avoid a false-positive cycle failure.
4135         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
4136         Sort.  Remove cycle-check.
4137         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
4138         not cycle-check.h.
4139         (seen_triple): New function.
4140         (canonicalize_filename_mode): Use it instead of cycle-check.
4141         * tests/test-canonicalize.c: Add a test for this bug.
4142         * tests/test-canonicalize.sh: Set up and run the test.
4143
4144         New module, file-set, from coreutils.
4145         * modules/file-set: Define it.
4146         * lib/file-set.c, lib/file-set.h: Implement.
4147
4148         New module, hash-triple, from coreutils.
4149         * modules/hash-triple: Define it.
4150         * lib/hash-triple.c, lib/hash-triple.h: Implement.
4151
4152 2007-09-25  Eric Blake  <ebb9@byu.net>
4153
4154         Fix strerror on Interix.
4155         * lib/string_.h (strerror): Declare replacement.
4156         * doc/functions/strerror.texi (strerror): Document the Interix
4157         shortcoming.
4158         * modules/string (Makefile.am): Support new hooks.
4159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
4160         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
4161         gl_FUNC_STRERROR_SEPARATE.
4162         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
4163         * lib/strerror.c (rpl_strerror): Provide replacement.
4164         * modules/strerror (Depends-on): Add string.
4165         (configure.ac): Detect use of module.
4166         * tests/test-strerror.c: New file.
4167         * modules/strerror-tests: New test module.
4168         * modules/argp (Depends-on): Add strerror.
4169         * modules/error (Depends-on): Likewise.
4170         Reported by Martin Koeppe.
4171
4172 2007-09-24  Bruno Haible  <bruno@clisp.org>
4173
4174         * README: Update git instructions.
4175
4176 2007-09-24  Eric Blake  <ebb9@byu.net>
4177
4178         Revert fpending breakage from 2007-09-08.
4179         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
4180         __fpending.c.
4181
4182 2007-09-24  Jim Meyering  <jim@meyering.net>
4183
4184         filenamecat.c: Add a test.
4185         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
4186         showing how the function works when DIR is the empty string.
4187
4188 2007-09-21  Simon Josefsson  <simon@josefsson.org>
4189
4190         * tests/test-canonicalize.sh: Turn on executable bit.
4191
4192 2007-09-19  Eric Blake  <ebb9@byu.net>
4193
4194         * README: Update CVS instructions.
4195
4196 2007-09-18  Bruno Haible  <bruno@clisp.org>
4197
4198         * modules/areadlink: New file.
4199         * lib/areadlink.h (areadlink): New declaration.
4200         * lib/areadlink.c: New file, based on lib/xreadlink.c.
4201
4202 2007-09-17  Jim Meyering  <jim@meyering.net>
4203
4204         * lib/savewd.c (ESTALE) [!defined]: Define.
4205         Reported to be required on Interix by Martin Koeppe.
4206
4207 2007-09-17  Bruno Haible  <bruno@clisp.org>
4208
4209         * gnulib-tool (func_version): Use $version.
4210
4211 2007-09-16  Bruno Haible  <bruno@clisp.org>
4212
4213         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
4214         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
4215         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
4216         Reported by Greg Schafer <gschafer@zip.com.au>.
4217
4218 2007-09-15  Bruno Haible  <bruno@clisp.org>
4219
4220         * gnulib-tool (sed): Try a little harder to make bash understand the
4221         alias.
4222         Reported by Bruce Korb <bruce.korb@gmail.com>.
4223
4224 2007-09-13  Eric Blake  <ebb9@byu.net>
4225
4226         * ChangeLog: Remove conflict markers.
4227
4228 2007-09-13  Simon Josefsson  <simon@josefsson.org>
4229
4230         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
4231         Reported by Bruno Haible <bruno@clisp.org>.
4232
4233 2007-09-12  Bruno Haible  <bruno@clisp.org>
4234
4235         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
4236         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
4237         is not defined.
4238
4239 2007-09-12  Eric Blake  <ebb9@byu.net>
4240
4241         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
4242         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
4243         Autoconf definition.
4244         * modules/euidaccess (Depends-on): Add extensions, for
4245         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
4246         * modules/fnmatch (Depends-on): Likewise.
4247         * modules/getaddrinfo (Depends-on): Likewise.
4248         * modules/getdelim (Depends-on): Likewise.
4249         * modules/getline (Depends-on): Likewise.
4250         * modules/getsubopt (Depends-on): Likewise.
4251         * modules/gettext (Depends-on): Likewise.
4252         * modules/group-member (Depends-on): Likewise.
4253         * modules/mbchar (Depends-on): Likewise.
4254         * modules/memmem (Depends-on): Likewise.
4255         * modules/mempcpy (Depends-on): Likewise.
4256         * modules/memrchr (Depends-on): Likewise.
4257         * modules/pagealign_alloc (Depends-on): Likewise.
4258         * modules/readutmp (Depends-on): Likewise.
4259         * modules/stpcpy (Depends-on): Likewise.
4260         * modules/stpncpy (Depends-on): Likewise.
4261         * modules/strchrnul (Depends-on): Likewise.
4262         * modules/strndup (Depends-on): Likewise.
4263         * modules/strsep (Depends-on): Likewise.
4264         * modules/strverscmp (Depends-on): Likewise.
4265         * modules/vasprintf (Depends-on): Likewise.
4266         * modules/wcwidth (Depends-on): Likewise.
4267         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
4268         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
4269         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
4270         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
4271         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
4272         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4273         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
4274         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4275         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
4276         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
4277         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
4278         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
4279         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
4280         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4281         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
4282         * m4/readutmp.m4 (gl_READUTMP): Likewise.
4283         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
4284         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
4285         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
4286         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
4287         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
4288         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
4289         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
4290         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
4291         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
4292         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4293         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
4294         so that lock.m4 can be used in gettext without extensions module.
4295
4296 2007-09-11  Bruno Haible  <bruno@clisp.org>
4297
4298         * m4/isc-posix.m4: Remove file.
4299         Suggested by Eric Blake.
4300
4301 2007-09-11  Eric Blake  <ebb9@byu.net>
4302
4303         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
4304
4305 2007-09-10  Bruno Haible  <bruno@clisp.org>
4306
4307         * posix-modules: Fix typo in error message.
4308         Reported by Matt <mkraai@beckman.com>.
4309
4310 2007-09-09  Bruno Haible  <bruno@clisp.org>
4311
4312         * doc/functions/getdelim.texi: Update list of platforms lacking the
4313         function.
4314         * doc/functions/getline.texi: Likewise.
4315
4316 2007-09-09  Jim Meyering  <jim@meyering.net>
4317
4318         * lib/hash.c (hash_initialize): Detect calloc failure.
4319         Reported by Bruno Haible.
4320
4321 2007-09-09  Bruno Haible  <bruno@clisp.org>
4322
4323         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
4324         malloc or realloc fails.
4325
4326 2007-09-09  Bruno Haible  <bruno@clisp.org>
4327
4328         * modules/getcwd (Depends-on): Add malloc-posix.
4329         * modules/glob (Depends-on): Likewise.
4330         * modules/putenv (Depends-on): Likewise.
4331         * modules/strdup (Depends-on): Likewise.
4332         * modules/getdelim (Depends-on): Add realloc-posix.
4333         * modules/read-file (Depends-on): Likewise.
4334
4335 2007-09-09  Bruno Haible  <bruno@clisp.org>
4336
4337         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
4338         (gl_FUNC_MALLOC_POSIX): Require it.
4339         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
4340         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
4341         * modules/realloc (Files): Add m4/malloc.m4.
4342         * modules/calloc (Files): Likewise.
4343
4344 2007-09-09  Bruno Haible  <bruno@clisp.org>
4345
4346         * modules/malloc-posix: New file.
4347         * modules/malloc (Depends-on): Add malloc-posix.
4348         * lib/malloc.c: Include errno.h.
4349         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
4350         and a POSIX-compatible malloc into a single function. Set ENOMEM
4351         when returning NULL.
4352         * m4/malloc.m4: New file.
4353         * doc/functions/malloc.texi: Mention the malloc-posix module.
4354         * lib/stdlib_.h (malloc): New declaration.
4355         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4356         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
4357         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
4358         and HAVE_MALLOC_POSIX.
4359
4360 2007-09-09  Bruno Haible  <bruno@clisp.org>
4361
4362         * modules/realloc-posix: New file.
4363         * modules/realloc (Depends-on): Add realloc-posix.
4364         * lib/realloc.c: Include errno.h.
4365         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
4366         and a POSIX-compatible realloc into a single function. Set ENOMEM
4367         when returning NULL.
4368         * m4/realloc.m4: New file.
4369         * doc/functions/realloc.texi: Mention the realloc-posix module.
4370         * lib/stdlib_.h (realloc): New declaration.
4371         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4372         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
4373         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
4374         and HAVE_REALLOC_POSIX.
4375
4376 2007-09-09  Bruno Haible  <bruno@clisp.org>
4377
4378         * modules/calloc-posix: New file.
4379         * modules/calloc (Depends-on): Add calloc-posix.
4380         * lib/calloc.c: Include errno.h.
4381         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
4382         and a POSIX-compatible calloc into a single function. Set ENOMEM
4383         when returning NULL.
4384         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
4385         * doc/functions/calloc.texi: Mention the calloc-posix module.
4386         * lib/stdlib_.h (calloc): New declaration.
4387         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4388         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
4389         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
4390         and HAVE_CALLOC_POSIX.
4391
4392 2007-09-09  Bruno Haible  <bruno@clisp.org>
4393
4394         Allow for modules to show an arbitrary notice.
4395         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
4396         * gnulib-tool: New option --extract-notice.
4397         (func_usage): Document it.
4398         (sed_extract_prog): Update.
4399         (func_get_notice): New function.
4400         (func_modules_notice): New function.
4401         (func_import, func_create_testdir): Invoke it.
4402         Suggested by Jim Meyering.
4403
4404 2007-09-09  Bruno Haible  <bruno@clisp.org>
4405
4406         * gnulib-tool: New options --verbose, --quiet.
4407         (func_usage): Document them.
4408         (verbose): New variable.
4409         (func_execute_command): New function.
4410         (func_import): Don't show the module list and the file list if
4411         $verbose < 0.
4412         (func_create_testdir): Likewise. Use func_execute_command.
4413         (func_create_megatestdir): Use func_execute_command.
4414
4415 2007-09-08  Bruno Haible  <bruno@clisp.org>
4416
4417         * gnulib-tool (func_import): Prefer rsync over wget when available,
4418         for fetching the PO files.
4419
4420 2007-09-08  Bruno Haible  <bruno@clisp.org>
4421
4422         * posix-modules: New file. Portions copied from gnulib-tool.
4423         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
4424
4425 2007-09-08  Jim Meyering  <jim@meyering.net>
4426
4427         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
4428         * lib/fpending.h: Rename from __fpending.h.
4429         * lib/fpending.c: Rename from __fpending.c.
4430         Include "fpending.h", not "__fpending.h".
4431         * lib/__fpending.h, lib/__fpending.c: Remove files.
4432         * modules/fpending (Files): Reflect new file names.
4433         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
4434
4435 2007-09-08  Bruno Haible  <bruno@clisp.org>
4436
4437         * m4/inttypes-h.m4: Remove stub file.
4438
4439 2007-09-07  Simon Josefsson  <simon@josefsson.org>
4440
4441         * doc/headers/stdint.texi: Discuss #include_next issue.
4442
4443 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
4444
4445         * build-aux/bootstrap: Remove obsolete comment about wget --help.
4446
4447 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4448
4449         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
4450         in variable name.
4451
4452 2007-09-03  Jim Meyering  <jim@meyering.net>
4453
4454         New module: git-version-gen.
4455         * modules/git-version-gen: New file.
4456
4457         Import changes from coreutils for bootstrap script.
4458
4459         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
4460
4461         bootstrap: uses rsync to download the .po files
4462         * build-aux/bootstrap (po_download_command_format): New global.
4463         (download_po_files): Use rsync.
4464         (update_po_files): Don't remove .po files after download,
4465         so future rsync runs can take advantage of the copies.
4466
4467         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
4468
4469         Solve the unnecessary-.po-file-regeneration problem once and for all.
4470         * build-aux/bootstrap (download_po_files): New function, renamed from
4471         get_translations.  Now, downloads, but doesn't update LINGUAS.
4472         (update_po_files): New function.
4473
4474         bootstrap: Ignore more.
4475         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
4476         uniwidth to e.g., lib/.gitignore.
4477         (slurp): Handle the sys_stat_.h -> sys mapping, too.
4478
4479         * build-aux/bootstrap: New setting: vc_ignore.
4480         (insert_sorted_if_absent): Create $file if absent.
4481         Adapt to new, possibly empty, list: $vc_ignore.
4482
4483         bootstrap: generate more ignorable names
4484         * build-aux/bootstrap (slurp): When generating ignorable names,
4485         also map .sin to .sed, .gperf to .c, and .y to .c.
4486
4487 2007-09-03  Jim Meyering  <jim@meyering.net>
4488
4489         * build-aux/git-version-gen: New file, from coreutils.  For details, see
4490         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
4491
4492 2007-09-02  Bruno Haible  <bruno@clisp.org>
4493
4494         Fix mis-recognition of 'mcs' on QNX 6.
4495         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
4496         output contains the string "Mono".
4497         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
4498         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
4499
4500 2007-09-01  Bruno Haible  <bruno@clisp.org>
4501
4502         Fix collision between uniwidth/* and linebreak modules.
4503         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
4504         u32_width): Remove declarations.
4505         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
4506         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
4507         streq3, streq2, streq1, streq0): Remove functions.
4508         (STREQ): Remove macro.
4509         (is_cjk_encoding): Remove function.
4510         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
4511         (uc_width, u8_width, u16_width, u32_width): Remove functions.
4512         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
4513         * NEWS: Document the change.
4514
4515 2007-09-01  Bruno Haible  <bruno@clisp.org>
4516
4517         * lib/streq.h: Add double-inclusion guard.
4518
4519 2007-09-01  Karl Berry  <karl@gnu.org>
4520
4521         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
4522
4523 2007-08-28  Jim Meyering  <jim@meyering.net>
4524
4525         Rename mreadlink_with_size to areadlink_with_size.
4526         * NEWS: Document the change.
4527         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
4528         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
4529         * lib/mreadlink.h: Rename this to...
4530         * lib/areadlink.h: ...this.
4531         * modules/mreadlink-with-size: Rename this to...
4532         * modules/areadlink-with-size: ...this.
4533         * lib/canonicalize.c: Reflect the renaming.
4534         * modules/canonicalize: Likewise.
4535
4536 2007-08-26  Bruno Haible  <bruno@clisp.org>
4537
4538         * gnulib-tool (func_import): When deciding which files to remove,
4539         consider also dangling symbolic links.
4540         Reported by Eric Blake.
4541
4542 2007-08-26  Bruno Haible  <bruno@clisp.org>
4543
4544         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
4545
4546 2007-08-23  Simon Josefsson  <simon@josefsson.org>
4547
4548         * lib/readline.c: Don't include getline.h, the prototype is now
4549         found in stdio.h.
4550
4551 2007-08-23  Jim Meyering  <jim@meyering.net>
4552
4553         Getdelim touchup.
4554         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
4555         around the funlockfile call, since funlockfile never sets errno.
4556         Don't set errno upon failed realloc.
4557
4558 2007-08-22  Eric Blake  <ebb9@byu.net>
4559
4560         Getline touchups.
4561         * lib/getdelim.c (getdelim): Revert regression that required *n to
4562         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
4563         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
4564         getdelim, rather than whether implementation is missing.
4565         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
4566         * lib/stdio_.h (getline): Also declare if replacement is
4567         required.
4568         * doc/functions/getdelim.texi: New file.
4569         * doc/functions/getline.texi: Likewise.
4570         * doc/gnulib.texi (Function Substitutes): Add new files.
4571         Reported by Bruno Haible.
4572
4573 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
4574
4575         * users.txt: Add Guile.
4576
4577 2007-08-22  Eric Blake  <ebb9@byu.net>
4578
4579         * tests/test-getdelim.c (main): Use remove, not unlink.
4580         * tests/test-getline.c (main): Likewise.
4581
4582         Move getline and getdelim into stdio.h, per POSIX 200x.
4583         * modules/getline (Files): Remove getline.h.
4584         (Depends-on): Add stdio.
4585         (configure.ac): Add module indicator.
4586         * modules/getdelim (Files): Remove getdelim.h.
4587         (Depends-on): Add stdio.
4588         (configure.ac): Add module indicator.
4589         * modules/stdio (Makefile.am): Work with new indicators.
4590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
4591         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
4592         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4593         * lib/getdelim.h: Delete.
4594         * lib/getline.h: Delete.
4595         * lib/stdio_.h (getdelim, getline): Declare.
4596         * modules/getdelim-tests: New module.
4597         * modules/getline-tests: Likewise.
4598         * tests/test-getdelim.c: New file.
4599         * tests/test-getline.c: Likewise.
4600         * NEWS: Document the change.
4601         * lib/getline.c: Update choice of header.
4602         * lib/csharpcomp.c: Likewise.
4603         * lib/getpass.c: Likewise.
4604         * lib/javacomp.c: Likewise.
4605         * lib/javaversion.c: Likewise.
4606         * lib/yesno.c: Likewise.
4607         * lib/getdelim.c: Likewise.
4608         (getdelim): Set errno on failure, and avoid memory leak.
4609
4610 2007-08-19  Bruno Haible  <bruno@clisp.org>
4611
4612         * modules/closein (Depends-on): Add freadahead.
4613         * lib/closein.c: Include freadahead.h.
4614         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
4615         is zero.
4616
4617 2007-08-19  Bruno Haible  <bruno@clisp.org>
4618
4619         * modules/freadahead-tests: New file.
4620         * tests/test-freadahead.sh: New file.
4621         * tests/test-freadahead.c: New file.
4622
4623         * modules/freadahead: New file.
4624         * lib/freadahead.h: New file.
4625         * lib/freadahead.c: New file.
4626         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
4627         fbufmode, fpurge, freadable, fwritable.
4628
4629 2007-08-19  Eric Blake  <ebb9@byu.net>
4630
4631         Test yesno in combination with closein.
4632         * lib/yesno.c (yesno): Document use of stdin.
4633         * modules/yesno-tests (Files): New module.
4634         * tests/test-yesno.c (main): New file.
4635         * tests/test-yesno.sh: Likewise.
4636
4637 2007-08-19  Bruno Haible  <bruno@clisp.org>
4638
4639         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
4640         * lib/fseeko.c (rpl_fseeko): Likewise.
4641         * lib/fseterr.c (fseterr): Likewise.
4642
4643 2007-08-19  Bruno Haible  <bruno@clisp.org>
4644
4645         * tests/test-lseek.c (main): Disable a test for BeOS.
4646         * doc/functions/lseek.texi: Document the BeOS bug.
4647
4648 2007-08-19  Bruno Haible  <bruno@clisp.org>
4649             Eric Blake  <ebb9@byu.net>
4650
4651         * lib/lseek.c: Include <sys/stat.h>.
4652         (rpl_lseek): Add workaround code also for Unix platforms.
4653         Needed for BeOS.
4654         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
4655         * doc/functions/lseek.texi: Document BeOS definiency.
4656
4657 2007-08-18  Bruno Haible  <bruno@clisp.org>
4658
4659         * modules/fstrcmp-tests: New file.
4660         * tests/test-fstrcmp.c: New file.
4661
4662 2007-08-18  Bruno Haible  <bruno@clisp.org>
4663
4664         * modules/fstrcmp: New file, from GNU gettext with modifications.
4665         * lib/fstrcmp.h: New file, from GNU gettext.
4666         * lib/fstrcmp.c: New file, from GNU gettext.
4667         * MODULES.html.sh (String handling): Add fstrcmp.
4668
4669 2007-08-18  Bruno Haible  <bruno@clisp.org>
4670
4671         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
4672         'bool'.
4673         (diag, compareseq): Remove const from the ctxt argument.
4674         (USE_HEURISTIC): Undefine at the end.
4675
4676 2007-08-18  Jim Meyering  <jim@meyering.net>
4677
4678         New file: lib/idcache.h
4679         * NEWS: Mention the addition.
4680         * modules/idcache (Files): Add lib/idcache.h
4681         * lib/idcache.c: Include "idcache.h".
4682         Don't include <sys/types.h>.
4683         Add a FIXME comment.
4684         Move file-scoped "static" declarations to the top.
4685         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
4686
4687 2007-08-17  Bruno Haible  <bruno@clisp.org>
4688         and Paul Eggert  <eggert@cs.ucla.edu>
4689
4690         * MODULES.html.sh: Add diffseq.
4691         * modules/diffseq: New file.
4692         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
4693         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
4694
4695 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4696
4697         Import changes from coreutils for bootstrap script.
4698
4699         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
4700
4701         * build-aux/bootstrap (slurp): Work even in environments where
4702         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
4703         current code does not slurp files whose names start with ".", and
4704         this looks like it might be a troublesome area.
4705
4706         2007-07-11  Jim Meyering  <jim@meyering.net>
4707
4708         If there's a GPL vN copyright comment, require that N == 3.
4709
4710         2007-07-08  Jim Meyering  <jim@meyering.net>
4711
4712         Run the coreutils-specific code only if tests/Makefile.am.in exists.
4713         * build-aux/bootstrap (mam_template): Move definition out of loop.
4714
4715         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
4716
4717         * build-aux/bootstrap (symlink_to_dir): Rename function from
4718         symlink_to_gnulib.  Add a directory parameter.  Update all
4719         callers.
4720         (cp_mark_as_generated): Also check for -- and link to -- files in
4721         gl/.
4722
4723         2007-07-08  Jim Meyering  <jim@meyering.net>
4724
4725         Adapt to deeper hierarchy in gnulib.
4726         * build-aux/bootstrap (symlink_to_dir): If the destination
4727         directory doesn't exist, create it. This is required at least for
4728         "lib/uniwidth/cjk.h".
4729
4730         2007-05-15  Jim Meyering  <jim@meyering.net>
4731
4732         * build-aux/bootstrap: Now that generated Makefile.am files
4733         are no longer under version control, they must be created at
4734         bootstrap time.
4735
4736 2007-08-14  Ben Pfaff  <blp@gnu.org>
4737
4738         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
4739
4740 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4741
4742         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
4743         given the changes below.
4744         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
4745         even on hosts that have padding bits beyond the supported 64.
4746
4747 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4748
4749         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
4750         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
4751         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
4752         depends on it.
4753         (xstrtol_error): Remove.
4754         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
4755         but with a different signature.
4756         (ATTRIBUTE_NORETURN, __attribute__): New macros.
4757         * lib/xstrtol-error.c: Include exitfail.h.
4758         (xstrtol_fatal): New function, with a different signature from the
4759         old xstrtol_error, so that the caller need not worry about passing
4760         in an exit status, or about storage management of the option argument.
4761         (xstrtol_error): Now a static function.  Redo signature to
4762         implement xstrtol_fatal.  Output the correct number of hyphens in
4763         front of the option so that the caller need not worry about
4764         storage management.
4765         (N_): New macro.
4766         (_): Remove; not used now.
4767         * modules/xstrtol: Depend on getopt.
4768         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
4769         of old STRTOL_FATAL_ERROR macro.
4770         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
4771         of test program.
4772         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
4773         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
4774
4775 2007-08-08  Eric Blake  <ebb9@byu.net>
4776
4777         * lib/xstrtol-error.c: Add missing include.
4778
4779         Move xstrtol messages into gnulib domain, when --pobase is used.
4780         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
4781         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
4782         * modules/xstrtol (Files): Distribute new file.
4783         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
4784         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
4785         * tests/test-xstrtol.c: ...into new file.
4786         * tests/test-xstrtoul.c: Also test xstrtoul.
4787         * tests/test-xstrtoimax.c: Also test xstrtoimax.
4788         * tests/test-xstrtoumax.c: Also test xstrtoumax.
4789         * tests/test-xstrtol.sh: Drive the tests.
4790         * tests/test-xstrtoimax.sh: Likewise.
4791         * tests/test-xstrtoumax.sh: Likewise.
4792         * modules/xstrtol-tests: New module.
4793         * modules/xstrtoimax-tests: Likewise.
4794         * modules/xstrtoumax-tests: Likewise.
4795
4796 2007-08-08  Jim Meyering  <jim@meyering.net>
4797
4798         New function: mfile_name_concat.
4799         * lib/filenamecat.c (mfile_name_concat): New function, just like
4800         file_name_concat, but return NULL upon failure rather than exiting
4801         with a diagnostic.
4802         * lib/filenamecat.h: Declare it.
4803
4804 2007-08-07  Bruno Haible  <bruno@clisp.org>
4805
4806         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
4807         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
4808         warning from gcc.
4809         Reported by Eric Blake.
4810
4811 2007-08-07  Simon Josefsson  <simon@josefsson.org>
4812
4813         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
4814         * modules/crypto/arcfour (License): Likewise.
4815         * modules/crypto/des-tests (License): Likewise.
4816         * modules/crypto/gc-arctwo-tests (License): Likewise.
4817         * modules/crypto/gc-des-tests (License): Likewise.
4818         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
4819         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
4820         * modules/crypto/gc-md2-tests (License): Likewise.
4821         * modules/crypto/gc-md4-tests (License): Likewise.
4822         * modules/crypto/gc-md5-tests (License): Likewise.
4823         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
4824         * modules/crypto/gc-rijndael-tests (License): Likewise.
4825         * modules/crypto/gc-sha1-tests (License): Likewise.
4826         * modules/crypto/gc-tests (License): Likewise.
4827         * modules/crypto/hmac-md5 (License): Likewise.
4828         * modules/crypto/hmac-sha1 (License): Likewise.
4829         * modules/crypto/md2-tests (License): Likewise.
4830         * modules/crypto/md4-tests (License): Likewise.
4831         * modules/crypto/md5 (License): Likewise.
4832         * modules/crypto/rijndael (License): Likewise.
4833         * modules/crypto/sha1 (License): Likewise.
4834         * modules/memxor (License): Likewise.
4835
4836 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4837         and Bruno Haible  <bruno@clisp.org>
4838
4839         * NEWS: Describe interface changes to human, xstrtol.
4840         * lib/human.h: Include <xstrtol.h>.
4841         (human_options): Return enum strtol_error, not int.  Remove
4842         bool arg; take int * instead.
4843         * lib/human.c: Don't include "gettext.h".
4844         (_): Remove; no longer used.
4845         Don't include <xstrtol.h>, since human.h does it.
4846         (human_options): Adjust to abovementioned interface changes.
4847         Do not report error to stderr; that's now the caller's
4848         responsibility.
4849         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
4850         interface change.
4851         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
4852         Str, Argument_type_string.  All uses changed.  Put " argument"
4853         in diagnostics to make them clearer.  Change wording of suffix
4854         message for clarity.
4855         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
4856         Argument_type_string.
4857         (STRTOL_FATAL_WARN): Remove; no longer used.
4858         * modules/human (Depends-on): Remove gettext-h.
4859
4860 2007-08-06  Simon Josefsson  <simon@josefsson.org>
4861
4862         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
4863
4864 2007-07-31  Bruno Haible  <bruno@clisp.org>
4865
4866         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
4867         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
4868         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
4869
4870 2007-07-31  Bruno Haible  <bruno@clisp.org>
4871
4872         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
4873         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
4874
4875 2007-07-30  Bruno Haible  <bruno@clisp.org>
4876
4877         * modules/base64 (License): Use the synonymous term "LGPLv2+".
4878         * modules/c-ctype (License): Likewise.
4879         * modules/c-strcase (License): Likewise.
4880         * modules/check-version (License): Likewise.
4881         * modules/iconv (License): Likewise.
4882         * modules/iconv_open (License): Likewise.
4883         * modules/read-file (License): Likewise.
4884         * modules/striconv (License): Likewise.
4885         * modules/strverscmp (License): Likewise.
4886         * modules/vasprintf (License): Likewise.
4887         * modules/crypto/des (License): Likewise.
4888         * modules/crypto/gc (License): Likewise.
4889         * modules/crypto/gc-arcfour (License): Likewise.
4890         * modules/crypto/gc-arctwo (License): Likewise.
4891         * modules/crypto/gc-des (License): Likewise.
4892         * modules/crypto/gc-hmac-md5 (License): Likewise.
4893         * modules/crypto/gc-hmac-sha1 (License): Likewise.
4894         * modules/crypto/gc-md2 (License): Likewise.
4895         * modules/crypto/gc-md4 (License): Likewise.
4896         * modules/crypto/gc-md5 (License): Likewise.
4897         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
4898         * modules/crypto/gc-random (License): Likewise.
4899         * modules/crypto/gc-rijndael (License): Likewise.
4900         * modules/crypto/gc-sha1 (License): Likewise.
4901         * modules/crypto/md2 (License): Likewise.
4902         * modules/crypto/md4 (License): Likewise.
4903
4904 2007-07-30  Jim Meyering  <jim@meyering.net>
4905
4906         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
4907         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
4908         it has valid stat data.  This bug would cause du not to count the
4909         sizes of inaccessible directories.
4910         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
4911         in <http://bugzilla.redhat.com/250077>.
4912
4913 2007-07-25  Peter O'Gorman  <peter@pogma.com>
4914             Bruno Haible  <bruno@clisp.org>
4915
4916         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
4917         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
4918         #include_next, gives a diagnostic about it, but reports no error in
4919         the exit code.
4920         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
4921
4922 2007-07-24  Ben Pfaff  <blp@gnu.org>
4923
4924         Improve name: "count-one-bits" is better than "popcount".
4925         * MODULES.html.sh: Update name.
4926         * lib/popcount.h: Renamed lib/count-one-bits.h.
4927         (popcount): Renamed count_one_bits.
4928         (popcountl): Renamed count_one_bits_l.
4929         (popcountll): Renamed count_one_bits_ll.
4930         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
4931         * modules/popcount: Renamed module/count-one-bits.
4932         * modules/popcount-tests: Renamed module/count-one-bits-tests.
4933         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
4934
4935 2007-07-23  Ben Pfaff  <blp@gnu.org>
4936
4937         * lib/popcount.h (popcount32): Reduce size of constants, to allow
4938         better code generation, and add U to large constants to avoid
4939         warnings, in non-GCC case.
4940         Suggested by Bruno Haible.
4941
4942 2007-07-23  Ben Pfaff  <blp@gnu.org>
4943
4944         * lib/popcount.h: Use verify_true instead of if...abort.
4945         * modules/popcount: Depend on verify module.
4946         Suggested by Jim Meyering.
4947
4948 2007-07-23  Bruno Haible  <bruno@clisp.org>
4949
4950         * gnulib-tool (func_import): Create a .cvsignore file also when the
4951         directory is not yet in CVS but the toplevel directory is. When
4952         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
4953         Reported by Karl Berry.
4954
4955 2007-07-22  Ben Pfaff  <blp@gnu.org>
4956
4957         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
4958         case.
4959         Suggested by Eric Blake.
4960
4961 2007-07-22  Ben Pfaff  <blp@gnu.org>
4962
4963         New module: popcount.
4964         * MODULES.html.sh: Add popcount.
4965         * modules/popcount: New file.
4966         * modules/popcount-tests: New file.
4967         * tests/test-popcount.c: New file.
4968         * lib/popcount.h: New file.
4969         * m4/popcount.m4: New file.
4970
4971 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4972
4973         * build-aux/announce-gen: Update to GPLv3.
4974
4975         * build-aux/config.guess: Update from config.
4976
4977 2007-07-21  Bruno Haible  <bruno@clisp.org>
4978
4979         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
4980         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
4981
4982 2007-07-20  Jim Meyering  <jim@meyering.net>
4983
4984         * check-module: Diagnose a self-dependency.
4985
4986 2007-07-19  Bruno Haible  <bruno@clisp.org>
4987
4988         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
4989         empty.
4990         Reported by Eric Blake.
4991
4992 2007-07-18  Bruno Haible  <bruno@clisp.org>
4993
4994         * gnulib-tool: New options --po-base, --po-domain.
4995         (func_usage): Document them.
4996         (pobase, po_domain): New variables.
4997         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
4998         DEFAULT_TEXT_DOMAIN.
4999         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
5000         (func_import): Consider pobase and po_domain. Create a po/ directory.
5001         (func_create_testdir): Set pobase and po_domain to empty.
5002         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
5003         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
5004
5005 2007-07-18  Bruno Haible  <bruno@clisp.org>
5006
5007         * gnulib-tool (func_get_automake_snippet): Synthesize also an
5008         EXTRA_DIST augmentation for files in build-aux/.
5009
5010 2007-07-16  Bruno Haible  <bruno@clisp.org>
5011
5012         * modules/lseek (License): Use the synonymous term "LGPLv2+".
5013         * modules/getdelim (License): Likewise.
5014
5015 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5016
5017         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
5018         * modules/d-type (License): Likewise.
5019         * modules/extensions (License): Likewise.
5020         * modules/fnmatch (License): Likewise.
5021         * modules/fseeko (License): Likewise.
5022         * modules/getaddrinfo (License): Likewise.
5023         * modules/getline (License): Likewise.
5024         * modules/getlogin_r (License): Likewise.
5025         * modules/getpass (License): Likewise.
5026         * modules/gettimeofday (License): Likewise.
5027         * modules/glob (License): Likewise.
5028         * modules/inet_ntop (License): Likewise.
5029         * modules/malloc (License): Likewise.
5030         * modules/malloca (License): Likewise.
5031         * modules/memmem (License): Likewise.
5032         * modules/mempcpy (License): Likewise.
5033         * modules/memset (License): Likewise.
5034         * modules/minmax (License): Likewise.
5035         * modules/mktime (License): Likewise.
5036         * modules/netinet_in (License): Likewise.
5037         * modules/pathmax (License): Likewise.
5038         * modules/poll (License): Likewise.
5039         * modules/regex (License): Likewise.
5040         * modules/snprintf (License): Likewise.
5041         * modules/stdbool (License): Likewise.
5042         * modules/stdint (License): Likewise.
5043         * modules/stdio (License): Likewise.
5044         * modules/strcase (License): Likewise.
5045         * modules/strcasestr (License): Likewise.
5046         * modules/strdup (License): Likewise.
5047         * modules/string (License): Likewise.
5048         * modules/strndup (License): Likewise.
5049         * modules/strnlen (License): Likewise.
5050         * modules/strpbrk (License): Likewise.
5051         * modules/strptime (License): Likewise.
5052         * modules/strsep (License): Likewise.
5053         * modules/sys_select (License): Likewise.
5054         * modules/sys_socket (License): Likewise.
5055         * modules/sys_stat (License): Likewise.
5056         * modules/sys_time (License): Likewise.
5057         * modules/time (License): Likewise.
5058         * modules/time_r (License): Likewise.
5059         * modules/timegm (License): Likewise.
5060         * modules/unistd (License): Likewise.
5061         * modules/vsnprintf (License): Likewise.
5062         * modules/wctype (License): Likewise.
5063
5064 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5065
5066         * modules/argz (License): LGPLv2+.
5067
5068 2007-07-15  Karl Berry  <karl@gnu.org>
5069
5070         * doc/gnulib.texi: revise node structure per new fdl.texi.
5071
5072 2007-07-14  Bruno Haible  <bruno@clisp.org>
5073
5074         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
5075         the output file.
5076         * lib/uniname/uninames.h: Regenerated.
5077
5078 2007-07-14  Karl Berry  <karl@gnu.org>
5079
5080         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
5081         omitting sectioning and index commands.
5082
5083 2007-07-13  Bruno Haible  <bruno@clisp.org>
5084
5085         New gnulib-tool option --more-symlinks.
5086         * gnulib-tool (func_usage): Document --more-symlinks.
5087         (do_copyrights): New variable.
5088         Recognize option --more-symlinks.
5089         (func_import): Don't add a copyright notice transform to
5090         sed_transform_lib_file if do_copyrights is empty.
5091
5092 2007-07-13  Bruno Haible  <bruno@clisp.org>
5093
5094         * lib/vasnprintf.c (decimal_point_char): Define also if
5095         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
5096         && !NEED_PRINTF_DIRECTIVE_A.
5097         Reported by Clemens Koller <clemens.koller@anagramm.de> via
5098         Gary V. Vaughan <gary@gnu.org>.
5099
5100 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
5101
5102         * lib/inttypes_.h: Undo previous change, since it was fixed
5103         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
5104
5105 2007-07-13  Bruno Haible  <bruno@clisp.org>
5106
5107         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
5108         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
5109
5110 2007-07-13  Jim Meyering  <jim@meyering.net>
5111
5112         df: Don't fail for Tru64's "file-on-file mount".
5113         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
5114         so we fall through and use statfs instead.  Details here:
5115         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
5116         Reported by Albert Chin.
5117
5118 2007-07-13  Bruno Haible  <bruno@clisp.org>
5119
5120         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
5121         * modules/configmake (License): Likewise.
5122         * modules/gettext (License): Likewise.
5123         * modules/gettext-h (License): Likewise.
5124         * modules/include_next (License): Likewise.
5125         * modules/link-warning (License): Likewise.
5126         * modules/localcharset (License): Likewise.
5127         * modules/localename (License): Likewise.
5128         * modules/lock (License): Likewise.
5129         * modules/relocatable-lib-lgpl (License): Likewise.
5130         * modules/size_max (License): Likewise.
5131         * modules/vasnprintf (License): Likewise.
5132         * modules/wchar (License): Likewise.
5133         * modules/xsize (License): Likewise.
5134
5135 2007-07-13  Bruno Haible  <bruno@clisp.org>
5136
5137         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
5138         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
5139
5140 2007-07-12  Bruno Haible  <bruno@clisp.org>
5141
5142         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
5143         in the modules files.
5144
5145 2007-07-11  Karl Berry  <karl@gnu.org>
5146
5147         * MODULES.html.sh (func_module): use
5148          sed -e '\|^'"${includefile}"'$|d'
5149          instead of /.../d, to avoid errors on $includefile's containing /.
5150
5151 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
5152
5153         * gnulib-tool (func_import): Avoid duplication of --avoid
5154         statements
5155         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
5156         names to `_' in variable names.
5157
5158 2007-07-10  Eric Blake  <ebb9@byu.net>
5159
5160         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
5161         * NEWS: Document this change.
5162
5163 2007-07-08  Bruno Haible  <bruno@clisp.org>
5164
5165         Update to Unicode 5.0.
5166         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
5167         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
5168         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
5169         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
5170         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
5171         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
5172         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
5173         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
5174         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
5175         U+10A3F, U+1D242..U+1D244.
5176         (nonspacing_table_ind): Update.
5177         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
5178         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
5179
5180 2007-07-08  Bruno Haible  <bruno@clisp.org>
5181
5182         Update to Unicode 5.0.
5183         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
5184         code transform. Extend the name index field of unicode_name_to_code and
5185         unicode_code_to_name from 16 to 24 bits.
5186         * lib/uniname/uniname.c (unicode_character_name,
5187         unicode_name_character): Add the range 0x12xxx to the code transform.
5188         * lib/uniname/uninames.h: Regenerated.
5189         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
5190
5191 2007-07-07  Bruno Haible  <bruno@clisp.org>
5192
5193         * modules/wcwidth-tests: New file.
5194         * tests/test-wcwidth.c: New file.
5195
5196         Work around MacOS X wcwidth() bug.
5197         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
5198         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
5199         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
5200         original wcwidth in non-UTF-8 locales.
5201         * modules/wcwidth (Depends-on): Add localcharset, streq,
5202         uniwidth/width.
5203         * doc/functions/wcwidth.texi: Update.
5204
5205 2007-07-07  Bruno Haible  <bruno@clisp.org>
5206
5207         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
5208         (wcwidth): New declaration.
5209         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
5210         macros.
5211         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
5212         here. Prepare for creating <wchar.h> unconditionally.
5213         * modules/wchar (Depends-on): Add link-warning.
5214         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
5215         REPLACE_WCWIDTH, and GL_LINK_WARNING.
5216         * lib/wcwidth.h: Remove file.
5217         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
5218         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
5219         * modules/wcwidth (Files): Remove lib/wcwidth.h.
5220         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
5221         (Include): Replace wcwidth.h with <wchar.h>.
5222         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
5223         * lib/mbchar.h: Don't include wcwidth.h.
5224         * lib/mbswidth.c: Likewise.
5225         * NEWS: Mention the change.
5226
5227 2007-07-07  Bruno Haible  <bruno@clisp.org>
5228
5229         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
5230         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
5231         definition with an external declaration.
5232         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
5233         defined as a function. Remove AC_C_INLINE requirement.
5234         * modules/wcwidth (Files): Add lib/wcwidth.c.
5235         (Makefile.am): Remove redundant statement.
5236
5237 2007-07-07  Bruno Haible  <bruno@clisp.org>
5238
5239         * MODULES.html.sh (Unicode string functions): Add the new modules.
5240
5241         * tests/uniwidth/test-u32-strwidth.c: New file.
5242         * modules/uniwidth/u32-strwidth-tests: New file.
5243
5244         * lib/uniwidth/u32-strwidth.c: New file.
5245         * modules/uniwidth/u32-strwidth: New file.
5246
5247         * tests/uniwidth/test-u16-strwidth.c: New file.
5248         * modules/uniwidth/u16-strwidth-tests: New file.
5249
5250         * lib/uniwidth/u16-strwidth.c: New file.
5251         * modules/uniwidth/u16-strwidth: New file.
5252
5253         * tests/uniwidth/test-u8-strwidth.c: New file.
5254         * modules/uniwidth/u8-strwidth-tests: New file.
5255
5256         * lib/uniwidth/u8-strwidth.c: New file.
5257         * modules/uniwidth/u8-strwidth: New file.
5258
5259         * tests/uniwidth/test-u32-width.c: New file.
5260         * modules/uniwidth/u32-width-tests: New file.
5261
5262         * lib/uniwidth/u32-width.c: New file.
5263         * modules/uniwidth/u32-width: New file.
5264
5265         * tests/uniwidth/test-u16-width.c: New file.
5266         * modules/uniwidth/u16-width-tests: New file.
5267
5268         * lib/uniwidth/u16-width.c: New file.
5269         * modules/uniwidth/u16-width: New file.
5270
5271         * tests/uniwidth/test-u8-width.c: New file.
5272         * modules/uniwidth/u8-width-tests: New file.
5273
5274         * lib/uniwidth/u8-width.c: New file.
5275         * modules/uniwidth/u8-width: New file.
5276
5277         * tests/uniwidth/test-uc_width.c: New file.
5278         * modules/uniwidth/width-tests: New file.
5279
5280         * lib/uniwidth/width.c: New file, from GNU libiconv.
5281         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
5282         * modules/uniwidth/width: New file.
5283
5284         * lib/uniwidth.h: New file, from GNU libiconv.
5285         * modules/uniwidth/base: New file.
5286
5287 2007-07-07  Bruno Haible  <bruno@clisp.org>
5288
5289         * lib/uniname.h: New file, from GNU gettext.
5290         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
5291         * lib/uniname/uninames.h: New file, from GNU gettext.
5292         * lib/uniname/uniname.c: New file, from GNU gettext.
5293         * tests/uniname/test-uninames.sh: New file.
5294         * tests/uniname/test-uninames.c: New file, from GNU gettext.
5295         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
5296         * modules/uniname/base: New file.
5297         * modules/uniname/uniname: New file.
5298         * modules/uniname/uniname-tests: New file.
5299         * MODULES.html.sh (Unicode string functions): Add the new modules.
5300
5301 2007-07-06  Bruno Haible  <bruno@clisp.org>
5302
5303         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
5304
5305 2007-07-06  Bruno Haible  <bruno@clisp.org>
5306
5307         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
5308         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
5309         includes <cygwin/sys_time.h> which includes <sys/select.h> which
5310         include <sys/time.h>.
5311         Reported by Eric Blake.
5312
5313 2007-07-06  Eric Blake  <ebb9@byu.net>
5314
5315         Fix testing canonicalize on cygwin.
5316         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
5317         Revert patch from 2007-06-19.
5318         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
5319         canonicalize module is also in use.
5320         * tests/test-canonicalize.c: New file.
5321         * tests/test-canonicalize.sh: Likewise.
5322         * modules/canonicalize-tests: Likewise.
5323
5324 2007-07-06  Jim Meyering  <jim@meyering.net>
5325
5326         * lib/getugroups.c (getugroups): Detect getgrent failure.
5327         Adjust comment to reflect reality: this function may return -1.
5328
5329 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5330
5331         * build-aux/bootstrap (TP_URL,get_translations): Update to use
5332         the new TP address.
5333         (usage): Fix typo
5334         (gnulib_mk): New variable.
5335
5336 2007-07-05  Jim Meyering  <jim@meyering.net>
5337
5338         Don't let endgrent clobber errno, no matter how improbable.
5339         * lib/getugroups.c (getugroups): Save and restore errno around
5340         endgrent call.
5341
5342         Close the group DB even when failing with 2^31 or more members.
5343         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
5344
5345 2007-07-04  Jim Meyering  <jim@meyering.net>
5346
5347         * lib/getugroups.h: New file.
5348         * lib/getugroups.c: Include "getugroups.h".
5349         Remove uses of "register" keyword.
5350         Move local variable, "cp", down into scope where used.
5351         Give "username" parameter the "const" attribute.
5352         * modules/getugroups (Files): Add lib/getugroups.h
5353
5354 2007-07-04  Karl Berry  <karl@gnu.org>
5355
5356         * MODULES.html.sh (func_all_modules): Complete rename of
5357         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
5358
5359 2007-07-02  Bruno Haible  <bruno@clisp.org>
5360
5361         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
5362         mode, when inttypes.h comes from gnulib.
5363         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
5364
5365 2007-07-02  Simon Josefsson  <simon@josefsson.org>
5366
5367         * NEWS: Mention lgpl module name change.
5368
5369         * modules/lgpl-2.1: Renamed from lgpl.
5370
5371         * NEWS: Mention gpl module name change.
5372
5373         * modules/gpl-3.0: New file, based on gpl-2.0.
5374
5375         * modules/gpl-2.0: Renamed from gpl.
5376
5377         * modules/gpl: Fix filename, doc/gpl.texi is now found at
5378         doc/gpl-2.0.texi.
5379
5380 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5381
5382         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
5383         #define __STDC_LIMIT_MACROS temporarily while including
5384         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
5385         Problem reported by Joel E. Denny in
5386         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
5387
5388 2007-07-01  Bruno Haible  <bruno@clisp.org>
5389
5390         * lib/unistdio.h: New file.
5391         * lib/unistdio/u-asnprintf.h: New file.
5392         * lib/unistdio/u-asprintf.h: New file.
5393         * lib/unistdio/u-printf-args.c: New file.
5394         * lib/unistdio/u-printf-args.h: New file.
5395         * lib/unistdio/u-printf-parse.h: New file.
5396         * lib/unistdio/u-snprintf.h: New file.
5397         * lib/unistdio/u-sprintf.h: New file.
5398         * lib/unistdio/u-vasprintf.h: New file.
5399         * lib/unistdio/u-vsnprintf.h: New file.
5400         * lib/unistdio/u-vsprintf.h: New file.
5401         * lib/unistdio/ulc-asnprintf.c: New file.
5402         * lib/unistdio/ulc-asprintf.c: New file.
5403         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
5404         * lib/unistdio/ulc-printf-parse.c: New file.
5405         * lib/unistdio/ulc-snprintf.c: New file.
5406         * lib/unistdio/ulc-sprintf.c: New file.
5407         * lib/unistdio/ulc-vasnprintf.c: New file.
5408         * lib/unistdio/ulc-vasprintf.c: New file.
5409         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
5410         * lib/unistdio/ulc-vsnprintf.c: New file.
5411         * lib/unistdio/ulc-vsprintf.c: New file.
5412         * lib/unistdio/u8-asnprintf.c: New file.
5413         * lib/unistdio/u8-asprintf.c: New file.
5414         * lib/unistdio/u8-printf-parse.c: New file.
5415         * lib/unistdio/u8-snprintf.c: New file.
5416         * lib/unistdio/u8-sprintf.c: New file.
5417         * lib/unistdio/u8-vasnprintf.c: New file.
5418         * lib/unistdio/u8-vasprintf.c: New file.
5419         * lib/unistdio/u8-vsnprintf.c: New file.
5420         * lib/unistdio/u8-vsprintf.c: New file.
5421         * lib/unistdio/u8-u8-asnprintf.c: New file.
5422         * lib/unistdio/u8-u8-asprintf.c: New file.
5423         * lib/unistdio/u8-u8-snprintf.c: New file.
5424         * lib/unistdio/u8-u8-sprintf.c: New file.
5425         * lib/unistdio/u8-u8-vasnprintf.c: New file.
5426         * lib/unistdio/u8-u8-vasprintf.c: New file.
5427         * lib/unistdio/u8-u8-vsnprintf.c: New file.
5428         * lib/unistdio/u8-u8-vsprintf.c: New file.
5429         * lib/unistdio/u16-asnprintf.c: New file.
5430         * lib/unistdio/u16-asprintf.c: New file.
5431         * lib/unistdio/u16-printf-parse.c: New file.
5432         * lib/unistdio/u16-snprintf.c: New file.
5433         * lib/unistdio/u16-sprintf.c: New file.
5434         * lib/unistdio/u16-vasnprintf.c: New file.
5435         * lib/unistdio/u16-vasprintf.c: New file.
5436         * lib/unistdio/u16-vsnprintf.c: New file.
5437         * lib/unistdio/u16-vsprintf.c: New file.
5438         * lib/unistdio/u16-u16-asnprintf.c: New file.
5439         * lib/unistdio/u16-u16-asprintf.c: New file.
5440         * lib/unistdio/u16-u16-snprintf.c: New file.
5441         * lib/unistdio/u16-u16-sprintf.c: New file.
5442         * lib/unistdio/u16-u16-vasnprintf.c: New file.
5443         * lib/unistdio/u16-u16-vasprintf.c: New file.
5444         * lib/unistdio/u16-u16-vsnprintf.c: New file.
5445         * lib/unistdio/u16-u16-vsprintf.c: New file.
5446         * lib/unistdio/u32-asnprintf.c: New file.
5447         * lib/unistdio/u32-asprintf.c: New file.
5448         * lib/unistdio/u32-printf-parse.c: New file.
5449         * lib/unistdio/u32-snprintf.c: New file.
5450         * lib/unistdio/u32-sprintf.c: New file.
5451         * lib/unistdio/u32-vasnprintf.c: New file.
5452         * lib/unistdio/u32-vasprintf.c: New file.
5453         * lib/unistdio/u32-vsnprintf.c: New file.
5454         * lib/unistdio/u32-vsprintf.c: New file.
5455         * lib/unistdio/u32-u32-asnprintf.c: New file.
5456         * lib/unistdio/u32-u32-asprintf.c: New file.
5457         * lib/unistdio/u32-u32-snprintf.c: New file.
5458         * lib/unistdio/u32-u32-sprintf.c: New file.
5459         * lib/unistdio/u32-u32-vasnprintf.c: New file.
5460         * lib/unistdio/u32-u32-vasprintf.c: New file.
5461         * lib/unistdio/u32-u32-vsnprintf.c: New file.
5462         * lib/unistdio/u32-u32-vsprintf.c: New file.
5463         * tests/unistdio/test-ulc-asnprintf1.c: New file.
5464         * tests/unistdio/test-ulc-asnprintf1.h: New file.
5465         * tests/unistdio/test-ulc-printf1.h: New file.
5466         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
5467         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
5468         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
5469         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
5470         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
5471         * tests/unistdio/test-ulc-vasprintf1.c: New file.
5472         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
5473         * tests/unistdio/test-ulc-vsprintf1.c: New file.
5474         * tests/unistdio/test-u8-asnprintf1.c: New file.
5475         * tests/unistdio/test-u8-asnprintf1.h: New file.
5476         * tests/unistdio/test-u8-printf1.h: New file.
5477         * tests/unistdio/test-u8-vasnprintf1.c: New file.
5478         * tests/unistdio/test-u8-vasnprintf2.c: New file.
5479         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
5480         * tests/unistdio/test-u8-vasnprintf3.c: New file.
5481         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
5482         * tests/unistdio/test-u8-vasprintf1.c: New file.
5483         * tests/unistdio/test-u8-vsnprintf1.c: New file.
5484         * tests/unistdio/test-u8-vsprintf1.c: New file.
5485         * tests/unistdio/test-u16-asnprintf1.c: New file.
5486         * tests/unistdio/test-u16-asnprintf1.h: New file.
5487         * tests/unistdio/test-u16-printf1.h: New file.
5488         * tests/unistdio/test-u16-vasnprintf1.c: New file.
5489         * tests/unistdio/test-u16-vasnprintf2.c: New file.
5490         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
5491         * tests/unistdio/test-u16-vasnprintf3.c: New file.
5492         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
5493         * tests/unistdio/test-u16-vasprintf1.c: New file.
5494         * tests/unistdio/test-u16-vsnprintf1.c: New file.
5495         * tests/unistdio/test-u16-vsprintf1.c: New file.
5496         * tests/unistdio/test-u32-asnprintf1.c: New file.
5497         * tests/unistdio/test-u32-asnprintf1.h: New file.
5498         * tests/unistdio/test-u32-printf1.h: New file.
5499         * tests/unistdio/test-u32-vasnprintf1.c: New file.
5500         * tests/unistdio/test-u32-vasnprintf2.c: New file.
5501         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
5502         * tests/unistdio/test-u32-vasnprintf3.c: New file.
5503         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
5504         * tests/unistdio/test-u32-vasprintf1.c: New file.
5505         * tests/unistdio/test-u32-vsnprintf1.c: New file.
5506         * tests/unistdio/test-u32-vsprintf1.c: New file.
5507         * modules/unistdio/base: New file.
5508         * modules/unistdio/u-printf-args: New file.
5509         * modules/unistdio/ulc-asnprintf: New file.
5510         * modules/unistdio/ulc-asprintf: New file.
5511         * modules/unistdio/ulc-fprintf: New file.
5512         * modules/unistdio/ulc-printf-parse: New file.
5513         * modules/unistdio/ulc-snprintf: New file.
5514         * modules/unistdio/ulc-sprintf: New file.
5515         * modules/unistdio/ulc-vasnprintf: New file.
5516         * modules/unistdio/ulc-vasprintf: New file.
5517         * modules/unistdio/ulc-vfprintf: New file.
5518         * modules/unistdio/ulc-vsnprintf: New file.
5519         * modules/unistdio/ulc-vsprintf: New file.
5520         * modules/unistdio/u8-asnprintf: New file.
5521         * modules/unistdio/u8-asprintf: New file.
5522         * modules/unistdio/u8-printf-parse: New file.
5523         * modules/unistdio/u8-snprintf: New file.
5524         * modules/unistdio/u8-sprintf: New file.
5525         * modules/unistdio/u8-vasnprintf: New file.
5526         * modules/unistdio/u8-vasprintf: New file.
5527         * modules/unistdio/u8-vsnprintf: New file.
5528         * modules/unistdio/u8-vsprintf: New file.
5529         * modules/unistdio/u8-u8-asnprintf: New file.
5530         * modules/unistdio/u8-u8-asprintf: New file.
5531         * modules/unistdio/u8-u8-snprintf: New file.
5532         * modules/unistdio/u8-u8-sprintf: New file.
5533         * modules/unistdio/u8-u8-vasnprintf: New file.
5534         * modules/unistdio/u8-u8-vasprintf: New file.
5535         * modules/unistdio/u8-u8-vsnprintf: New file.
5536         * modules/unistdio/u8-u8-vsprintf: New file.
5537         * modules/unistdio/u16-asnprintf: New file.
5538         * modules/unistdio/u16-asprintf: New file.
5539         * modules/unistdio/u16-printf-parse: New file.
5540         * modules/unistdio/u16-snprintf: New file.
5541         * modules/unistdio/u16-sprintf: New file.
5542         * modules/unistdio/u16-vasnprintf: New file.
5543         * modules/unistdio/u16-vasprintf: New file.
5544         * modules/unistdio/u16-vsnprintf: New file.
5545         * modules/unistdio/u16-vsprintf: New file.
5546         * modules/unistdio/u16-u16-asnprintf: New file.
5547         * modules/unistdio/u16-u16-asprintf: New file.
5548         * modules/unistdio/u16-u16-snprintf: New file.
5549         * modules/unistdio/u16-u16-sprintf: New file.
5550         * modules/unistdio/u16-u16-vasnprintf: New file.
5551         * modules/unistdio/u16-u16-vasprintf: New file.
5552         * modules/unistdio/u16-u16-vsnprintf: New file.
5553         * modules/unistdio/u16-u16-vsprintf: New file.
5554         * modules/unistdio/u32-asnprintf: New file.
5555         * modules/unistdio/u32-asprintf: New file.
5556         * modules/unistdio/u32-printf-parse: New file.
5557         * modules/unistdio/u32-snprintf: New file.
5558         * modules/unistdio/u32-sprintf: New file.
5559         * modules/unistdio/u32-vasnprintf: New file.
5560         * modules/unistdio/u32-vasprintf: New file.
5561         * modules/unistdio/u32-vsnprintf: New file.
5562         * modules/unistdio/u32-vsprintf: New file.
5563         * modules/unistdio/u32-u32-asnprintf: New file.
5564         * modules/unistdio/u32-u32-asprintf: New file.
5565         * modules/unistdio/u32-u32-snprintf: New file.
5566         * modules/unistdio/u32-u32-sprintf: New file.
5567         * modules/unistdio/u32-u32-vasnprintf: New file.
5568         * modules/unistdio/u32-u32-vasprintf: New file.
5569         * modules/unistdio/u32-u32-vsnprintf: New file.
5570         * modules/unistdio/u32-u32-vsprintf: New file.
5571         * modules/unistdio/ulc-asnprintf-tests: New file.
5572         * modules/unistdio/ulc-vasnprintf-tests: New file.
5573         * modules/unistdio/ulc-vasprintf-tests: New file.
5574         * modules/unistdio/ulc-vsnprintf-tests: New file.
5575         * modules/unistdio/ulc-vsprintf-tests: New file.
5576         * modules/unistdio/u8-asnprintf-tests: New file.
5577         * modules/unistdio/u8-vasnprintf-tests: New file.
5578         * modules/unistdio/u8-vasprintf-tests: New file.
5579         * modules/unistdio/u8-vsnprintf-tests: New file.
5580         * modules/unistdio/u8-vsprintf-tests: New file.
5581         * modules/unistdio/u16-asnprintf-tests: New file.
5582         * modules/unistdio/u16-vasnprintf-tests: New file.
5583         * modules/unistdio/u16-vasprintf-tests: New file.
5584         * modules/unistdio/u16-vsnprintf-tests: New file.
5585         * modules/unistdio/u16-vsprintf-tests: New file.
5586         * modules/unistdio/u32-asnprintf-tests: New file.
5587         * modules/unistdio/u32-vasnprintf-tests: New file.
5588         * modules/unistdio/u32-vasprintf-tests: New file.
5589         * modules/unistdio/u32-vsnprintf-tests: New file.
5590         * modules/unistdio/u32-vsprintf-tests: New file.
5591         * MODULES.html.sh (Unicode string functions): Add the new modules.
5592
5593 2007-07-01  Bruno Haible  <bruno@clisp.org>
5594
5595         * lib/sprintf.c (sprintf): Limit the available length estimation,
5596         to avoid address wraparound.
5597         * lib/vsprintf.c (vsprintf): Likewise.
5598         * modules/sprintf-posix (Dependencies): Add stdint.
5599         * modules/vsprintf-posix (Dependencies): Likewise.
5600
5601 2007-07-01  Bruno Haible  <bruno@clisp.org>
5602
5603         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
5604         Windows PATH as well. Conservative double-quoting. Comments.
5605
5606 2007-07-01  Bruno Haible  <bruno@clisp.org>
5607             Eric Blake  <ebb9@byu.net>
5608             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5609
5610         * gnulib-tool (self_abspathname): Fix algorithm to cope with
5611         empty components in $PATH, denoting '.'.
5612
5613 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5614
5615         * gnulib-tool: Fix indentation.
5616         (func_create_megatestdir): Likewise.
5617         Report by Bruno Haible.
5618
5619 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5620
5621         Sync from Automake.
5622         * build-aux/gnupload: Fix shell portability issues with for loops.
5623         Report by Karl Berry.
5624
5625 2007-06-29  Simon Josefsson  <simon@josefsson.org>
5626
5627         * build-aux/maint.mk (POURL): Use translationproject.org.
5628
5629 2007-06-27  Simon Josefsson  <simon@josefsson.org>
5630             Bruno Haible  <bruno@clisp.org>
5631
5632         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
5633         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
5634         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
5635         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
5636         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
5637
5638 2007-06-27  Bruno Haible  <bruno@clisp.org>
5639
5640         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
5641         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
5642
5643 2007-06-26  Karl Berry  <karl@gnu.org>
5644
5645         * MODULES.html.sh: remove xreadlink-with-size.
5646
5647 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5648
5649         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
5650         method that I hope also handles the double-include problem noted
5651         by Bruno Haible in
5652         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
5653
5654 2007-06-23  Bruno Haible  <bruno@clisp.org>
5655
5656         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5657         Don't let the 'mostlyclean' target fail if the last subdirectory could
5658         not be removed.
5659         Reported by Karl Berry.
5660
5661 2007-06-23  Bruno Haible  <bruno@clisp.org>
5662
5663         * gnulib-tool (echo): Add a speedier workaround for ksh.
5664         * tests/test-echo.sh: Likewise.
5665
5666 2007-06-23  Bruno Haible  <bruno@clisp.org>
5667
5668         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
5669         * tests/test-echo.sh: Likewise.
5670
5671 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5672
5673         * gnulib-tool (IFS): Initialize early, so we don't set it to
5674         empty later.
5675         (self_abspathname): Rewrite algorithm to set it, reindent.
5676         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
5677         (func_create_megatestdir): Merge some sed scripts.
5678
5679 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5680
5681         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
5682         exposed by Sun Studio 11 cc on Solaris 8.
5683
5684 2007-06-22  Bruno Haible  <bruno@clisp.org>
5685
5686         * gnulib-tool (echo): Ensure the echo primitive does not interpret
5687         backslashes.
5688         * tests/test-echo.sh: New file.
5689
5690 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5691
5692         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
5693         simplify `sed_replace_build_aux' scripts, they are portable but
5694         echoing them with `echo' is not.
5695         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
5696
5697 2007-06-21  Karl Berry  <karl@gnu.org>
5698
5699         * config/srclist.txt: guess we can't handle the licenses via
5700         srclist at the moment.
5701
5702 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5703
5704         * MODULES.html.sh: Add include_next.
5705         * modules/include_next: New file.
5706
5707 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5708
5709         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
5710         INCLUDE_NEXT.
5711         (gl_CHECK_NEXT_HEADERS): New macro.
5712         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
5713         the obsolescent gl_ABSOLUTE_HEADER.
5714         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5715         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5716         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
5717         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5718         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
5719         * m4/math_h.m4 (gl_MATH_H): Likewise.
5720         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
5721         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5722         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
5723         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5724         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
5725         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
5726         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
5727         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5728         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
5729         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
5730         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5731         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
5732         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
5733         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5734         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5735         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
5736         * m4/inttypes.m4 (gl_INTTYPES_H): Define
5737         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
5738         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
5739         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
5740         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
5741         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
5742         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
5743         * lib/float_.h: Likewise.
5744         * lib/inttypes_.h: Likewise.
5745         * lib/math_.h: Likewise.
5746         * lib/search_.h: Likewise.
5747         * lib/signal_.h: Likewise.
5748         * lib/stdint_.h: Likewise.
5749         * lib/stdio_.h: Likewise.
5750         * lib/stdlib_.h: Likewise.
5751         * lib/string_.h: Likewise.
5752         * lib/sys_stat_.h: Likewise.
5753         * lib/sys_time_.h: Likewise.
5754         * lib/time_.h: Likewise.
5755         * lib/unistd_.h: Likewise.
5756         * lib/wchar_.h: Likewise.
5757         * lib/wctype_.h: Likewise.
5758         * lib/dirent_.h: Likewise.
5759         * lib/iconv_.h: Likewise.
5760         * lib/locale_.h: Likewise.
5761         * lib/netinet_in_.h: Likewise.
5762         * lib/sys_select_.h: Likewise.
5763         * lib/sys_socket_.h: Likewise.
5764         * lib/sysexits_.h: Likewise.
5765         * modules/fcntl (Depends-on): Depend on include_next, not
5766         absolute_header.
5767         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
5768         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
5769         * modules/fchdir: Likewise.
5770         * modules/float: Likewise.
5771         * modules/iconv_open: Likewise.
5772         * modules/inttypes: Likewise.
5773         * modules/locale: Likewise.
5774         * modules/math: Likewise.
5775         * modules/netinet_in: Likewise.
5776         * modules/search: Likewise.
5777         * modules/signal: Likewise.
5778         * modules/stdint: Likewise.
5779         * modules/stdio: Likewise.
5780         * modules/stdlib: Likewise.
5781         * modules/string: Likewise.
5782         * modules/sys_select: Likewise.
5783         * modules/sys_socket: Likewise.
5784         * modules/sys_stat: Likewise.
5785         * modules/sys_time: Likewise.
5786         * modules/sysexits: Likewise.
5787         * modules/time: Likewise.
5788         * modules/unistd: Likewise.
5789         * modules/wchar: Likewise.
5790         * modules/wctype: Likewise.
5791         * modules/sys_stat: Change maintainer to "all".
5792         * modules/unistd: Likewise.
5793
5794 2007-06-20  Karl Berry  <karl@gnu.org>
5795
5796         * config/srclist.txt: track www changes in license files.
5797
5798 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
5799
5800         * build-aux/bootstrap: Remove stray dot.
5801         Make sure build_aux settings are honored when linking
5802         gnulib_extra_files.
5803
5804 2007-06-19  Eric Blake  <ebb9@byu.net>
5805
5806         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
5807         Allow compilation on cygwin.
5808
5809 2007-06-19  Jim Meyering  <jim@meyering.net>
5810
5811         xreadlink-with-size: Remove module.  No longer used.
5812         Ex-callers now use xreadlink or mreadlink-with-size.
5813         * modules/xreadlink-with-size: Remove module.
5814         * lib/xreadlink-with-size.c: Remove file.
5815         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
5816         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
5817         just before the function definition *is* accurate.
5818
5819         Eliminate one way canonicalize_filename_mode could exit.
5820         * lib/canonicalize.c (canonicalize_filename_mode):
5821         Use mreadlink_with_size, not xreadlink_with_size.
5822
5823 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
5824
5825         Detect porting problems to FreeBSD/arm, which has time_t wider than
5826         long int.  Original problem reported for GNU diff by Xin Li in
5827         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
5828         * modules/getdate (Depends-on): Add intprops, verify.
5829         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
5830         is an integer type no wider than long int.
5831
5832 2007-06-18  Jim Meyering  <jim@meyering.net>
5833
5834         New module: mreadlink-with-size.
5835         * MODULES.html.sh: Add mreadlink-with-size.
5836         * modules/mreadlink-with-size: New module
5837         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
5838         not xreadlink-with-size.
5839         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
5840
5841 2007-06-16  Bruno Haible  <bruno@clisp.org>
5842
5843         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
5844         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
5845         Reported by Gary V. Vaughan <gary@gnu.org>.
5846
5847 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5848
5849         Revamp lchown so that it lives in unistd.h where it belongs.
5850         * lib/lchown.h: Remove.
5851         * lib/dirchownmod.c: Don't include lib/lchown.h.
5852         * lib/fchownat.c: Likewise.
5853         * lib/openat.c: Likewise.
5854         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
5855         does not follow symlinks.
5856         (EOPNOTSUPP): Define if not defined.
5857         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
5858         is defined to 0.
5859         (lchown): New decl.
5860         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
5861         Do not check for lchown decl.
5862         Set REPLACE_LCHOWN.
5863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
5864         REPLACE_LCHOWN.
5865         * modules/chown: Make it clear it follows symlinks.
5866         * modules/lchown: Make it clear it doesn't follow symlinks.
5867         (Files): Remove lib/lchown.h
5868         (Depends-on): Add unistd.
5869         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
5870         (Include): Include <unistd.h>, not "lchown.h".
5871         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
5872         REPLACE_LCHOWN.
5873
5874 2007-06-15  Jim Meyering  <jim@meyering.net>
5875
5876         Change license (GPL to LGPL) of fsusage and dependents.
5877         * modules/fsusage (License): Change to LGPL.
5878         * modules/full-read (License): Likewise.
5879         * modules/full-write (License): Likewise.
5880         * modules/safe-read (License): Likewise.
5881         * modules/safe-write (License): Likewise.
5882
5883 2007-06-14  Ben Pfaff  <blp@gnu.org>
5884
5885         Missing part of allocsa -> malloca transition.
5886         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
5887         gl_MALLOCA.
5888
5889 2007-06-12  Bruno Haible  <bruno@clisp.org>
5890
5891         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
5892         to ia64, x86_64, i386.
5893         Reported by Eric Blake.
5894
5895 2007-06-12  Bruno Haible  <bruno@clisp.org>
5896
5897         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
5898         cross-compiling to x86_64.
5899
5900 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
5901
5902         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
5903         glitch reported by Ralf Wildenhues in
5904         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
5905
5906         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
5907         Vin Shelton.
5908
5909 2007-06-11  Bruno Haible  <bruno@clisp.org>
5910
5911         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
5912         replacement string.
5913         Reported by Eric Blake.
5914
5915 2007-06-10  Bruno Haible  <bruno@clisp.org>
5916
5917         Prepare vasnprintf code for use with Unicode strings.
5918         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
5919         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
5920         TYPE_U32_STRING.
5921         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
5922         a_u32_string variants.
5923         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
5924         * lib/printf-args.c: Don't include config.h and the specification
5925         header if PRINTF_FETCHARGS is already defined.
5926         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
5927         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
5928         TYPE_U16_STRING, TYPE_U32_STRING.
5929         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
5930         u16_directive, u16_directives, u32_directive, u32_directives): New
5931         types.
5932         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
5933         New declarations.
5934         * lib/printf-parse.c: Don't include config.h and the specification
5935         header if PRINTF_PARSE is already defined. Eliminate the set of
5936         parameters for WIDE_CHAR_VERSION; the user of this file must provide
5937         them now. Include c-ctype.h.
5938         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
5939         directive and CHAR_T_ONLY_ASCII.
5940         * lib/vasnprintf.c: Don't include config.h and the specification header
5941         if VASNPRINTF is already defined.
5942         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
5943         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
5944         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
5945         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
5946         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
5947         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
5948         code accordingly.
5949         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
5950         pad_ourselves also in this case, with the 'c' and 's' directives, and
5951         with a different notion of "width".
5952         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
5953
5954 2007-06-10  Bruno Haible  <bruno@clisp.org>
5955
5956         * modules/unistr/u32-mbsnlen: New file.
5957         * lib/unistr/u32-mbsnlen.c: New file.
5958
5959         * modules/unistr/u16-mbsnlen: New file.
5960         * lib/unistr/u16-mbsnlen.c: New file.
5961
5962         * modules/unistr/u8-mbsnlen: New file.
5963         * lib/unistr/u8-mbsnlen.c: New file.
5964
5965         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
5966         declarations.
5967
5968 2007-06-10  Bruno Haible  <bruno@clisp.org>
5969
5970         * lib/string_.h (mbsnlen): New declaration.
5971         * lib/mbsnlen.c: New file.
5972         * m4/mbsnlen.m4: New file.
5973         * modules/mbsnlen: New file.
5974         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
5975         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
5976         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
5977
5978 2007-06-10  Bruno Haible  <bruno@clisp.org>
5979
5980         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
5981
5982 2007-06-10  Bruno Haible  <bruno@clisp.org>
5983
5984         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
5985         * lib/mbuiter.h: Likewise.
5986
5987 2007-06-10  Bruno Haible  <bruno@clisp.org>
5988
5989         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
5990         declaration.
5991
5992 2007-06-10  Karl Berry  <karl@gnu.org>
5993
5994         * config/srclist.txt: remove gettext entries, Bruno prefers
5995         to update individually.
5996
5997 2007-06-10  Bruno Haible  <bruno@clisp.org>
5998
5999         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
6000         'maxlen'. Ensure only length + width bytes are allocated, not
6001         length + 1 + width.
6002
6003 2007-06-09  Bruno Haible  <bruno@clisp.org>
6004
6005         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
6006         (CHAR_T): Remove macro.
6007         (VASNPRINTF): Update.
6008
6009 2007-06-09  Bruno Haible  <bruno@clisp.org>
6010
6011         * MODULES.html.sh (Unicode string functions): Add the new modules.
6012
6013         * modules/uniconv/u32-conv-to-enc: New file.
6014         * lib/uniconv/u32-conv-to-enc.c: New file.
6015         * modules/uniconv/u32-conv-to-enc-tests: New file.
6016         * tests/uniconv/test-u32-conv-to-enc.c: New file.
6017
6018         * modules/uniconv/u16-conv-to-enc: New file.
6019         * lib/uniconv/u16-conv-to-enc.c: New file.
6020         * lib/uniconv/u-conv-to-enc.h: New file.
6021         * modules/uniconv/u16-conv-to-enc-tests: New file.
6022         * tests/uniconv/test-u16-conv-to-enc.c: New file.
6023
6024         * modules/uniconv/u8-conv-to-enc: New file.
6025         * lib/uniconv/u8-conv-to-enc.c: New file.
6026         * modules/uniconv/u8-conv-to-enc-tests: New file.
6027         * tests/uniconv/test-u8-conv-to-enc.c: New file.
6028
6029         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
6030         u32_conv_to_encoding): New declarations.
6031
6032 2007-06-09  Bruno Haible  <bruno@clisp.org>
6033
6034         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
6035
6036 2007-06-09  Bruno Haible  <bruno@clisp.org>
6037
6038         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
6039         * modules/malloca: Renamed from modules/allocsa, updated.
6040         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
6041         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
6042         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
6043         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
6044         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
6045         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
6046         * modules/xmalloca: Renamed from modules/xallocsa, updated.
6047         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
6048         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
6049         * modules/c-strcasestr (Depends-on): Update.
6050         * lib/c-strcasestr.c: Update.
6051         * modules/c-strstr (Depends-on): Update.
6052         * lib/c-strstr.c: Update.
6053         * modules/canonicalize-lgpl (Depends-on): Update.
6054         * lib/canonicalize-lgpl.c: Update.
6055         * modules/clean-temp (Depends-on): Update.
6056         * lib/clean-temp.c: Update.
6057         * modules/csharpcomp (Depends-on): Update.
6058         * lib/csharpcomp.c: Update.
6059         * modules/csharpexec (Depends-on): Update.
6060         * lib/csharpexec.c: Update.
6061         * modules/javacomp (Depends-on): Update.
6062         * lib/javacomp.c: Update.
6063         * modules/javaexec (Depends-on): Update.
6064         * lib/javaexec.c: Update.
6065         * modules/mbscasestr (Depends-on): Update.
6066         * lib/mbscasestr.c: Update.
6067         * modules/mbsstr (Depends-on): Update.
6068         * lib/mbsstr.c: Update.
6069         * modules/setenv (Depends-on): Update.
6070         * lib/setenv.c: Update.
6071         * modules/strcasestr (Depends-on): Update.
6072         * lib/strcasestr.c: Update.
6073         * modules/striconveha (Depends-on): Update.
6074         * lib/striconveha.c: Update.
6075         * modules/relocatable-prog-wrapper (Files): Update.
6076         * lib/relocwrapper.c: Update.
6077         * build-aux/install-reloc: Update.
6078         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
6079
6080 2007-06-08  Bruno Haible  <bruno@clisp.org>
6081
6082         Port to uClibc.
6083         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
6084         * lib/fpurge.c (fpurge): Likewise.
6085         * lib/freading.c (freading): Likewise.
6086         * lib/fseeko.c (rpl_fseeko): Likewise.
6087         * lib/fseterr.c (fseterr): Likewise.
6088         * lib/fwriting.c (fwriting): Likewise.
6089         * tests/test-fflush.c (main): Avoid a failure on uClibc.
6090
6091 2007-06-08  Bruno Haible  <bruno@clisp.org>
6092
6093         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
6094         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
6095         * modules/gettext (Files): Add m4/intlmacosx.m4.
6096
6097 2007-06-07  Bruno Haible  <bruno@clisp.org>
6098
6099         * modules/localename-tests: New file.
6100         * tests/test-localename.c: New file.
6101
6102         New module 'localename'.
6103         * lib/localename.h: New file.
6104         * lib/localename.c: New file, from GNU gettext.
6105         * m4/localename.m4: New file.
6106         * modules/localename: New file.
6107
6108 2007-06-07  Bruno Haible  <bruno@clisp.org>
6109
6110         Work around the lack of <wchar.h> on some builds of uClibc.
6111         * doc/headers/wchar.texi: Update.
6112         * lib/wchar_.h: Include <wchar.h> only if it exists.
6113         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
6114         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
6115         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
6116         doesn't exist.
6117         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
6118         * modules/mbfile (Depends-on): Add wchar.
6119         * modules/mbiter (Depends-on): Likewise.
6120         * modules/mbuiter (Depends-on): Likewise.
6121         Reported by Simon Josefsson.
6122
6123 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
6124
6125         Work around problem reported by Steven M. Schweda in
6126         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
6127         Tru64 5.1B with the Compaq compiler environment installed declares
6128         an 'isblank' function but does not define it in the C library.
6129         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
6130         * lib/regex_internal.h (isblank): Likewise.
6131         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
6132         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6133
6134 2007-06-05  Bruno Haible  <bruno@clisp.org>
6135
6136         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
6137         ia64.
6138         * modules/printf-safe: New file.
6139         * modules/fprintf-posix (Depends-on): Add printf-safe.
6140         * modules/printf-posix (Depends-on): Likewise.
6141         * modules/snprintf-posix (Depends-on): Likewise.
6142         * modules/sprintf-posix (Depends-on): Likewise.
6143         * modules/vasnprintf-posix (Depends-on): Likewise.
6144         * modules/vasprintf-posix (Depends-on): Likewise.
6145         * modules/vfprintf-posix (Depends-on): Likewise.
6146         * modules/vprintf-posix (Depends-on): Likewise.
6147         * modules/vsnprintf-posix (Depends-on): Likewise.
6148         * modules/vsprintf-posix (Depends-on): Likewise.
6149         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6150         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
6151         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
6152         "no" on i386, x86_64, ia64.
6153         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
6154         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6155         on i386, x86_64, ia64.
6156         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
6157         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6158         on i386, x86_64, ia64.
6159         * tests/test-vasnprintf-posix.c: Include float.h.
6160         (LDBL80_WORDS): New macro.
6161         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6162         on i386, x86_64, ia64.
6163         * tests/test-vasprintf-posix.c: Include float.h.
6164         (LDBL80_WORDS): New macro.
6165         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6166         on i386, x86_64, ia64.
6167         * tests/test-snprintf-posix.c: Include float.h.
6168         * tests/test-sprintf-posix.c: Likewise.
6169         * tests/test-vsnprintf-posix.c: Likewise.
6170         * tests/test-vsprintf-posix.c: Likewise.
6171
6172 2007-06-05  Bruno Haible  <bruno@clisp.org>
6173
6174         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
6175         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
6176         non-IEEE numbers on i386, x86_64, ia64.
6177         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
6178         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
6179         * tests/test-isnanl.h: Include float.h.
6180         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
6181
6182 2007-06-05  Bruno Haible  <bruno@clisp.org>
6183
6184         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
6185         also the %a / %A. Handle the %a / %A code before this extra handling.
6186
6187 2007-06-05  Bruno Haible  <bruno@clisp.org>
6188
6189         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
6190         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
6191
6192 2007-06-05  Bruno Haible  <bruno@clisp.org>
6193
6194         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
6195         typo in variable name.
6196
6197 2007-06-05  Eric Blake  <ebb9@byu.net>
6198
6199         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
6200         Reported by Simon Josefsson.
6201
6202 2007-06-04  Bruno Haible  <bruno@clisp.org>
6203
6204         Avoid test failures on some PowerPC platforms.
6205         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
6206         Define differently for PowerPC.
6207         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
6208         Reported by Gary V. Vaughan <gary@gnu.org>.
6209
6210 2007-06-02  Bruno Haible  <bruno@clisp.org>
6211
6212         Fix test-stdint failure on FreeBSD/ia64.
6213         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
6214         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
6215         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
6216         * doc/headers/stdint.texi: Update.
6217
6218 2007-06-01  Bruno Haible  <bruno@clisp.org>
6219
6220         * tests/test-binary-io.c (main): Pass a third argument to open().
6221         Reported by Gary V. Vaughan <gary@gnu.org>.
6222
6223 2007-06-01  Bruno Haible  <bruno@clisp.org>
6224
6225         * doc/functions/frexpl.texi: Update for mingw.
6226
6227 2007-06-01  Bruno Haible  <bruno@clisp.org>
6228
6229         * tests/test-lseek.c (main): Disable test of errno for invalid third
6230         argument.
6231         * doc/functions/lseek.texi: Update.
6232         Reported by Gary V. Vaughan <gary@gnu.org>.
6233
6234 2007-05-28  Bruno Haible  <bruno@clisp.org>
6235
6236         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
6237
6238 2007-05-31  Eric Blake  <ebb9@byu.net>
6239
6240         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
6241         cross compiling.
6242
6243 2007-05-30  Eric Blake  <ebb9@byu.net>
6244         and Bruno Haible  <bruno@clisp.org>
6245
6246         Work around mingw test failures exposed by m4-1.4.9b.
6247         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
6248         * tests/test-unistd.c: Disable uid_t and git_t tests for the
6249         moment.
6250
6251 2007-05-30  Bruno Haible  <bruno@clisp.org>
6252
6253         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
6254         assuming that they are closed. Needed on HP-UX 11.
6255
6256 2007-05-29  Bruno Haible  <bruno@clisp.org>
6257
6258         Fix a problem with #include_next.
6259         * lib/dirent_.h: Split the double-inclusion guard.
6260         * lib/fcntl_.h: Likewise.
6261         * lib/float_.h: Likewise.
6262         * lib/iconv_.h: Likewise.
6263         * lib/inttypes_.h: Likewise.
6264         * lib/locale_.h: Likewise.
6265         * lib/math_.h: Likewise.
6266         * lib/netinet_in_.h: Likewise.
6267         * lib/search_.h: Likewise.
6268         * lib/signal_.h: Likewise.
6269         * lib/stdint_.h: Likewise.
6270         * lib/stdio_.h: Likewise.
6271         * lib/stdlib_.h: Likewise.
6272         * lib/string_.h: Likewise.
6273         * lib/sys_select_.h: Likewise.
6274         * lib/sys_socket_.h: Likewise.
6275         * lib/sys_stat_.h: Likewise.
6276         * lib/sys_time_.h: Likewise.
6277         * lib/sysexits_.h: Likewise.
6278         * lib/time_.h: Likewise.
6279         * lib/unistd_.h: Likewise.
6280         * lib/wchar_.h: Likewise.
6281         * lib/wctype_.h: Likewise.
6282
6283 2007-05-29  Bruno Haible  <bruno@clisp.org>
6284
6285         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
6286         for the moment.
6287
6288 2007-05-29  Bruno Haible  <bruno@clisp.org>
6289
6290         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
6291         invocation.
6292         Reported by Eric Blake.
6293
6294 2007-05-29  Bruno Haible  <bruno@clisp.org>
6295
6296         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
6297         compiling case.
6298
6299 2007-05-29  Eric Blake  <ebb9@byu.net>
6300             Bruno Haible  <bruno@clisp.org>
6301
6302         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
6303         cross compiles.
6304
6305 2007-05-28  Eric Blake  <ebb9@byu.net>
6306
6307         * modules/closein-tests (test_closein_LDADD): Support test on
6308         cygwin with libtool.
6309
6310 2007-05-28  Bruno Haible  <bruno@clisp.org>
6311
6312         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
6313         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6314         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6315         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6316         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6317         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6318         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6319         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6320         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6321
6322 2007-05-28  Eric Blake  <ebb9@byu.net>
6323
6324         Unconditionally include <config.h> in unit tests.
6325         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
6326         * tests/test-allocsa.c, tests/test-arcfour.c,
6327         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
6328         tests/test-array_list.c, tests/test-array_oset.c,
6329         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
6330         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
6331         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
6332         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
6333         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
6334         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
6335         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
6336         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
6337         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
6338         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
6339         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
6340         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
6341         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
6342         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
6343         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
6344         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
6345         test-md5.c, test-memmem.c, test-printf-posix.c,
6346         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
6347         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
6348         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
6349         test-strcasestr.c, test-striconv.c, test-striconveh.c,
6350         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
6351         test-vasnprintf-posix2.c, test-vasnprintf.c,
6352         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
6353         test-vfprintf-posix.c, test-vprintf-posix.c,
6354         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
6355         test-xvasprintf.c: Likewise.
6356
6357 2007-05-28  Bruno Haible  <bruno@clisp.org>
6358
6359         * gnulib-tool (func_import): Remember the --with-tests command-line
6360         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
6361         Reported by Eric Blake.
6362
6363 2007-05-28  Bruno Haible  <bruno@clisp.org>
6364
6365         * modules/ftell-tests: New file.
6366         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
6367         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
6368
6369         * lib/ftell.c: New file.
6370         * modules/ftell: New file.
6371         * m4/ftell.m4: New file.
6372         * doc/functions/ftell.texi: Update.
6373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
6374         REPLACE_FTELL.
6375         * lib/stdio_.h (rpl_ftell): New declaration.
6376         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
6377         REPLACE_FTELL.
6378
6379 2007-05-28  Eric Blake  <ebb9@byu.net>
6380
6381         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
6382
6383 2007-05-28  Bruno Haible  <bruno@clisp.org>
6384
6385         * modules/fseek-tests: New file.
6386         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
6387         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
6388
6389         * lib/fseek.c: New file.
6390         * modules/fseek: New file.
6391         * m4/fseek.m4: New file.
6392         * doc/functions/fseek.texi: Update.
6393         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
6394         REPLACE_FSEEK.
6395         * lib/stdio_.h (rpl_fseek): New declaration.
6396         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
6397         REPLACE_FSEEK.
6398
6399 2007-05-28  Bruno Haible  <bruno@clisp.org>
6400
6401         * lib/stdio_.h (fflush): More comments.
6402
6403 2007-05-28  Bruno Haible  <bruno@clisp.org>
6404
6405         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
6406         runtime test.
6407
6408 2007-05-28  Eric Blake  <ebb9@byu.net>
6409
6410         Improve lseek module.
6411         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
6412         * lib/unistd_.h (lseek): Scale back link warning message.
6413         * tests/test-lseek.c: Beef up test.
6414         * tests/test-lseek.sh: Exercise more facets of lseek.
6415         Reported by Bruno Haible.
6416
6417 2007-05-28  Bruno Haible  <bruno@clisp.org>
6418
6419         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
6420         to define.
6421
6422 2007-05-27  Bruno Haible  <bruno@clisp.org>
6423
6424         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
6425
6426 2007-05-27  Bruno Haible  <bruno@clisp.org>
6427
6428         * modules/openmp: New file.
6429         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
6430         Noah Misch.
6431
6432 2007-05-26  Bruno Haible  <bruno@clisp.org>
6433
6434         * modules/chdir-long (Depends-on): Add fchdir.
6435         * modules/chdir-safer (Depends-on): Likewise.
6436         * modules/fts (Depends-on): Likewise.
6437         * modules/fts-lgpl (Depends-on): Likewise.
6438         * modules/openat (Depends-on): Likewise.
6439         * modules/savewd (Depends-on): Likewise.
6440
6441 2007-05-24  Eric Blake  <ebb9@byu.net>
6442
6443         Fix lseek on mingw.
6444         * modules/lseek: New module.
6445         * m4/lseek.m4: New file.
6446         * lib/lseek.c: New file.
6447         * modules/lseek-tests: New file.
6448         * tests/test-lseek.c: New file.
6449         * tests/test-lseek.sh: New file.
6450         * MODULES.html.sh: Document lseek module.
6451         * modules/fflush (Depends-on): Add lseek, fseeko.
6452         * modules/fseeko (Depends-on): Likewise.
6453         * modules/ftello (Depends-on): Likewise.
6454         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
6455         broken.
6456         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
6457         broken.
6458         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
6459         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
6460         * lib/ftello.c (rpl_ftello): Likewise.
6461         * tests/test-fseeko.c (main): Test this.
6462         * tests/test-fseeko.sh: Likewise.
6463         * tests/test-ftello.c (main): Likewise.
6464         * tests/test-ftello.sh: Likewise.
6465         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
6466         implies replacing fseek.
6467         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
6468         HAVE_FTELLO.
6469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
6470         * modules/unistd (Makefile.am): Likewise.
6471         * lib/unistd_.h (lseek): Declare a replacement.
6472         * doc/functions/lseek.texi (lseek): Document this fix.
6473         * doc/functions/fseek.texi (fseek): Likewise.
6474         * doc/functions/ftell.texi (ftell): Likewise.
6475
6476 2007-05-24  Bruno Haible  <bruno@clisp.org>
6477
6478         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
6479         in the printed representation of a NaN.
6480         * tests/test-vasprintf-posix.c (test_function): Likewise.
6481         * tests/test-snprintf-posix.h (test_function): Likewise.
6482         * tests/test-sprintf-posix.h (test_function): Likewise.
6483         Reported by Eric Blake.
6484
6485 2007-05-23  Eric Blake  <ebb9@byu.net>
6486
6487         Fix fseeko/ftello on cygwin 1.5.24.
6488         * doc/functions/fseeko.texi (fseeko): Document the fix.
6489         * doc/functions/ftello.texi (ftello): Document the fix.
6490         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
6491         * doc/functions/stdout.text (stdout): New file.
6492         * doc/functions/stderr.text (stderr): New file.
6493         * doc/gnulib.texi (Function Substitutes): Use new files.
6494         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
6495         prior to 1.7.0.
6496         * tests/test-ftello.c (main): Likewise for ftello.
6497         * tests/test-fseeko.sh: New file.
6498         * tests/test-ftello.sh: New file.
6499         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
6500         with seekable stdin.
6501         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
6502         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
6503         (gl_REPLACE_FSEEKO): New macro.
6504         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
6505         * modules/fseeko (Files): Distribute fseeko.c.
6506         * modules/ftello (Files): Distribute ftello.c.
6507         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
6508         mode.
6509         * lib/ftello.c (rpl_ftello): New file.
6510         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
6511         fseeko, ftello.
6512         (gl_STDIN_LARGE_OFFSET): New macro.
6513         * modules/stdio (Makefile.am): Perform the replacement.
6514         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
6515
6516 2007-05-23  Bruno Haible  <bruno@clisp.org>
6517
6518         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
6519         GNULIB_POSIXCHECK is defined.
6520
6521 2007-05-21  Bruno Haible  <bruno@clisp.org>
6522
6523         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
6524         Check also the output for NaN arguments. When cross-compiling, guess
6525         no on IRIX.
6526         * lib/vasnprintf.c: Update comments.
6527         * tests/test-vasnprintf-posix.c (strisnan): New function.
6528         (test_function): Use it.
6529         * tests/test-vasprintf-posix.c (strisnan): New function.
6530         (test_function): Use it.
6531         * tests/test-snprintf-posix.h (strisnan): New function.
6532         (test_function): Use it.
6533         * tests/test-sprintf-posix.h (strisnan): New function.
6534         (test_function): Use it.
6535         Reported by Eric Blake.
6536
6537 2007-05-20  Bruno Haible  <bruno@clisp.org>
6538
6539         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
6540         numbers that fails on BeOS.
6541         * doc/functions/frexpl.texi: Update.
6542
6543 2007-05-20  Jim Meyering  <jim@meyering.net>
6544
6545         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
6546         forced upon us by glibc-2.6.
6547
6548 2007-05-20  Bruno Haible  <bruno@clisp.org>
6549
6550         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
6551         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
6552         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
6553         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
6554         NEED_PRINTF_INFINITE.
6555         (is_infinitel): New function.
6556         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
6557         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
6558         gl_PREREQ_VASNPRINTF_INFINITE.
6559         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
6560         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6561         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
6562         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
6563         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
6564         gl_PREREQ_VASNPRINTF_INFINITE.
6565         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6566         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6567         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6568         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6569         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6570         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6571         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6572         * doc/functions/fprintf.texi: Update.
6573         * doc/functions/printf.texi: Update.
6574         * doc/functions/snprintf.texi: Update.
6575         * doc/functions/sprintf.texi: Update.
6576         * doc/functions/vfprintf.texi: Update.
6577         * doc/functions/vprintf.texi: Update.
6578         * doc/functions/vsnprintf.texi: Update.
6579         * doc/functions/vsprintf.texi: Update.
6580
6581 2007-05-20  Bruno Haible  <bruno@clisp.org>
6582
6583         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
6584         was not found in libc.
6585         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6586
6587 2007-05-20  Bruno Haible  <bruno@clisp.org>
6588
6589         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
6590         printed as "-nan" 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         Needed for HP-UX 11.
6595
6596 2007-05-20  Jim Meyering  <jim@meyering.net>
6597
6598         Fix buggy test for the fchownat-deref bug.
6599         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
6600         symlink required for the run-test.  Without it, this test would
6601         always declare that fchownat doesn't work, and client code would
6602         unnecessarily use the replacement function with fixed libc.
6603         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
6604         Reported by Greg Schafer.
6605
6606 2007-05-19  Bruno Haible  <bruno@clisp.org>
6607
6608         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
6609         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
6610         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
6611         Needed for IRIX 6.5 and Solaris 2.5.1.
6612
6613 2007-05-19  Bruno Haible  <bruno@clisp.org>
6614
6615         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
6616         (test_function): Skip tests involving -0.0 on platforms where
6617         -0.0 = 0.0.
6618         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
6619         (test_function): Skip tests involving -0.0 on platforms where
6620         -0.0 = 0.0.
6621         * tests/test-snprintf-posix.h (have_minus_zero): New function.
6622         (test_function): Skip tests involving -0.0 on platforms where
6623         -0.0 = 0.0.
6624         * tests/test-sprintf-posix.h (have_minus_zero): New function.
6625         (test_function): Skip tests involving -0.0 on platforms where
6626         -0.0 = 0.0.
6627         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
6628         tests.
6629         * tests/test-printf-posix.h (test_function): Likewise.
6630         * tests/test-printf-posix.output: Remove all -0.0 related results.
6631         Needed for IRIX 6.5.
6632
6633 2007-05-19  Bruno Haible  <bruno@clisp.org>
6634
6635         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
6636         printed as "nan0x7fffffff" instead of "nan".
6637         * tests/test-vasprintf-posix.c (test_function): Likewise.
6638         * tests/test-snprintf-posix.h (test_function): Likewise.
6639         * tests/test-sprintf-posix.h (test_function): Likewise.
6640         * tests/test-fprintf-posix.h (NaN): Remove macro.
6641         (test_function): Remove all NaN related tests.
6642         * tests/test-printf-posix.h (NaN): Remove macro.
6643         (test_function): Remove all NaN related tests.
6644         * tests/test-printf-posix.output: Remove all NaN related results.
6645         Needed for IRIX 6.5.
6646
6647 2007-05-19  Bruno Haible  <bruno@clisp.org>
6648
6649         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
6650         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6651
6652 2007-05-19  Bruno Haible  <bruno@clisp.org>
6653
6654         * lib/float_.h: New file.
6655         * m4/float_h.m4: New file.
6656         * modules/float: New file.
6657         * modules/isnanl (Dependencies): Add float.
6658         * modules/isnanl-nolibm (Dependencies): Likewise.
6659         * modules/mathl (Dependencies): Likewise.
6660         * modules/printf-frexpl (Dependencies): Likewise.
6661         * modules/signbit (Dependencies): Likewise.
6662         * modules/vasnprintf (Dependencies): Likewise.
6663         * doc/headers/float.texi: Update.
6664
6665 2007-05-19  Jim Meyering  <jim@meyering.net>
6666
6667         * lib/utimens.c (gl_futimens): Rename from futimens,
6668         now that glibc-2.6 declares futimens.
6669         * lib/utimens.h: Likewise.
6670
6671 2007-05-19  Bruno Haible  <bruno@clisp.org>
6672
6673         Avoid test failures on mingw.
6674         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
6675         * tests/test-printf-posix.sh: Likewise.
6676         * tests/test-vfprintf-posix.sh: Likewise.
6677         * tests/test-vprintf-posix.sh: Likewise.
6678
6679 2007-05-19  Bruno Haible  <bruno@clisp.org>
6680
6681         Fix *printf result for NaN, Inf, -0.0 on mingw.
6682         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
6683         * lib/vasnprintf.c: Include math.h and isnan.h.
6684         (is_infinite_or_zero): New function.
6685         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
6686         values in the %f, %F, %e, %E, %g, %G directives.
6687         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
6688         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6689         gl_PRINTF_INFINITE and test its result. Invoke
6690         gl_PREREQ_VASNPRINTF_INFINITE.
6691         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6692         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6693         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6694         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6695         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6696         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6697         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6698         * doc/functions/fprintf.texi: Update.
6699         * doc/functions/printf.texi: Update.
6700         * doc/functions/snprintf.texi: Update.
6701         * doc/functions/sprintf.texi: Update.
6702         * doc/functions/vfprintf.texi: Update.
6703         * doc/functions/vprintf.texi: Update.
6704         * doc/functions/vsnprintf.texi: Update.
6705         * doc/functions/vsprintf.texi: Update.
6706
6707 2007-05-19  Bruno Haible  <bruno@clisp.org>
6708
6709         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
6710         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
6711         Instead of multiplying with 10^k, set extra_zeroes to k.
6712         (scale10_round_long_double): Remove function.
6713
6714 2007-05-18  Bruno Haible  <bruno@clisp.org>
6715
6716         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
6717         introduced on 2007-05-06.
6718
6719 2007-05-18  Bruno Haible  <bruno@clisp.org>
6720
6721         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
6722         %g directives.
6723         * tests/test-vasprintf-posix.c (test_function): Likewise.
6724         * tests/test-snprintf-posix.h (test_function): Likewise.
6725         * tests/test-sprintf-posix.h (test_function): Likewise.
6726
6727 2007-05-18  Bruno Haible  <bruno@clisp.org>
6728
6729         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
6730         (strmatch): New function.
6731         (test_function): Test the %f directive on numbers of various exponents.
6732         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
6733         (strmatch): New function.
6734         (test_function): Test the %f directive on numbers of various exponents.
6735         * tests/test-snprintf-posix.h (strmatch): New function.
6736         (test_function): Test the %f directive on numbers of various exponents.
6737         * tests/test-sprintf-posix.h (strmatch): New function.
6738         (test_function): Test the %f directive on numbers of various exponents.
6739         * tests/test-snprintf-posix.c (SIZEOF): New macro.
6740         * tests/test-sprintf-posix.c (SIZEOF): New macro.
6741         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
6742         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
6743
6744 2007-05-18  Bruno Haible  <bruno@clisp.org>
6745
6746         Add support for 'long double' number output.
6747         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
6748         * lib/vasnprintf.c: Include math.h and float+.h.
6749         (mp_limb_t): New type.
6750         (GMP_LIMB_BITS): New macro.
6751         (mp_twolimb_t): New type.
6752         (GMP_TWOLIMB_BITS): New macro.
6753         (mpn_t): New type.
6754         (multiply, divide, convert_to_decimal, decode_long_double,
6755         scale10_round_long_double, scale10_round_decimal_long_double,
6756         floorlog10l): New functions.
6757         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
6758         for the %f, %F, %e, %E, %g, %G directives.
6759         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
6760         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6761         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
6762         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
6763         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6764         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6765         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6766         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6767         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6768         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6769         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6770         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
6771         * modules/snprintf-posix (Depends-on): Likewise.
6772         * modules/sprintf-posix (Depends-on): Likewise.
6773         * modules/vasnprintf-posix (Depends-on): Likewise.
6774         * modules/vasprintf-posix (Depends-on): Likewise.
6775         * modules/vfprintf-posix (Depends-on): Likewise.
6776         * modules/vsnprintf-posix (Depends-on): Likewise.
6777         * modules/vsprintf-posix (Depends-on): Likewise.
6778         * modules/vasnprintf (Files): Add lib/float+.h.
6779         * doc/functions/fprintf.texi: Update.
6780         * doc/functions/printf.texi: Update.
6781         * doc/functions/snprintf.texi: Update.
6782         * doc/functions/sprintf.texi: Update.
6783         * doc/functions/vfprintf.texi: Update.
6784         * doc/functions/vprintf.texi: Update.
6785         * doc/functions/vsnprintf.texi: Update.
6786         * doc/functions/vsprintf.texi: Update.
6787
6788 2007-05-18  Bruno Haible  <bruno@clisp.org>
6789
6790         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
6791
6792 2007-05-18  Bruno Haible  <bruno@clisp.org>
6793
6794         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
6795         for printing 64-bit integers. Needed for mingw.
6796
6797 2007-05-18  Bruno Haible  <bruno@clisp.org>
6798
6799         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
6800         gl_FUNC_FREXPL_WORKS.
6801         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
6802
6803 2007-05-18  Bruno Haible  <bruno@clisp.org>
6804
6805         * modules/frexpl-nolibm-tests: New file.
6806
6807         * modules/frexpl-nolibm: New file.
6808         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
6809
6810 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6811
6812         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
6813         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
6814         GCC 4.2, which otherwise issues a lot of warnings.
6815         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
6816         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
6817         Likewise.
6818         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
6819         * modules/iconv_open (iconv.h): Likewise.
6820         * modules/locale (locale.h): Likewise.
6821         * modules/netinet_in (netinet/in.h): Likewise.
6822         * modules/sys_select (sys_select.h): Likewise.
6823         * modules/sys_socket (sys/socket.h): Likewise.
6824         * modules/sys_stat (sys/stat.h): Likewise.
6825         * modules/sysexits (sysexits.h): Likewise.
6826         * modules/unistd (unistd.h): Likewise.
6827
6828 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6829
6830         * modules/closein-tests (Makefile.am): Distribute
6831         `test-closein.sh'.
6832
6833 2007-05-17  Bruno Haible  <bruno@clisp.org>
6834
6835         * tests/test-printf-posix.output: Renamed from
6836         tests/test-fprintf-posix.out.
6837         * modules/fprintf-posix-tests: Update.
6838         * modules/printf-posix-tests: Update.
6839         * modules/vfprintf-posix-tests: Update.
6840         * modules/vprintf-posix-tests: Update.
6841         * tests/test-fprintf-posix.sh: Update.
6842         * tests/test-printf-posix.sh: Update.
6843         * tests/test-vfprintf-posix.sh: Update.
6844         * tests/test-vprintf-posix.sh: Update.
6845         Reported by Ralf Wildenhues.
6846
6847 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6848
6849         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
6850         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
6851         GCC 4.2, which otherwise issues a lot of warnings.
6852         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
6853         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
6854         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
6855         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
6856         it should no longer be needed.
6857         * lib/string_.h: Likewise.
6858         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
6859         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
6860         * modules/inttypes (inttypes.h): Likewise.
6861         * modules/math (math.h): Likewise.
6862         * modules/search (search.h): Likewise.
6863         * modules/signal (signal.h): Likewise.
6864         * modules/stdint (stdint.h): Likewise.
6865         * modules/stdio (stdio.h): Likewise.
6866         * modules/stdlib (stdlib.h): Likewise.
6867         * modules/string (string.h): Likewise.
6868         * modules/sys_time (sys/time.h): Likewise.
6869         * modules/time (time.h): Likewise.
6870         * modules/wchar (wchar.h): Likewise.
6871         * modules/wctype (wtype.h): Likewise.
6872
6873 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6874
6875         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
6876
6877 2007-05-13  Bruno Haible  <bruno@clisp.org>
6878
6879         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
6880         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6881         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
6882         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6883         (gl_PREREQ_STRTOK_R): Don't require it here.
6884
6885 2007-05-13  Bruno Haible  <bruno@clisp.org>
6886
6887         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
6888         when used in C++ mode.
6889
6890 2007-05-12  Bruno Haible  <bruno@clisp.org>
6891
6892         * lib/linebuffer.h: Tweak doc.
6893         * lib/linebuffer.c: Likewise.
6894
6895 2007-05-12  James Youngman  <jay@gnu.org>
6896
6897         * lib/linebuffer.c (readlinebuffer_delim): New function,
6898         like readlinebuffer, but use a caller-specified delimiter.
6899         (readlinebuffer): Just call readlinebuffer_delim with '\n'
6900         as the delimiter.
6901         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
6902
6903 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6904
6905         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
6906         * modules/openat (Files): Remove openat-die.c.
6907         (Depends-on): Add openat-die.
6908         * modules/openat-die: New module.
6909
6910 2007-05-06  Bruno Haible  <bruno@clisp.org>
6911
6912         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
6913         Update with info about Cygwin.
6914         * doc/functions/fprintf.texi: Update.
6915         * doc/functions/printf.texi: Update.
6916         * doc/functions/snprintf.texi: Update.
6917         * doc/functions/sprintf.texi: Update.
6918         * doc/functions/vfprintf.texi: Update.
6919         * doc/functions/vprintf.texi: Update.
6920         * doc/functions/vsnprintf.texi: Update.
6921         * doc/functions/vsprintf.texi: Update.
6922         Reported by Eric Blake.
6923
6924 2007-05-06  Bruno Haible  <bruno@clisp.org>
6925
6926         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
6927         padding ourselves for the floating-point directives.
6928         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
6929         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
6930         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
6931         gl_PRINTF_FLAG_ZERO and test its result. Invoke
6932         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
6933         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6934         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
6935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6937         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6938         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6939         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6940         * tests/test-snprintf-posix.h (test_function): Also check the width
6941         and some flags in the %f directive.
6942         * tests/test-sprintf-posix.h (test_function): Likewise.
6943         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6944         * tests/test-vasprintf-posix.c (test_function): Likewise.
6945         * doc/functions/fprintf.texi: Update.
6946         * doc/functions/printf.texi: Update.
6947         * doc/functions/snprintf.texi: Update.
6948         * doc/functions/sprintf.texi: Update.
6949         * doc/functions/vfprintf.texi: Update.
6950         * doc/functions/vprintf.texi: Update.
6951         * doc/functions/vsnprintf.texi: Update.
6952         * doc/functions/vsprintf.texi: Update.
6953
6954 2007-05-06  Bruno Haible  <bruno@clisp.org>
6955
6956         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
6957         pass the ' flag character to sprintf or snprintf.
6958         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
6959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
6960         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
6961         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
6962         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
6963         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6964         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
6965         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6966         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6967         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6968         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6969         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6970         * tests/test-snprintf-posix.h (test_function): Also check the grouping
6971         flag.
6972         * tests/test-sprintf-posix.h (test_function): Likewise.
6973         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6974         * tests/test-vasprintf-posix.c (test_function): Likewise.
6975         * doc/functions/fprintf.texi: Update.
6976         * doc/functions/printf.texi: Update.
6977         * doc/functions/snprintf.texi: Update.
6978         * doc/functions/sprintf.texi: Update.
6979         * doc/functions/vfprintf.texi: Update.
6980         * doc/functions/vprintf.texi: Update.
6981         * doc/functions/vsnprintf.texi: Update.
6982         * doc/functions/vsprintf.texi: Update.
6983
6984 2007-05-01  Bruno Haible  <bruno@clisp.org>
6985
6986         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
6987
6988 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
6989
6990         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
6991         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
6992
6993 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6994
6995         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
6996         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
6997         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
6998
6999 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
7000
7001         * lib/argp-help.c (struct hol_entry): New member `ord'.
7002         (HOL_ENTRY_PTRCMP): Use ord for comparison
7003         (hol_sort): Initialize ord.
7004
7005 2007-05-01  Bruno Haible  <bruno@clisp.org>
7006
7007         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
7008         Reported by Eric Blake.
7009         * doc/gnulib.texi (Function Substitutes): Update.
7010
7011 2007-05-01  Bruno Haible  <bruno@clisp.org>
7012
7013         * doc/functions.texi: Remove file, now redundant through
7014         doc/functions/*.texi.
7015
7016 2007-05-01  Bruno Haible  <bruno@clisp.org>
7017
7018         * modules/argp (Depends-on): Add sleep.
7019
7020 2007-05-01  Bruno Haible  <bruno@clisp.org>
7021
7022         * modules/sleep-tests: New file.
7023         * tests/test-sleep.c: New file.
7024
7025         * modules/sleep: New file.
7026         * lib/sleep.c: New file.
7027         * m4/sleep.m4: New file.
7028         * lib/unistd_.h (sleep): New declaration.
7029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
7030         HAVE_SLEEP.
7031         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
7032         * doc/functions/sleep.texi: Document the sleep module.
7033
7034 2007-05-01  Bruno Haible  <bruno@clisp.org>
7035
7036         * lib/sigprocmask.h: Remove file.
7037         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
7038         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
7039         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
7040         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
7041         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
7042         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
7043         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
7044         HAVE_SIGSET_T as a shell variable.
7045         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
7046         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
7047         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
7048         (Depends-on): Add signal. Remove verify.
7049         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
7050         (Include): Mention <signal.h> instead of sigprocmask.h.
7051         * NEWS: Mention the change.
7052         * lib/fatal-signal.c: Don't include sigprocmask.h.
7053
7054 2007-05-01  Bruno Haible  <bruno@clisp.org>
7055
7056         * modules/signal: New file.
7057         * lib/signal_.h: New file.
7058         * m4/signal_h.m4: New file.
7059
7060 2007-05-01  Bruno Haible  <bruno@clisp.org>
7061
7062         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
7063         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
7064         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
7065         HAVE_WCTYPE_CTMP_BUG into wctype.h.
7066
7067 2007-05-01  Bruno Haible  <bruno@clisp.org>
7068
7069         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
7070         configure time.
7071         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
7072         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
7073         * modules/sys_stat (Makefile.am): Substitute their values into
7074         sys/stat.h.
7075
7076 2007-05-01  Bruno Haible  <bruno@clisp.org>
7077
7078         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
7079         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
7080         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
7081
7082 2007-05-01  Bruno Haible  <bruno@clisp.org>
7083
7084         * doc/header/assert.texi: Undo last change: don't mention the gnulib
7085         'assert' module here.
7086
7087 2007-05-01  Bruno Haible  <bruno@clisp.org>
7088
7089         * doc/functions/*.texi: New files.
7090         * doc/functions/google-ranking.txt: New file.
7091         * doc/gnulib.texi (Function Substitutes): New chapter.
7092         (ctime, inet_ntoa): Remove sections.
7093         * doc/ctime.texi: Remove file.
7094         * doc/inet_ntoa.texi: Remove file.
7095         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
7096         dependencies.
7097         (%.info): New rule, specifying a --reference-limit.
7098
7099 2007-05-01  Bruno Haible  <bruno@clisp.org>
7100
7101         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
7102
7103 2007-05-01  Bruno Haible  <bruno@clisp.org>
7104
7105         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
7106         the portability of 'mkdir' to mingw systems.
7107
7108 2007-05-01  Bruno Haible  <bruno@clisp.org>
7109
7110         * doc/headers/google-ranking.txt: New file.
7111
7112 2007-04-30  Eric Blake  <ebb9@byu.net>
7113
7114         Prefer fseeko to fseek.
7115         * modules/getpass (Depends-on): Add fseeko.
7116         * lib/getpass.c (getpass): Use fseeko, not fseek.
7117
7118 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
7119
7120         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
7121         assumes the sorting is stable, while most qsort implementations
7122         are not.  Use argument addresses to ensure they never compare as
7123         equal.
7124
7125         * tests/test-argp-2.sh (usage-indent test): Fix output
7126         (func_compare): Restore diff options
7127         * tests/test-argp.c: Restore #include "progname.h"
7128
7129 2007-04-29  Bruno Haible  <bruno@clisp.org>
7130
7131         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
7132         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7133         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
7134         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7135         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
7136         (configure.ac): Define CHECK_SNPRINTF_POSIX.
7137         (TESTS, check_PROGRAMS): Add test-snprintf.
7138         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
7139         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
7140         (TESTS, check_PROGRAMS): Add test-vsnprintf.
7141         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
7142         assertions that fail on HP-UX, OSF/1, or IRIX.
7143         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
7144
7145 2007-04-29  Bruno Haible  <bruno@clisp.org>
7146
7147         * MODULES.html.sh (posix_functions): Remove 'contents'.
7148
7149 2007-04-29  Karl Berry  <karl@gnu.org>
7150
7151         * config/srclist.txt (gendocs_template_min): new entry.
7152
7153 2007-04-29  Bruno Haible  <bruno@clisp.org>
7154
7155         Work around fpurge bug on BSD systems.
7156         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
7157         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
7158         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
7159         fpurge to rpl_fpurge if the system already has this function.
7160         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
7161         the case where the system already has this function. Correct invariants
7162         on BSD systems.
7163         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
7164         BSD systems.
7165
7166 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
7167
7168         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
7169         proposed by Sven Verdoolaege.
7170
7171         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
7172         options.
7173         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
7174         (usage and help tests): Update
7175
7176 2007-04-29  Bruno Haible  <bruno@clisp.org>
7177
7178         * tests/test-fflush.c (main): Use a file of size 17, not 10.
7179         Print more information in case of failure. Disable a test on BeOS.
7180
7181 2007-04-29  Bruno Haible  <bruno@clisp.org>
7182
7183         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
7184         This helps debugging on systems on which no gdb is available.
7185
7186 2007-04-29  Bruno Haible  <bruno@clisp.org>
7187
7188         * lib/freading.h: Improve comments.
7189         * lib/fwriting.h: Likewise.
7190         * tests/test-freading.c (main): Don't check freading immediately after
7191         repositioning. Needed for glibc.
7192
7193 2007-04-29  Bruno Haible  <bruno@clisp.org>
7194
7195         * lib/freading.c (freading): Trivial simplification.
7196
7197 2007-04-28  Bruno Haible  <bruno@clisp.org>
7198
7199         * tests/test-fwriting.c (main): Also test the interaction between
7200         fflush and fwriting.
7201         * modules/fwriting-tests (Depends-on): Add fflush.
7202
7203         * tests/test-freading.c (main): Also test the interaction between
7204         fflush and freading.
7205         * modules/freading-tests (Depends-on): Add fflush.
7206
7207 2007-04-28  Bruno Haible  <bruno@clisp.org>
7208
7209         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
7210         fseeko and ftello.
7211         Suggested by Eric Blake.
7212
7213 2007-04-28  Jim Meyering  <jim@meyering.net>
7214
7215         Avoid false-negative in gl_STDINT_H's C99 conformance test.
7216         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
7217         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
7218
7219 2007-04-27  Eric Blake  <ebb9@byu.net>
7220
7221         * doc/headers/assert.texi (assert.h): Document assert module use.
7222
7223 2007-04-27  Bruno Haible  <bruno@clisp.org>
7224
7225         * doc/headers/*.texi: New files.
7226         * doc/gnulib.texi (Header File Substitutes): New chapter.
7227         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
7228         dependencies.
7229         (standards.info ,standards.html, standards.dvi): Update dependencies.
7230         (mostlyclean, clean): New targets.
7231
7232 2007-04-27  Bruno Haible  <bruno@clisp.org>
7233
7234         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
7235         * modules/sysexits (Files, Makefile.am): Update.
7236
7237         * lib/sys_socket_.h: Renamed from lib/socket_.h.
7238         * modules/sys_socket (Files, Makefile.am): Update.
7239
7240         * lib/sys_stat_.h: Renamed from lib/stat_.h.
7241         * modules/sys_stat (Files, Makefile.am): Update.
7242
7243 2007-04-27  Eric Blake  <ebb9@byu.net>
7244
7245         * lib/freading.h: Improve comments.
7246         * lib/fwriting.h: Likewise.
7247         * lib/fflush.c: Likewise.
7248
7249         Fix closein for mingw.
7250         * modules/closein-tests: Add tests for closein.
7251         * tests/test-closein.c: New file.
7252         * tests/test-closein.sh: Likewise.
7253         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
7254         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
7255
7256 2007-04-27  Bruno Haible  <bruno@clisp.org>
7257
7258         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
7259         version is < 6.
7260         * lib/math_.h [__DECC]: Likewise.
7261         * lib/stdio_.h [__DECC]: Likewise.
7262         * lib/stdlib_.h [__DECC]: Likewise.
7263         * lib/string_.h [__DECC]: Likewise.
7264         * lib/time_.h [__DECC]: Likewise.
7265         * lib/wchar_.h [__DECC]: Likewise.
7266         * lib/wctype_.h [__DECC]: Likewise.
7267
7268 2007-04-27  Bruno Haible  <bruno@clisp.org>
7269
7270         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
7271
7272 2007-04-27  Bruno Haible  <bruno@clisp.org>
7273
7274         * lib/fflush.c: Add comments.
7275         * modules/fpurge-tests (Depends-on): Add fflush.
7276         * modules/freadable-tests (Depends-on): Likewise.
7277         * modules/fwritable-tests (Depends-on): Likewise.
7278
7279 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
7280
7281         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
7282         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
7283         Report by Bruno Haible <bruno@clisp.org>.
7284
7285 2007-04-26  Eric Blake  <ebb9@byu.net>
7286
7287         Fix fflush on mingw.
7288         * modules/fflush (Depends-on): Add freading.
7289         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
7290         but unread data.
7291
7292 2007-04-26  Eric Blake  <ebb9@byu.net>
7293         and Bruno Haible  <bruno@clisp.org>
7294
7295         Implement freading and fwriting.
7296         * lib/freading.c: New file.
7297         * lib/freading.h: Likewise.
7298         * m4/freading.m4: Likewise.
7299         * modules/freading: Likewise.
7300         * modules/freading-tests: Likewise.
7301         * tests/test-freading.c: Likewise.
7302         * lib/fwriting.c: New file.
7303         * lib/fwriting.h: Likewise.
7304         * m4/fwriting.m4: Likewise.
7305         * modules/fwriting: Likewise.
7306         * modules/fwriting-tests: Likewise.
7307         * tests/test-fwriting.c: Likewise.
7308         * MODULES.html.sh (File stream based Input/Output): Mention them.
7309
7310 2007-04-26  Bruno Haible  <bruno@clisp.org>
7311
7312         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
7313         'long' when we assume it.
7314         Suggested by Eric Blake.
7315
7316 2007-04-26  Bruno Haible  <bruno@clisp.org>
7317
7318         Ensure fseeko, ftello are declared on glibc systems.
7319         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
7320         * modules/fseeko (configure.ac-early): Likewise.
7321         * modules/ftello (configure.ac-early): Likewise.
7322         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
7323         AC_FUNC_FSEEKO for this.
7324         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
7325         (gl_CHECK_FSEEKO): Remove macro.
7326
7327 2007-04-26  Bruno Haible  <bruno@clisp.org>
7328
7329         * tests/test-fflush.c (main): Also check the ftell result after
7330         fflush and fseek/fseeko.
7331         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
7332         file descriptor position cache in the stream.
7333         * lib/fseeko.c (rpl_fseeko): Likewise.
7334
7335 2007-04-26  Bruno Haible  <bruno@clisp.org>
7336
7337         * modules/fflush-tests (Depends-on): Add fseeko.
7338
7339 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
7340             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7341
7342         * lib/argz_.h: ensure error_t definition is obtained in same
7343         mechanism system argz.h would have.
7344         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
7345         argz facilities are known bad.  Err on the side of caution if
7346         cross-compiling.
7347
7348 2007-04-25  Eric Blake  <ebb9@byu.net>
7349
7350         * lib/fpurge.c (includes): Use stdlib.h for free.
7351         * tests/test-fflush.c (main): Also test fflush-fseeko.
7352
7353 2007-04-25  Bruno Haible  <bruno@clisp.org>
7354
7355         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
7356         * lib/fseeko.c: New file.
7357         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
7358         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
7359         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
7360         gl_FUNC_FSEEKO.
7361         (gl_FUNC_FSEEKO): Invoke it.
7362         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
7363         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
7364         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
7365
7366 2007-04-25  Bruno Haible  <bruno@clisp.org>
7367
7368         * modules/fflush (Depends-on): Add ftello.
7369
7370 2007-04-25  Bruno Haible  <bruno@clisp.org>
7371
7372         * modules/ftello-tests: New file.
7373         * tests/test-ftello.c: New file.
7374
7375         * modules/ftello: New file.
7376         * m4/ftello.m4: New file.
7377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
7378         HAVE_FTELLO.
7379         * lib/stdio_.h (ftello): New declaration.
7380         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
7381         HAVE_FTELLO.
7382
7383 2007-04-25  Bruno Haible  <bruno@clisp.org>
7384
7385         * modules/fseeko-tests: New file.
7386         * tests/test-fseeko.c: New file.
7387
7388         * modules/fseeko: New file.
7389         * m4/fseeko.m4: New file.
7390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
7391         HAVE_FSEEKO.
7392         * lib/stdio_.h (fseeko): New declaration.
7393         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
7394         HAVE_FSEEKO.
7395
7396 2007-04-25  Bruno Haible  <bruno@clisp.org>
7397
7398         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
7399
7400 2007-04-25  Bruno Haible  <bruno@clisp.org>
7401
7402         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
7403         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
7404         * tests/test-unistd.c: Likewise.
7405         * tests/test-fcntl.c: Likewise.
7406
7407 2007-04-23  Eric Blake  <ebb9@byu.net>
7408
7409         * lib/fflush.c: Fix missing include.
7410         Reported by Bruno Haible.
7411
7412 2007-04-23  Bruno Haible  <bruno@clisp.org>
7413
7414         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
7415         Reported by Eric Blake.
7416
7417 2007-04-23  Bruno Haible  <bruno@clisp.org>
7418
7419         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
7420
7421 2007-04-23  Bruno Haible  <bruno@clisp.org>
7422
7423         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
7424
7425 2007-04-23  Bruno Haible  <bruno@clisp.org>
7426
7427         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
7428         Needed on HP-UX 11.
7429
7430 2007-04-16  Eric Blake  <ebb9@byu.net>
7431
7432         Make fflush rely on fpurge.
7433         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
7434         open coding all variants.
7435         * modules/fflush (Depends-on): Add fpurge and unistd.
7436         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
7437         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
7438
7439         Fix --with-tests compilation on cygwin.
7440         * modules/argmatch-tests (Makefile.am): List gnulib library first
7441         in LDADD.
7442         * modules/argp-tests (Makefile.am): Likewise.
7443         * modules/array-list-tests (Makefile.am): Likewise.
7444         * modules/array-oset-tests (Makefile.am): Likewise.
7445         * modules/avltree-list-tests (Makefile.am): Likewise.
7446         * modules/avltree-oset-tests (Makefile.am): Likewise.
7447         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7448         * modules/carray-list-tests (Makefile.am): Likewise.
7449         * modules/dirname-tests (Makefile.am): Likewise.
7450         * modules/frexp-tests (Makefile.am): Likewise.
7451         * modules/isnanl-tests (Makefile.am): Likewise.
7452         * modules/linked-list-tests (Makefile.am): Likewise.
7453         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7454         * modules/lock-tests (Makefile.am): Likewise.
7455         * modules/rbtree-list-tests (Makefile.am): Likewise.
7456         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7457         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7458         * modules/tls-tests (Makefile.am): Likewise.
7459         * modules/tsearch-tests (Makefile.am): Likewise.
7460         * modules/xvasprintf-tests (Makefile.am): Likewise.
7461
7462         Fix fpurge for cygwin.
7463         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
7464         value.
7465         * modules/fpurge-tests (Depends-on): Clean up trash.
7466
7467 2007-04-16  Simon Josefsson  <simon@josefsson.org>
7468
7469         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
7470
7471         * m4/autobuild.m4: Re-indent.
7472
7473 2007-04-13  Bruno Haible  <bruno@clisp.org>
7474
7475         * modules/fpurge-tests: New file.
7476         * tests/test-fpurge.c: New file.
7477
7478         * modules/fpurge: New file.
7479         * lib/fpurge.h: New file.
7480         * lib/fpurge.c: New file.
7481         * m4/fpurge.m4: New file.
7482
7483 2007-04-13  Bruno Haible  <bruno@clisp.org>
7484
7485         * modules/fbufmode-tests: New file.
7486         * tests/test-fbufmode.c: New file.
7487
7488         * modules/fbufmode: New file.
7489         * lib/fbufmode.h: New file.
7490         * lib/fbufmode.c: New file.
7491         * m4/fbufmode.m4: New file.
7492
7493 2007-04-13  Bruno Haible  <bruno@clisp.org>
7494
7495         * modules/fwritable-tests: New file.
7496         * tests/test-fwritable.c: New file.
7497
7498         * modules/fwritable: New file.
7499         * lib/fwritable.h: New file.
7500         * lib/fwritable.c: New file.
7501         * m4/fwritable.m4: New file.
7502
7503 2007-04-13  Bruno Haible  <bruno@clisp.org>
7504
7505         * modules/freadable-tests: New file.
7506         * tests/test-freadable.c: New file.
7507
7508         * modules/freadable: New file.
7509         * lib/freadable.h: New file.
7510         * lib/freadable.c: New file.
7511         * m4/freadable.m4: New file.
7512
7513 2007-04-13  Bruno Haible  <bruno@clisp.org>
7514
7515         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
7516         MOSTLYCLEANFILES.
7517
7518 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7519
7520         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
7521         gzip bootstrap.conf to avoid dragging in i18n machinery.
7522         (gnulib_tool_option): Use it.
7523
7524 2007-04-13  Bruno Haible  <bruno@clisp.org>
7525
7526         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
7527         %F directives.
7528         * tests/test-vasprintf-posix.c (test_function): Likewise.
7529         * tests/test-snprintf-posix.h (test_function): Likewise.
7530         * tests/test-sprintf-posix.h (test_function): Likewise.
7531         * tests/test-fprintf-posix.h (test_function): Likewise.
7532         * tests/test-printf-posix.h (test_function): Likewise.
7533         * tests/test-fprintf-posix.out: Likewise.
7534
7535 2007-04-13  Bruno Haible  <bruno@clisp.org>
7536
7537         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
7538         * modules/tls-tests (configure.ac): Likewise.
7539         Reported by Arto C. Nirkko <anirkko@insel.ch>.
7540
7541 2007-04-13  Bruno Haible  <bruno@clisp.org>
7542
7543         * lib/tls.c (glthread_tls_get): Fix return type.
7544         Patch by Arto C. Nirkko <anirkko@insel.ch>.
7545
7546 2007-04-12  Eric Blake  <ebb9@byu.net>
7547
7548         * modules/gettime (Depends-on): Remove gettime.
7549         Reported by Dmitry V. Levin.
7550
7551 2007-04-12  Bruno Haible  <bruno@clisp.org>
7552
7553         * modules/fflush (Include): Mention <stdio.h>.
7554         * modules/strtoimax (Include): Mention <inttypes.h>.
7555         * modules/strtoumax (Include): Likewise.
7556
7557 2007-04-12  Eric Blake  <ebb9@byu.net>
7558
7559         * .cvsignore: New file.
7560         * .gitignore: Likewise.
7561
7562 2007-04-12  Bruno Haible  <bruno@clisp.org>
7563
7564         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
7565         not before, since $(LDADD) often contains libgnu.a.
7566         * modules/striconv-tests (test_striconv_LDADD): Likewise.
7567         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
7568         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
7569         Needed on Cygwin.
7570
7571 2007-04-12  Eric Blake  <ebb9@byu.net>
7572
7573         Work around glibc's failure to flush stdin on fclose.
7574         * lib/closein.c (close_stdin): Flush stdin before closing.
7575
7576         Work around glibc's failure to reset seekable stdin on exit.
7577         * modules/closein: New module.
7578         * lib/closein.c: New file.
7579         * lib/closein.h: Likewise.
7580         * m4/closein.m4: Likewise.
7581         * MODULES.html.sh (File stream based Input/Output): Document it.
7582
7583 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7584
7585         * gnulib-tool: Rename generated 'autobuild' script to
7586         'do-autobuild' in --create-megatestdir output.
7587
7588         * doc/gnulib.texi (Build robot for gnulib): Fix.
7589
7590 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7591
7592         * modules/sysexits (Depends-on): Add absolute-header.
7593
7594 2007-04-12  Eric Blake  <ebb9@byu.net>
7595
7596         No need to preserve errno on success.
7597         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
7598         Reported by Bruno Haible.
7599
7600 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7601
7602         * MODULES.html.sh (Support for maintaining and releasing
7603         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
7604
7605 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7606
7607         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
7608
7609 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7610
7611         * modules/autobuild: New module.
7612
7613         * m4/autobuild.m4: New file.
7614
7615 2007-04-11  Bruno Haible  <bruno@clisp.org>
7616
7617         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
7618         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
7619         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
7620         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
7621         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7622         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7623         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7624         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7625         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7626         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7627         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
7628         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7629         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7630         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
7631         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7632         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7633         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
7634         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7635         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7636         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
7637         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7638         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7639         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
7640         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7641         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7642         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
7643         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7644         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7645         Reported by Eric Blake.
7646
7647 2007-04-11  Bruno Haible  <bruno@clisp.org>
7648
7649         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
7650
7651 2007-04-10  Bruno Haible  <bruno@clisp.org>
7652
7653         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
7654         for NaN and Infinity. Needed on FreeBSD 6.1.
7655         * tests/test-vasnprintf-posix.c (test_function): Undo last change
7656         regarding results for "%010a" of Infinity and NaN.
7657         * tests/test-vasprintf-posix.c (test_function): Likewise.
7658         * tests/test-snprintf-posix.h (test_function): Likewise.
7659         * tests/test-sprintf-posix.h (test_function): Likewise.
7660         * tests/test-fprintf-posix.h (test_function): Likewise.
7661         * tests/test-printf-posix.h (test_function): Likewise.
7662         * tests/test-fprintf-posix.out: Likewise.
7663
7664 2007-04-10  Bruno Haible  <bruno@clisp.org>
7665
7666         * modules/locale-tests: New file.
7667         * tests/test-locale.c: New file.
7668
7669         * modules/locale: New file.
7670         * lib/locale_.h: New file.
7671         * m4/locale_h.m4: New file.
7672
7673 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7674             Bruno Haible  <bruno@clisp.org>
7675
7676         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
7677         be determined, test for availability of the copysignf, copysign,
7678         copysignl functions.
7679         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
7680         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
7681         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
7682
7683 2007-04-09  Eric Blake  <ebb9@byu.net>
7684
7685         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
7686         * modules/stdio (Makefile.am): Support fflush.
7687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
7688         * modules/fflush: New file.
7689         * lib/fflush.c: Likewise.
7690         * m4/fflush.m4: Likewise.
7691         * modules/fflush-tests: New test.
7692         * tests/test-fflush.c: Likewise.
7693         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
7694
7695 2007-04-06  Bruno Haible  <bruno@clisp.org>
7696
7697         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
7698         (VASNPRINTF): Use signbit for faster determination whether to print a
7699         minus sign.
7700         * modules/vasnprintf (Files): Remove lib/float+.h.
7701         * modules/fprintf-posix (Depends-on): Add signbit.
7702         * modules/snprintf-posix (Depends-on): Likewise.
7703         * modules/sprintf-posix (Depends-on): Likewise.
7704         * modules/vasnprintf-posix (Depends-on): Likewise.
7705         * modules/vasprintf-posix (Depends-on): Likewise.
7706         * modules/vfprintf-posix (Depends-on): Likewise.
7707         * modules/vsnprintf-posix (Depends-on): Likewise.
7708         * modules/vsprintf-posix (Depends-on): Likewise.
7709
7710 2007-04-06  Bruno Haible  <bruno@clisp.org>
7711
7712         * tests/test-frexp.c (main): Test also the sign bit of zero results.
7713         * tests/test-frexpl.c (main): Likewise.
7714         * tests/test-ldexpl.c (main): Likewise.
7715         * modules/frexp-tests (Depends-on): Add signbit.
7716         * modules/frexpl-tests (Depdends-on): Likewise.
7717         * modules/ldexpl-tests (Depdends-on): Likewise.
7718
7719 2007-04-06  Bruno Haible  <bruno@clisp.org>
7720
7721         * modules/signbit-tests: New file.
7722         * tests/test-signbit.c: New file.
7723
7724         * modules/signbit: New file.
7725         * lib/signbitf.c: New file.
7726         * lib/signbitd.c: New file.
7727         * lib/signbitl.c: New file.
7728         * m4/signbit.m4: New file.
7729         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
7730         (signbit): New macro.
7731         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
7732         REPLACE_SIGNBIT.
7733         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
7734         REPLACE_FREXPL into math.h.
7735
7736 2007-04-06  Bruno Haible  <bruno@clisp.org>
7737
7738         * modules/isnanf-nolibm-tests: New file.
7739         * tests/test-isnanf.c: New file.
7740
7741         * modules/isnanf-nolibm: New file.
7742         * lib/isnanf.h: New file.
7743         * lib/isnanf.c: New file.
7744         * lib/isnan.c: Consider the USE_FLOAT macro.
7745         * m4/isnanf.m4: New file.
7746
7747 2007-04-06  Bruno Haible  <bruno@clisp.org>
7748
7749         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
7750         (Link): New section.
7751
7752         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
7753
7754 2007-04-06  Bruno Haible  <bruno@clisp.org>
7755
7756         Assume the 'long double' type.
7757         * m4/longdouble.m4: Remove file.
7758         * config/srclist.txt: Don't mention longdouble.m4.
7759         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
7760         * lib/float+.h: Likewise.
7761         * lib/frexp.c: Likewise.
7762         * lib/printf-args.h: Likewise.
7763         * lib/printf-args.c: Likewise.
7764         * lib/printf-frexp.c: Likewise.
7765         * lib/printf-parse.c: Likewise.
7766         * lib/vasnprintf.c: Likewise.
7767         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
7768         * m4/intl.m4: Likewise.
7769         * m4/isnanl.m4: Likewise.
7770         * m4/printf.m4: Likewise.
7771         * m4/printf-frexpl.m4: Likewise.
7772         * m4/vasnprintf.m4: Likewise.
7773         * modules/allocsa (Files): Remove m4/longdouble.m4.
7774         * modules/gettext (Files): Likewise.
7775         * modules/relocatable-prog-wrapper (Files): Likewise.
7776         * modules/vasnprintf (Files): Likewise.
7777         * modules/isnanl (Files): Likewise.
7778         (Include): Simplify.
7779         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
7780         (Include): Simplify.
7781         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
7782         (Include): Simplify.
7783         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
7784         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7785         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
7786         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7787         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
7788         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7789         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
7790         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7791         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
7792         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7793         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
7794         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7795         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
7796         * tests/test-isnanl.c: Likewise.
7797         * tests/test-snprintf-posix.h: Likewise.
7798         * tests/test-sprintf-posix.h: Likewise.
7799         * tests/test-vasnprintf-posix.c: Likewise.
7800         * tests/test-vasnprintf-posix2.c: Likewise.
7801         * tests/test-vasprintf-posix.c: Likewise.
7802
7803 2007-04-06  Bruno Haible  <bruno@clisp.org>
7804
7805         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
7806         * lib/math_.h [__DECC]: Include the overridden include file through
7807         #include_next, outside the double-inclusion guard.
7808         * lib/stdio_.h [__DECC]: Likewise.
7809         * lib/stdlib_.h [__DECC]: Likewise.
7810         * lib/string_.h [__DECC]: Likewise.
7811         * lib/time_.h [__DECC]: Likewise.
7812         * lib/wchar_.h [__DECC]: Likewise.
7813         * lib/wctype_.h [__DECC]: Likewise.
7814         * lib/inttypes_.h [__DECC]: Likewise.
7815         Reported by Albert Chin <china@thewrittenword.com> in
7816         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
7817
7818 2007-04-04  Eric Blake  <ebb9@byu.net>
7819
7820         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
7821         1.5.x.
7822
7823 2007-04-04  Bruno Haible  <bruno@clisp.org>
7824
7825         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
7826         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
7827
7828 2007-04-04  Bruno Haible  <bruno@clisp.org>
7829
7830         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
7831         results for "%010a" of Infinity and NaN.
7832         * tests/test-vasprintf-posix.c (test_function): Likewise.
7833         * tests/test-snprintf-posix.h (test_function): Likewise.
7834         * tests/test-sprintf-posix.h (test_function): Likewise.
7835         * tests/test-fprintf-posix.h (test_function): Remove these tests.
7836         * tests/test-printf-posix.h (test_function): Likewise.
7837         * tests/test-fprintf-posix.out: Update.
7838         Needed for FreeBSD 6.1.
7839
7840 2007-04-04  Bruno Haible  <bruno@clisp.org>
7841
7842         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
7843         directly used by the gnulib modules nor by gnulib-tool.
7844
7845 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
7846
7847         * DEPENDENCIES: Give overall description of version dependency
7848         desirability.  Use more-typical names for apps.
7849         Add shell, coreutils, diffutils, grep, tar, gzip.
7850
7851 2007-04-04  Simon Josefsson  <simon@josefsson.org>
7852
7853         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
7854
7855 2007-04-04  Karl Berry  <karl@gnu.org>
7856
7857         * MODULES.html.sh (func_module): missing '.
7858
7859 2007-04-03  Bruno Haible  <bruno@clisp.org>
7860
7861         * modules/argmatch-tests (Makefile.am): New variable
7862         test_argmatch_LDADD.
7863         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
7864         * modules/array-list-tests (Makefile.am): New variable
7865         test_array_list_LDADD.
7866         * modules/array-oset-tests (Makefile.am): New variable
7867         test_array_oset_LDADD.
7868         * modules/avltree-list-tests (Makefile.am): New variable
7869         test_avltree_list_LDADD.
7870         * modules/avltree-oset-tests (Makefile.am): New variable
7871         test_avltree_oset_LDADD.
7872         * modules/avltreehash-list-tests (Makefile.am): New variable
7873         test_avltreehash_list_LDADD.
7874         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
7875         test_canonicalize_lgpl_LDADD.
7876         * modules/carray-list-tests (Makefile.am): New variable
7877         test_carray_list_LDADD.
7878         * modules/dirname-tests (Makefile.am): New variable
7879         test_dirname_LDADD.
7880         * modules/linked-list-tests (Makefile.am): New variable
7881         test_linked_list_LDADD.
7882         * modules/linkedhash-list-tests (Makefile.am): New variable
7883         test_linkedhash_list_LDADD.
7884         * modules/rbtree-list-tests (Makefile.am): New variable
7885         test_rbtree_list_LDADD.
7886         * modules/rbtree-oset-tests (Makefile.am): New variable
7887         test_rbtree_oset_LDADD.
7888         * modules/rbtreehash-list-tests (Makefile.am): New variable
7889         test_rbtreehash_list_LDADD.
7890         * modules/xvasprintf-tests (Makefile.am): New variable
7891         test_xvasprintf_LDADD.
7892         Reported by Eric Blake.
7893
7894 2007-04-03  Eric Blake  <ebb9@byu.net>
7895
7896         * DEPENDENCIES: Weaken m4 requirements.
7897
7898 2007-04-03  Bruno Haible  <bruno@clisp.org>
7899
7900         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
7901         * modules/isnanl-tests (configure.ac): Likewise.
7902
7903 2007-04-03  Ben Pfaff  <blp@gnu.org>
7904
7905         * modules/iconv_open: Add $(srcdir)/ to source directory
7906         references in Makefile fragments that call gperf, to fix VPATH
7907         builds.
7908
7909 2007-04-03  Bruno Haible  <bruno@clisp.org>
7910
7911         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
7912         * lib/ldexpl.c: Undo last change.
7913
7914 2007-04-03  Bruno Haible  <bruno@clisp.org>
7915
7916         * modules/printf-frexpl (Depends-on): Undo last change.
7917         (Files): Add m4/ldexpl.m4.
7918
7919 2007-04-03  Bruno Haible  <bruno@clisp.org>
7920
7921         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
7922         * modules/isnanl (Link): New section.
7923
7924         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
7925         * modules/frexp (Link): New section.
7926
7927         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
7928         * modules/frexpl (Link): New section.
7929
7930         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
7931         * modules/ldexpl (Link): New section.
7932
7933 2007-04-03  Bruno Haible  <bruno@clisp.org>
7934
7935         * modules/TEMPLATE-EXTENDED: New file.
7936         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
7937
7938 2007-04-03  Bruno Haible  <bruno@clisp.org>
7939
7940         * DEPENDENCIES: New file.
7941         Suggested by Simon Josefsson.
7942
7943 2007-04-03  Bruno Haible  <bruno@clisp.org>
7944
7945         * doc/gnulib.texi: Escape @.
7946
7947 2007-04-03  James Youngman  <jay@gnu.org>
7948         and Paul Eggert  <eggert@cs.ucla.edu>
7949
7950         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
7951         birthtime on all systems that have birthtime, not just those which
7952         use st_birthtimensec rather than st_birthtim.  Putting zero in
7953         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
7954         that the birth time is not available for files on an NFS mount.
7955
7956 2007-04-03  Simon Josefsson  <simon@josefsson.org>
7957
7958         * modules/memxor: Move back from crypto/, suggested by Bruno.
7959         * modules/crypto/hmac-sha1: Fix memxor dependency.
7960
7961         * modules/crypto/gc: Moved from ../.
7962
7963 2007-04-02  Eric Blake  <ebb9@byu.net>
7964
7965         * lib/ldexpl.c (includes): Avoid libm.
7966
7967         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
7968
7969 2007-04-02  Bruno Haible  <bruno@clisp.org>
7970
7971         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
7972         on IRIX.
7973
7974 2007-04-02  Bruno Haible  <bruno@clisp.org>
7975
7976         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
7977         x86 or x86_64 platforms running MacOS X.
7978         Reported by Ryan Schmidt <@ryandesign.com>.
7979
7980 2007-04-02  Bruno Haible  <bruno@clisp.org>
7981
7982         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
7983         i386.
7984
7985 2007-04-01  Simon Josefsson  <simon@josefsson.org>
7986
7987         * modules/crypto/arcfour: Moved from ../.
7988         * modules/crypto/arcfour-tests: Moved from ../.
7989         * modules/crypto/arctwo: Moved from ../.
7990         * modules/crypto/arctwo-tests: Moved from ../.
7991         * modules/crypto/des: Moved from ../.
7992         * modules/crypto/des-tests: Moved from ../.
7993         * modules/crypto/gc-arcfour: Moved from ../.
7994         * modules/crypto/gc-arcfour-tests: Moved from ../.
7995         * modules/crypto/gc-arctwo: Moved from ../.
7996         * modules/crypto/gc-arctwo-tests: Moved from ../.
7997         * modules/crypto/gc-des: Moved from ../.
7998         * modules/crypto/gc-des-tests: Moved from ../.
7999         * modules/crypto/gc-hmac-md5: Moved from ../.
8000         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
8001         * modules/crypto/gc-hmac-sha1: Moved from ../.
8002         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
8003         * modules/crypto/gc-md2: Moved from ../.
8004         * modules/crypto/gc-md2-tests: Moved from ../.
8005         * modules/crypto/gc-md4: Moved from ../.
8006         * modules/crypto/gc-md4-tests: Moved from ../.
8007         * modules/crypto/gc-md5: Moved from ../.
8008         * modules/crypto/gc-md5-tests: Moved from ../.
8009         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
8010         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
8011         * modules/crypto/gc-random: Moved from ../.
8012         * modules/crypto/gc-rijndael: Moved from ../.
8013         * modules/crypto/gc-rijndael-tests: Moved from ../.
8014         * modules/crypto/gc-sha1: Moved from ../.
8015         * modules/crypto/gc-sha1-tests: Moved from ../.
8016         * modules/crypto/gc-tests: Moved from ../.
8017         * modules/crypto/hmac-md5: Moved from ../.
8018         * modules/crypto/hmac-md5-tests: Moved from ../.
8019         * modules/crypto/hmac-sha1: Moved from ../.
8020         * modules/crypto/hmac-sha1-tests: Moved from ../.
8021         * modules/crypto/md2: Moved from ../.
8022         * modules/crypto/md2-tests: Moved from ../.
8023         * modules/crypto/md4: Moved from ../.
8024         * modules/crypto/md4-tests: Moved from ../.
8025         * modules/crypto/md5: Moved from ../.
8026         * modules/crypto/md5-tests: Moved from ../.
8027         * modules/crypto/memxor: Moved from ../.
8028         * modules/crypto/rijndael: Moved from ../.
8029         * modules/crypto/rijndael-tests: Moved from ../.
8030         * modules/crypto/sha1: Moved from ../.
8031
8032 2007-03-30  James Youngman  <jay@gnu.org>
8033
8034         * tests/test-stat-time.c (prepare_test): use chmod() rather than
8035         rename() to change the ctime of a file (because ctime is unaffected
8036         by rename on jfs2 on AIX 5.1).
8037         (main): Start by doing cleanup, in case a previous run failed leaving
8038         test files behind.
8039
8040 2007-03-31  Bruno Haible  <bruno@clisp.org>
8041
8042         Support old proprietary implementations of iconv.
8043         * modules/iconv_open: New file.
8044         * lib/iconv_.h: New file.
8045         * m4/iconv_h.m4: New file.
8046         * lib/iconv_open.c: New file.
8047         * lib/iconv_open-aix.gperf: New file.
8048         * lib/iconv_open-hpux.gperf: New file.
8049         * lib/iconv_open-irix.gperf: New file.
8050         * lib/iconv_open-osf.gperf: New file.
8051         * m4/iconv_open.m4: New file.
8052         * modules/linebreak (Depends-on): Add iconv_open.
8053         * modules/striconv (Depends-on): Likewise.
8054         * modules/striconveh (Depends-on): Likewise.
8055         * modules/unicodeio (Depends-on): Likewise.
8056         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
8057         (iconv_t)(-1).
8058         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
8059         conversion if cd is (iconv_t)(-1).
8060         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
8061         is not possible.
8062
8063 2007-03-31  Bruno Haible  <bruno@clisp.org>
8064
8065         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
8066         work on Solaris either. Protect also second use of "autodetect_jp".
8067
8068 2007-03-31  Bruno Haible  <bruno@clisp.org>
8069
8070         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
8071         the function is not present.
8072
8073 2007-03-31  Bruno Haible  <bruno@clisp.org>
8074
8075         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
8076         the function is not present.
8077
8078 2007-03-31  Bruno Haible  <bruno@clisp.org>
8079
8080         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
8081         a bug in HP-UX iconv_open().
8082
8083 2007-03-31  Bruno Haible  <bruno@clisp.org>
8084
8085         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
8086         (Mathematics <math.h>): New section, add fpieee.
8087         (Input/output <stdio.h>): Add fseterr.
8088         (Mathematics <math.h>): New section, add printf-frexp.
8089         (Container data structures): Add sublist.
8090         (Core language properties): Add fpucw, inline.
8091         (Functions for greatest-width integer types <inttypes.h>): Add
8092         imaxabs, imaxdiv, inttypes.
8093         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
8094         isnanl-nolibm, ldexp.
8095         (Mathematics <math.h>): New section, add printf-frexpl.
8096         (Support for systems lacking POSIX:2001): Add fprintf-posix,
8097         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
8098         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
8099         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
8100         (Unicode string functions): Add unistr/u*-mbtoucr.
8101         (Java): Add javacomp-script, javaexec-script.
8102         (C#): Add csharpcomp-script, csharpexec-script.
8103         (Support for building libraries and executables): Add havelib,
8104         relocatable-*.
8105         (Support for maintaining and releasing projects): Renamed from
8106         'Support for maintaining and release projects'. Add announce-gen.
8107
8108 2007-03-31  Bruno Haible  <bruno@clisp.org>
8109
8110         * README: Talk primarily about git.
8111         (git and CVS): Renamed from CVS.
8112         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
8113         gnulib is available through git.
8114         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
8115
8116 2007-03-30  Bruno Haible  <bruno@clisp.org>
8117
8118         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
8119         * lib/poll_.h: Likewise.
8120         * lib/stat_.h: Likewise.
8121         * lib/sys_time_.h: Likewise.
8122         * lib/sysexit_.h: Likewise.
8123         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
8124         * lib/stdbool_.h: Likewise.
8125         * lib/byteswap_.h: Add double-inclusion guard.
8126
8127 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
8128
8129         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
8130
8131 2007-03-30  Karl Berry  <karl@gnu.org>
8132
8133         * config/srclist-update: double space after USA in the license
8134         substitution, since that's how it's usually (?) written.
8135
8136 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
8137
8138         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
8139         reported by Bruno Haible.
8140
8141 2007-03-29  Bruno Haible  <bruno@clisp.org>
8142
8143         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
8144         a bug in AIX iconv().
8145
8146 2007-03-29  Bruno Haible  <bruno@clisp.org>
8147
8148         * modules/ldexpl-tests: New file.
8149         * tests/test-ldexpl.c: New file.
8150
8151 2007-03-29  Bruno Haible  <bruno@clisp.org>
8152
8153         * lib/ldexpl.c: Include fpucw.h.
8154         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
8155         multiplication.
8156         * modules/ldexpl (Depends-on): Add fpucw.
8157
8158 2007-03-29  Bruno Haible  <bruno@clisp.org>
8159
8160         * modules/ldexpl: New file.
8161         * m4/ldexpl.m4: New file.
8162         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
8163         set.
8164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
8165         REPLACE_LDEXPL.
8166         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
8167         REPLACE_LDEXPL.
8168         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
8169         gl_FUNC_LDEXPL_WORKS.
8170         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
8171         * modules/mathl (Files): Remove lib/ldexpl.c.
8172         (Depends-on): Add ldexpl.
8173
8174 2007-03-29  Bruno Haible  <bruno@clisp.org>
8175
8176         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
8177
8178 2007-03-29  Bruno Haible  <bruno@clisp.org>
8179
8180         * tests/test-striconveh.c (main): Don't assume that a direct conversion
8181         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
8182         and possibly also HP-UX.
8183         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
8184         work on AIX, IRIX, HP-UX, OSF/1.
8185         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
8186         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
8187         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
8188         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
8189         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
8190         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
8191
8192 2007-03-29  Bruno Haible  <bruno@clisp.org>
8193
8194         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
8195
8196 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
8197
8198         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
8199         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
8200
8201 2007-03-29  Eric Blake  <ebb9@byu.net>
8202
8203         * lib/acl-internal.h: Remove redundant include.
8204         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
8205         Cygwin when a file is locked.
8206
8207 2007-03-29  Bruno Haible  <bruno@clisp.org>
8208
8209         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
8210         file.
8211         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
8212
8213 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
8214
8215         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
8216         try to remove a parent directory if the child couldn't be removed
8217         (except for the first rmdir, which could fail because the child
8218         doesn't exist).  Problem reported by Jeff Blaine in
8219         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
8220
8221 2007-03-28  Bruno Haible  <bruno@clisp.org>
8222
8223         * lib/striconveh.c (utf8conv_carefully): New function.
8224         (mem_cd_iconveh_internal): Invoke it.
8225
8226 2007-03-28  Bruno Haible  <bruno@clisp.org>
8227
8228         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
8229         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
8230         input.
8231         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
8232         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
8233         unistr/u8-uctomb.
8234
8235 2007-03-28  Bruno Haible  <bruno@clisp.org>
8236
8237         * modules/unistr/u8-mbtoucr: New file.
8238         * lib/unistr/u8-mbtoucr.c: New file.
8239         * modules/unistr/u16-mbtoucr: New file.
8240         * lib/unistr/u16-mbtoucr.c: New file.
8241         * modules/unistr/u16-mbtoucr: New file.
8242         * lib/unistr/u16-mbtoucr.c: New file.
8243         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
8244
8245 2007-03-27  Simon Josefsson  <simon@josefsson.org>
8246             Bruno Haible  <bruno@clisp.org>
8247
8248         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
8249         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
8250         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
8251
8252         * m4/stdio_h.m4: Add stubs for vasprintf too.
8253
8254         * modules/stdio: Support vasprintf in sed command.
8255
8256         * modules/vasprintf: Depend on stdio for prototypes.  Remove
8257         vasprintf.h.  Add stdio module indicator.
8258
8259         * lib/stdio_.h: Declare asprintf and vasprintf, based on
8260         vasprintf.h.
8261
8262         * lib/vasprintf.h: File removed.
8263
8264         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
8265         * lib/vasprintf.c: Ditto.
8266         * lib/xvasprintf.c: Ditto.
8267         * tests/test-vasprintf-posix.c: Ditto.
8268         * tests/test-vasprintf.c: Ditto.
8269
8270 2007-03-27  Bruno Haible  <bruno@clisp.org>
8271
8272         Make vasnprintf multithread-safe.
8273         * lib/vasnprintf.c (decimal_point_char): New function.
8274         (VASNPRINTF): Use it.
8275         Suggested by Simon Josefsson.
8276
8277 2007-03-27  Eric Blake  <ebb9@byu.net>
8278
8279         Support sub-second birthtime on cygwin.
8280         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
8281         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
8282         (get_stat_birthtime): Also work with st_birthtim.
8283
8284 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
8285
8286         * lib/stat-time.h (USE_BIRTHTIME): Remove.
8287         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
8288         (get_stat_birthtime_ns): Do not try to use "spare" fields.
8289         (get_stat_birthtime_ns): Simplify compile-time tests.
8290         (get_stat_birthtime): Change the API to look like
8291         get_stat_mtime etc., except return a negative tv_nsec on error.
8292         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
8293         Don't check for "spare" fields.
8294         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
8295         or for struct stat.st_birthtime, as these tests aren't used.
8296         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
8297
8298 2007-03-27  Bruno Haible  <bruno@clisp.org>
8299
8300         * lib/stat-time.h: Include <sys/stat.h>.
8301
8302 2007-03-27  James Youngman  <jay@gnu.org>
8303
8304         * lib/stat-time.h (get_stat_birthtime): New function for
8305           retrieving st_birthtime as provided by UFS2 (hence *BSD).
8306         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
8307           and its variants.
8308         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
8309         * modules/stat-time-test: New file.
8310         * tests/test-stat-time.c: New test, devised by Bruno Haible.
8311
8312 2007-03-26  Bruno Haible  <bruno@clisp.org>
8313
8314         Better support of signalling NaNs.
8315         * lib/atanl.c: Include isnanl.h.
8316         (atanl): Perform test for NaN at the beginning of the function and
8317         through a call to isnanl.
8318         * lib/cosl.c: Include isnanl.h.
8319         (cosl): Perform test for NaN at the beginning of the function and
8320         through a call to isnanl.
8321         * lib/ldexpl.c: Include isnanl.h.
8322         (ldexpl): Perform test for NaN through a call to isnanl.
8323         * lib/logl.c: Include isnanl.h.
8324         (logl): Perform test for NaN at the beginning of the function and
8325         through a call to isnanl.
8326         * lib/sinl.c: Include isnanl.h.
8327         (sinl): Perform test for NaN at the beginning of the function and
8328         through a call to isnanl.
8329         * lib/sqrtl.c: Include isnanl.h.
8330         (sqrtl): Perform test for NaN at the beginning of the function and
8331         through a call to isnanl.
8332         * lib/tanl.c: Include isnanl.h.
8333         (tanl): Perform test for NaN at the beginning of the function and
8334         through a call to isnanl.
8335         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
8336         * modules/mathl (Depends-on): Add isnanl.
8337
8338 2007-03-26  Eric Blake  <ebb9@byu.net>
8339
8340         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
8341         regression in logic sense of previous patch.
8342
8343 2007-03-26  Bruno Haible  <bruno@clisp.org>
8344
8345         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
8346         unportable shell command "if ! ...".
8347         Reported by Ralf Wildenhues.
8348
8349 2007-03-25  Bruno Haible  <bruno@clisp.org>
8350
8351         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
8352         <sysexits.h> file, and only add EX_CONFIG.
8353         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
8354         absolute file name and whether it is sufficient. Substitute also
8355         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
8356         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
8357         ABSOLUTE_SYSEXITS_H into sysexits.h.
8358
8359 2007-03-25  Bruno Haible  <bruno@clisp.org>
8360
8361         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
8362         hints is NULL.
8363
8364 2007-03-25  Bruno Haible  <bruno@clisp.org>
8365
8366         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
8367         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
8368
8369 2007-03-25  Bruno Haible  <bruno@clisp.org>
8370
8371         * lib/vasnprintf.c: Include langinfo.h.
8372         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
8373         multithread-safe.
8374         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
8375         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
8376         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
8377         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
8378         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
8379         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
8380         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
8381         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
8382         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
8383         Reported by Simon Josefsson.
8384
8385 2007-03-25  Bruno Haible  <bruno@clisp.org>
8386
8387         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
8388         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
8389         * modules/vasnprintf (Depends-on): Add stdint.
8390
8391 2007-03-25  Bruno Haible  <bruno@clisp.org>
8392
8393         * modules/fpieee: New file.
8394         * m4/fpieee.m4: New file.
8395         * modules/isnan-nolibm (Depends-on): Add fpieee.
8396         * modules/isnanl-nolibm (Depends-on): Add fpieee.
8397         * modules/isnanl (Depends-on): Add fpieee.
8398
8399 2007-03-25  Bruno Haible  <bruno@clisp.org>
8400
8401         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
8402
8403 2007-03-25  Bruno Haible  <bruno@clisp.org>
8404
8405         Avoid test failures on IRIX 6.5.
8406         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
8407         (main): Use it.
8408         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
8409         macros.
8410         (main): Use them.
8411
8412 2007-03-25  Bruno Haible  <bruno@clisp.org>
8413
8414         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
8415         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
8416         exists but doesn't work.
8417         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
8418         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
8419         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
8420         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
8421
8422 2007-03-25  Bruno Haible  <bruno@clisp.org>
8423
8424         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
8425         returns inf. Needed on IRIX 6.5.
8426
8427 2007-03-25  Bruno Haible  <bruno@clisp.org>
8428
8429         * tests/test-frexpl.c: Include isnanl-nolibm.h.
8430         (main): Use isnanl instead of x != x idiom.
8431         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
8432
8433         * tests/test-frexp.c: Include isnan.h.
8434         (main): Use isnan instead of x != x idiom.
8435         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
8436
8437 2007-03-25  Bruno Haible  <bruno@clisp.org>
8438
8439         * tests/test-frexp.c (NaN): New function/macro.
8440         (main): Use it instead of 0.0 / 0.0.
8441         * tests/test-isnan.c (NaN): New function/macro.
8442         (main): Use it instead of 0.0 / 0.0.
8443         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
8444         (test_function): Use it instead of 0.0 / 0.0.
8445         * tests/test-vasprintf-posix.c (NaN): New function/macro.
8446         (test_function): Use it instead of 0.0 / 0.0.
8447         * tests/test-snprintf-posix.h (NaN): New function/macro.
8448         (test_function): Use it instead of 0.0 / 0.0.
8449         * tests/test-sprintf-posix.h (NaN): New function/macro.
8450         (test_function): Use it instead of 0.0 / 0.0.
8451         * tests/test-fprintf-posix.h (NaN): New function/macro.
8452         (test_function): Use it instead of 0.0 / 0.0.
8453         * tests/test-printf-posix.h (NaN): New function/macro.
8454         (test_function): Use it instead of 0.0 / 0.0.
8455
8456         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
8457
8458 2007-03-25  Bruno Haible  <bruno@clisp.org>
8459
8460         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
8461
8462 2007-03-25  Bruno Haible  <bruno@clisp.org>
8463
8464         * lib/regexec.c (merge_state_with_log): Make static.
8465
8466 2007-03-25  Bruno Haible  <bruno@clisp.org>
8467
8468         * lib/trigl.c (kernel_rem_pio2): Make static.
8469
8470 2007-03-25  Bruno Haible  <bruno@clisp.org>
8471
8472         * lib/sincosl.c (sincosl_table): Make static.
8473
8474 2007-03-25  Bruno Haible  <bruno@clisp.org>
8475
8476         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
8477         if the compiler does not support C99.
8478
8479 2007-03-25  Bruno Haible  <bruno@clisp.org>
8480
8481         * modules/time (Makefile.am): Ensure all rule action lines start with a
8482         tab.
8483
8484 2007-03-24  Bruno Haible  <bruno@clisp.org>
8485
8486         * modules/tsearch-tests: New file.
8487         * tests/test-tsearch.sh: New file.
8488         * tests/test-tsearch.c: New file, mostly copied from glibc.
8489
8490         * modules/search-tests: New file.
8491         * tests/test-search.c: New file.
8492
8493         * modules/search: New file.
8494         * lib/search_.h: New file, incorporating lib/tsearch.h.
8495         * m4/search_h.m4: New file.
8496         * lib/tsearch.h: Remove file.
8497         * lib/tsearch.c: Include search.h instead of tsearch.h.
8498         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
8499         HAVE_TSEARCH.
8500         * modules/tsearch (Files): Remove lib/tsearch.h.
8501         (Depends-on): Add search.
8502         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
8503         (Include): Change tsearch.h into search.h.
8504
8505 2007-03-24  Bruno Haible  <bruno@clisp.org>
8506
8507         * modules/fpucw: New file.
8508         * lib/fpucw.h: New file.
8509         * lib/frexp.c: Include fpucw.h.
8510         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
8511         (FUNC): Use them.
8512         * lib/printf-frexp.c: Include fpucw.h.
8513         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
8514         (FUNC): Use them.
8515         * lib/vasnprintf.c: Include fpucw.h.
8516         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
8517         'long double' calculations.
8518         * tests/test-frexpl.c: Include fpucw.h.
8519         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
8520         * tests/test-printf-frexpl.c: Include fpucw.h.
8521         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
8522         * modules/frexpl (Depends-on): Add fpucw.
8523         * modules/printf-frexpl (Depends-on): Likewise.
8524         * modules/fprintf-posix (Depends-on): Likewise.
8525         * modules/snprintf-posix (Depends-on): Likewise.
8526         * modules/sprintf-posix (Depends-on): Likewise.
8527         * modules/vasnprintf-posix (Depends-on): Likewise.
8528         * modules/vasprintf-posix (Depends-on): Likewise.
8529         * modules/vfprintf-posix (Depends-on): Likewise.
8530         * modules/vsnprintf-posix (Depends-on): Likewise.
8531         * modules/vsprintf-posix (Depends-on): Likewise.
8532         * modules/frexpl-tests (Depends-on): Likewise.
8533         * modules/printf-frexpl-tests (Depends-on): Likewise.
8534
8535 2007-03-24  Bruno Haible  <bruno@clisp.org>
8536
8537         * lib/float+.h: New file.
8538         * lib/isnan.c: Include float+.h.
8539         (SIZE): New macro.
8540         (FUNC): Compare only SIZE bytes of the value.
8541         * lib/vasnprintf.c: Include float+.h.
8542         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
8543         SIZEOF_LDBL or SIZEOF_DBL bytes.
8544         * modules/isnan-nolibm (Files): Add lib/float+.h.
8545         * modules/isnanl-nolibm (Files): Add lib/float+.h.
8546         * modules/isnanl (Files): Add lib/float+.h.
8547         * modules/vasnprintf (Files): Add lib/float+.h.
8548
8549 2007-03-24  Bruno Haible  <bruno@clisp.org>
8550
8551         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
8552         include isnanl-nolibm.h.
8553
8554 2007-03-24  Bruno Haible  <bruno@clisp.org>
8555
8556         * tests/test-read-file.c (main): Don't produce spurious output for
8557         expected situations. Make the test fail if it encountered unexpected
8558         results.
8559
8560 2007-03-24  Bruno Haible  <bruno@clisp.org>
8561
8562         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
8563         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
8564
8565 2007-03-24  Bruno Haible  <bruno@clisp.org>
8566
8567         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
8568
8569 2007-03-24  Bruno Haible  <bruno@clisp.org>
8570
8571         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
8572         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
8573
8574         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
8575         * modules/utf8-ucs4: Turn into a symbolic link to module
8576         unistr/u8-mbtouc.
8577
8578         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
8579         utf8-ucs4-unsafe.
8580         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
8581         unistr/u8-mbtouc-unsafe.
8582
8583         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
8584         * modules/utf16-ucs4: Turn into a symbolic link to module
8585         unistr/u16-mbtouc.
8586
8587         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
8588         utf16-ucs4-unsafe.
8589         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
8590         unistr/u16-mbtouc-unsafe.
8591
8592         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
8593         * modules/ucs4-utf8: Turn into a symbolic link to module
8594         unistr/u8-ubtomb.
8595
8596         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
8597         * modules/ucs4-utf16: Turn into a symbolic link to module
8598         unistr/u16-ubtomb.
8599
8600 2007-03-24  Bruno Haible  <bruno@clisp.org>
8601
8602         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
8603         Enable the function only if HAVE_INLINE.
8604         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
8605         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
8606         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
8607         Enable the function only if HAVE_INLINE.
8608         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
8609         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
8610         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
8611         Enable the function only if HAVE_INLINE.
8612         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
8613         Enable the function only if HAVE_INLINE.
8614         * modules/utf8-ucs4: Update.
8615         * modules/utf8-ucs4-unsafe: Update.
8616         * modules/utf16-ucs4: Update.
8617         * modules/utf16-ucs4-unsafe: Update.
8618         * modules/ucs4-utf8: Update.
8619         * modules/ucs4-utf16: Update.
8620
8621 2007-03-24  Bruno Haible  <bruno@clisp.org>
8622
8623         * lib/utf8-ucs4.h: Remove file.
8624         * lib/utf8-ucs4-unsafe.h: Remove file.
8625         * lib/utf16-ucs4.h: Remove file.
8626         * lib/utf16-ucs4-unsafe.h: Remove file.
8627         * lib/ucs4-utf8.h: Remove file.
8628         * lib/ucs4-utf16.h: Remove file.
8629         * lib/unistr.h: Include their previous contents.
8630         * m4/utf-ucs4.m4: Remove file.
8631         * m4/ucs4-utf.m4: Remove file.
8632         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
8633         (Depends-on): Add unistr/base.
8634         (configure.ac): Remove gl_UTF_UCS4.
8635         (Makefile.am): Update.
8636         (Include): Change to unistr.h.
8637         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
8638         (Depends-on): Add unistr/base.
8639         (configure.ac): Remove gl_UTF_UCS4.
8640         (Makefile.am): Update.
8641         (Include): Change to unistr.h.
8642         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
8643         (Depends-on): Add unistr/base.
8644         (configure.ac): Remove gl_UTF_UCS4.
8645         (Makefile.am): Update.
8646         (Include): Change to unistr.h.
8647         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
8648         (Depends-on): Add unistr/base.
8649         (configure.ac): Remove gl_UTF_UCS4.
8650         (Makefile.am): Update.
8651         (Include): Change to unistr.h.
8652         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
8653         (Depends-on): Add unistr/base.
8654         (configure.ac): Remove gl_UCS4_UTF.
8655         (Makefile.am): Update.
8656         (Include): Change to unistr.h.
8657         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
8658         (Depends-on): Add unistr/base.
8659         (configure.ac): Remove gl_UCS4_UTF.
8660         (Makefile.am): Update.
8661         (Include): Change to unistr.h.
8662         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
8663         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
8664         utf8-ucs4-unsafe.h.
8665         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
8666         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
8667         utf16-ucs4-unsafe.h.
8668         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
8669         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
8670         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
8671         * lib/unistr/u8-strchr.c: Likewise.
8672         * lib/unistr/u8-strrchr.c: Likewise.
8673         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
8674         * lib/unistr/u16-strchr.c: Likewise.
8675         * lib/unistr/u16-strrchr.c: Likewise.
8676         * lib/striconveh.c: Update.
8677         * lib/linebreak.c: Update.
8678
8679 2007-03-24  Bruno Haible  <bruno@clisp.org>
8680
8681         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
8682         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
8683
8684 2007-03-22  Bruno Haible  <bruno@clisp.org>
8685
8686         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
8687
8688 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
8689
8690         * MODULES.html.sh (File system functions): New module write-any-file.
8691         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
8692         * m4/write-any-file.m4: New files.
8693
8694 2007-03-23  Eric Blake  <ebb9@byu.net>
8695
8696         * gnulib-tool: Rearrange space-tab sequences, since some editors
8697         like to eat them.
8698
8699 2007-03-23  Eric Blake  <ebb9@byu.net>
8700
8701         * lib/version-etc.c (version_etc_va): Update license wording to
8702         be more concise.  Recommended by Richard Stallman.
8703
8704 2007-03-22  Bruno Haible  <bruno@clisp.org>
8705
8706         * lib/poll.c (MSG_PEEK): New fallback definition.
8707
8708 2007-03-22  Bruno Haible  <bruno@clisp.org>
8709
8710         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
8711         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
8712         (main): Update.
8713         Fixes a compilation error on BeOS.
8714
8715 2007-03-22  Bruno Haible  <bruno@clisp.org>
8716
8717         * modules/frexpl-tests: New file.
8718         * tests/test-frexpl.c: New file.
8719
8720         * modules/frexpl: New file.
8721         * m4/frexpl.m4: New file.
8722         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
8723         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
8724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
8725         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
8726         (Depends-on): Add frexpl. Remove isnanl-nolibm.
8727         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
8728
8729 2007-03-22  Bruno Haible  <bruno@clisp.org>
8730
8731         * lib/frexpl.c: Share code with lib/frexp.c.
8732         * modules/mathl (Files): Add lib/frexp.c.
8733         (Depends-on): Add isnanl-nolibm.
8734
8735 2007-03-22  Bruno Haible  <bruno@clisp.org>
8736
8737         * modules/printf-frexp (Files): Add m4/frexp.m4.
8738         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
8739         only if the found frexp function actually works.
8740
8741 2007-03-22  Bruno Haible  <bruno@clisp.org>
8742
8743         * lib/frexp.c: Remove older implementation that uses divisions.
8744
8745 2007-03-21  Bruno Haible  <bruno@clisp.org>
8746
8747         * modules/frexp-tests: New file.
8748         * tests/test-frexp.c: New file.
8749
8750         * modules/frexp: New file.
8751         * lib/frexp.c: New file.
8752         * m4/frexp.m4: New file.
8753         * lib/math_.h (frexp): New declaration.
8754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
8755         REPLACE_FREXP.
8756         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
8757
8758 2007-03-21  Bruno Haible  <bruno@clisp.org>
8759
8760         * modules/isnanl-tests: New file.
8761         * tests/test-isnanl.c: New file.
8762
8763         * modules/isnanl: New file.
8764         * lib/isnanl.h: New file.
8765         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
8766         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
8767         gl_FUNC_ISNANL_WORKS.
8768         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
8769         New macros.
8770
8771 2007-03-21  Bruno Haible  <bruno@clisp.org>
8772
8773         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
8774         lib/isnanl.h.
8775         (Include): Update.
8776         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
8777         * lib/vasnprintf.c: Update.
8778         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
8779         tests/test-isnanl.h, remove tests/test-isnanl.c.
8780         (Makefile.am): Update.
8781         * tests/test-isnanl-nolibm.c: New file.
8782         * tests/test-isnanl.h: New file.
8783         * tests/test-isnanl.c: Remove file.
8784
8785 2007-03-21  Jim Meyering  <jim@meyering.net>
8786
8787         When trying to open ".", treat ESTALE like EACCES.
8788         * lib/savewd.c (savewd_save): Resort to forking not just upon
8789         failure with EACCES, but also when errno is ESTALE.
8790
8791 2007-03-20  Bruno Haible  <bruno@clisp.org>
8792
8793         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
8794         Needed on AIX 5.1. Reported by Matthew Woehlke.
8795
8796 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8797
8798         Suggestions by Bruno Haible:
8799         * lib/acl-internal.h: Include "gettext.h" rather than rolling
8800         our own.
8801         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
8802         * modules/acl (Depends-on): Add gettext.
8803
8804 2007-03-19  Bruno Haible  <bruno@clisp.org>
8805
8806         * modules/iconvme: Remove file.
8807         * lib/iconvme.h: Remove file.
8808         * lib/iconvme.c: Remove file.
8809         * m4/iconvme.m4: Remove file.
8810
8811 2007-03-19  Bruno Haible  <bruno@clisp.org>
8812
8813         * doc/relocatable-maint.texi: Break long shell script line.
8814         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
8815
8816 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8817
8818         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
8819         handle file_has_acl.
8820         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
8821         * lib/acl.c: Move header inclusions and related macro defns into
8822         lib/acl-internal.h.
8823         (S_ISLNK): Remove defn, since that's now done for us.
8824         (file_has_acl): Move to lib/file-has-acl.c.
8825         Call acl_trivial if available.  This is the crucial part of the fix.
8826         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
8827         shared within the library.  Rewrite a bit, partly to make it compatible
8828         with the GNU coding style.
8829         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
8830         Remove unnecessary double-quotes.
8831         Don't test for acl_to_text; the build will catch that.
8832         Replace acl_entries if it doesn't exist and it is needed.
8833         Check for -lsec and acl_trivial (as used on Solaris 10).
8834         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
8835         lib/file-has-acl.c.
8836         (Depends-on): Add sys_stat, for S_ISLNK.
8837
8838 2007-03-19  Ben Pfaff  <blp@gnu.org>
8839
8840         * doc/gnulib.texi: Fix typos.
8841         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
8842
8843 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8844
8845         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
8846         If size is zero here, buf must be zero.
8847
8848 2007-03-19  Simon Josefsson  <simon@josefsson.org>
8849
8850         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
8851         <bruno@clisp.org>.
8852
8853 2007-03-18  Bruno Haible  <bruno@clisp.org>
8854
8855         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
8856         Suggested by Eric Blake.
8857
8858 2007-03-18  Ben Pfaff  <blp@gnu.org>
8859
8860         * doc/relocatable.texi: Recommend using as prefix a directory
8861         that does not exist and will never be created.  Based on
8862         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
8863         and others.
8864
8865 2007-03-17  Bruno Haible  <bruno@clisp.org>
8866
8867         * lib/fchownat.c: Include lchown.h.
8868
8869 2007-03-17  Bruno Haible  <bruno@clisp.org>
8870
8871         Fix endless loop when the given allocated size was > INT_MAX.
8872         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
8873         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
8874         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
8875         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
8876         * lib/sprintf.c (sprintf): Likewise.
8877
8878 2007-03-17  Bruno Haible  <bruno@clisp.org>
8879
8880         * tests/test-argp-2.sh (func_compare): Output a context diff.
8881
8882 2007-03-17  Bruno Haible  <bruno@clisp.org>
8883
8884         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
8885         locale's decimal-point character.
8886
8887 2007-03-17  Bruno Haible  <bruno@clisp.org>
8888
8889         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
8890         before comparing it. Needed because on some platforms (e.g. x86) a
8891         'long double' occupies less bytes than sizeof (long double).
8892
8893 2007-03-17  Bruno Haible  <bruno@clisp.org>
8894
8895         * tests/test-crc.c (main): Make printf statements 64-bit clean.
8896         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
8897         * tests/test-getaddrinfo.c (simple): Likewise.
8898         * tests/test-read-file.c (main): Likewise.
8899
8900 2007-03-17  Bruno Haible  <bruno@clisp.org>
8901
8902         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
8903
8904 2007-03-17  Bruno Haible  <bruno@clisp.org>
8905
8906         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
8907         unused variable.
8908
8909 2007-03-17  Bruno Haible  <bruno@clisp.org>
8910
8911         * tests/test-c-strcasecmp.c: Include c-strcase.h.
8912         * tests/test-c-strncasecmp.c: Likewise.
8913
8914 2007-03-17  Bruno Haible  <bruno@clisp.org>
8915
8916         * modules/stdlib (Depends-on): Add unistd.
8917         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
8918         Needed for MacOS X 10.3.
8919
8920 2007-03-17  Bruno Haible  <bruno@clisp.org>
8921
8922         * lib/unistr/u-strdup.h: Include <stdlib.h>.
8923
8924 2007-03-17  Bruno Haible  <bruno@clisp.org>
8925
8926         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
8927
8928 2007-03-17  Bruno Haible  <bruno@clisp.org>
8929
8930         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
8931         to reflect files copied from gnulib (with or without modifications).
8932         Suggested by Jim Meyering.
8933
8934 2007-03-17  Eric Blake  <ebb9@byu.net>
8935
8936         * NEWS: Document stdlib change from 2007-02-18.
8937
8938 2007-03-17  Jim Meyering  <jim@meyering.net>
8939
8940         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
8941         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
8942         someone uses a name containing shell meta-characters.
8943         Reported by Alfred M. Szmidt.
8944
8945         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
8946
8947 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
8948
8949         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
8950         and copy gettext configuration files only if configure.ac contains
8951         a use of AM_GNU_GETTEXT_VERSION.
8952
8953 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
8954
8955         * build-aux/bootstrap (gnulib_name): New variable.
8956         (gnulib_tool_options): Use it.
8957
8958 2007-03-13  Simon Josefsson  <simon@josefsson.org>
8959
8960         * tests/test-des.c: Use new namespace.
8961
8962 2007-03-15  Bruno Haible  <bruno@clisp.org>
8963
8964         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
8965         Reported by James Youngman <jay@gnu.org>.
8966
8967 2007-03-15  Bruno Haible  <bruno@clisp.org>
8968
8969         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
8970         declared prototype. Needed with cc on OSF/1 5.1.
8971
8972 2007-03-15  Bruno Haible  <bruno@clisp.org>
8973
8974         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
8975         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
8976         (struct gl_list_implementation): Add dispose_fn argument to the
8977         'create_empty', 'create' methods.
8978         (struct gl_list_impl_base): Add field 'dispose_fn'.
8979         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
8980         argument.
8981         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
8982         dispose_fn argument.
8983         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
8984         dispose_fn on the dropped values.
8985         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
8986         dispose_fn argument.
8987         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
8988         dropped values.
8989         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
8990         (gl_tree_remove_node): Call dispose_fn on the dropped value.
8991         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
8992         (gl_tree_remove_node): Call dispose_fn on the dropped value.
8993         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
8994         argument.
8995         (gl_tree_list_free): Call dispose_fn on the dropped values.
8996         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
8997         the dropped values.
8998         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
8999         Add dispose_fn argument.
9000         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
9001         Call dispose_fn on the dropped values.
9002         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
9003         Add dispose_fn argument.
9004         (gl_sublist_create): Initialize the 'dispose_fn' field.
9005         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
9006         * tests/test-array_list.c (main): Update.
9007         * tests/test-carray_list.c (main): Update.
9008         * tests/test-avltree_list.c (main): Update.
9009         * tests/test-rbtree_list.c (main): Update.
9010         * tests/test-avltreehash_list.c (main): Update.
9011         * tests/test-rbtreehash_list.c (main): Update.
9012         * tests/test-linked_list.c (main): Update.
9013         * tests/test-linkedhash_list.c (main): Update.
9014         * tests/test-array_oset.c (main): Update.
9015
9016 2007-03-15  Bruno Haible  <bruno@clisp.org>
9017
9018         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
9019         (gl_oset_create_empty): Add dispose_fn argument.
9020         (struct gl_oset_implementation): Add dispose_fn argument to
9021         'create_empty' method.
9022         (struct gl_oset_impl_base): Add dispose_fn field.
9023         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
9024         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
9025         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
9026         values.
9027         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
9028         (gl_tree_oset_free): Call dispose_fn on the dropped values.
9029         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
9030         dropped value.
9031         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
9032         dropped value.
9033         * tests/test-array_oset.c (main): Update.
9034         * tests/test-avltree_oset.c (main): Update.
9035         * tests/test-rbtree_oset.c (main): Update.
9036         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
9037
9038 2007-03-13  Bruno Haible  <bruno@clisp.org>
9039
9040         * tests/test-stdbool.c (i): Update after last patch.
9041
9042 2007-03-12  Bruno Haible  <bruno@clisp.org>
9043
9044         * lib/quotearg.c: Include <wctype.h> early, before the definition of
9045         the iswprint macro. Needed on Solaris 2.5.1.
9046
9047 2007-03-12  Bruno Haible  <bruno@clisp.org>
9048
9049         * tests/test-printf-frexp.c (main): Declare x as volatile.
9050
9051 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9052
9053         * doc/gnulib.texi (Build robot for gnulib): New section.
9054
9055 2007-03-12  Jim Meyering  <jim@meyering.net>
9056
9057         * build-aux/bootstrap: New file.
9058         * build-aux/bootstrap.conf: New file, from coreutils.
9059
9060 2007-03-11  Bruno Haible  <bruno@clisp.org>
9061
9062         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
9063
9064 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9065
9066         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
9067         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
9068         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
9069
9070 2007-03-11  Bruno Haible  <bruno@clisp.org>
9071
9072         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
9073         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
9074
9075 2007-03-11  Bruno Haible  <bruno@clisp.org>
9076
9077         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
9078         formula. Needed for SunPRO C 5.0.
9079
9080 2007-03-11  Bruno Haible  <bruno@clisp.org>
9081
9082         * modules/long-options (Depends-on): Add getopt.
9083
9084 2007-03-11  Bruno Haible  <bruno@clisp.org>
9085
9086         * modules/modechange (Depends-on): Add stdbool.
9087
9088 2007-03-11  Bruno Haible  <bruno@clisp.org>
9089
9090         * modules/i-ring (Depends-on): Add stdbool.
9091
9092 2007-03-11  Bruno Haible  <bruno@clisp.org>
9093
9094         * modules/gc-des (Depends-on): Add stdbool.
9095
9096 2007-03-11  Bruno Haible  <bruno@clisp.org>
9097
9098         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
9099
9100 2007-03-11  Bruno Haible  <bruno@clisp.org>
9101
9102         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
9103
9104 2007-03-11  Bruno Haible  <bruno@clisp.org>
9105
9106         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
9107
9108 2007-03-11  Bruno Haible  <bruno@clisp.org>
9109
9110         * lib/vasnprintf.c (sprintf): Undefine.
9111
9112 2007-03-11  Bruno Haible  <bruno@clisp.org>
9113
9114         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
9115         initializers in SunPRO C and Compaq C compilers.
9116
9117 2007-03-11  Bruno Haible  <bruno@clisp.org>
9118
9119         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
9120         decrementing code ANSI C compliant.
9121
9122 2007-03-11  Bruno Haible  <bruno@clisp.org>
9123
9124         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
9125         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
9126
9127 2007-03-11  Bruno Haible  <bruno@clisp.org>
9128
9129         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
9130         <stdbool.h> substitute doesn't pass.
9131
9132 2007-03-11  Bruno Haible  <bruno@clisp.org>
9133
9134         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
9135
9136 2007-03-11  Bruno Haible  <bruno@clisp.org>
9137
9138         * gnulib-tool (func_create_megatestdir): Create also an autobuild
9139         script, for submission to autobuild.josefsson.org.
9140
9141 2007-03-10  Bruno Haible  <bruno@clisp.org>
9142
9143         * modules/canonicalize-lgpl-tests: New file.
9144         * tests/test-canonicalize-lgpl.sh: New file.
9145         * tests/test-canonicalize-lgpl.c: New file.
9146
9147         * modules/c-strcase-tests: New file.
9148         * tests/test-c-strcase.sh: New file.
9149         * tests/test-c-strcasecmp.c: New file.
9150         * tests/test-c-strncasecmp.c: New file.
9151
9152         * modules/atexit-tests: New file.
9153         * tests/test-atexit.sh: New file.
9154         * tests/test-atexit.c: New file.
9155
9156 2007-03-10  Bruno Haible  <bruno@clisp.org>
9157
9158         * tests/test-binary-io.sh: Use temporary filenames that are not so
9159         likely to clash with those of other tests (in a parallel make).
9160         * tests/test-binary-io.c: Likewise.
9161
9162 2007-03-10  Bruno Haible  <bruno@clisp.org>
9163
9164         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
9165         fallback; use #error instead.
9166         Suggested by Simon Josefsson.
9167
9168 2007-03-10  Bruno Haible  <bruno@clisp.org>
9169
9170         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
9171         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
9172         first and the last.
9173
9174 2007-03-10  Bruno Haible  <bruno@clisp.org>
9175
9176         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
9177
9178 2007-03-10  Bruno Haible  <bruno@clisp.org>
9179
9180         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
9181         "make distcheck".
9182         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
9183         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
9184         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
9185
9186 2007-03-10  Bruno Haible  <bruno@clisp.org>
9187
9188         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
9189         variable.
9190         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
9191         variable.
9192
9193 2007-03-09  Eric Blake  <ebb9@byu.net>
9194         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
9195
9196         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
9197         types are not being provided by gnulib.
9198         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
9199         types are supported.
9200
9201 2007-03-10  Bruno Haible  <bruno@clisp.org>
9202
9203         * lib/stdio_.h (__attribute__): New macro.
9204         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
9205         vsprintf): Specify __attribute__ __format__ for GCC.
9206         Suggested by Eric Blake.
9207
9208 2007-03-09  Bruno Haible  <bruno@clisp.org>
9209
9210         * modules/printf-posix-tests: New file.
9211         * tests/test-printf-posix.sh: New file.
9212         * tests/test-printf-posix.c: New file.
9213
9214         * modules/printf-posix: New file.
9215         * lib/printf.c: New file.
9216         * m4/printf-posix-rpl.m4: New file.
9217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
9218         REPLACE_PRINTF.
9219         * lib/stdio_.h (printf): New declaration.
9220         (format, __format__, ____printf____, ____scanf____, ____strftime____,
9221         ____strfmon____): New macros.
9222         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
9223         REPLACE_PRINTF.
9224
9225 2007-03-09  Bruno Haible  <bruno@clisp.org>
9226
9227         * tests/test-vasnprintf-posix2.sh: New file.
9228         * tests/test-vasnprintf-posix2.c: New file.
9229         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
9230         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
9231         (Makefile.am): Activate test-vasnprintf-posix2.sh.
9232
9233         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
9234         a locale dependent decimal point, rather than always '.'.
9235
9236 2007-03-09  Eric Blake  <ebb9@byu.net>
9237
9238         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
9239         spite of platforms like Tandem/NSK that define it to -1.
9240
9241 2007-03-08  Bruno Haible  <bruno@clisp.org>
9242
9243         * modules/vprintf-posix-tests: New file.
9244         * tests/test-vprintf-posix.sh: New file.
9245         * tests/test-vprintf-posix.c: New file.
9246         * tests/test-printf-posix.h: New file.
9247
9248         * modules/vprintf-posix: New file.
9249         * lib/vprintf.c: New file.
9250         * m4/vprintf-posix.m4: New file.
9251         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
9252         REPLACE_VPRINTF.
9253         * lib/stdio_.h (vprintf): New declaration.
9254         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
9255         REPLACE_VPRINTF.
9256
9257 2007-03-08  Bruno Haible  <bruno@clisp.org>
9258
9259         * modules/fprintf-posix-tests: New file.
9260         * tests/test-fprintf-posix.sh: New file.
9261         * tests/test-fprintf-posix.c: New file.
9262
9263         * modules/fprintf-posix: New file.
9264         * lib/fprintf.c: New file.
9265         * m4/fprintf-posix.m4: New file.
9266         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
9267         REPLACE_FPRINTF.
9268         * lib/stdio_.h (fprintf): New declaration.
9269         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
9270         REPLACE_FPRINTF.
9271
9272 2007-03-08  Bruno Haible  <bruno@clisp.org>
9273
9274         * modules/vfprintf-posix-tests: New file.
9275         * tests/test-vfprintf-posix.sh: New file.
9276         * tests/test-vfprintf-posix.c: New file.
9277         * tests/test-fprintf-posix.h: New file.
9278         * tests/test-fprintf-posix.out: New file.
9279
9280         * modules/vfprintf-posix: New file.
9281         * lib/vfprintf.c: New file.
9282         * m4/vfprintf-posix.m4: New file.
9283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
9284         REPLACE_VFPRINTF.
9285         * lib/stdio_.h (vfprintf): New declaration.
9286         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
9287         REPLACE_VFPRINTF.
9288
9289 2007-03-08  Bruno Haible  <bruno@clisp.org>
9290
9291         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
9292
9293 2007-03-08  Bruno Haible  <bruno@clisp.org>
9294
9295         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
9296         instead of 'expr' invocations.
9297         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9298         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9299         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9300         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9301         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9302         Suggested by Paul Eggert.
9303
9304 2007-03-08  Bruno Haible  <bruno@clisp.org>
9305
9306         * modules/fseterr-tests: New file.
9307         * tests/test-fseterr.c: New file.
9308
9309         * modules/fseterr: New file.
9310         * lib/fseterr.h: New file.
9311         * lib/fseterr.c: New file.
9312
9313 2007-03-08  Bruno Haible  <bruno@clisp.org>
9314
9315         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
9316         * lib/getopt_.h: Likewise.
9317         * lib/mbswidth.h: Likewise.
9318         * lib/setenv.h: Likewise.
9319         * lib/vasnprintf.h: Likewise.
9320         * lib/vasprintf.h: Likewise.
9321         * lib/verror.h: Likewise.
9322         * lib/xsetenv.h: Likewise.
9323         * lib/xvasprintf.h: Likewise.
9324
9325 2007-03-08  Jim Meyering  <jim@meyering.net>
9326
9327         * users.txt: Add parted.
9328
9329         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
9330
9331 2007-03-07  Bruno Haible  <bruno@clisp.org>
9332
9333         * m4/printf.m4: Make the shell script snippets copy&pastable.
9334
9335 2007-03-02  Bruno Haible  <bruno@clisp.org>
9336
9337         * lib/netinet_in_.h: New file.
9338         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
9339         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
9340         * modules/netinet_in (Files): Add lib/netinet_in_.h.
9341         (Depends-on): Add absolute-header.
9342         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
9343         into netinet/in.h.
9344
9345 2007-03-03  Bruno Haible  <bruno@clisp.org>
9346
9347         * lib/sys_select_.h: New file.
9348         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
9349         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
9350         * modules/sys_select (Files): Add lib/sys_select_.h.
9351         (Depends-on): Add absolute-header.
9352         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
9353         into sys/select.h.
9354
9355 2007-03-02  Bruno Haible  <bruno@clisp.org>
9356
9357         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
9358         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
9359         values.
9360         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
9361         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
9362         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
9363         * modules/sys_socket (Depends-on): Add absolute-header.
9364         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
9365         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
9366         (Include): Remove requirement of inclusion of <sys/types.h>.
9367
9368 2007-03-02  Bruno Haible  <bruno@clisp.org>
9369
9370         * lib/byteswap_.h (bswap_32): Fix formula.
9371
9372 2007-03-06  Bruno Haible  <bruno@clisp.org>
9373
9374         * modules/sprintf-posix-tests: New file.
9375         * tests/test-sprintf-posix.c: New file.
9376
9377         * modules/sprintf-posix: New file.
9378         * lib/sprintf.c: New file.
9379         * m4/sprintf-posix.m4: New file.
9380         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
9381         REPLACE_SPRINTF.
9382         * lib/stdio_.h (sprintf): New declaration.
9383         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
9384         REPLACE_SPRINTF.
9385
9386 2007-03-06  Bruno Haible  <bruno@clisp.org>
9387
9388         * modules/vsprintf-posix-tests: New file.
9389         * tests/test-vsprintf-posix.c: New file.
9390         * tests/test-sprintf-posix.h: New file.
9391
9392         * modules/vsprintf-posix: New file.
9393         * lib/vsprintf.c: New file.
9394         * m4/vsprintf-posix.m4: New file.
9395         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
9396         REPLACE_VSPRINTF.
9397         * lib/stdio_.h (vsprintf): New declaration.
9398         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
9399         REPLACE_VSPRINTF.
9400
9401 2007-03-06  Bruno Haible  <bruno@clisp.org>
9402
9403         * modules/vsnprintf (Depend-on): Remove minmax.
9404
9405 2007-03-06  Bruno Haible  <bruno@clisp.org>
9406
9407         * modules/snprintf-posix-tests: New file.
9408         * tests/test-snprintf-posix.c: New file.
9409
9410         * modules/snprintf-posix: New file.
9411         * m4/snprintf-posix.m4: New file.
9412         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
9413         gl_FUNC_SNPRINTF.
9414         (gl_FUNC_SNPRINTF): Invoke it.
9415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
9416         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
9417         is set.
9418         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
9419
9420 2007-03-06  Bruno Haible  <bruno@clisp.org>
9421
9422         * modules/vsnprintf-posix-tests: New file.
9423         * tests/test-vsnprintf-posix.c: New file.
9424         * tests/test-snprintf-posix.h: New file.
9425
9426         * modules/vsnprintf-posix: New file.
9427         * m4/vsnprintf-posix.m4: New file.
9428         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
9429         gl_FUNC_VSNPRINTF.
9430         (gl_FUNC_VSNPRINTF): Invoke it.
9431         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
9432         * lib/stdio_.h (vsnprintf): Define as a replacement if
9433         REPLACE_VSNPRINTF is set.
9434         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
9435
9436 2007-03-06  Bruno Haible  <bruno@clisp.org>
9437
9438         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
9439         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
9440
9441 2007-03-06  Bruno Haible  <bruno@clisp.org>
9442
9443         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
9444         (asinl): Declare also if HAVE_DECL_ASINL is set.
9445         (atanl): Declare also if HAVE_DECL_ATANL is set.
9446         (ceill): Declare also if HAVE_DECL_CEILL is set.
9447         (cosl): Declare also if HAVE_DECL_COSL is set.
9448         (expl): Declare also if HAVE_DECL_EXPL is set.
9449         (floorl): Declare also if HAVE_DECL_FLOORL is set.
9450         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
9451         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
9452         (logl): Declare also if HAVE_DECL_LOGL is set.
9453         (sinl): Declare also if HAVE_DECL_SINL is set.
9454         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
9455         (tanl): Declare also if HAVE_DECL_TANL is set.
9456         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
9457         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
9458         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
9459         declaration of frexpl, ldexpl.
9460         * modules/printf-frexpl (Depends-on): Add math.
9461         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
9462
9463 2007-03-05  Bruno Haible  <bruno@clisp.org>
9464
9465         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
9466         frexpl and ldexpl are declared.
9467         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
9468
9469 2007-03-05  Bruno Haible  <bruno@clisp.org>
9470
9471         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
9472         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
9473
9474 2007-03-05  Bruno Haible  <bruno@clisp.org>
9475
9476         * lib/stdio_.h: Include <stddef.h>.
9477
9478 2007-03-05  Bruno Haible  <bruno@clisp.org>
9479
9480         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
9481
9482 2007-03-05  Bruno Haible  <bruno@clisp.org>
9483
9484         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
9485         NetBSD 4, from Ralf Wildenhues.
9486
9487 2007-03-04  Bruno Haible  <bruno@clisp.org>
9488
9489         * lib/vasprintf.h: Update #if logic for the case when the functions
9490         exist but are overridden.
9491
9492 2007-03-04  Bruno Haible  <bruno@clisp.org>
9493
9494         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
9495         implementations: glibc-2.4 and MacOS X 10.3.
9496         * tests/test-vasnprintf-posix.c (test_function): Test also the case
9497         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
9498         * tests/test-vasprintf-posix.c (test_function): Likewise.
9499
9500 2007-03-04  Bruno Haible  <bruno@clisp.org>
9501
9502         * modules/vasprintf-posix-tests: New file.
9503         * tests/test-vasprintf-posix.c: New file.
9504
9505         * modules/vasprintf-posix: New file.
9506         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
9507         defined.
9508         * m4/vasprintf-posix.m4: New file.
9509         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
9510         gl_FUNC_VASPRINTF.
9511         (gl_FUNC_VASPRINTF): Invoke it.
9512         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
9513         here.
9514         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
9515
9516 2007-03-04  Bruno Haible  <bruno@clisp.org>
9517
9518         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
9519         REPLACE_GETTIMEOFDAY.
9520         * modules/sys_time (Makefile.am): Likewise.
9521         * m4/sys_time_h.m4: Likewise.
9522         * m4/gettimeofday.m4: Likewise.
9523
9524 2007-03-04  Bruno Haible  <bruno@clisp.org>
9525
9526         * modules/vasnprintf-posix-tests: New file.
9527         * tests/test-vasnprintf-posix.c: New file.
9528
9529         * modules/vasnprintf-posix: New file.
9530         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
9531         printf-frexpl.h.
9532         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
9533         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
9534         REPLACE_VASNPRINTF is defined.
9535         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
9536         gl_FUNC_VASNPRINTF.
9537         (gl_FUNC_VASNPRINTF): Invoke it.
9538         * m4/vasnprintf-posix.m4: New file.
9539         * m4/printf.m4: New file.
9540
9541 2007-03-04  Bruno Haible  <bruno@clisp.org>
9542
9543         Compile progreloc.c only if --enable-relocatable is specified.
9544         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
9545         if --enable-relocatable was specified.
9546         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
9547         lib_SOURCES.
9548
9549 2007-03-04  Jim Meyering  <jim@meyering.net>
9550
9551         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
9552         Use it consistently, rather than enumerating errno constants.
9553
9554 2007-03-04  Bruno Haible  <bruno@clisp.org>
9555
9556         * modules/xvasprintf-tests: New file.
9557         * tests/test-xvasprintf.c: New file.
9558
9559         * modules/vasprintf-tests: New file.
9560         * tests/test-vasprintf.c: New file.
9561
9562         * modules/vasnprintf-tests: New file.
9563         * tests/test-vasnprintf.c: New file.
9564
9565         * modules/vsnprintf-tests: New file.
9566         * tests/test-vsnprintf.c: New file.
9567
9568         * modules/snprintf-tests: New file.
9569         * tests/test-snprintf.c: New file.
9570
9571 2007-03-04  Bruno Haible  <bruno@clisp.org>
9572
9573         Compile relocatable.c only if --enable-relocatable is specified.
9574         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
9575         gl_RELOCATABLE_LIBRARY.
9576         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
9577         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
9578         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
9579         gl_RELOCATABLE_LIBRARY.
9580         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
9581         (Makefile.am): Remove lib_SOURCES.
9582         * modules/relocatable-lib-lgpl (configure.ac): Invoke
9583         gl_RELOCATABLE_LIBRARY.
9584         (Makefile.am): Remove lib_SOURCES.
9585         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
9586         always.
9587         * modules/relocatable-prog-wrapper (configure.ac): Invoke
9588         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
9589
9590 2007-03-04  Bruno Haible  <bruno@clisp.org>
9591
9592         * modules/argmatch-tests: New file.
9593         * tests/test-argmatch.c: New file.
9594
9595         * tests/test-allocsa.c (main): Halve the number of loop runs.
9596
9597         * modules/alloca-opt-tests: New file.
9598         * tests/test-alloca-opt.c: New file.
9599
9600 2007-03-04  Jim Meyering  <jim@meyering.net>
9601
9602         Work around difference between Linux ACLs and Solaris 10 ZFS.
9603         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
9604         for EINVAL.
9605
9606 2007-03-03  Bruno Haible  <bruno@clisp.org>
9607
9608         * modules/relocatable-prog (Depends-on): Add back progreloc's
9609         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
9610
9611 2007-03-03  Bruno Haible  <bruno@clisp.org>
9612
9613         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
9614         * modules/relocatable-lib: New file.
9615
9616 2007-03-03  Bruno Haible  <bruno@clisp.org>
9617
9618         * modules/relocatable-prog: Renamed from modules/relocatable.
9619         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
9620
9621 2007-03-03  Bruno Haible  <bruno@clisp.org>
9622
9623         * modules/relocatable-script (Files): Add doc/relocatable.texi,
9624         m4/relocatable-lib.m4.
9625         (Depends-on): Remove 'relocatable'.
9626         (configure.ac): Add gl_RELOCATABLE_NOP.
9627
9628 2007-03-03  Bruno Haible  <bruno@clisp.org>
9629
9630         * modules/relocatable-prog-wrapper: New file.
9631         * modules/relocatable (Depends-on): Add it. Remove all other
9632         dependencies except progname.
9633         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
9634
9635         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
9636         (gl_FUNC_STRERROR): Nop.
9637         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
9638
9639         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
9640         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
9641
9642         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
9643         (gl_FUNC_READLINK): Update.
9644
9645         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
9646
9647 2007-03-03  Bruno Haible  <bruno@clisp.org>
9648
9649         * lib/xreadlink.c: Include <unistd.h> unconditionally.
9650         * modules/xreadlink (Depends-on): Add unistd.
9651         * modules/xreadlink-with-size (Depends-on): Likewise.
9652
9653 2007-03-03  Bruno Haible  <bruno@clisp.org>
9654
9655         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
9656         extracted from gt_FUNC_SETENV.
9657         (gt_FUNC_SETENV): Remove macro.
9658         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
9659         remove gt_FUNC_SETENV.
9660
9661 2007-03-03  Bruno Haible  <bruno@clisp.org>
9662
9663         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
9664         ENABLE_RELOCATABLE here.
9665         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
9666
9667 2007-03-03  Bruno Haible  <bruno@clisp.org>
9668
9669         * modules/rbtreehash-list-tests (Depends-on): Add progname.
9670         * tests/test-rbtreehash_list.c: Include progname.h.
9671         (main): Call set_program_name.
9672
9673         * modules/rbtree-oset-tests (Depends-on): Add progname.
9674         * tests/test-rbtree_oset.c: Include progname.h.
9675         (main): Call set_program_name.
9676
9677         * modules/rbtree-list-tests (Depends-on): Add progname.
9678         * tests/test-rbtree_list.c: Include progname.h.
9679         (main): Call set_program_name.
9680
9681         * modules/linked-list-tests (Depends-on): Add progname.
9682         * tests/test-linked_list.c: Include progname.h.
9683         (main): Call set_program_name.
9684
9685 2007-03-03  Bruno Haible  <bruno@clisp.org>
9686
9687         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
9688         All uses of __restrict changed to _Restrict_.
9689         * lib/glob_.h (__restrict): Remove macro.
9690
9691 2007-03-02  Bruno Haible  <bruno@clisp.org>
9692
9693         * modules/gettext (configure.ac): Require gettext infrastructure
9694         from version 0.16.1.
9695
9696 2007-03-02  Bruno Haible  <bruno@clisp.org>
9697
9698         * modules/linkedhash-list-tests (Depends-on): Add progname.
9699         * tests/test-linkedhash_list.c: Include progname.h.
9700         (main): Call set_program_name.
9701
9702         * modules/carray-list-tests (Depends-on): Add progname.
9703         * tests/test-carray_list.c: Include progname.h.
9704         (main): Call set_program_name.
9705
9706         * modules/avltreehash-list-tests (Depends-on): Add progname.
9707         * tests/test-avltreehash_list.c: Include progname.h.
9708         (main): Call set_program_name.
9709
9710         * modules/avltree-oset-tests (Depends-on): Add progname.
9711         * tests/test-avltree_oset.c: Include progname.h.
9712         (main): Call set_program_name.
9713
9714         * modules/avltree-list-tests (Depends-on): Add progname.
9715         * tests/test-avltree_list.c: Include progname.h.
9716         (main): Call set_program_name.
9717
9718         * modules/array-oset-tests (Depends-on): Add progname.
9719         * tests/test-array_oset.c: Include progname.h.
9720         (main): Call set_program_name.
9721
9722         * modules/array-list-tests (Depends-on): Add progname.
9723         * tests/test-array_list.c: Include progname.h.
9724         (main): Call set_program_name.
9725
9726         * modules/argp-tests (Depends-on): Add progname.
9727         * tests/test-argp.c: Include argp.h first. Include progname.h.
9728         (main): Call set_program_name.
9729
9730 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
9731
9732         * doc/gnulib-tool.texi (Initial import): Reword description of
9733         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
9734         limited effect even if defined after the first system include.
9735
9736 2007-03-01  Bruno Haible  <bruno@clisp.org>
9737
9738         * build-aux/config.libpath: Update to libtool-1.5.22.
9739         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9740
9741 2007-03-01  Bruno Haible  <bruno@clisp.org>
9742
9743         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
9744         foo_CFLAGS.
9745         Reported by Ralf Wildenhues.
9746
9747 2007-03-01  Bruno Haible  <bruno@clisp.org>
9748
9749         * build-aux/install-reloc: Remove object files left over by some
9750         compilers.
9751         Reported by Ralf Wildenhues.
9752
9753 2007-03-01  Bruno Haible  <bruno@clisp.org>
9754
9755         * build-aux/install-reloc: Break long lines.
9756
9757 2007-03-01  Bruno Haible  <bruno@clisp.org>
9758
9759         * doc/relocatable.texi: Document that it may not work on OpenBSD.
9760         Reported by Ralf Wildenhues.
9761
9762 2007-03-01  Bruno Haible  <bruno@clisp.org>
9763
9764         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
9765         include ordering constraints.
9766
9767 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9768
9769         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
9770         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
9771         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
9772         as another example.
9773         * lib/time_.h: Fix misspelling.
9774         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
9775         Require gl_HEADER_TIME_H_DEFAULTS.
9776         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
9777         * m4/time_r.m4 (gl_TIME_R): Likewise.
9778         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
9779
9780 2007-03-01  Bruno Haible  <bruno@clisp.org>
9781
9782         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
9783         * m4/utimens.m4 (gl_UTIMENS): Likewise.
9784
9785 2007-03-01  Jim Meyering  <jim@meyering.net>
9786
9787         * modules/xreadlink (Maintainer): Add my name.
9788         * modules/xreadlink-with-size (Depends-on): Alphabetize.
9789
9790 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
9791             Bruno Haible  <bruno@clisp.org>
9792
9793         * build-aux/install-reloc: Compile also c-ctype.c.
9794         * build-aux/relocatable.sh.in: New file.
9795         * doc/relocatable.texi: New file.
9796         * doc/relocatable-maint.texi: New file.
9797         * doc/gnulib.texi: Include relocatable-maint.texi.
9798         * lib/progreloc.c: Include unistd.h unconditionally.
9799         * lib/relocwrapper.c: Include unistd.h unconditionally.
9800         Include c-ctype.h.
9801         (add_dotbin): Use c_tolower.
9802         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
9803         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
9804         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
9805         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
9806         to m4/relocatable-lib.m4.
9807         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
9808         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
9809         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
9810         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
9811         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
9812         * modules/relocatable: New file.
9813         * modules/relocatable-lib: New file.
9814         * modules/relocatable-script: New file.
9815
9816 2007-02-28  Bruno Haible  <bruno@clisp.org>
9817
9818         Import --enable-relocatable infrastructure.
9819         * build-aux/config.libpath: New file, from GNU gettext.
9820         * build-aux/install-reloc: New file, from GNU gettext.
9821         * build-aux/reloc-ldflags: New file, from GNU gettext.
9822         * lib/relocatable.h: New file, from GNU gettext.
9823         * lib/relocatable.c: New file, from GNU gettext.
9824         * lib/relocwrapper.c: New file, from GNU gettext.
9825         * m4/relocatable.m4: New file, from GNU gettext.
9826
9827 2007-02-28  Bruno Haible  <bruno@clisp.org>
9828
9829         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
9830
9831         * modules/xreadlink: New file, from GNU gettext with modifications.
9832         * lib/xreadlink.c: New file, from GNU gettext.
9833         * lib/xreadlink.h: Add comments.
9834         (xreadlink): New declaration.
9835
9836         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
9837         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
9838         lib/xreadlink-with-size.c.
9839         (configure.ac): Remove gl_XREADLINK invocation.
9840         (Makefile.am): Augment lib_SOURCES.
9841         * m4/xreadlink.m4: Remove file.
9842         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
9843         (xreadlink_with_size): Renamed from xreadink.
9844         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
9845         * modules/canonicalize (Depends-on): Replace xreadlink with
9846         xreadlink-with-size.
9847         * lib/canonicalize.c (canonicalize_filename_mode): Update.
9848
9849 2007-02-25  Jim Meyering  <jim@meyering.net>
9850
9851         * build-aux/announce-gen: When complaining about excess arguments,
9852         list them.
9853
9854 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
9855
9856         * README: Document signed integer overflow situation more
9857         accurately.
9858
9859 2007-02-25  Bruno Haible  <bruno@clisp.org>
9860
9861         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
9862         'a' or 'A' conversion.
9863
9864 2007-02-25  Bruno Haible  <bruno@clisp.org>
9865
9866         * modules/filename: Renamed from modules/pathname.
9867         (Files): Replace lib/pathname.h with lib/filename.h. Replace
9868         lib/concatpath.c with lib/concat-filename.c.
9869         (Makefile.am): Update.
9870         (Include): Replace pathname.h with filename.h.
9871         * lib/filename.h: Renamed from lib/pathname.h.
9872         (concatenated_filename): Renamed from concatenated_pathname.
9873         * lib/concat-filename.c: Renamed from lib/concatpath.c.
9874         (concatenated_filename): Renamed from concatenated_pathname.
9875         * lib/findprog.c: Include filename.h instead of pathname.h.
9876         (find_in_path): Update.
9877         * lib/javacomp.c: Include filename.h instead of pathname.h.
9878         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
9879         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
9880         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
9881         is_oldgcj_14_13_usable, is_javac_usable): Update.
9882         * lib/javaexec.c: Include filename.h instead of pathname.h.
9883         (execute_java_class): Update.
9884         * modules/findprog: Update.
9885         * modules/javacomp: Update.
9886         * modules/javaexec: Update.
9887         * MODULES.html.sh (File system functions): Add 'filename', remove
9888         'pathname'.
9889
9890 2007-02-25  Bruno Haible  <bruno@clisp.org>
9891
9892         * modules/printf-frexpl-tests: New file.
9893         * tests/test-printf-frexpl.c: New file.
9894
9895         * modules/printf-frexpl: New file.
9896         * lib/printf-frexpl.h: New file.
9897         * lib/printf-frexpl.c: New file.
9898         * m4/printf-frexpl.m4: New file.
9899
9900 2007-02-25  Bruno Haible  <bruno@clisp.org>
9901
9902         * modules/printf-frexp-tests: New file.
9903         * tests/test-printf-frexp.c: New file.
9904
9905         * modules/printf-frexp: New file.
9906         * lib/printf-frexp.h: New file.
9907         * lib/printf-frexp.c: New file.
9908         * m4/printf-frexp.m4: New file.
9909
9910 2007-02-25  Bruno Haible  <bruno@clisp.org>
9911
9912         Assume automake >= 1.10 for the tests.
9913         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
9914         * modules/arctwo-tests: Likewise.
9915         * modules/argp-tests: Likewise.
9916         * modules/avltree-list-tests: Likewise.
9917         * modules/avltree-oset-tests: Likewise.
9918         * modules/avltreehash-list-tests: Likewise.
9919         * modules/carray-list-tests: Likewise.
9920         * modules/crc-tests: Likewise.
9921         * modules/des-tests: Likewise.
9922         * modules/gc-arcfour-tests: Likewise.
9923         * modules/gc-arctwo-tests: Likewise.
9924         * modules/gc-des-tests: Likewise.
9925         * modules/gc-hmac-md5-tests: Likewise.
9926         * modules/gc-hmac-sha1-tests: Likewise.
9927         * modules/gc-md2-tests: Likewise.
9928         * modules/gc-md4-tests: Likewise.
9929         * modules/gc-md5-tests: Likewise.
9930         * modules/gc-pbkdf2-sha1-tests: Likewise.
9931         * modules/gc-rijndael-tests: Likewise.
9932         * modules/gc-sha1-tests: Likewise.
9933         * modules/gc-tests: Likewise.
9934         * modules/getaddrinfo-tests: Likewise.
9935         * modules/hmac-md5-tests: Likewise.
9936         * modules/hmac-sha1-tests: Likewise.
9937         * modules/linked-list-tests: Likewise.
9938         * modules/linkedhash-list-tests: Likewise.
9939         * modules/lock-tests: Likewise.
9940         * modules/md2-tests: Likewise.
9941         * modules/md4-tests: Likewise.
9942         * modules/md5-tests: Likewise.
9943         * modules/rbtree-list-tests: Likewise.
9944         * modules/rbtree-oset-tests: Likewise.
9945         * modules/rbtreehash-list-tests: Likewise.
9946         * modules/read-file-tests: Likewise.
9947         * modules/rijndael-tests: Likewise.
9948         * modules/stdint-tests: Likewise.
9949         * modules/tls-tests: Likewise.
9950
9951 2007-02-24  Bruno Haible  <bruno@clisp.org>
9952
9953         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
9954         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
9955         function; instead check whether isnan with a double argument links.
9956         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
9957         function; instead check whether isnan with a 'long double' argument
9958         links.
9959         Reported by Eric Blake <ebb9@byu.net>.
9960
9961 2007-02-24  Bruno Haible  <bruno@clisp.org>
9962
9963         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
9964         defined.
9965         * lib/isnanl.c: Remove all code. Just include isnan.c.
9966         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
9967
9968 2007-02-25  Jim Meyering  <jim@meyering.net>
9969
9970         Avoid conflicting types for 'unsetenv' on FreeBSD.
9971         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
9972         conflicting with FreeBSD's (5.0 and 6.1) function declaration
9973         in stdlib.h.
9974
9975 2007-02-24  Bruno Haible  <bruno@clisp.org>
9976
9977         * modules/isnanl-nolibm-tests: New file.
9978         * tests/test-isnanl.c: New file.
9979
9980         * modules/isnanl-nolibm: New file.
9981         * lib/isnanl.h: New file.
9982         * lib/isnanl.c: New file.
9983         * m4/isnanl.m4: New file.
9984
9985 2007-02-24  Bruno Haible  <bruno@clisp.org>
9986
9987         * modules/isnan-nolibm-tests: New file.
9988         * tests/test-isnan.c: New file.
9989
9990         * modules/isnan-nolibm: New file.
9991         * lib/isnan.h: New file.
9992         * lib/isnan.c: New file.
9993         * m4/isnan.m4: New file.
9994
9995 2007-02-24  Bruno Haible  <bruno@clisp.org>
9996
9997         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
9998         assume that an exponent fits in 20 bits.
9999
10000 2007-02-24  Jim Meyering  <jim@meyering.net>
10001
10002         * m4/regex.m4: Update the description of the configure-time option,
10003         --without-included-regex, to state accurately what the defaults are,
10004         and perhaps to give people an idea why using this option is risky.
10005
10006 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10007
10008         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
10009         loops on small arguments.  This attempts to avoid the problem
10010         Bruno Haible reported for AIX 4.3.2 in
10011         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
10012
10013 2007-02-23  Bruno Haible  <bruno@clisp.org>
10014
10015         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
10016         Needed for help2man.
10017
10018 2007-02-23  Karl Berry  <karl@gnu.org>
10019
10020         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
10021         exists, foo.h should be cvs-ignored, not committed.
10022
10023 2007-02-23  Eric Blake  <ebb9@byu.net>
10024
10025         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
10026         * lib/stat-time.h (includes): Likewise.
10027         * lib/utimecmp.c (includes): Likewise.
10028         * lib/utimens.h (includes): Likewise.
10029         * lib/getdate.y (includes): Also include "timespec.h" for use
10030         internal to the module.
10031         * modules/utimens (Depends-on): Revert yesterday's patch.
10032         * modules/nanosleep (Depends-on): Add missing dependency.
10033
10034 2007-02-22  Bruno Haible  <bruno@clisp.org>
10035
10036         * lib/glob.c: Don't include getlogin_r.h.
10037
10038 2007-02-22  Jim Meyering  <jim@meyering.net>
10039
10040         * modules/utimens (Depends-on): Add timespec, required for
10041         utimens.h's inclusion of timespec.h.
10042
10043 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
10044
10045         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
10046         long unreadable paths in GNU/Linux.  Problem reported by Andreas
10047         Schwab in
10048         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
10049         I'll try to think of a better way to fix the Solaris problem.
10050
10051         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
10052         like glibc; on Solaris 10, it fails with errno == EINVAL.
10053         POSIX says the behavior is unspecified if the first argument is NULL,
10054         so play it safe and never pass NULL to the system getcwd.
10055
10056 2007-02-21  Jim Meyering  <jim@meyering.net>
10057
10058         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
10059         of gettimeofday.  It would conflict with the one now always
10060         provided via sys_time_.h.  Reported by Matthew Woehlke, as
10061         an IRIX 6.5 build failure.
10062
10063 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10064
10065         Minor fixups to port to Solaris 10 with Sun C 5.8.
10066         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
10067         * modules/getcwd (Depends-on): Add dirfd.
10068         * lib/putenv.c (putenv): #undef it.
10069         (rpl_putenv): New decl.
10070         (malloc, free): Include <stdlib.h> rather than prototyping separately.
10071
10072 2007-02-20  Bruno Haible  <bruno@clisp.org>
10073
10074         * modules/stdio-tests: New file.
10075         * tests/test-stdio.c: New file.
10076
10077         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
10078         (Depends-on): Add stdio.
10079         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10080         (Include): Use <stdio.h> instead of vsnprintf.h.
10081         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10082         HAVE_DECL_VSNPRINTF.
10083         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
10084
10085         * modules/snprintf (Files): Remove lib/snprintf.h.
10086         (Depends-on): Add stdio.
10087         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10088         (Include): Use <stdio.h> instead of snprintf.h.
10089         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10090         HAVE_DECL_SNPRINTF.
10091         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
10092         * lib/getaddrinfo.c: Likewise.
10093
10094         * modules/stdio: New file.
10095         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
10096         * lib/snprintf.h: Remove file.
10097         * lib/vsnprintf.h: Remove file.
10098         * lib/.cppi-disable: Remove snprintf.h.
10099         * m4/stdio_h.m4: New file.
10100         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
10101
10102 2007-02-20  Jim Meyering  <jim@meyering.net>
10103
10104         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
10105         used by e.g., mingw.  From Bruno Haible.
10106
10107 2007-02-19  Bruno Haible  <bruno@clisp.org>
10108
10109         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
10110         warnings.
10111         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10112
10113 2007-02-19  Bruno Haible  <bruno@clisp.org>
10114
10115         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
10116         from mingw users.
10117
10118 2007-02-19  Bruno Haible  <bruno@clisp.org>
10119
10120         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
10121         warnings.
10122         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
10123
10124 2007-02-19  Jim Meyering  <jim@meyering.net>
10125
10126         Don't use FD after a successful "fdopendir (fd)".
10127         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
10128         Reset it by calling dirfd on the just-obtained DIR*.
10129
10130         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
10131         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
10132
10133 2007-02-18  Bruno Haible  <bruno@clisp.org>
10134
10135         * lib/readlink.c: Include <unistd.h>.
10136         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
10137         HAVE_READLINK.
10138         * modules/readlink (Depends-on): Add unistd.
10139         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10140         (Include): Add <unistd.h>.
10141
10142         * lib/getlogin_r.h: Remove file.
10143         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
10144         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
10145         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
10146         HAVE_DECL_GETLOGIN_R.
10147         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
10148         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10149         (Include): Use <unistd.h> instead of getlogin_r.h.
10150
10151         * lib/getcwd.h: Remove file.
10152         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
10153         * lib/xgetcwd.c: Likewise.
10154         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
10155         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
10156         * modules/getcwd (Files): Remove lib/getcwd.h.
10157         (Depends-on): Add unistd.
10158         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10159         (Include): Use <unistd.h> instad of getcwd.h.
10160
10161         * lib/ftruncate.c: Include <unistd.h> first.
10162         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
10163         Set HAVE_FTRUNCATE.
10164         * modules/ftruncate (Depends-on): Add unistd.
10165         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10166
10167         * lib/fchdir.c: Include <unistd.h> first.
10168         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
10169         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
10170         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
10171         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10172         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
10173
10174         * lib/dup2.c: Include <unistd.h> first.
10175         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
10176         HAVE_DUP2.
10177         * modules/dup2 (Depends-on): Add unistd.
10178         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10179
10180         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
10181         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
10182         REPLACE_CHOWN. Don't define chown as a macro here.
10183         * modules/chown (Depends-on): Add unistd.
10184         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10185
10186         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
10187         Add definition for GL_LINK_WARNING.
10188         (chown, dup2): New declarations.
10189         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
10190         link warning.
10191         (ftruncate): New declaration.
10192         (getcwd): New declaration, taken from old getcwd.h.
10193         (getlogin_r): New declaration, taken from old getlogin_r.h.
10194         (readlink): New declaration.
10195         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
10196         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
10197         (gl_PREREQ_UNISTD): Remove macro.
10198         (gl_UNISTD_MODULE_INDICATOR): New macro.
10199         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
10200         many new variables. Don't set UNISTD_H.
10201         * modules/unistd (Description): Change.
10202         (Depends-on): Add link-warning.
10203         (configure.ac): Update.
10204         (Makefile.am): Create unistd.h always. Substitute many new variables
10205         into it.
10206
10207 2007-02-18  Bruno Haible  <bruno@clisp.org>
10208
10209         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
10210         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
10211         HAVE_GETSUBOPT.
10212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
10213         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
10214         * lib/getsubopt.h: Remove file.
10215         * modules/getsubopt (Files): Remove lib/getsubopt.h.
10216         (Depends-on): Add stdlib.
10217         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10218         (Includes): Use <stdlib.h> instead of getsubopt.h.
10219         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
10220         Set HAVE_GETSUBOPT.
10221         * lib/getsubopt.c: Don't include getsubopt.h.
10222
10223 2007-02-18  Bruno Haible  <bruno@clisp.org>
10224
10225         * modules/fchdir (Depends-on): Add dup2.
10226
10227 2007-02-18  Bruno Haible  <bruno@clisp.org>
10228
10229         * lib/stdlib_.h: Handle glibc's special invocation convention
10230         specially.
10231
10232 2007-02-18  Bruno Haible  <bruno@clisp.org>
10233
10234         * modules/stdlib-tests: New file.
10235         * tests/test-stdlib.c: New file.
10236
10237         * modules/mkstemp (Files): Remove lib/mkstemp.h.
10238         (Depends-on): Add stdlib.
10239         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10240         (Includes): Use <stdlib.h> instead of mkstemp.h.
10241         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
10242         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
10243         * lib/mkstemp.c: Don't include mkstemp.h.
10244         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
10245         * lib/stdlib--.h: Don't include mkstemp.h.
10246
10247         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
10248         (Depends-on): Add stdlib.
10249         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10250         (Includes): Use <stdlib.h> instead of mkdtemp.h.
10251         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
10252         HAVE_MKDTEMP.
10253         * lib/mkdtemp.c: Don't include mkdtemp.h.
10254         * lib/clean-temp.c: Don't include mkdtemp.h.
10255
10256         * modules/exit (Files): Remove lib/exit.h.
10257         (Depends-on): Add stdlib.
10258         (Makefile.am): Remove lib_SOURCES.
10259         (Include): Use <stdlib.h> instead of exit.h.
10260         * lib/argmatch.c: Don't include exit.h.
10261         * lib/execute.c: Likewise.
10262         * lib/pagealign_alloc.c: Likewise.
10263         * lib/pipe.c: Likewise.
10264         * lib/wait-process.c: Likewise.
10265         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
10266         * lib/exitfail.c: Likewise.
10267         * lib/savewd.c: Likewise.
10268         * lib/xsetenv.c: Likewise.
10269
10270         * modules/stdlib: New file.
10271         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
10272         and extra comments about mkstemp().
10273         * lib/exit.h: Remove file.
10274         * lib/mkdtemp.h: Remove file.
10275         * lib/mkstemp.h: Remove file.
10276         * m4/stdlib_h.m4: New file.
10277         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
10278
10279 2007-02-18  Bruno Haible  <bruno@clisp.org>
10280
10281         * modules/math-tests: New file.
10282         * tests/test-math.c: New file.
10283
10284         * modules/math: New file.
10285         * modules/mathl (Files): Remove lib/mathl.h.
10286         (Depends-on): Add math.
10287         (Makefile.am): Don't mention mathl.h.
10288         (Include): Use <math.h> instead of mathl.h.
10289         * lib/math_.h: New file.
10290         * lib/mathl.h: Remove file.
10291         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
10292         mathl.h.
10293         * lib/asinl.c: Likewise.
10294         * lib/atanl.c: Likewise.
10295         * lib/ceill.c: Likewise.
10296         * lib/cosl.c: Likewise.
10297         * lib/expl.c: Likewise.
10298         * lib/floorl.c: Likewise.
10299         * lib/frexpl.c: Likewise.
10300         * lib/ldexpl.c: Likewise.
10301         * lib/logl.c: Likewise.
10302         * lib/sincosl.c: Likewise.
10303         * lib/sinl.c: Likewise.
10304         * lib/sqrtl.c: Likewise.
10305         * lib/tanl.c: Likewise.
10306         * lib/trigl.c: Likewise.
10307         * m4/math_h.m4: New file.
10308         * MODULES.html.sh (Mathematics): Add math.
10309
10310 2007-02-17  Bruno Haible  <bruno@clisp.org>
10311
10312         * modules/wctype-tests: New file.
10313         * tests/test-wctype.c: New file.
10314
10315         * modules/wchar-tests: New file.
10316         * tests/test-wchar.c: New file.
10317
10318         * modules/unistd-tests: New file.
10319         * tests/test-unistd.c: New file.
10320
10321         * modules/time-tests: New file.
10322         * tests/test-time.c: New file.
10323
10324         * modules/sysexits-tests: New file.
10325         * tests/test-sysexits.c: New file.
10326
10327         * modules/sys_time-tests: New file.
10328         * tests/test-sys_time.c: New file.
10329
10330         * modules/sys_stat-tests: New file.
10331         * tests/test-sys_stat.c: New file.
10332
10333         * modules/sys_socket-tests: New file.
10334         * tests/test-sys_socket.c: New file.
10335
10336         * modules/sys_select-tests: New file.
10337         * tests/test-sys_select.c: New file.
10338
10339         * modules/string-tests: New file.
10340         * tests/test-string.c: New file.
10341
10342         * modules/stdbool-tests: New file.
10343         * tests/test-stdbool.c: New file.
10344
10345         * modules/netinet_in-tests: New file.
10346         * tests/test-netinet_in.c: New file.
10347
10348         * modules/inttypes-tests: New file.
10349         * tests/test-inttypes.c: New file.
10350
10351         * modules/fcntl-tests: New file.
10352         * tests/test-fcntl.c: New file.
10353
10354         * modules/byteswap-tests: New file.
10355         * tests/test-byteswap.c: New file.
10356
10357         * modules/arpa_inet-tests: New file.
10358         * tests/test-arpa_inet.c: New file.
10359
10360 2007-02-17  Bruno Haible  <bruno@clisp.org>
10361
10362         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
10363         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
10364         if the corresponding module is not enabled. Emit link warnings if
10365         the function is used nevertheless.
10366         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
10367         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
10368         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
10369         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
10370         * modules/inttypes (Depends-on): Add link-warning.
10371         (Makefile.am): Copy the contents of build-aux/link-warning.h into
10372         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
10373         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
10374         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
10375         * modules/imaxdiv (configure.ac): Likewise.
10376         * modules/strtoimax (configure.ac): Likewise.
10377         * modules/strtoumax (configure.ac): Likewise.
10378
10379 2007-02-17  Bruno Haible  <bruno@clisp.org>
10380
10381         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
10382         gl_STRING_MODULE_INDICATOR_DEFAULTS.
10383         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
10384         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
10385
10386 2007-02-17  Bruno Haible  <bruno@clisp.org>
10387
10388         * modules/link-warning: New file.
10389         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
10390         * lib/string_.h (GL_LINK_WARNING): Remove definition.
10391         * modules/string (Depends-on): Add link-warning.
10392         (Makefile.am): Copy the contents of build-aux/link-warning.h into
10393         string.h.
10394         * MODULES.html.sh (Support for building libraries and executables): Add
10395         link-warning.
10396
10397 2007-02-17  Bruno Haible  <bruno@clisp.org>
10398
10399         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
10400         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
10401         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
10402         long lines.
10403
10404 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
10405             Bruno Haible  <bruno@clisp.org>
10406
10407         * modules/tmpfile: New file.
10408         * lib/tmpfile.c: New file.
10409         * m4/tmpfile.m4: New file.
10410         * MODULES.html.sh (func_all_modules): New section "Input/output".
10411
10412 2007-02-15  Bruno Haible  <bruno@clisp.org>
10413
10414         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
10415         (supports_delete_on_close): New function.
10416         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
10417
10418 2007-02-14  Bruno Haible  <bruno@clisp.org>
10419
10420         * modules/mbspcasecmp-tests: New file.
10421         * tests/test-mbspcasecmp.sh: New file.
10422         * tests/test-mbspcasecmp.c: New file.
10423
10424         New module mbspcasecmp.
10425         * modules/mbspcasecmp: New file.
10426         * lib/mbspcasecmp.c: New file.
10427         * lib/string_.h (strncasecmp): Change warning message.
10428         (mbspcasecmp): New declaration.
10429         * m4/mbspcasecmp.m4: New file.
10430         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10431         GNULIB_MBSPCASECMP.
10432         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
10433         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
10434
10435 2007-02-14  Bruno Haible  <bruno@clisp.org>
10436
10437         * modules/mbsncasecmp-tests: New file.
10438         * tests/test-mbsncasecmp.sh: New file.
10439         * tests/test-mbsncasecmp.c: New file.
10440
10441         New module mbsncasecmp.
10442         * modules/mbsncasecmp: New file.
10443         * lib/mbsncasecmp.c: New file.
10444         * lib/string_.h (mbsncasecmp): New declaration.
10445         * m4/mbsncasecmp.m4: New file.
10446         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10447         GNULIB_MBSNCASECMP.
10448         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
10449         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
10450
10451 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10452
10453         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
10454         Verify that it doesn't overlap with our flags.
10455         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
10456         do not have the desired effect in multibyte locales; instead, use
10457         mbscasecmp.
10458         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
10459         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
10460         we don't require GNU fnmatch ourselves (if our users require it, they
10461         should do so explicitly).
10462
10463         Fix regex code so it doesn't rely on strcasecmp.
10464         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
10465         Otherwise, include gnulib's langinfo.h.
10466         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
10467         undesirable behavior in non-C locales.  Instead, rely on localecharset.
10468         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
10469         * modules/regex (FILES): Remove m4/codeset.m4.
10470         (Depends-on): Add localcharset.  Remove strcase.
10471
10472 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10473
10474         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
10475         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
10476
10477 2007-02-13  Bruno Haible  <bruno@clisp.org>
10478
10479         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
10480         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10481
10482 2007-02-12  Bruno Haible  <bruno@clisp.org>
10483
10484         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
10485         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
10486         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
10487         time warning rather than a link error.
10488
10489 2007-02-12  Bruno Haible  <bruno@clisp.org>
10490
10491         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
10492         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10493         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10494
10495 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10496
10497         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
10498         args, not 2.
10499
10500 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10501
10502         New module 'time', so that apps can include <time.h> as per
10503         POSIX and GNU instead of separate include files like time_r.h
10504         and timegm.h.  This implementation tries out a simpler approach
10505         for replacing decls in standard include files (as compared to
10506         the string module), somewhat as an experiment.
10507
10508         * config/srclist.txt: Comment out mktime.c for now.
10509         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
10510         since it doesn't apply any more.  Use generic wording instead.
10511         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
10512         'time'.
10513         * lib/time_.h, m4/time_h.m4, modules/time: New files.
10514         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
10515         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
10516         Don't include <sys/types.h>; no longer needed since we assume C89.
10517         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
10518         * lib/strftime.c: Likewise.
10519         * lib/time_r.c: Likewise.
10520         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
10521         * lib/nanosleep.c: Include <time.h> first, to check interface.
10522         * lib/strptime.c: Likewise.
10523         * lib/time_r.c: Likewise.
10524         * lib/timegm.c: Likewise.
10525         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
10526         needed.
10527         * lib/timegm.c: Don't include timegm.h; no longer needed.
10528         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
10529         time.h now handles any problems in that area.
10530         (struct timespec, nanosleep): Remove; time.h now arranges for these.
10531         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
10532         that time.h defines struct timespec.
10533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
10534         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
10535         handles that.
10536         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
10537         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
10538         needed.  Set REPLACE_LOCALTIME.
10539         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
10540         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
10541         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
10542         nanosleep; time_h.m4 now does that.  Don't require
10543         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
10544         module handles this now.
10545         * modules/getdate (Depends-on): Remove timespec.  Add time.
10546         * modules/nanosleep (Depends-on): Likewise.
10547         * modules/stat-time (Depends-on): Likewise.
10548         * modules/nanosleep (Include): Include time.h, not timespec.h.
10549         * modules/strptime (Files): Remove lib/strptime.h.
10550         (Depends-on): Add extensions, time.
10551         (Include): Include time.h, not strptime.h.
10552         * modules/time_r (Files): Remove lib/time_r.h.
10553         (Depends-on): Add time.
10554         (Include): Include time.h, not time_r.h.
10555         * modules/timegm: Likewise.
10556         * modules/timespec (Description): Now does timespec-related decls
10557         of our own, instead of struct timespec itself.
10558         (Depends-on): Add time; remove extensions.
10559         (Maintainer): Add self.
10560         * modules/utimecmp (Depends-on): Add time; remove timespec.
10561         * modules/utimens (Depends-on): Likewise.
10562         * modules/xnanosleep (Depends-on): Likewise.
10563
10564 2007-02-11  Bruno Haible  <bruno@clisp.org>
10565
10566         * lib/c-strstr.c: Include allocsa.h.
10567         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10568         * lib/c-strcasestr.c: Include allocsa.h.
10569         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10570         * lib/strcasestr.c: Include allocsa.h.
10571         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10572         * lib/mbsstr.c: Include allocsa.h.
10573         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
10574         allocsa/freesa instead of malloc/free.
10575         * lib/mbscasestr.c: Include allocsa.h.
10576         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
10577         allocsa/freesa instead of malloc/free.
10578         * modules/c-strstr (Depends-on): Add allocsa.
10579         * modules/c-strcasestr (Depends-on): Likewise.
10580         * modules/strcasestr (Depends-on): Likewise.
10581         * modules/mbsstr (Depends-on): Likewise.
10582         * modules/mbscasestr (Depends-on): Likewise.
10583
10584 2007-02-11  Bruno Haible  <bruno@clisp.org>
10585
10586         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
10587
10588         * modules/mbsspn-tests: New file.
10589         * tests/test-mbsspn.sh: New file.
10590         * tests/test-mbsspn.c: New file.
10591
10592 2007-02-11  Bruno Haible  <bruno@clisp.org>
10593
10594         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
10595
10596         * modules/mbspbrk-tests: New file.
10597         * tests/test-mbspbrk.sh: New file.
10598         * tests/test-mbspbrk.c: New file.
10599
10600 2007-02-11  Bruno Haible  <bruno@clisp.org>
10601
10602         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
10603         unneeded cast.
10604
10605         * modules/mbscspn-tests: New file.
10606         * tests/test-mbscspn.sh: New file.
10607         * tests/test-mbscspn.c: New file.
10608
10609 2007-02-11  Bruno Haible  <bruno@clisp.org>
10610
10611         * modules/mbscasecmp-tests: New file.
10612         * tests/test-mbscasecmp.sh: New file.
10613         * tests/test-mbscasecmp.c: New file.
10614
10615 2007-02-11  Bruno Haible  <bruno@clisp.org>
10616
10617         Ensure O(n) worst-case complexity of mbscasestr.
10618         * lib/mbscasestr.c: Include stdbool.h.
10619         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
10620         functions.
10621         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
10622         the bookkeeping indicates that it's worth it.
10623         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
10624
10625         * modules/mbscasestr-tests: New file.
10626         * tests/test-mbscasestr1.c: New file.
10627         * tests/test-mbscasestr2.sh: New file.
10628         * tests/test-mbscasestr2.c: New file.
10629         * tests/test-mbscasestr3.sh: New file.
10630         * tests/test-mbscasestr3.c: New file.
10631         * tests/test-mbscasestr4.sh: New file.
10632         * tests/test-mbscasestr4.c: New file.
10633         * m4/locale-tr.m4: New file.
10634
10635 2007-02-11  Bruno Haible  <bruno@clisp.org>
10636
10637         Ensure O(n) worst-case complexity of mbsstr.
10638         * lib/mbsstr.c: Include stdbool.h.
10639         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
10640         functions.
10641         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
10642         bookkeeping indicates that it's worth it.
10643         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
10644
10645         * modules/mbsstr-tests: New file.
10646         * tests/test-mbsstr1.c: New file.
10647         * tests/test-mbsstr2.sh: New file.
10648         * tests/test-mbsstr2.c: New file.
10649         * tests/test-mbsstr3.sh: New file.
10650         * tests/test-mbsstr3.c: New file.
10651         * m4/locale-fr.m4: New file.
10652
10653 2007-02-11  Bruno Haible  <bruno@clisp.org>
10654
10655         * lib/mbsrchr.c (mbsrchr): Fix bug.
10656
10657         * modules/mbsrchr-tests: New file.
10658         * tests/test-mbsrchr.sh: New file.
10659         * tests/test-mbsrchr.c: New file.
10660
10661 2007-02-11  Bruno Haible  <bruno@clisp.org>
10662
10663         * lib/mbschr.c (mbschr): Fix bug.
10664
10665         * modules/mbschr-tests: New file.
10666         * tests/test-mbschr.sh: New file.
10667         * tests/test-mbschr.c: New file.
10668         * m4/locale-zh.m4: New file.
10669
10670 2007-02-11  Bruno Haible  <bruno@clisp.org>
10671
10672         Support for copying multibyte string iterators.
10673         * lib/mbiter.h: Include <string.h>.
10674         (mbiter_multi_copy): New function.
10675         (mbi_copy): New macro.
10676         * lib/mbuiter.h: Include <string.h>.
10677         (mbuiter_multi_copy): New function.
10678         (mbui_copy): New macro.
10679
10680 2007-02-11  Bruno Haible  <bruno@clisp.org>
10681
10682         New module mbslen.
10683         * modules/mbslen: New file.
10684         * lib/mbslen.c: New file.
10685         * lib/string_.h (mbslen): New declaration.
10686         * m4/mbslen.m4: New file.
10687         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10688         GNULIB_MBSLEN.
10689         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
10690         * MODULES.html.sh (Internationalization functions): Add mbslen.
10691
10692 2007-02-11  Bruno Haible  <bruno@clisp.org>
10693
10694         Ensure O(n) worst-case complexity of strcasestr substitute.
10695         * lib/strcasestr.c: Include stdbool.h.
10696         (knuth_morris_pratt): New function.
10697         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
10698         bookkeeping indicates that it's worth it.
10699         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
10700
10701         * modules/strcasestr-tests: New file.
10702         * tests/test-strcasestr.c: New file.
10703
10704 2007-02-11  Bruno Haible  <bruno@clisp.org>
10705
10706         Ensure O(n) worst-case complexity of c_strcasestr.
10707         * lib/c-strcasestr.c: Include stdbool.h, string.h.
10708         (knuth_morris_pratt): New function.
10709         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
10710         the bookkeeping indicates that it's worth it.
10711         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
10712
10713         * modules/c-strcasestr-tests: New file.
10714         * tests/test-c-strcasestr.c: New file.
10715
10716 2007-02-11  Bruno Haible  <bruno@clisp.org>
10717
10718         Ensure O(n) worst-case complexity of c_strstr.
10719         * lib/c-strstr.c: Include stdbool.h, string.h.
10720         (knuth_morris_pratt): New function.
10721         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
10722         bookkeeping indicates that it's worth it.
10723         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
10724
10725         * lib/c-strstr.c: Complete rewrite for maintainability.
10726
10727         * modules/c-strstr-tests: New file.
10728         * tests/test-c-strstr.c: New file.
10729
10730 2007-02-11  Bruno Haible  <bruno@clisp.org>
10731
10732         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
10733         5.2.1 and earlier, whereby \055 was treated just like the range
10734         delimiter '-'.
10735         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
10736
10737 2007-02-08  Bruno Haible  <bruno@clisp.org>
10738
10739         * modules/regex (Depends-on): Add stdbool.
10740         Reported by Dalibor Topic <robilad@kaffe.org>.
10741
10742 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10743
10744         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
10745         Prefer returning from main to exiting from it.
10746         Remove unnecessary parens after sizeof.
10747
10748 2007-02-05  Bruno Haible  <bruno@clisp.org>
10749
10750         New module mbssep.
10751         * modules/mbssep: New file.
10752         * lib/mbssep.c: New file.
10753         * lib/string_.h (strsep): Add a conditional link warning.
10754         (mbssep): New declaration.
10755         * m4/mbssep.m4: New file.
10756         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10757         GNULIB_MBSSEP.
10758         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
10759         * MODULES.html.sh (Internationalization functions): Add mbssep.
10760
10761 2007-02-05  Bruno Haible  <bruno@clisp.org>
10762
10763         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
10764         Optimize search in case of 1 delimiter.
10765
10766 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
10767
10768         * lib/acl.h: Include sys/types.h before sys/acl.h.
10769
10770 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
10771
10772         Merge upstream fix for glibc bugzilla #3957:
10773
10774         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
10775
10776         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
10777         bit for RE_HAT_LISTS_NOT_NEWLINE.
10778         (build_charclass_op): Remove bogus comment.
10779
10780 2007-02-05  Simon Josefsson  <simon@josefsson.org>
10781
10782         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
10783
10784 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10785
10786         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
10787         * lib/memmem.c [!defined _LIBC]: Include config.h.
10788
10789 2007-02-04  Bruno Haible  <bruno@clisp.org>
10790
10791         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
10792         warning message.
10793
10794 2007-02-04  Bruno Haible  <bruno@clisp.org>
10795
10796         New module mbstok_r.
10797         * modules/mbstok_r: New file.
10798         * lib/mbstok_r.c: New file.
10799         * lib/string_.h (strtok_r): Change argument names to match the
10800         comments. Add a conditional link warning.
10801         (mbstok_r): New declaration.
10802         * m4/mbstok_r.m4: New file.
10803         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10804         GNULIB_MBSTOK_R.
10805         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
10806         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
10807
10808 2007-02-04  Bruno Haible  <bruno@clisp.org>
10809
10810         New module mbsspn.
10811         * modules/mbsspn: New file.
10812         * lib/mbsspn.c: New file.
10813         * lib/string_.h (strspn): Add a conditional link warning.
10814         (mbsspn): New declaration.
10815         * m4/mbsspn.m4: New file.
10816         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10817         GNULIB_MBSSPN.
10818         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
10819         * MODULES.html.sh (Internationalization functions): Add mbsspn.
10820
10821 2007-02-04  Bruno Haible  <bruno@clisp.org>
10822
10823         New module mbspbrk.
10824         * modules/mbspbrk: New file.
10825         * lib/mbspbrk.c: New file.
10826         * lib/string_.h (strpbrk): Add a conditional link warning.
10827         (mbspbrk): New declaration.
10828         * m4/mbspbrk.m4: New file.
10829         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10830         GNULIB_MBSPBRK.
10831         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
10832         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
10833
10834 2007-02-04  Bruno Haible  <bruno@clisp.org>
10835
10836         New module mbscspn.
10837         * modules/mbscspn: New file.
10838         * lib/mbscspn.c: New file.
10839         * lib/string_.h (strcspn): Add a conditional link warning.
10840         (mbscspn): New declaration.
10841         * m4/mbscspn.m4: New file.
10842         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10843         GNULIB_MBSCSPN.
10844         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
10845         * MODULES.html.sh (Internationalization functions): Add mbscspn.
10846
10847 2007-02-04  Bruno Haible  <bruno@clisp.org>
10848
10849         New module mbscasestr, reduced goal of strcasestr.
10850         * modules/mbscasestr: New file.
10851         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
10852         (mbscasestr): Renamed from strcasestr.
10853         * lib/strcasestr.c: Don't include mbuiter.h.
10854         (strcasestr): Remove support for multibyte locales.
10855         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
10856         Change the conditional link warning.
10857         (mbscasestr): New declaration.
10858         * m4/mbscasestr.m4: New file.
10859         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
10860         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
10861         REPLACE_STRCASESTR.
10862         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
10863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10864         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
10865         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
10866         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
10867         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
10868         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
10869         (Depends-on): Remove mbuiter.
10870         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
10871
10872 2007-02-04  Bruno Haible  <bruno@clisp.org>
10873
10874         Simplify handling of strncasecmp.
10875         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
10876         the conditional link warning.
10877         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10878         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
10879         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
10880         * modules/strcase (configure.ac): Don't invoke
10881         gl_STRING_MODULE_INDICATOR.
10882         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
10883
10884 2007-02-04  Bruno Haible  <bruno@clisp.org>
10885
10886         New module mbscasecmp, reduced goal of strcasecmp.
10887         * modules/mbscasecmp: New file.
10888         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
10889         (mbscasecmp): Renamed from strcasecmp.
10890         * lib/strcasecmp.c: Don't include mbuiter.h.
10891         (strcasecmp): Remove support for multibyte locales.
10892         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
10893         Change the conditional link warning.
10894         (mbscasecmp): New declaration.
10895         * m4/mbscasecmp.m4: New file.
10896         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
10897         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
10898         REPLACE_STRCASECMP.
10899         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
10900         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10901         GNULIB_MBSCASECMP.
10902         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
10903         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
10904         * modules/strcase (Files): Remove m4/mbrtowc.m4.
10905         (Depends-on): Remove mbuiter.
10906         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
10907
10908 2007-02-04  Bruno Haible  <bruno@clisp.org>
10909
10910         New module mbsstr. Remove module strstr.
10911         * modules/mbsstr: New file.
10912         * modules/strstr: Remove file.
10913         * lib/mbsstr.c: Renamed from lib/strstr.c.
10914         (mbsstr): Renamed from strstr.
10915         * lib/string_.h (strstr): Remove declaration. Change the conditional
10916         link warning.
10917         (mbsstr): New declaration.
10918         * m4/mbsstr.m4: New file.
10919         * m4/strstr.m4: Remove file.
10920         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
10921         REPLACE_STRSTR.
10922         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
10923         Don't initialize GNULIB_STRSTR.
10924         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
10925         substitute GNULIB_STRSTR and REPLACE_STRSTR.
10926         * MODULES.html.sh (Internationalization functions): Add mbsstr.
10927         (Support for systems lacking ANSI C 89): Remove strstr.
10928
10929 2007-02-04  Bruno Haible  <bruno@clisp.org>
10930
10931         New module mbsrchr.
10932         * modules/mbsrchr: New file.
10933         * lib/mbsrchr.c: New file.
10934         * lib/string_.h (strrchr): Add a conditional link warning.
10935         (mbsrchr): New declaration.
10936         * m4/mbsrchr.m4: New file.
10937         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10938         GNULIB_MBSRCHR.
10939         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
10940         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
10941
10942 2007-02-04  Bruno Haible  <bruno@clisp.org>
10943
10944         New module mbschr.
10945         * modules/mbschr: New file.
10946         * lib/mbschr.c: New file.
10947         * lib/string_.h (strchr): Add a conditional link warning.
10948         (mbschr): New declaration.
10949         * m4/mbschr.m4: New file.
10950         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10951         GNULIB_MBSCHR.
10952         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
10953         * MODULES.html.sh (Internationalization functions): Add mbschr.
10954
10955 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10956
10957         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
10958
10959         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
10960
10961 2007-02-04  Bruno Haible  <bruno@clisp.org>
10962
10963         New module description section 'configure.ac-early'.
10964         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
10965         (func_get_autoconf_early_snippet): New function.
10966         (func_import, func_create_testdir): Use it. Remove special cases for
10967         modules 'extensions' and 'lock'.
10968         * modules/extensions (configure.ac-early): Require
10969         gl_USE_SYSTEM_EXTENSIONS.
10970         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
10971
10972 2007-02-04  Bruno Haible  <bruno@clisp.org>
10973
10974         Make use of gcj-4.3's -fsource and -ftarget option.
10975         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
10976         and if so try the options -fsource and -ftarget.
10977         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
10978         source_version, ftarget_option, target_version arguments.
10979         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
10980         (is_envjavac_oldgcj_14_14_usable): Renamed from
10981         is_envjavac_gcj_14_14_usable.
10982         (is_envjavac_oldgcj_14_13_usable): Renamed from
10983         is_envjavac_gcj_14_13_usable.
10984         (is_gcj_present): Update.
10985         (is_gcj_43, is_gcj43_usable): New functions.
10986         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
10987         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
10988         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
10989         try the options -fsource and -ftarget.
10990
10991 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10992
10993         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
10994         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
10995         larger value.
10996
10997 2007-02-03  Jim Meyering  <jim@meyering.net>
10998
10999         Give tools a better chance to allocate space for very large buffers.
11000         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
11001
11002         Make pwd and readlink work also when run with an unreadable parent dir
11003         on systems with openat support.
11004         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
11005         provided getcwd function, even when we have openat support.
11006         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
11007
11008 2007-02-02  Bruno Haible  <bruno@clisp.org>
11009
11010         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
11011         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
11012         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
11013         portability problems if one of these functions is only used on specific
11014         platforms.
11015         Reported by Paul Eggert.
11016
11017 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11018
11019         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
11020         is causing more trouble than it's curing.
11021         * lib/regex_internal.h (__mempcpy): Remove.
11022         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
11023         (and make the code a tad smaller to boot).
11024         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
11025
11026 2007-02-02  Jim Meyering  <jim@meyering.net>
11027
11028         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
11029         section, not in the Makefile.am: one.
11030
11031 2007-02-02  Eric Blake  <ebb9@byu.net>
11032
11033         * lib/strchrnul.c: Always include config.h first.
11034
11035         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
11036         gnulib strstr is not necessary here.
11037
11038 2007-02-02  Simon Josefsson  <simon@josefsson.org>
11039
11040         * m4/socklen.m4: Fix typo.
11041
11042 2007-02-02  Eric Blake  <ebb9@byu.net>
11043
11044         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
11045         * modules/netinet_in (Makefile.am): Likewise.
11046
11047 2007-02-01  Bruno Haible  <bruno@clisp.org>
11048
11049         * lib/string_.h (GL_LINK_WARNING): New macro.
11050         (strcasecmp, strstr, strcasestr): If provided by the system,
11051         conditionally define as a macro that leads to a warning instead of to
11052         an error.
11053         (strncasecmp): Conditionally define as a macro that leads to a warning.
11054
11055 2007-02-01  Karl Berry  <karl@gnu.org>
11056
11057         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
11058
11059 2007-02-01  Bruno Haible  <bruno@clisp.org>
11060
11061         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
11062         renamings.
11063
11064 2007-02-01  Eric Blake  <ebb9@byu.net>
11065
11066         * modules/regex (Depends-on): Revert dependence on mempcpy.
11067         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
11068         module's definition of mempcpy.
11069         Reported by Paul Eggert.
11070
11071 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
11072
11073         * lib/string_.h: If the gnulib module XYZ is not present, undefine
11074         the symbol XYZ before redefining it.  This fixes a problem with
11075         programs that don't use XYZ, when compiled on systems that define
11076         XYZ to something else.
11077
11078 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
11079
11080         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
11081         occurs when "mkdir -m foo" creates a setgid directory that is (1)
11082         writeable to group or other and (2) is intended to have a special
11083         mode bit that is set or cleared.  In such a case, the directory
11084         should be neither group- nor other-writeable until the special
11085         mode bits are right.
11086
11087 2007-01-31  Eric Blake  <ebb9@byu.net>
11088
11089         * modules/mountlist (Depends-on): Add strstr.
11090
11091         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
11092         bug.
11093         * modules/string (Makefile.am): Remove redundant replacement.
11094         * modules/regex (Depends-on): Add mempcpy.
11095
11096 2007-01-31  Bruno Haible  <bruno@clisp.org>
11097
11098         New module description field 'Link'.
11099         * gnulib-tool (func_usage): Document --extract-link-directive.
11100         (sed_extract_prog): Recognize 'Link' directive.
11101         (func_get_link_directive): New function.
11102         (func_import): Show summary of link directives.
11103         Handle --extract-link-directive option.
11104         * modules/acl (Link): New section.
11105         * modules/clock-time (Link): New section.
11106         * modules/euidaccess (Link): New section.
11107         * modules/gettext (Link): New section.
11108         * modules/iconv (Link): New section.
11109         * modules/lock (Link): New section.
11110         * modules/nanosleep (Link): New section.
11111         * modules/readline (Link): New section.
11112
11113 2007-01-27  Bruno Haible  <bruno@clisp.org>
11114
11115         Enforce the use of gnulib modules for unportable <string.h> functions.
11116         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
11117         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
11118         (gl_HEADER_STRING_H_BODY): Require it.
11119         * lib/string_.h: If the gnulib module XYZ is not present, redefine
11120         the symbol XYZ to one that gives a link error.
11121         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
11122         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
11123         * modules/mempcpy (configure.ac): Likewise.
11124         * modules/memrchr (configure.ac): Likewise.
11125         * modules/stpcpy (configure.ac): Likewise.
11126         * modules/stpncpy (configure.ac): Likewise.
11127         * modules/strcase (configure.ac): Likewise.
11128         * modules/strcasestr (configure.ac): Likewise.
11129         * modules/strchrnul (configure.ac): Likewise.
11130         * modules/strdup (configure.ac): Likewise.
11131         * modules/strndup (configure.ac): Likewise.
11132         * modules/strnlen (configure.ac): Likewise.
11133         * modules/strpbrk (configure.ac): Likewise.
11134         * modules/strsep (configure.ac): Likewise.
11135         * modules/strstr (configure.ac): Likewise.
11136         * modules/strtok_r (configure.ac): Likewise.
11137
11138 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
11139
11140         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
11141
11142 2007-01-30  Jim Meyering  <jim@meyering.net>
11143
11144         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
11145
11146 2007-01-29  Bruno Haible  <bruno@clisp.org>
11147
11148         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
11149         * lib/execute.c: Likewise.
11150         * lib/pipe.c: Likewise.
11151         * lib/printf-args.h: Likewise.
11152         * lib/printf-args.c: Likewise.
11153         * lib/printf-parse.c: Likewise.
11154         * lib/vasnprintf.c: Likewise.
11155
11156 2007-01-29  Eric Blake  <ebb9@byu.net>
11157
11158         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
11159         declaration.
11160
11161 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
11162
11163         * lib/strptime.h (strptime): Use 'restrict' for args where
11164         POSIX requires this.
11165         * lib/strptime.c (strptime): Likewise.
11166         Change license notice from LGPL to GPL, since gnulib-tool will
11167         change this as needed.
11168         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
11169         defined.
11170         Include "strptime.h" first, to check interface.
11171         Do not #undef _LIBC and _NL_CURRENT.
11172         Do not include <stdlib.h>; no longer needed.
11173         Include "time_r.h" and declare ptime_locale_status
11174         only if _LIBC is not defined.
11175         (__P): Remove unused macro.
11176         (match_string): Bring back glibc version, but use it only if _LIBC
11177         is defined.
11178         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
11179         Remove unnecessary assertion and abort() call.
11180         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
11181         * m4/strptime.m4: Fix serial number comment.
11182         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
11183         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
11184         (Depends-on): Add time_r.
11185
11186 2007-01-29  Bruno Haible  <bruno@clisp.org>
11187
11188         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11189         strptime.
11190         * modules/strptime (Depends-on): Add stdbool.
11191         * lib/strptime.h: Include <time.h> always. Add comments.
11192
11193 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11194
11195         * modules/strptime: New file.
11196         * lib/strptime.h: New file.
11197         * lib/strptime.c: New file.
11198         * m4/strptime.m4: New file.
11199
11200 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
11201
11202         * MODULES.html.sh: New module mpsort.
11203         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
11204
11205         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
11206         a circularity problem with HP-UX ia64 reported by Bob Proulx in
11207         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
11208         All uses changed.
11209         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
11210         All uses changed.
11211         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
11212         to _Restrict_.
11213         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
11214         the parameter matches the prototype.
11215
11216 2007-01-28  Jim Meyering  <jim@meyering.net>
11217
11218         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
11219         sys/time.h here, reverting that part of the previous patch:
11220         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
11221
11222 2007-01-28  Bruno Haible  <bruno@clisp.org>
11223
11224         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
11225         value of $(SYS_TIME_H).
11226         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
11227         remove it conditionally, too. [added by Jim Meyering]
11228         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
11229         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
11230         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
11231         GETTIMEOFDAY_REPLACEMENT to 1.
11232
11233 2007-01-28  Bruno Haible  <bruno@clisp.org>
11234
11235         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
11236         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
11237         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
11238         Set UNISTD_H instead of UNISTD_H2.
11239         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
11240
11241 2007-01-28  Bruno Haible  <bruno@clisp.org>
11242
11243         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
11244         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
11245
11246 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11247
11248         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
11249         (func_create_testdir): Ensure C locale for `grep' and `tr'
11250         character ranges.
11251         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
11252         ACLOCAL_AMFLAGS parsing state machine.
11253
11254 2007-01-27  Bruno Haible  <bruno@clisp.org>
11255
11256         * modules/unistr/base: Update.
11257
11258 2007-01-27  Bruno Haible  <bruno@clisp.org>
11259
11260         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
11261         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
11262         * modules/unistr/u32-mbtouc-unsafe: Renamed from
11263         modules/unistr/u32-mbtouc.
11264         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
11265         * lib/unistr.h: Update.
11266         * lib/linebreak.c: Update.
11267         * modules/unistr/u32-mbtouc: Renamed from
11268         modules/unistr/u32-mbtouc-safe.
11269         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
11270         * lib/unistr.h: Update.
11271         * lib/unistr/u32-to-u8.c: Update.
11272         * lib/unistr/u32-to-u16.c: Update.
11273
11274 2007-01-27  Bruno Haible  <bruno@clisp.org>
11275
11276         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
11277         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
11278         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
11279         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
11280         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
11281         * modules/unistr/u16-mbtouc-unsafe: Renamed from
11282         modules/unistr/u16-mbtouc.
11283         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
11284         * lib/unistr.h: Update.
11285         * lib/linebreak.c: Update.
11286         * modules/linebreak: Update.
11287         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
11288         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
11289         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
11290         * modules/unistr/u16-mbtouc: Renamed from
11291         modules/unistr/u16-mbtouc-safe.
11292         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
11293         * lib/unistr.h: Update.
11294         * lib/unistr/u16-to-u8.c: Update.
11295         * modules/unistr/u16-to-u8: Update.
11296         * lib/unistr/u16-to-u32.c: Update.
11297         * modules/unistr/u16-to-u32: Update.
11298
11299 2007-01-27  Bruno Haible  <bruno@clisp.org>
11300
11301         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
11302         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
11303         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
11304         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
11305         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
11306         * modules/unistr/u8-mbtouc-unsafe: Renamed from
11307         modules/unistr/u8-mbtouc.
11308         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
11309         * lib/unistr.h: Update.
11310         * lib/striconveh.c: Update.
11311         * modules/striconveh: Update.
11312         * lib/linebreak.c: Update.
11313         * modules/linebreak: Update.
11314         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
11315         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
11316         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
11317         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
11318         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
11319         * lib/unistr.h: Update.
11320         * lib/striconveh.c: Update.
11321         * modules/striconveh: Update.
11322         * lib/unistr/u8-to-u16.c: Update.
11323         * modules/unistr/u8-to-u16: Update.
11324         * lib/unistr/u8-to-u32.c: Update.
11325         * modules/unistr/u8-to-u32: Update.
11326
11327 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11328
11329         Sync from Libtool.
11330         * lib/argz.c: Do not include strings.h nor memory.h, include
11331         string.h unconditionally.  Patch by Simon Josefsson.
11332
11333 2007-01-27  Bruno Haible  <bruno@clisp.org>
11334
11335         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
11336         from gl_HEADER_STRING_H_BODY.
11337         (gl_HEADER_STRING_H_BODY): Require it.
11338         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
11339         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
11340         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
11341         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
11342         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11343         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
11344         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11345         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
11346         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
11347         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
11348         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
11349         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
11350         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
11351         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11352         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
11353
11354 2007-01-27  Bruno Haible  <bruno@clisp.org>
11355
11356         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
11357         check_PROGRAMS into noinst_PROGRAMS.
11358         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
11359         check_PROGRAMS in this case.
11360         (func_import): Set for_test to false.
11361         (func_create_testdir): Set for_test to true.
11362
11363 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11364             Bruno Haible  <bruno@clisp.org>
11365
11366         * modules/strcasestr (Files): Remove lib/strcasestr.h.
11367         (Depends-on): Add string.
11368         (Includes): Use <string.h> instead of strcasestr.h.
11369         * modules/string (Makefile.am): Also substitute the value of
11370         REPLACE_STRCASESTR.
11371         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
11372         assume strcasestr is declared in <string.h> not <strings.h>. Also
11373         set REPLACE_STRCASESTR.
11374         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
11375         REPLACE_STRCASESTR.
11376         * lib/strcasestr.h: Remove file.
11377         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
11378         * lib/string_.h (strcasestr): New declaration.
11379
11380 2007-01-27  Bruno Haible  <bruno@clisp.org>
11381
11382         * lib/string_.h: Use 'extern'.
11383
11384 2007-01-27  Jim Meyering  <jim@meyering.net>
11385
11386         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
11387         of set-but-not-used local, "q".
11388
11389         * lib/mempcpy.c: Include <config.h> before <string.h>.
11390         This fixes a compilation error on HP-UX, due to the system's
11391         "restrict"-using mempcpy prototype.
11392
11393 2007-01-26  Bruno Haible  <bruno@clisp.org>
11394
11395         Small optimization.
11396         * lib/javacomp.c: Include c-strstr.h.
11397          (is_envjavac_gcj): Use c_strstr instead of strstr.
11398         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
11399
11400 2007-01-26  Bruno Haible  <bruno@clisp.org>
11401
11402         * MODULES.html.sh (Unicode string functions): Add the new modules.
11403
11404         * modules/uniconv/u32-strconv-to-locale: New file.
11405         * lib/uniconv/u32-strconv-to-locale.c: New file.
11406
11407         * modules/uniconv/u16-strconv-to-locale: New file.
11408         * lib/uniconv/u16-strconv-to-locale.c: New file.
11409
11410         * modules/uniconv/u8-strconv-to-locale: New file.
11411         * lib/uniconv/u8-strconv-to-locale.c: New file.
11412
11413         * modules/uniconv/u32-strconv-from-locale: New file.
11414         * lib/uniconv/u32-strconv-from-locale.c: New file.
11415
11416         * modules/uniconv/u16-strconv-from-locale: New file.
11417         * lib/uniconv/u16-strconv-from-locale.c: New file.
11418
11419         * modules/uniconv/u8-strconv-from-locale: New file.
11420         * lib/uniconv/u8-strconv-from-locale.c: New file.
11421
11422         * modules/uniconv/u32-strconv-to-enc: New file.
11423         * lib/uniconv/u32-strconv-to-enc.c: New file.
11424         * modules/uniconv/u32-strconv-to-enc-tests: New file.
11425         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
11426
11427         * modules/uniconv/u16-strconv-to-enc: New file.
11428         * lib/uniconv/u16-strconv-to-enc.c: New file.
11429         * lib/uniconv/u-strconv-to-enc.h: New file.
11430         * modules/uniconv/u16-strconv-to-enc-tests: New file.
11431         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
11432
11433         * modules/uniconv/u8-strconv-to-enc: New file.
11434         * lib/uniconv/u8-strconv-to-enc.c: New file.
11435         * modules/uniconv/u8-strconv-to-enc-tests: New file.
11436         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
11437
11438         * modules/uniconv/u32-strconv-from-enc: New file.
11439         * lib/uniconv/u32-strconv-from-enc.c: New file.
11440         * modules/uniconv/u32-strconv-from-enc-tests: New file.
11441         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
11442
11443         * modules/uniconv/u16-strconv-from-enc: New file.
11444         * lib/uniconv/u16-strconv-from-enc.c: New file.
11445         * modules/uniconv/u16-strconv-from-enc-tests: New file.
11446         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
11447
11448         * modules/uniconv/u8-strconv-from-enc: New file.
11449         * lib/uniconv/u8-strconv-from-enc.c: New file.
11450         * lib/uniconv/u-strconv-from-enc.h: New file.
11451         * modules/uniconv/u8-strconv-from-enc-tests: New file.
11452         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
11453
11454         * modules/uniconv/u32-conv-from-enc: New file.
11455         * lib/uniconv/u32-conv-from-enc.c: New file.
11456         * modules/uniconv/u32-conv-from-enc-tests: New file.
11457         * tests/uniconv/test-u32-conv-from-enc.c: New file.
11458
11459         * modules/uniconv/u16-conv-from-enc: New file.
11460         * lib/uniconv/u16-conv-from-enc.c: New file.
11461         * lib/uniconv/u-conv-from-enc.h: New file.
11462         * modules/uniconv/u16-conv-from-enc-tests: New file.
11463         * tests/uniconv/test-u16-conv-from-enc.c: New file.
11464
11465         * modules/uniconv/u8-conv-from-enc: New file.
11466         * lib/uniconv/u8-conv-from-enc.c: New file.
11467         * modules/uniconv/u8-conv-from-enc-tests: New file.
11468         * tests/uniconv/test-u8-conv-from-enc.c: New file.
11469
11470         * modules/uniconv/base: New file.
11471         * lib/uniconv.h: New file.
11472
11473 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
11474
11475         * doc/gnulib-tool.texi (Initial import): Update to match current
11476         behavior with strdup module.
11477         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
11478         * lib/memmem.h: Remove; all uses removed.  This is now done
11479         by <string.h>.
11480         * lib/mempcpy.h: Likewise.
11481         * lib/memrchr.h: Likewise.
11482         * lib/stpcpy.h: Likewise.
11483         * lib/stpncpy.h: Likewise.
11484         * lib/strcase.h: Likewise.
11485         * lib/strchrnul.h: Likewise.
11486         * lib/strdup.h: Likewise.
11487         * lib/strndup.h: Likewise.
11488         * lib/strnlen.h: Likewise.
11489         * lib/strpbrk.h: Likewise.
11490         * lib/strsep.h: Likewise.
11491         * lib/strstr.h: Likewise.
11492         * lib/strtok_r.h: Likewise.
11493         * lib/string_.h: New file.
11494         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
11495         Rely on <string.h> instead.
11496         * lib/canon-host.c: Likewise.
11497         * lib/chdir-long.c: Likewise.
11498         * lib/concatpath.c: Likewise.
11499         * lib/exclude.c: Likewise.
11500         * lib/fchdir.c: Likewise.
11501         * lib/getaddrinfo.c: Likewise.
11502         * lib/getcwd.c: Likewise.
11503         * lib/getsubopt.c: Likewise.
11504         * lib/glob.c: Likewise.
11505         * lib/hard-locale.c: Likewise.
11506         * lib/iconvme.c: Likewise.
11507         * lib/javacomp.c: Likewise.
11508         * lib/mempcpy.c: Likewise.
11509         * lib/memrchr.c: Likewise.
11510         * lib/regex_internal.h: Likewise.
11511         * lib/stpncpy.c: Likewise.
11512         * lib/strcasecmp.c: Likewise.
11513         * lib/strchrnul.c: Likewise.
11514         * lib/strdup.c: Likewise.
11515         * lib/striconv.c: Likewise.
11516         * lib/striconveh.c: Likewise.
11517         * lib/striconveha.c: Likewise.
11518         * lib/strncasecmp.c: Likewise.
11519         * lib/strndup.c: Likewise.
11520         * lib/strnlen.c: Likewise.
11521         * lib/strsep.c: Likewise.
11522         * lib/strstr.c: Likewise.
11523         * lib/strtok_r.c: Likewise.
11524         * lib/userspec.c: Likewise.
11525         * lib/w32spawn.h: Likewise.
11526         * lib/xstrndup.c: Likewise.
11527         * lib/mountlist.c (strstr): Remove decl.
11528         * m4/string_h.m4: New file.
11529         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
11530         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
11531         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
11532         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
11533         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
11534         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
11535         Set REPLACE_STRCASECMP if necessary.
11536         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
11537         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
11538         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
11539         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
11540         HAVE_DECL_STRDUP if necessary.
11541         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
11542         since gl_FUNC_STRNDUP does that now.
11543         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
11544         Check for decl here...
11545         (gl_PREREQ_STRNLEN): ... not here.
11546         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
11547         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
11548         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
11549         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
11550         necessary.
11551         * modules/string: New file.
11552         * modules/memmem (Files): Remove special-purpose include file.
11553         (Depends-on): Add string.
11554         (Include): Include <string.h>, not the removed file.
11555         * modules/mempcpy: Likewise.
11556         * modules/memrchr: Likewise.
11557         * modules/stpcpy: Likewise.
11558         * modules/stpncpy: Likewise.
11559         * modules/strcase: Likewise.
11560         * modules/strchrnul: Likewise.
11561         * modules/strdup: Likewise.
11562         * modules/strndup: Likewise.
11563         * modules/strnlen: Likewise.
11564         * modules/strpbrk: Likewise.
11565         * modules/strsep: Likewise.
11566         * modules/strstr: Likewise.
11567         * modules/strtok_r: Likewise.
11568         * tests/test-dirname.c: Don't include "strdup.h", since
11569         <string.h> now suffices.
11570         * tests/test-memmem.c: Don't include "memmem.h", since
11571         <string.h> now suffices.
11572
11573 2007-01-25  Bruno Haible  <bruno@clisp.org>
11574
11575         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
11576         *resultp is 0.
11577
11578         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
11579         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
11580         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
11581         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
11582
11583         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
11584         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
11585         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
11586         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
11587         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
11588         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
11589
11590 2007-01-24  Bruno Haible  <bruno@clisp.org>
11591
11592         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
11593         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
11594         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
11595         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
11596         gl_FUNC_FTS_CORE.
11597         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
11598         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
11599         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11600         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
11601         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
11602         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
11603         gl_FUNC_FCHOWNAT.
11604         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
11605         gl_FUNC_STRFTIME.
11606         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
11607         Reported by Ralf Wildenhues.
11608
11609 2007-01-24  Bruno Haible  <bruno@clisp.org>
11610
11611         Drop AC_REQUIRE calls that are redundant with the module dependencies.
11612         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
11613         gl_GETADDRINFO.
11614         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
11615         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
11616         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
11617
11618 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11619
11620         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
11621         Don't use 'exit'; just return from 'main'.
11622         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
11623
11624         * lib/fnmatch_.h: Readjust white space and comments to match
11625         glibc, to avoid spurious diffs.
11626
11627 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11628
11629         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
11630         2004-12-01 change by Jakub Jelinek, since this code won't compile
11631         if !LIBC.  Problem reported by Bob Proulx.
11632
11633 2007-01-23  Bruno Haible  <bruno@clisp.org>
11634
11635         * lib/striconveh.c: Include c-strcaseeq.h.
11636         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
11637         * modules/striconveh (Depends-on): Add c-strcaseeq.
11638
11639 2007-01-23  Bruno Haible  <bruno@clisp.org>
11640
11641         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
11642
11643         * modules/c-strcaseeq: New file.
11644         * lib/c-strcaseeq.h: New file.
11645
11646         * modules/streq: New file.
11647         * lib/streq.h: New file.
11648
11649 2007-01-23  Bruno Haible  <bruno@clisp.org>
11650
11651         * modules/striconveha-tests: New file.
11652         * tests/test-striconveha.c: New file.
11653
11654         * lib/striconveha.h: Include <stdbool.h>.
11655         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
11656         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
11657         (mem_iconveha_notranslit): Renamed from mem_iconveha.
11658         (mem_iconveha): New function.
11659         (str_iconveha_notranslit): Renamed from str_iconveha.
11660         (str_iconveha): New function.
11661         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
11662         c-strcase.
11663
11664 2007-01-23  Bruno Haible  <bruno@clisp.org>
11665
11666         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
11667         encodings without forgiving before trying any encoding with handler.
11668         (str_iconveha): Try all encodings without forgiving before trying any
11669         encoding with handler.
11670
11671 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11672
11673         Import the following changes from libc.
11674
11675         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
11676
11677         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
11678
11679         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
11680
11681         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
11682         normal_bracket label.
11683
11684         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
11685
11686         [BZ #361]
11687         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
11688         to normal_bracket after fetching the next character.
11689
11690 2007-01-22  Bruno Haible  <bruno@clisp.org>
11691
11692         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
11693         argument.
11694         * lib/striconveh.c (iconv_carefully_1): New function.
11695         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
11696         argument.
11697         (str_cd_iconveh): Update.
11698         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
11699         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
11700         * tests/test-striconveh.c (MAGIC): New macro.
11701         (new_offsets): New function.
11702         (main): Test call with and without offsets.
11703
11704 2007-01-22  Bruno Haible  <bruno@clisp.org>
11705
11706         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
11707         * modules/sys_select (Makefile.am): Likewise.
11708         * modules/sys_socket (Makefile.am): Likewise.
11709         * modules/sys_time (Makefile.am): Likewise.
11710
11711 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
11712
11713         * modules/gettimeofday (License): Change from GPL to LGPL, since
11714         gettimeofday is a library function.
11715
11716 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11717
11718         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
11719
11720 2007-01-21  Bruno Haible  <bruno@clisp.org>
11721
11722         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
11723
11724 2007-01-21  Bruno Haible  <bruno@clisp.org>
11725
11726         * modules/striconveha: New file.
11727         * lib/striconveha.h: New file.
11728         * lib/striconveha.c: New file.
11729         * MODULES.html.sh (Internationalization functions): Add striconveha.
11730         * lib/striconv.c (str_iconv): Optimize the case of an empty input
11731         string.
11732         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
11733
11734 2007-01-21  Bruno Haible  <bruno@clisp.org>
11735
11736         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
11737         * lib/striconveh.c (str_iconveh): Likewise.
11738
11739 2007-01-21  Bruno Haible  <bruno@clisp.org>
11740
11741         * lib/striconveh.h (mem_iconveh): New declaration.
11742         * lib/striconveh.c (mem_iconveh): New function.
11743         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
11744
11745 2007-01-21  Bruno Haible  <bruno@clisp.org>
11746
11747         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
11748
11749         * lib/striconveh.h (mem_cd_iconveh): Change specification.
11750         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
11751         original result buffer.
11752         (str_cd_iconveh): Update.
11753         * tests/test-striconveh.c (main): Update.
11754
11755         * lib/striconv.h (mem_cd_iconv): Change specification.
11756         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
11757         result buffer.
11758         (str_cd_iconv): Update.
11759         * tests/test-striconv.c (main): Update.
11760
11761 2007-01-21  Bruno Haible  <bruno@clisp.org>
11762
11763         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
11764
11765 2007-01-20  Jim Meyering  <jim@meyering.net>
11766
11767         * lib/userspec.c (parse_with_separator): If a user or group string
11768         starts with "+", skip the corresponding name-to-ID look-up, since
11769         such a look-up must fail: user and group names may not include "+".
11770
11771 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
11772
11773         * lib/poll.c: Include sys/time.h and time.h unconditionally,
11774         since we now assume the sys_time module.
11775         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
11776         check for sys/time.h; no longer needed.
11777         * modules/poll (Depends-on): Depend on sys_time.
11778
11779 2007-01-18  Bruno Haible  <bruno@clisp.org>
11780
11781         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
11782         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
11783
11784         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
11785         gettimeofday.
11786
11787         * tests/test-gettimeofday.c: Include <time.h>.
11788         (dummy): Remove variable.
11789
11790         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
11791         gl_HEADER_SYS_TIME_H.
11792         (gl_HEADER_SYS_TIME_H): New macro.
11793
11794         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
11795         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11796         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11797         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
11798         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11799         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
11800         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
11801         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11802         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
11803         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
11804         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11805
11806         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
11807         last change; it caused a compilation error when cross-compiling to
11808         Cygwin.
11809
11810 2007-01-18  Jim Meyering  <jim@meyering.net>
11811
11812         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
11813         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
11814         than the race-prone "test -d sys || mkdir sys".
11815         (configure.ac): Use AC_PROG_MKDIR_P.
11816         * modules/sys_select: Likewise.
11817         * modules/sys_socket: Likewise.
11818         * modules/sys_time: Likewise.
11819
11820 2007-01-18  Eric Blake  <ebb9@byu.net>
11821
11822         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
11823         replace gettimeofday.
11824         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
11825         name, to avoid infinite recursion.
11826
11827 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
11828
11829         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
11830         module sys_time.
11831         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
11832         assume timespec.h defines struct timeval.
11833         * lib/settime.c: Likewise.
11834         * lib/utimens.c: Likewise.
11835         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
11836         since we now assume the gettimeofday module.
11837         * lib/tempname.c (__gen_tempname): Likewise.
11838         * lib/gettimeofday.h: Remove.
11839         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
11840         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
11841         Include <time.h>, for 'time()'.
11842         (localtime_buffer_addr): Also use this workaround if
11843         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
11844         to simplify the uses.  All uses changed.
11845         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
11846         that #undef is inside {}, and 'const' follows type name consistently.
11847         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
11848         (gettimeofday): Do not use the maximum possible value for
11849         tv->tv_usec, since that might break usages other than ls.c.
11850         Instead, we'll leave ls.c alone.  This undoes today's patch
11851         by Bruno.  Add a compile-time warning for 1s-clock resolution;
11852         we've never observed the problem but might as well keep the
11853         canary.
11854         * lib/nanosleep.c: Include timespec.h first, for interface check.
11855         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
11856         now assume the sys_time module.
11857         * lib/tempname.c: Likewise.
11858         * lib/timespec.h: Likewise.
11859         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
11860         needed.
11861         * lib/strftime.c: Likewise.
11862         * lib/timespec.h: Likewise.
11863         * lib/posixtm.c: Include posixtm.h first, for interface check.
11864         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
11865         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
11866         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
11867         * lib/sys_time_.h: New file.
11868         * lib/timespec.h (struct timespec): Use long int, not long.
11869         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
11870         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
11871         Remove obsolescent call to AC_HEADER_TIME.
11872         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11873         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11874         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
11875         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
11876         Likewise.
11877         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
11878         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
11879         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
11880         into the sys_time module.  Check for gettimeofday just once.
11881         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
11882         for gettimeofday signature to just check the signature.  Merely
11883         compile it, since linking doesn't test signature.  Improve test for
11884         whether gettimeofday.o is actually needed.
11885         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
11886         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
11887         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
11888         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11889         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
11890         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
11891         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
11892         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
11893         than worrying about sys/time.h.
11894         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
11895         Don't bother worrying about TIME_WITH_SYS_TIME.
11896         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
11897         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
11898         * m4/sys_time_h.m4: New file.
11899         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
11900         Don't include sys/time.h.  Return from main rather than exiting.
11901         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
11902         all uses changed.
11903         * modules/gethrxtime (Depends-on): Add sys_time.
11904         * modules/gettime (Depends-on): Likewise.
11905         * modules/gettimeofday (Depends-on): Likewise.
11906         * modules/nanosleep (Depends-on): Likewise.
11907         * modules/settime (Depends-on): Likewise.
11908         * modules/tempname (Depends-on): Likewise.
11909         * modules/utimens (Depends-on): Likewise.
11910         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
11911         (Include:) Change back to <sys/time.h>.
11912         (Maintainer:) Add self.
11913         * modules/sys_time: New file.
11914         * modules/tempname (Depends-on): Add gettimeofday.
11915         * tests/test-gettimeofday.c: Include <sys/time.h>
11916         rather than gettimeofday.h.
11917
11918 2007-01-17  Bruno Haible  <bruno@clisp.org>
11919
11920         * gnulib-tool (func_get_license): Revert last patch. Instead, let
11921         the license default to GPL.
11922         (func_create_testdir): Don't complain if a module is LGPL and its
11923         tests module depends on GPLed modules.
11924
11925 2007-01-17  Bruno Haible  <bruno@clisp.org>
11926
11927         * lib/gettimeofday.c (gettimeofday): Add code for the case
11928         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
11929         maximum possible value for tv->tv_usec, rather than the minimum one.
11930
11931 2005-10-08  Martin Lambers  <marlam@marlam.de>
11932 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11933 2007-01-16  Bruno Haible  <bruno@clisp.org>
11934
11935         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
11936         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
11937         gl_FUNC_GETTIMEOFDAY.
11938         (Include): Add gettimeofday.h.
11939         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
11940         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
11941         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
11942         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
11943         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
11944         * lib/gettimeofday.h: New file.
11945         * lib/gettimeofday.c: Include <sys/timeb.h>.
11946         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
11947         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11948         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
11949         fall back on time().
11950
11951         * tests/test-gettimeofday.c: New file.
11952         * modules/gettimeofday-tests: New file.
11953
11954 2007-01-16  Eric Blake  <ebb9@byu.net>
11955
11956         * modules/fnmatch (Depends-on): Depend on wchar.
11957         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
11958         * m4/fnmatch.m4: Likewise.
11959         * modules/mbchar (Makefile.am): Assume <wchar.h>.
11960         * m4/mbchar.m4: Likewise.
11961         * modules/mbswidth (Depends-on): Depend on wchar.
11962         * lib/mbswidth.c: Assume <wchar.h>.
11963         * m4/mbswidth.m4: Likewise.
11964         * modules/quotearg (Depends-on): Depend on wchar.
11965         * lib/quotearg.c: Assume <wchar.h>.
11966         * m4/quotearg.m4: Likewise.
11967         * modules/regex (Depends-on): Depend on wchar.
11968         * lib/regex_internal.h: Assume <wchar.h>.
11969         * m4/regex.m4: Likewise.
11970         * modules/stdint (Depends-on): Depend on wchar.
11971         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
11972         * m4/stdint.m4: Likewise.
11973         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
11974         * modules/strftime (Depends-on): Depend on wchar.
11975         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
11976         * modules/strtol (Depends-on): Depend on wchar.
11977         * lib/strtol.c: Assume <wchar.h>.
11978         * modules/wcwidth (Depends-on): Depend on wchar.
11979         * lib/wcwidth.h: Assume <wchar.h>.
11980         * m4/wcwidth.m4: Likewise.
11981
11982 2007-01-16  Bruno Haible  <bruno@clisp.org>
11983
11984         * modules/csharpexec-script: New, created from...
11985         * modules/csharpexec: ... this.
11986
11987 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
11988
11989         * modules/javaexec-script: New, created from...
11990         * modules/javaexec: ... this.
11991
11992 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11993
11994         * modules/poll (Dependencies): Add sys_select.
11995
11996 2007-01-15  Jim Meyering  <jim@meyering.net>
11997
11998         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
11999         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
12000         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
12001         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
12002
12003 2007-01-15  Bruno Haible  <bruno@clisp.org>
12004
12005         * modules/striconveh: New file.
12006         * lib/striconveh.h: New file.
12007         * lib/striconveh.c: New file.
12008         * MODULES.html.sh (Internationalization functions): Add striconveh.
12009
12010         * modules/striconveh-tests: New file.
12011         * tests/test-striconveh.c: New file.
12012
12013 2007-01-15  Bruno Haible  <bruno@clisp.org>
12014
12015         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
12016         not from GNU libiconv or GNU libc.
12017
12018 2007-01-15  Bruno Haible  <bruno@clisp.org>
12019
12020         * doc/gnulib-intro.texi (Copyright): Explain the different license
12021         terms for module descriptions, autoconf macros, tests, documentation.
12022
12023 2007-01-14  Bruno Haible  <bruno@clisp.org>
12024
12025         * modules/striconv-tests: New file.
12026         * tests/test-striconv.c: New file.
12027
12028 2007-01-14  Bruno Haible  <bruno@clisp.org>
12029
12030         * modules/iconv-tests: New file.
12031         * tests/test-iconv.c: New file.
12032
12033 2007-01-14  Bruno Haible  <bruno@clisp.org>
12034
12035         * gnulib-tool (func_get_license): For test modules, use the license of
12036         the main module.
12037
12038 2007-01-14  Bruno Haible  <bruno@clisp.org>
12039
12040         * modules/iconv (Include): Clarify that <iconv.h> can only be included
12041         if iconv is found to exist.
12042
12043 2007-01-14  Bruno Haible  <bruno@clisp.org>
12044
12045         * modules/c-ctype-tests: New file.
12046         * tests/test-c-ctype.c: New file.
12047
12048 2007-01-14  Bruno Haible  <bruno@clisp.org>
12049
12050         * modules/binary-io-tests: New file.
12051         * tests/test-binary-io.sh: New file.
12052         * tests/test-binary-io.c: New file.
12053
12054 2007-01-14  Bruno Haible  <bruno@clisp.org>
12055
12056         * modules/array-oset-tests: New file.
12057         * tests/test-array_oset.c: New file.
12058
12059 2007-01-14  Bruno Haible  <bruno@clisp.org>
12060
12061         * modules/array-list-tests: New file.
12062         * tests/test-array_list.c: New file.
12063
12064 2007-01-14  Bruno Haible  <bruno@clisp.org>
12065
12066         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
12067         and make.
12068         Reported by Simon Josefsson in
12069         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
12070
12071 2007-01-14  Bruno Haible  <bruno@clisp.org>
12072
12073         * modules/allocsa-tests: New file.
12074         * tests/test-allocsa.c: New file.
12075
12076 2007-01-14  Bruno Haible  <bruno@clisp.org>
12077
12078         * modules/fchdir (Depends-on): Add absolute-header.
12079         * modules/unistd (Depends-on): Likewise.
12080
12081 2006-12-30  Bruno Haible  <bruno@clisp.org>
12082
12083         * modules/fchdir: New file.
12084         * modules/unistd (Files): Add lib/unistd_.h.
12085         (Makefile.am): Generate unistd.h from unistd_.h.
12086         * lib/fchdir.c: New file.
12087         * lib/dirent_.h: New file.
12088         * lib/unistd_.h: New file.
12089         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
12090         * m4/fchdir.m4: New file.
12091         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
12092         (gl_HEADER_UNISTD): Invoke it.
12093         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
12094         function.
12095         * lib/backupfile.c (opendir, closedir): Undefine.
12096         * lib/chown.c (open, close): Undefine.
12097         * lib/clean-temp.c (open, close): Undefine.
12098         * lib/copy-file.c (open, close): Undefine.
12099         * lib/execute.c (open, close): Undefine.
12100         * lib/fsusage.c (open, close): Undefine.
12101         * lib/gc-gnulib.c (open, close): Undefine.
12102         * lib/getcwd.c (opendir, closedir): Undefine.
12103         * lib/glob.c (opendir, closedir): Undefine.
12104         * lib/javacomp.c (open, close): Undefine.
12105         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
12106         * lib/openat-proc.c (open, close): Undefine.
12107         * lib/pagealign_alloc.c (open, close): Undefine.
12108         * lib/pipe.c (open, close): Undefine.
12109         * lib/progreloc.c (open, close): Undefine.
12110         * lib/savedir.c (opendir, closedir): Undefine.
12111         * lib/utime.c (open, close): Undefine.
12112         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
12113
12114 2007-01-10  Bruno Haible  <bruno@clisp.org>
12115
12116         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
12117
12118 2007-01-12  Eric Blake  <ebb9@byu.net>
12119
12120         Provide a robust <wchar.h>.  Further simplifications are now
12121         possible in other modules, but not included here.
12122         * modules/wchar: New module.
12123         * m4/wchar.m4: New file.
12124         * lib/wchar_.h: Likewise.
12125         * modules/mbchar (Depends-on): Depend on wchar, as the first use
12126         of the new module.
12127         * MODULES.html.sh (Extended multibyte and wide character utilities):
12128         New section.
12129
12130 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12131
12132         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
12133         to a reasonable default for memory allocation.
12134         (xreadlink): Don't allocate a huge buffer, to work around a buggy
12135         file system that reports garbage st_size values for symlinks.
12136         Problem reported by Liyang Hu.
12137
12138 2007-01-11  Simon Josefsson  <simon@josefsson.org>
12139
12140         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
12141         Emacs .#* auto-save files).
12142
12143 2007-01-11  Bruno Haible  <bruno@clisp.org>
12144
12145         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
12146         directory.
12147
12148 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12149
12150         Use @...@ consistently in lib/wctype_.h.
12151         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
12152         on it being set to 1 or 0.
12153         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
12154         go back to AC_SUBSTing it.
12155         * modules/wctype (Makefile.am): Undo previous change.
12156
12157 2007-01-10  Eric Blake  <ebb9@byu.net>
12158
12159         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
12160         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
12161         * modules/wctype (Makefile.am): Likewise.
12162         Reported by Chris McGuire.
12163
12164 2007-01-10  Jim Meyering  <jim@meyering.net>
12165
12166         fts.c: a small readability/maintainability improvement
12167         * lib/fts.c (fts_read): Make this code slightly more readable and
12168         maintainable by hoisting the "sp->fts_cur = p" assignments to
12169         immediately follow the statements that set P.  Derived from
12170         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
12171
12172 2007-01-10  Eric Blake  <ebb9@byu.net>
12173
12174         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
12175         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
12176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12177         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
12178         Reported by Chris McGuire.
12179
12180 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12181
12182         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
12183         in sed script.
12184
12185 2007-01-09  Bruno Haible  <bruno@clisp.org>
12186
12187         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
12188         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
12189         variables.
12190         (func_module): Use them.
12191
12192 2007-01-09  Bruno Haible  <bruno@clisp.org>
12193
12194         * modules/unistr/base: New file.
12195         * lib/unistr.h: New file.
12196
12197         * modules/unistr/u8-to-u16: New file.
12198         * lib/unistr/u8-to-u16.c: New file.
12199
12200         * modules/unistr/u8-to-u32: New file.
12201         * lib/unistr/u8-to-u32.c: New file.
12202
12203         * modules/unistr/u16-to-u8: New file.
12204         * lib/unistr/u16-to-u8.c: New file.
12205
12206         * modules/unistr/u16-to-u32: New file.
12207         * lib/unistr/u16-to-u32.c: New file.
12208
12209         * modules/unistr/u32-to-u8: New file.
12210         * lib/unistr/u32-to-u8.c: New file.
12211
12212         * modules/unistr/u32-to-u16: New file.
12213         * lib/unistr/u32-to-u16.c: New file.
12214
12215         * modules/unistr/u8-check: New file.
12216         * modules/unistr/u16-check: New file.
12217         * modules/unistr/u32-check: New file.
12218         * lib/unistr/u8-check.c: New file.
12219         * lib/unistr/u16-check.c: New file.
12220         * lib/unistr/u32-check.c: New file.
12221
12222         * modules/unistr/u8-chr: New file.
12223         * modules/unistr/u16-chr: New file.
12224         * modules/unistr/u32-chr: New file.
12225         * lib/unistr/u8-chr.c: New file.
12226         * lib/unistr/u16-chr.c: New file.
12227         * lib/unistr/u32-chr.c: New file.
12228
12229         * modules/unistr/u8-cmp: New file.
12230         * modules/unistr/u16-cmp: New file.
12231         * modules/unistr/u32-cmp: New file.
12232         * lib/unistr/u8-cmp.c: New file.
12233         * lib/unistr/u16-cmp.c: New file.
12234         * lib/unistr/u32-cmp.c: New file.
12235
12236         * modules/unistr/u8-cpy: New file.
12237         * modules/unistr/u16-cpy: New file.
12238         * modules/unistr/u32-cpy: New file.
12239         * lib/unistr/u8-cpy.c: New file.
12240         * lib/unistr/u16-cpy.c: New file.
12241         * lib/unistr/u32-cpy.c: New file.
12242         * lib/unistr/u-cpy.h: New file.
12243
12244         * modules/unistr/u8-cpy-alloc: New file.
12245         * modules/unistr/u16-cpy-alloc: New file.
12246         * modules/unistr/u32-cpy-alloc: New file.
12247         * lib/unistr/u8-cpy-alloc.c: New file.
12248         * lib/unistr/u16-cpy-alloc.c: New file.
12249         * lib/unistr/u32-cpy-alloc.c: New file.
12250         * lib/unistr/u-cpy-alloc.h: New file.
12251
12252         * modules/unistr/u8-endswith: New file.
12253         * modules/unistr/u16-endswith: New file.
12254         * modules/unistr/u32-endswith: New file.
12255         * lib/unistr/u8-endswith.c: New file.
12256         * lib/unistr/u16-endswith.c: New file.
12257         * lib/unistr/u32-endswith.c: New file.
12258         * lib/unistr/u-endswith.h: New file.
12259
12260         * modules/unistr/u8-mblen: New file.
12261         * modules/unistr/u16-mblen: New file.
12262         * modules/unistr/u32-mblen: New file.
12263         * lib/unistr/u8-mblen.c: New file.
12264         * lib/unistr/u16-mblen.c: New file.
12265         * lib/unistr/u32-mblen.c: New file.
12266
12267         * modules/unistr/u8-mbtouc: New file.
12268         * modules/unistr/u16-mbtouc: New file.
12269         * modules/unistr/u32-mbtouc: New file.
12270         * lib/unistr/u8-mbtouc.c: New file.
12271         * lib/unistr/u16-mbtouc.c: New file.
12272         * lib/unistr/u32-mbtouc.c: New file.
12273
12274         * modules/unistr/u8-mbtouc-safe: New file.
12275         * modules/unistr/u16-mbtouc-safe: New file.
12276         * modules/unistr/u32-mbtouc-safe: New file.
12277         * lib/unistr/u8-mbtouc-safe.c: New file.
12278         * lib/unistr/u16-mbtouc-safe.c: New file.
12279         * lib/unistr/u32-mbtouc-safe.c: New file.
12280
12281         * modules/unistr/u8-move: New file.
12282         * modules/unistr/u16-move: New file.
12283         * modules/unistr/u32-move: New file.
12284         * lib/unistr/u8-move.c: New file.
12285         * lib/unistr/u16-move.c: New file.
12286         * lib/unistr/u32-move.c: New file.
12287         * lib/unistr/u-move.h: New file.
12288
12289         * modules/unistr/u8-next: New file.
12290         * modules/unistr/u16-next: New file.
12291         * modules/unistr/u32-next: New file.
12292         * lib/unistr/u8-next.c: New file.
12293         * lib/unistr/u16-next.c: New file.
12294         * lib/unistr/u32-next.c: New file.
12295
12296         * modules/unistr/u8-prev: New file.
12297         * modules/unistr/u16-prev: New file.
12298         * modules/unistr/u32-prev: New file.
12299         * lib/unistr/u8-prev.c: New file.
12300         * lib/unistr/u16-prev.c: New file.
12301         * lib/unistr/u32-prev.c: New file.
12302
12303         * modules/unistr/u8-set: New file.
12304         * modules/unistr/u16-set: New file.
12305         * modules/unistr/u32-set: New file.
12306         * lib/unistr/u8-set.c: New file.
12307         * lib/unistr/u16-set.c: New file.
12308         * lib/unistr/u32-set.c: New file.
12309         * lib/unistr/u-set.h: New file.
12310
12311         * modules/unistr/u8-startswith: New file.
12312         * modules/unistr/u16-startswith: New file.
12313         * modules/unistr/u32-startswith: New file.
12314         * lib/unistr/u8-startswith.c: New file.
12315         * lib/unistr/u16-startswith.c: New file.
12316         * lib/unistr/u32-startswith.c: New file.
12317         * lib/unistr/u-startswith.h: New file.
12318
12319         * modules/unistr/u8-stpcpy: New file.
12320         * modules/unistr/u16-stpcpy: New file.
12321         * modules/unistr/u32-stpcpy: New file.
12322         * lib/unistr/u8-stpcpy.c: New file.
12323         * lib/unistr/u16-stpcpy.c: New file.
12324         * lib/unistr/u32-stpcpy.c: New file.
12325         * lib/unistr/u-stpcpy.h: New file.
12326
12327         * modules/unistr/u8-stpncpy: New file.
12328         * modules/unistr/u16-stpncpy: New file.
12329         * modules/unistr/u32-stpncpy: New file.
12330         * lib/unistr/u8-stpncpy.c: New file.
12331         * lib/unistr/u16-stpncpy.c: New file.
12332         * lib/unistr/u32-stpncpy.c: New file.
12333         * lib/unistr/u-stpncpy.h: New file.
12334
12335         * modules/unistr/u8-strcat: New file.
12336         * modules/unistr/u16-strcat: New file.
12337         * modules/unistr/u32-strcat: New file.
12338         * lib/unistr/u8-strcat.c: New file.
12339         * lib/unistr/u16-strcat.c: New file.
12340         * lib/unistr/u32-strcat.c: New file.
12341         * lib/unistr/u-strcat.h: New file.
12342
12343         * modules/unistr/u8-strchr: New file.
12344         * modules/unistr/u16-strchr: New file.
12345         * modules/unistr/u32-strchr: New file.
12346         * lib/unistr/u8-strchr.c: New file.
12347         * lib/unistr/u16-strchr.c: New file.
12348         * lib/unistr/u32-strchr.c: New file.
12349
12350         * modules/unistr/u8-strcmp: New file.
12351         * modules/unistr/u16-strcmp: New file.
12352         * modules/unistr/u32-strcmp: New file.
12353         * lib/unistr/u8-strcmp.c: New file.
12354         * lib/unistr/u16-strcmp.c: New file.
12355         * lib/unistr/u32-strcmp.c: New file.
12356
12357         * modules/unistr/u8-strcpy: New file.
12358         * modules/unistr/u16-strcpy: New file.
12359         * modules/unistr/u32-strcpy: New file.
12360         * lib/unistr/u8-strcpy.c: New file.
12361         * lib/unistr/u16-strcpy.c: New file.
12362         * lib/unistr/u32-strcpy.c: New file.
12363         * lib/unistr/u-strcpy.h: New file.
12364
12365         * modules/unistr/u8-strcspn: New file.
12366         * modules/unistr/u16-strcspn: New file.
12367         * modules/unistr/u32-strcspn: New file.
12368         * lib/unistr/u8-strcspn.c: New file.
12369         * lib/unistr/u16-strcspn.c: New file.
12370         * lib/unistr/u32-strcspn.c: New file.
12371         * lib/unistr/u-strcspn.h: New file.
12372
12373         * modules/unistr/u8-strdup: New file.
12374         * modules/unistr/u16-strdup: New file.
12375         * modules/unistr/u32-strdup: New file.
12376         * lib/unistr/u8-strdup.c: New file.
12377         * lib/unistr/u16-strdup.c: New file.
12378         * lib/unistr/u32-strdup.c: New file.
12379         * lib/unistr/u-strdup.h: New file.
12380
12381         * modules/unistr/u8-strlen: New file.
12382         * modules/unistr/u16-strlen: New file.
12383         * modules/unistr/u32-strlen: New file.
12384         * lib/unistr/u8-strlen.c: New file.
12385         * lib/unistr/u16-strlen.c: New file.
12386         * lib/unistr/u32-strlen.c: New file.
12387         * lib/unistr/u-strlen.h: New file.
12388
12389         * modules/unistr/u8-strmblen: New file.
12390         * modules/unistr/u16-strmblen: New file.
12391         * modules/unistr/u32-strmblen: New file.
12392         * lib/unistr/u8-strmblen.c: New file.
12393         * lib/unistr/u16-strmblen.c: New file.
12394         * lib/unistr/u32-strmblen.c: New file.
12395
12396         * modules/unistr/u8-strmbtouc: New file.
12397         * modules/unistr/u16-strmbtouc: New file.
12398         * modules/unistr/u32-strmbtouc: New file.
12399         * lib/unistr/u8-strmbtouc.c: New file.
12400         * lib/unistr/u16-strmbtouc.c: New file.
12401         * lib/unistr/u32-strmbtouc.c: New file.
12402
12403         * modules/unistr/u8-strncat: New file.
12404         * modules/unistr/u16-strncat: New file.
12405         * modules/unistr/u32-strncat: New file.
12406         * lib/unistr/u8-strncat.c: New file.
12407         * lib/unistr/u16-strncat.c: New file.
12408         * lib/unistr/u32-strncat.c: New file.
12409         * lib/unistr/u-strncat.h: New file.
12410
12411         * modules/unistr/u8-strncmp: New file.
12412         * modules/unistr/u16-strncmp: New file.
12413         * modules/unistr/u32-strncmp: New file.
12414         * lib/unistr/u8-strncmp.c: New file.
12415         * lib/unistr/u16-strncmp.c: New file.
12416         * lib/unistr/u32-strncmp.c: New file.
12417
12418         * modules/unistr/u8-strncpy: New file.
12419         * modules/unistr/u16-strncpy: New file.
12420         * modules/unistr/u32-strncpy: New file.
12421         * lib/unistr/u8-strncpy.c: New file.
12422         * lib/unistr/u16-strncpy.c: New file.
12423         * lib/unistr/u32-strncpy.c: New file.
12424         * lib/unistr/u-strncpy.h: New file.
12425
12426         * modules/unistr/u8-strnlen: New file.
12427         * modules/unistr/u16-strnlen: New file.
12428         * modules/unistr/u32-strnlen: New file.
12429         * lib/unistr/u8-strnlen.c: New file.
12430         * lib/unistr/u16-strnlen.c: New file.
12431         * lib/unistr/u32-strnlen.c: New file.
12432         * lib/unistr/u-strnlen.h: New file.
12433
12434         * modules/unistr/u8-strpbrk: New file.
12435         * modules/unistr/u16-strpbrk: New file.
12436         * modules/unistr/u32-strpbrk: New file.
12437         * lib/unistr/u8-strpbrk.c: New file.
12438         * lib/unistr/u16-strpbrk.c: New file.
12439         * lib/unistr/u32-strpbrk.c: New file.
12440         * lib/unistr/u-strpbrk.h: New file.
12441
12442         * modules/unistr/u8-strrchr: New file.
12443         * modules/unistr/u16-strrchr: New file.
12444         * modules/unistr/u32-strrchr: New file.
12445         * lib/unistr/u8-strrchr.c: New file.
12446         * lib/unistr/u16-strrchr.c: New file.
12447         * lib/unistr/u32-strrchr.c: New file.
12448
12449         * modules/unistr/u8-strspn: New file.
12450         * modules/unistr/u16-strspn: New file.
12451         * modules/unistr/u32-strspn: New file.
12452         * lib/unistr/u8-strspn.c: New file.
12453         * lib/unistr/u16-strspn.c: New file.
12454         * lib/unistr/u32-strspn.c: New file.
12455         * lib/unistr/u-strspn.h: New file.
12456
12457         * modules/unistr/u8-strstr: New file.
12458         * modules/unistr/u16-strstr: New file.
12459         * modules/unistr/u32-strstr: New file.
12460         * lib/unistr/u8-strstr.c: New file.
12461         * lib/unistr/u16-strstr.c: New file.
12462         * lib/unistr/u32-strstr.c: New file.
12463         * lib/unistr/u-strstr.h: New file.
12464
12465         * modules/unistr/u8-strtok: New file.
12466         * modules/unistr/u16-strtok: New file.
12467         * modules/unistr/u32-strtok: New file.
12468         * lib/unistr/u8-strtok.c: New file.
12469         * lib/unistr/u16-strtok.c: New file.
12470         * lib/unistr/u32-strtok.c: New file.
12471         * lib/unistr/u-strtok.h: New file.
12472
12473         * modules/unistr/u8-uctomb: New file.
12474         * modules/unistr/u16-uctomb: New file.
12475         * modules/unistr/u32-uctomb: New file.
12476         * lib/unistr/u8-uctomb.c: New file.
12477         * lib/unistr/u16-uctomb.c: New file.
12478         * lib/unistr/u32-uctomb.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         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
12485         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
12486         subdirectories.
12487
12488 2007-01-08  Karl Berry  <karl@gnu.org>
12489
12490         * doc/error.texi: mention that main() fns must set program_name
12491         when progname is used.
12492
12493 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
12494
12495         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
12496         WCTYPE_H is empty, for the benefit of builds from non-distclean
12497         directories.  Problem reported by Eric Blake in
12498         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
12499
12500 2007-01-08  Bruno Haible  <bruno@clisp.org>
12501
12502         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
12503         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
12504         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
12505         PROVIDE_CANONICALIZE_FILENAME_MODE.
12506         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
12507
12508 2007-01-08  Bruno Haible  <bruno@clisp.org>
12509
12510         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
12511         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
12512         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
12513         * lib/fts.c: Likewise.
12514         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
12515
12516 2006-12-25  Bruno Haible  <bruno@clisp.org>
12517
12518         * modules/utf8-ucs4-safe: New file.
12519         * lib/utf8-ucs4-safe.h: New file.
12520         * lib/unistr/utf8-ucs4-safe.c: New file.
12521
12522         * modules/utf16-ucs4-safe: New file.
12523         * lib/utf16-ucs4-safe.h: New file.
12524         * lib/unistr/utf16-ucs4-safe.c: New file.
12525
12526         * MODULES.html.sh (Unicode string functions): Add the new modules.
12527
12528 2007-01-08  Bruno Haible  <bruno@clisp.org>
12529
12530         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
12531         (Depends-on): Add unitypes.
12532         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
12533         (u8_mbtouc_aux): Move out to separate file.
12534         (u8_mbtouc): Use ucs4_t, uint8_t types.
12535         * lib/unistr/utf8-ucs4.c: New file.
12536
12537         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
12538         (Depends-on): Add unitypes.
12539         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
12540         (u16_mbtouc_aux): Move out to separate file.
12541         (u16_mbtouc): Use ucs4_t, uint16_t types.
12542         * lib/unistr/utf16-ucs4.c: New file.
12543
12544         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
12545         (Depends-on): Add unitypes.
12546         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
12547         (u8_uctomb_aux): Move out to separate file.
12548         (u8_uctomb): Use ucs4_t, uint8_t types.
12549         * lib/unistr/ucs4-utf8.c: New file.
12550
12551         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
12552         (Depends-on): Add unitypes.
12553         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
12554         (u16_uctomb_aux): Move out to separate file.
12555         (u16_uctomb): Use ucs4_t, uint16_t types.
12556         * lib/unistr/ucs4-utf16.c: New file.
12557
12558 2006-12-25  Bruno Haible  <bruno@clisp.org>
12559
12560         * modules/unitypes: New file.
12561         * lib/unitypes.h: New file.
12562         * MODULES.html.sh (func_all_modules): New section "Unicode string
12563         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
12564         this section. Add unitypes.
12565
12566 2007-01-08  Bruno Haible  <bruno@clisp.org>
12567
12568         Avoid variable names that conflict with those from libtool.
12569         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
12570         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
12571         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
12572         library_names_spec to acl_library_names_spec, hardcode_* to
12573         acl_hardcode_*.
12574         Reported by Ralf Wildenhues.
12575
12576 2007-01-08  Bruno Haible  <bruno@clisp.org>
12577
12578         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
12579         definition.
12580         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
12581         definition.
12582         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
12583         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
12584         definition.
12585         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
12586         definition.
12587         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
12588         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
12589         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
12590         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
12591         definition.
12592         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
12593         definition.
12594         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
12595         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
12596         GC_USE_<algorithm>.
12597         * lib/gc-libgcrypt.c: Likewise.
12598         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
12599         * modules/gc-arctwo (configure.ac): Likewise.
12600         * modules/gc-des (configure.ac): Likewise.
12601         * modules/gc-hmac-md5 (configure.ac): Likewise.
12602         * modules/gc-hmac-sha1 (configure.ac): Likewise.
12603         * modules/gc-md2 (configure.ac): Likewise.
12604         * modules/gc-md4 (configure.ac): Likewise.
12605         * modules/gc-md5 (configure.ac): Likewise.
12606         * modules/gc-random (configure.ac): Likewise.
12607         * modules/gc-rijndael (configure.ac): Likewise.
12608         * modules/gc-sha1 (configure.ac): Likewise.
12609
12610 2007-01-08  Bruno Haible  <bruno@clisp.org>
12611
12612         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
12613         macro definition.
12614         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
12615         definition.
12616         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
12617         definition.
12618         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
12619         * modules/fcntl-safer (configure.ac): Likewise.
12620         * modules/fopen-safer (configure.ac): Likewise.
12621         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
12622         GNULIB_FWRITEERROR macro definition.
12623
12624 2007-01-08  Bruno Haible  <bruno@clisp.org>
12625
12626         * m4/gnulib-common.m4: New file.
12627         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
12628         (func_get_filelist): Add m4/gnulib-common.m4.
12629
12630 2007-01-08  Bruno Haible  <bruno@clisp.org>
12631
12632         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
12633         command.
12634
12635 2007-01-08  Jim Meyering  <jim@meyering.net>
12636
12637         Use a more robust test for a "can't happen" condition.
12638         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
12639         narrowed the st_size value.  Presuming the "can't happen" condition
12640         is true, that narrowing could conceivably convert an invalid st_size
12641         value into a valid one.  Instead, use a change based on Matthew
12642         Woehlke's original patch.
12643
12644         Slight readability improvement: use an assert-like macro
12645         in place of literal "abort ()" uses.
12646         * lib/fts.c (fts_assert): Define.
12647         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
12648         Use this macro instead of a bare 'abort'.
12649
12650 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
12651
12652         Don't worry about using IRIX 5.3's wctype.h broken definitions;
12653         simply work around them.
12654         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
12655         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
12656         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
12657         declaring.
12658         Don't bother to define as macros, since the standard doesn't require it.
12659         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
12660         longer worry about IRIX 5.3.
12661         (HAVE_WCTYPE_CTMP_BUG): Remove.
12662
12663 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12664
12665         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
12666         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
12667         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
12668         Problems reported by Georg Schwarz for IRIX 5.3.
12669
12670         * gnulib-tool (autoconf_minversion): Take the maximum version number
12671         found, not the minimum.  Problem reported by James Youngman.
12672
12673 2007-01-03  Karl Berry  <karl@gnu.org>
12674
12675         * doc/error.texi: new file, explaining interaction with progname.
12676         * doc/gnulib.texi: include it.  Update copyright.
12677
12678 2007-01-03  Simon Josefsson  <simon@josefsson.org>
12679
12680         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
12681         AC_CANONICAL_HOST, to improve autobuild outputs.
12682
12683 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
12684             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
12685
12686         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
12687         sockets, server sockets, and other file descriptors.  Count errors
12688         to compute the return value.  Reorder the code a bit to be easier
12689         to follow.  Don't set event bits that were not requested (except
12690         POLLERR and POLLHUP).
12691
12692 2007-01-01  Bruno Haible  <bruno@clisp.org>
12693
12694         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
12695
12696 2007-01-03  Jim Meyering  <jim@meyering.net>
12697
12698         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
12699
12700 2007-01-02  Bruno Haible  <bruno@clisp.org>
12701
12702         * modules/settime (Include): Require timespec.h.
12703         * modules/nanosleep (Include): Likewise.
12704
12705 2007-01-01  Bruno Haible  <bruno@clisp.org>
12706
12707         * gnulib-tool (func_emit_copyright_notice): Bump year.
12708         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
12709
12710 2007-01-01  Bruno Haible  <bruno@clisp.org>
12711
12712         Improve support for OpenBSD.
12713         * build-aux/config.rpath (libname_spec): Export.
12714         (library_names_spec): New variable. Export.
12715         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
12716         library_names_spec from the config.rpath output. Locate shared library
12717         through the name pattern in library_names_spec.
12718
12719 2007-01-01  Eric Blake  <ebb9@byu.net>
12720
12721         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
12722
12723 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
12724
12725         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
12726         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
12727         assume the C locale, and avoid an "eval" that could cause trouble.
12728         Problem with SORT reported by Bob Proulx.
12729
12730         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
12731         Define.  Trivial patch from Henning Nielsen Lund, originally
12732         sent to bug-grep@gnu.org today.
12733
12734 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
12735
12736         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
12737         struct stat.  Problem reported by Henning Nielsen Lund.
12738         * lib/acl.c: Include acl.h first, to check interface.  Don't
12739         bother to include sys/types.h and sys/stat.h again.
12740
12741 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12742
12743         Import the following change from libc; problem reported by
12744         Sven Verdoolaege.
12745
12746         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
12747
12748         [BZ #1373]
12749         * lib/argp.h: Remove __NTH for __argp_usage inline function.
12750
12751 2006-12-28  Jim Meyering  <jim@meyering.net>
12752
12753         * build-aux/announce-gen: Do not assume that the package
12754         builds any of tar.gz, tar.bz2, and .xdelta files.
12755         Suggestion from Simon Josefsson.
12756
12757 2006-12-28  Simon Josefsson  <simon@josefsson.org>
12758
12759         * modules/announce-gen: New file.
12760
12761 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12762
12763         * lib/mbchar.h: Just include <wctype.h>; the wctype module
12764         handles its gotchas now.
12765         * lib/mbswidth.c: Likewise.
12766         * lib/wcwidth.h: Likewise.
12767         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
12768         and iswcntrl; the wctype module does this stuff now.
12769         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
12770         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12771         * modules/mbchar (Depends-on): Add wctype.
12772         * modules/mbswidth (Depends-on): Likewise.
12773         * modules/wcwidth (Depends-on): Likewise.
12774
12775 2006-12-27  Eric Blake  <ebb9@byu.net>
12776
12777         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
12778         module uses more than what <wctype.h> is required to provide.
12779
12780 2006-12-26  Eric Blake  <ebb9@byu.net>
12781
12782         * gnulib-tool (sed_extract_prog): Avoid space-tab.
12783
12784 2006-12-26  Eric Blake  <ebb9@byu.net>
12785
12786         * modules/absolute-header: New module.
12787         * modules/fcntl (Depends-on): Depend on it.
12788         * modules/inttypes (Depends-on): Likewise.
12789         * modules/stdint (Depends-on): Likewise.
12790         * modules/sys_stat (Depends-on): Likewise.
12791         * modules/wctype (Depends-on): Likewise.
12792         * MODULES.html.sh (Support for building libraries and
12793         executables): Document it.
12794
12795 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
12796
12797         * gnulib-tool (SED): Remove, undoing previous change.
12798         The problem was that it broke coreutils on Solaris, because
12799         "sed --posix" leaked into a makefile.
12800         (sed): New alias, if 'alias' and GNU sed.
12801
12802 2006-12-24  Jim Meyering  <jim@meyering.net>
12803
12804         Work around an fchownat bug in glibc-2.4:
12805         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
12806         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
12807         in spite of the -P option.
12808         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
12809         New macros.
12810         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
12811         * modules/openat (Files): Add lib/fchownat.c.
12812         * lib/openat.c (fchownat): Don't define here.  Move to...
12813         * lib/fchownat.c: ...this new file.
12814
12815 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12816
12817         Fix bug reported by Bruno Haible in
12818         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
12819         where quotearg.c didn't compile on Mac OS X 10.2 because it
12820         lacks <wchar.h> and wint_t.
12821         * lib/wctype_.h (__wctype_wint_t): New type.
12822         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
12823         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
12824         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
12825         Arg is now of type __wctype_wint_t, not wint_t.
12826         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
12827         substitute HAVE_WINT_T.
12828         * modules/wctype (Files): Add m4/wint_t.m4.
12829         (wctype.h): Substitute HAVE_WINT_T.
12830
12831 2006-12-23  Bruno Haible  <bruno@clisp.org>
12832
12833         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
12834
12835 2006-12-23  Bruno Haible  <bruno@clisp.org>
12836
12837         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
12838         S_ISLNK.
12839         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
12840         mingw.
12841
12842 2006-12-22  Bruno Haible  <bruno@clisp.org>
12843
12844         * lib/copy-file.c: Include acl.h.
12845         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
12846         Close the file descriptors only after being done with copy_acl.
12847         * modules/copy-file (Depends-on): Add acl.
12848
12849 2006-12-22  Bruno Haible  <bruno@clisp.org>
12850
12851         * gnulib-tool (SED): New variable.
12852         Use $SED instead of sed everywhere.
12853
12854 2006-12-22  Bruno Haible  <bruno@clisp.org>
12855
12856         * modules/no-c++: New file.
12857         * m4/no-c++.m4: New file.
12858         * MODULES.html.sh (Support for building libraries and executables):
12859         Add no-c++.
12860
12861 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12862
12863         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
12864         Include <limits.h>, and use its INT_MAX to rewrite the
12865         j loop so that it does not overflow 'int'.  Problem reported by
12866         Ralf Wildenhues in
12867         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
12868         Play it safe by shifting left by 1 rather than multiplying by 2,
12869         as GCC is less likely to optimize this away when the value
12870         is signed (when it assumes overflow leads to undefined behavior).
12871         Also, don't assume time_t uses two's complement.
12872
12873 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
12874
12875         * MODULES.html.sh: New module wctype.
12876         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
12877         * lib/fnmatch.c: Don't bother to include <wchar.h> before
12878         <wctype.h>, since the new wctype module should fix this.
12879         * lib/quotearg.c: Include <wctype.h> unconditionally, since
12880         the wctype module should arrange for it.
12881         * lib/regex_internal.h: Likewise.
12882         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
12883         since the wctype module should handle this now.
12884         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
12885         * modules/fnmatch (Depends-on): Add wctype.
12886         * modules/quotearg (Depends-on): Likewise.
12887         * modules/regex (Depends-on): Likewise.
12888
12889 2006-12-19  Bruno Haible  <bruno@clisp.org>
12890
12891         * lib/strdup.h [C++]: Wrap definitions in extern "C".
12892         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
12893
12894 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12895
12896         * modules/savewd (Depends-on): Fix dependency on fcntl.
12897
12898 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12899
12900         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
12901         conforms to C99, rather than relying on the user's environment
12902         setting of STDINT_H.
12903
12904 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12905         and Eric Blake  <ebb9@byu.net>
12906
12907         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
12908         This is more consistent with the other defines here.
12909         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
12910         Port to z/OS.  Problem reported by Paul Gilmartin.
12911         Change local vars to use gl_ prefix rather than ac_.
12912         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
12913         with other defines.
12914         * modules/double-slash-root: New module.
12915         * modules/dirname (Files): Remove m4/double-slash-root.m4.
12916         (Depends-on): Add double-slash-root.
12917         * MODULES.html.sh (File system functions): Mention new module.
12918
12919 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
12920
12921         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
12922         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
12923         This is for the benefit of gzip, which doesn't do i18n.
12924
12925 2006-12-12  Jim Meyering  <jim@meyering.net>
12926
12927         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
12928         Reported by Andreas Schwab <schwab@suse.de>.
12929
12930 2006-12-12  Bruno Haible  <bruno@clisp.org>
12931
12932         Merge these changes.
12933         2006-09-05  Bruno Haible  <bruno@clisp.org>
12934         * lib/iconvme.c (iconv_string): No need to save and restore errno when
12935         iconv_alloc succeeded.
12936         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
12937         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
12938         test for " && dest " at the end - dest is always != NULL there. Call
12939         iconv with 4xNULL arguments initially, to reset the state. Call iconv
12940         with 2xNULL arguments, also to flush the state storage. Handle the
12941         IRIX iconv behaviour. Realloc the final result, to throw away unused
12942         memory.
12943
12944 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
12945
12946         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
12947         and fchmodat unconditionally, since glibc 2.4 has them.
12948         Problem reported by Arkadiusz Miskiewicz.
12949
12950 2006-12-10  Bruno Haible  <bruno@clisp.org>
12951
12952         * gnulib-tool (func_import): Show the include files only for those
12953         modules that are copied and specified.
12954         Reported by Karl Berry.
12955
12956 2006-12-08  Jim Meyering  <jim@meyering.net>
12957
12958         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
12959         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
12960
12961         * build-aux/announce-gen: Add two new options, both optional:
12962         --bootstrap-tools=TOOL_LIST
12963               a comma-separated list of tools, e.g.,
12964               autoconf,automake,bison,gnulib
12965         --gnulib-snapshot-date=DATE
12966               if gnulib is in the bootstrap tool list,
12967               then report this as the snapshot date.
12968               If not specified, use the current date/time.
12969               If you specify a date here, be sure it's UTC.
12970
12971 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12972
12973         * tests/test-argp-2.sh: Fix test to match actual output.
12974         (func_compare): Fix sed script to be portable.
12975
12976 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
12977
12978         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
12979         workaround for this case.  It is not autoconfigured now; offhand
12980         it's hard to see how to autoconfigure it.
12981
12982 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
12983
12984         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
12985         a directory that is about to be chowned.  Such a directory's
12986         initial file permissions should permit the owner only and this
12987         should not be changed until after the chown, since the group and
12988         other bits would be incorrect if they granted permission before
12989         the chown.
12990
12991         Fix porting problem for iswctype reported by Georg Schwarz in:
12992         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
12993         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
12994         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
12995         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
12996         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
12997
12998 2006-12-03  Jim Meyering  <jim@meyering.net>
12999
13000         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
13001         p->fts_statp may not yet be defined.
13002         (fts_read): Instead, set it in the caller, once p->fts_statp is
13003         sure to be defined, and corresponds to a top-level directory.
13004         This bug made du -x fail.  Here's the coreutils test case:
13005         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
13006         Reported by Mike Frysinger.
13007
13008 2006-12-01  Jim Meyering  <jim@meyering.net>
13009
13010         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
13011         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
13012         Reported by Simon Josefsson.
13013
13014 2006-11-30  Jim Meyering  <jim@meyering.net>
13015
13016         * m4/warning.m4: Use the all-permissive copyright notice
13017         recommended by RMS (rather than LGPL).
13018         * m4/vararrays.m4: Likewise.
13019         * m4/flexmember.m4: Likewise.
13020
13021 2006-11-29  Bruno Haible  <bruno@clisp.org>
13022
13023         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13024         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
13025         using +=.
13026         Reported by Simon Josefsson <simon@josefsson.org>.
13027
13028 2006-11-28  James Youngman <jay@gnu.org>
13029
13030         * README: Advise users that they might find the bug-gnulib@gnu.org
13031         and autotools-announce@gnu.org mailing lists useful.
13032
13033 2006-11-28  Bruno Haible  <bruno@clisp.org>
13034
13035         * m4/ptrdiff_max.m4: Remove file.
13036
13037 2006-11-21  Bruno Haible  <bruno@clisp.org>
13038
13039         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
13040         _AC_COMPUTE_INT.
13041         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13042         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
13043         _AC_COMPUTE_INT.
13044         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13045         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
13046         _AC_COMPUTE_INT.
13047         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13048
13049 2006-11-28  Jim Meyering  <jim@meyering.net>
13050
13051         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
13052         warning from "gcc -Wshadow" about shadowing the builtin.
13053
13054 2006-11-27  Bruno Haible  <bruno@clisp.org>
13055
13056         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
13057         _AC_COMPUTE_INT.
13058         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13059
13060 2006-11-27  Bruno Haible  <bruno@clisp.org>
13061             Paul Eggert  <eggert@cs.ucla.edu>
13062
13063         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
13064
13065 2006-11-26  Bruno Haible  <bruno@clisp.org>
13066
13067         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13068         noinst_LTLIBRARIES.
13069
13070 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
13071             Bruno Haible  <bruno@clisp.org>
13072
13073         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
13074         if compiling with "gcc -ansi".
13075
13076 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
13077
13078         Fix some incompatibilities with gcc -ansi -pedantic.
13079         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
13080         if compiling pedantically with GCC, unless it's C99 or later.
13081         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
13082         it mishandles gcc -ansi -pedantic as well.
13083         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
13084         if gcc -pedantic.
13085         * lib/regexec.c (check_node_accept_bytes): Don't use auto
13086         initializers for struct if -pedantic, unless it's C99 or later.
13087
13088 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
13089
13090         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
13091         Don't close an fd more than once. Identical atimes indicate
13092         success, not failure.
13093
13094 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
13095
13096         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
13097
13098 2006-11-23  Jim Meyering  <jim@meyering.net>
13099
13100         * build-aux/announce-gen: New file.  From coreutils.
13101
13102 2006-11-22  Jim Meyering  <jim@meyering.net>
13103
13104         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
13105         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
13106         (fts_read): Use a temporary to narrow the overused st_size member
13107         before using it in a switch statement.  Reported by Matthew Woehlke.
13108
13109         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
13110         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13111
13112 2006-11-20  Bruno Haible  <bruno@clisp.org>
13113
13114         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
13115         changequote instead of pairs of brackets.
13116         Reported by Andreas Schwab <schwab@suse.de>.
13117
13118 2006-11-21  Jim Meyering  <jim@meyering.net>
13119
13120         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
13121         so as to remain compatible with older compilers.
13122         Patch from Michael Deutschmann.
13123
13124 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13125
13126         * MODULES.html.sh (File system functions): Add openat.
13127
13128         * lib/openat.h (rpl_fstatat): New macro, if
13129         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
13130         (fstatat): Define to rpl_fstatat under the same conditions,
13131         unless COMPILING_FSTATAT.
13132         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
13133         seems to have the bug.
13134         * lib/fstatat.c: New file.
13135         * modules/openat (Files): Add it.
13136
13137 2006-11-20  Bruno Haible  <bruno@clisp.org>
13138
13139         * Makefile: New file.
13140
13141 2006-11-20  Jim Meyering  <jim@meyering.net>
13142
13143         The beginnings of syntax-related checks for gnulib.
13144         * lib/Makefile: New file.
13145         * lib/t-idcache: New script.  Ensure that the two halves of
13146         idcache.c stay in sync.
13147
13148         * lib/idcache.c: Adjust comments in user- and group- portions to
13149         be more accurate, and to be consistent with one another.
13150
13151 2006-11-20  Jim Meyering  <jim@meyering.net>
13152
13153         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
13154         continue using the flexible array member (thus, this module performs
13155         half as many malloc calls), with the addition that...
13156         (getgroup, getuser): Consistently record a non-match via an empty
13157         "name" string, and map an empty string match to a NULL return value.
13158         * modules/idcache (Depends-on): Re-add flexmember.
13159
13160         * lib/idcache.c (getuser): Remove all uses of the register keyword.
13161         (getuidbyname, getgroup, getgidbyname): Likewise.
13162
13163         Use cleaner syntax: NULL rather than 0.
13164         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
13165
13166 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13167
13168         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
13169         It mishandled the case where the group was missing.
13170         Problem reported by Greg Schafer.
13171         * modules/idcache: Likewise.
13172
13173 2006-11-18  Jim Meyering  <jim@meyering.net>
13174
13175         * check-module (%exempt_header): Add exception for some
13176         conditionally-included headers.
13177
13178         * modules/i-ring (Depends-on): Add verify.
13179         (License): Change to LGPL.
13180
13181 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13182
13183         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
13184         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
13185         and inttostr.h.  Use snprintf rather than uinttostr, so that
13186         LGPLed code doesn't depend on GPLed.
13187
13188 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13189
13190         * modules/inline (License): Change from GPL to LGPL.
13191
13192 2006-11-17  Jim Meyering  <jim@meyering.net>
13193
13194         * modules/d-type (License): Switch to LGPL.
13195
13196 2006-11-15  Bruno Haible  <bruno@clisp.org>
13197
13198         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
13199
13200 2006-11-15  Eric Blake  <ebb9@byu.net>
13201
13202         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
13203         the module dependency.
13204
13205 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13206             Bruno Haible  <bruno@clisp.org>
13207
13208         * gnulib-tool (func_create_testdir): Add license consistency check.
13209
13210 2006-11-15  Eric Blake  <ebb9@byu.net>
13211
13212         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
13213         random "(cached)" in configure output.
13214
13215 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13216
13217         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
13218         test for conforming inttypes.h is both announced and cached.
13219
13220         * MODULES.html.sh (seen_modules, seen_files): New variables.
13221         (func_module): Rewrite to use a few less gnulib-tool and sed
13222         invocations.  Avoid a couple of quadratic algorithms for ...
13223         (missed_modules, missed_files): ... these, with ...
13224         (func_append, func_tmpdir): ... these new functions, from
13225         gnulib-tool.  Analogously, install traps for cleanup.
13226
13227         * tests/test-gc.c (main): Remove unused variables.
13228         * tests/test-read-file.c: Include stdlib.h, for 'free'.
13229
13230 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
13231
13232         * modules/inttostr (License): Change to LGPL.
13233
13234 2006-11-14  Eric Blake  <ebb9@byu.net>
13235
13236         * modules/tempname (License): Change to LGPL.
13237
13238 2006-11-14  Eric Blake  <ebb9@byu.net>
13239
13240         * doc/functions.texi (Function Portability): *printf functions on
13241         Cygwin now understand all POSIX size specifiers.
13242
13243 2006-11-14  Bruno Haible  <bruno@clisp.org>
13244
13245         * modules/c-ctype (License): Change to LGPL.
13246
13247 2006-11-12  Bruno Haible  <bruno@clisp.org>
13248
13249         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
13250         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
13251         for GNOME libraries, for which the include files are installed in
13252         subdirectories of $prefix/include.
13253
13254 2006-11-12  Bruno Haible  <bruno@clisp.org>
13255
13256         * m4/lib-link.m4: Require at least autoconf-2.54.
13257         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
13258         name to underscores for the --with option.
13259
13260 2006-11-13  Bruno Haible  <bruno@clisp.org>
13261
13262         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
13263         the tests directory.
13264         Reported by Ralf Wildenhues.
13265
13266 2006-11-13  Bruno Haible  <bruno@clisp.org>
13267
13268         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
13269         (func_emit_initmacro_end): Undo the override here.
13270         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
13271         Works around the famous automake error in coreutils.
13272
13273 2006-11-13  Eric Blake  <ebb9@byu.net>
13274
13275         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
13276         element, not its node.
13277
13278 2006-11-12  Bruno Haible  <bruno@clisp.org>
13279
13280         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
13281         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
13282
13283 2006-11-12  Bruno Haible  <bruno@clisp.org>
13284
13285         * gnulib-tool: New option --local-symlink.
13286         (func_usage): Document it.
13287         (lsymbolic): New variable.
13288         (func_import, func_create_testdir): If --symlink was not specified,
13289         test whether --local-symlink was specified and the file comes from
13290         the local_gnulib_dir.
13291
13292 2006-11-12  Bruno Haible  <bruno@clisp.org>
13293
13294         * gnulib-tool (func_ln): New function.
13295         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
13296
13297 2006-11-12  Bruno Haible  <bruno@clisp.org>
13298
13299         Finish support for source files in subdirectories.
13300         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
13301         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
13302         AUTOMAKE_OPTIONS.
13303         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
13304
13305 2006-11-12  Bruno Haible  <bruno@clisp.org>
13306
13307         * gnulib-tool (func_get_automake_snippet): Synthesize also an
13308         EXTRA_lib_SOURCES augmentation.
13309         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
13310
13311 2006-11-12  Jim Meyering  <jim@meyering.net>
13312
13313         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
13314         file descriptors.  This also averts a failure on systems with
13315         native openat support when a traversed directory lacks "x" access.
13316         * lib/fts_.h: Include "i-ring.h"
13317         (struct FTS) [fts_fd_ring]: New member.
13318         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
13319         (FCHDIR): Add parentheses.
13320         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
13321         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
13322         When descending, rather than simply closing the previous
13323         fts_cwd_fd value, push that file descriptor onto the ring.
13324         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
13325         (fts_open): Initialize the new fd_ring member.
13326         (fts_close): Clear the ring.
13327         (fts_safe_changedir): When possible, use our new fd_ring to skip
13328         the diropen and fstat and dev/ino comparison that would normally
13329         accompany a virtual `chdir ("..")'.
13330
13331         * modules/fts (Depends-on): Add i-ring.
13332         * modules/i-ring: New module.
13333         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
13334         * m4/i-ring.m4: New file.
13335
13336 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13337
13338         * gnulib-tool (func_create_testdir): Fix replacement of
13339         `build-aux' in configure.ac.  Run autotools in gltests
13340         subdirectory.
13341         (func_create_testdir, func_create_megatestdir, test): There is
13342         no need for '--force' in most autotool invocations in a new
13343         tree.  Actually fail the whole test if any of the tools, or the
13344         configure or make stages fail.
13345
13346         Sync from Automake.
13347         * build-aux/gnupload: Revert last change.  Add pointer to upload
13348         instructions of the GNU Maintenance Instructions.
13349         Suggestion by Karl Berry.
13350
13351 2006-11-10  Jim Meyering  <jim@meyering.net>
13352
13353         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
13354
13355 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13356
13357         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
13358         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
13359         (bind_textdomain_codeset) [! ENABLE_NLS]:
13360         Evaluate all the arguments.  That way, callers get compatible behavior
13361         if the arguments have side effects.  Also, it avoids some GCC
13362         diagnostics in some cases; Joel E. Denny reported problems when Bison
13363         was configured with --enable-gcc-warnigs.
13364
13365 2006-11-10  Jim Meyering  <jim@meyering.net>
13366
13367         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
13368         relevant options in CFLAGS (like -O, -fno-inline) are taken into
13369         account.
13370
13371 2006-11-10  Jim Meyering  <jim@meyering.net>
13372
13373         * modules/inline: New file/module.
13374         * modules/xalloc (Files): Remove m4/inline.m4.
13375         (Depends-on): Add inline, instead.
13376         * modules/oset: Likewise.
13377         * modules/list: Likewise.
13378
13379 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13380
13381         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
13382         Problem reported by Matthew Woehlke.
13383
13384 2006-11-09  Bruno Haible  <bruno@clisp.org>
13385
13386         * lib/tempname.c (gen_tempname): Remove variant that invokes
13387         __gen_tempname.
13388         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
13389         __gen_tempname.
13390
13391 2006-11-08  Bruno Haible  <bruno@clisp.org>
13392
13393         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
13394         to 'yes' instead of 'cross-compiling'.
13395
13396 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
13397
13398         * lib/quotearg.h (quotearg_free): New decl.
13399         * lib/quotearg.c (quotearg_free): New function.
13400         (slot0, nslots, slotvec0, slotvec):
13401         Now file-scope so that quotearg_free can get at them.
13402
13403 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13404
13405         Sync from Automake.
13406         * build-aux/gnupload: Add missing 'gnu' to example URL.
13407         Report by Karl Berry.
13408
13409 2006-11-08  Bruno Haible  <bruno@clisp.org>
13410
13411         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
13412         Suggested by Paul Eggert.
13413
13414 2006-11-08  Jim Meyering  <jim@meyering.net>
13415
13416         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
13417         It's already included if !_LIBC.
13418         (fts_safe_changedir): Add a comment.
13419
13420 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13421
13422         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
13423         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
13424         Matthew Woehlke.
13425
13426         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
13427         definitions up, to avoid colliding with change below.
13428         (static_inline) [HAVE_INLINE]: New macro.
13429         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
13430         Provide extern decls when !HAVE_INLINE.  Do not define unless
13431         static_inline is defined, either by us or by xmalloc.c.  Use
13432         static_inline rather than static inline.
13433         (XCALLOC): Optimize sizeof(T) = 1 case.
13434         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
13435
13436 2006-11-07  Bruno Haible  <bruno@clisp.org>
13437
13438         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
13439         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
13440         AC_C_INLINE.
13441         * modules/xalloc (Files): Add m4/inline.m4.
13442
13443 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13444
13445         * README: Fix typo.
13446         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
13447         (Miscellanous Notes): ...from this.
13448
13449 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13450
13451         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
13452         Mention that offsetof should be used instead of sizeof.
13453         From Bruno Haible.
13454
13455 2006-11-07  Bruno Haible  <bruno@clisp.org>
13456
13457         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
13458
13459 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
13460
13461         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
13462         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
13463         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
13464         (gl_tree_add_before, gl_tree_add_after):
13465         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
13466         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
13467         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
13468         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
13469         (gl_linked_add_after, gl_linked_add_at): Likewise.
13470         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
13471         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
13472         (gl_tree_add_before, gl_tree_add_after): Likewise.
13473         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
13474         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
13475         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
13476
13477 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13478
13479         * lib/gl_oset.h: Use C comment style, not C++ comment style.
13480
13481 2006-11-06  Bruno Haible  <bruno@clisp.org>
13482
13483         * m4/inline.m4: New file.
13484         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
13485         * modules/list (Files): Add m4/inline.m4.
13486         * modules/oset (Files): Likewise.
13487
13488 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
13489
13490         * lib/idcache.c: Include <stddef.h>, for offsetof.
13491         (struct userid.name): Change from char * to a flexible array member.
13492         All uses changed.
13493         * modules/idcache (Depends-on): Add flexmember.
13494
13495         * MODULES.html.sh (Core language properties): New module flexmember.
13496         * modules/flexmember, m4/flexmember.m4: New files.
13497
13498         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
13499         inline functions that are identical with the old xnmalloc_inline,
13500         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
13501         that we can avoid some unnecessary integer multiplications and
13502         divisions in the common case where the element size is known at
13503         compile time.
13504         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
13505         needed.
13506         (xnboundedmalloc): Remove.
13507         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
13508         arguments, for consistency with rest of this header.
13509         (xcharalloc): Rewrite using XNMALLOC.
13510         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
13511         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
13512         versions have been moved to lib/xalloc.h and renamed to be the
13513         non-*_inline versions.
13514         (xmalloc, xrealloc): Implement without reference to the xnmalloc
13515         and xnrealloc functions, since those functions are now inline and
13516         now call us.
13517         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
13518         renaming described above.
13519         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
13520         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
13521         captures the dependency in AC_C_INLINE.
13522
13523         New module canonicalize-lgpl, proposed by Charles Wilson in
13524         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
13525         with a few small changes afterwards.
13526         * MODULES.html.sh (File system functions): New module
13527         canonicalize-lgpl.
13528         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
13529         and canonicalize_file_name.
13530         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
13531         * modules/canonicalize-lgpl: New files.
13532
13533 2006-11-05  Bruno Haible  <bruno@clisp.org>
13534
13535         * gnulib-tool (func_import, func_create_testdir): Create directories
13536         also for files in subdirectories of lib/.
13537
13538 2006-11-05  Bruno Haible  <bruno@clisp.org>
13539
13540         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
13541         ANSI C compliant.
13542
13543 2006-11-03  Bruno Haible  <bruno@clisp.org>
13544
13545         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
13546         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
13547         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
13548         (xnboundedmalloc): New inline function.
13549         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
13550         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
13551         xmalloc.
13552         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
13553         xmalloc.
13554         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
13555         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
13556         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
13557         xmalloc.
13558         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
13559         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
13560         xmalloc.
13561         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
13562         gl_tree_add_after): Use XMALLOC instead of xmalloc.
13563         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
13564         xmalloc.
13565         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
13566         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
13567         gl_tree_add_after): Use XMALLOC instead of xmalloc.
13568         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
13569         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
13570         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
13571         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
13572
13573 2006-11-03  Bruno Haible  <bruno@clisp.org>
13574
13575         * lib/c-ctype.h [C++]: Define functions without name mangling.
13576         * lib/fwriteerror.h [C++]: Likewise.
13577         * lib/gcd.h [C++]: Likewise.
13578         * lib/linebreak.h [C++]: Likewise.
13579
13580 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13581
13582         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
13583         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
13584         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
13585         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
13586         Check for functions and headers just once.
13587         Check for declaration of canonicalize_file_name.
13588         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
13589
13590 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13591
13592         * gnulib-tool (func_import): Fix typo in actioncmd.
13593
13594 2006-11-02  Bruno Haible  <bruno@clisp.org>
13595
13596         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
13597         newline sequence in the Makefile.am snippet as a space, like "make"
13598         does.
13599         Reported by Roger Persson <perrog@gmail.com>.
13600
13601 2006-11-01  Bruno Haible  <bruno@clisp.org>
13602
13603         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
13604         already declared in <string.h>.
13605         * lib/strcase.h (strncasecmp): Don't declare it if yes.
13606
13607 2006-11-01  Bruno Haible  <bruno@clisp.org>
13608
13609         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
13610         * lib/strcase.h: Include <string.h>.
13611         (strcasecmp): Define to rpl_strcasecmp here.
13612
13613 2006-11-01  Bruno Haible  <bruno@clisp.org>
13614
13615         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
13616
13617 2006-11-01  Eric Blake  <ebb9@byu.net>
13618
13619         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
13620
13621         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
13622
13623 2006-10-29  Bruno Haible  <bruno@clisp.org>
13624
13625         Make it compile in C++ mode.
13626         * lib/full-write.c (full_rw): Add a cast.
13627
13628 2006-11-01  Bruno Haible  <bruno@clisp.org>
13629
13630         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
13631         be POSIX compliant.
13632         Reported by Roger Persson <perrog@gmail.com>.
13633
13634 2006-11-01  Eric Blake  <ebb9@byu.net>
13635
13636         * lib/getopt_.h: Fix comments.
13637
13638 2006-10-31  Eric Blake  <ebb9@byu.net>
13639
13640         * modules/tmpdir (Depends-on): Add sys_stat.
13641         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
13642         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
13643         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
13644         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
13645         tempname.
13646
13647 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
13648
13649         Avoid some C++ diagnostics reported by Bruno Haible.
13650         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
13651         xmalloc.
13652         (quotearg_alloc): Use xcharalloc rather than xmalloc.
13653         (struct slotvec): Move to top level.
13654         (quotearg_n_options): Rewrite to avoid xmalloc.
13655         * lib/xalloc.h (xcharalloc): New function.
13656         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
13657         [defined __cplusplus]: Add function template that provides result
13658         type propagation.  This part of the change is from Bruno Haible.
13659
13660 2006-10-29  Bruno Haible  <bruno@clisp.org>
13661
13662         Make it compile in C++ mode.
13663         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
13664         * lib/strnlen1.c (strnlen1): Cast memchr result.
13665         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
13666         * lib/clean-temp.c (string_equals, string_hash): Add casts.
13667         (create_temp_dir): Rename local variable 'template'.
13668         (compile_csharp_using_sscli): Add cast.
13669         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
13670         * lib/findprog.c (find_in_path): Likewise.
13671         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
13672         * lib/wait-process.c (register_slave_subprocess): Likewise.
13673
13674 2006-10-22  Bruno Haible  <bruno@clisp.org>
13675
13676         * modules/tsearch: New file.
13677         * lib/tsearch.h: New file.
13678         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
13679         * m4/tsearch.m4: New file.
13680         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
13681
13682 2006-10-29  Eric Blake  <ebb9@byu.net>
13683
13684         * lib/arcfour.c: Assume config.h.
13685         * lib/arctwo.c: Likewise.
13686         * lib/base64.c: Likewise.
13687         * lib/check-version.c: Likewise.
13688         * lib/crc.c: Likewise.
13689         * lib/des.c: Likewise.
13690         * lib/gc-gnulib.c: Likewise.
13691         * lib/gc-libgcrypt.c: Likewise.
13692         * lib/gc-pbkdf2-sha1.c: Likewise.
13693         * lib/getaddrinfo.c: Likewise.
13694         * lib/getdelim.c: Likewise.
13695         * lib/getline.c: Likewise.
13696         * lib/hmac-md5.c: Likewise.
13697         * lib/hmac-sha1.c: Likewise.
13698         * lib/iconvme.c: Likewise.
13699         * lib/md2.c: Likewise.
13700         * lib/md4.c: Likewise.
13701         * lib/memxor.c: Likewise.
13702         * lib/read-file.c: Likewise.
13703         * lib/readline.c: Likewise.
13704         * lib/rijndael-alg-fst.c: Likewise.
13705         * lib/rijndael-api-fst.c: Likewise.
13706         * lib/xgetdomainname.c: Likewise.
13707
13708 2006-10-28  Eric Blake  <ebb9@byu.net>
13709
13710         * lib/xstrndup.c: Assume config.h.
13711
13712 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
13713
13714         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
13715         stat-macros.h is now for our own macros, whereas stat_h is for
13716         macros in the <sys/stat.h> name space.
13717         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
13718         (STAT_MACROS_H): Remove.
13719         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
13720         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
13721         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
13722         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
13723         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
13724         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
13725         Move these macros to ...
13726         * lib/stat_.h: here.  Don't include stat-macros.h.
13727         * lib/canonicalize.c: Don't include stat-macros.h.
13728         * lib/chown.c: Likewise.
13729         * lib/euidaccess.c: Likewise.
13730         * lib/file-type.c: Likewise.
13731         * lib/filemode.c: Likewise.
13732         * lib/glob.c: Likewise.
13733         * lib/isapipe.c: Likewise.
13734         * lib/lchown.c: Likewise.
13735         * lib/lstat.c: Likewise.
13736         * lib/mkdir-p.c: Likewise.
13737         * lib/rmdir.c: Likewise.
13738         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
13739         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
13740         unless mkdir isn't declared, to speed up 'configure'.
13741         Always create sys/stat.h, since it's unlikely any real sys/stat.h
13742         would define all the S_* symbols.
13743         * modules/canonicalize (Depends-on):
13744         Depend on sys_stat, not stat-macros.
13745         * modules/chown: Likewise.
13746         * modules/euidaccess: Likewise.
13747         * modules/filemode: Likewise.
13748         * modules/file-type: Likewise.
13749         * modules/glob: Likewise.
13750         * modules/isapipe: Likewise.
13751         * modules/lchown: Likewise.
13752         * modules/lstat: Likewise.
13753         * modules/mkancesdirs: Likewise.
13754         * modules/rmdir: Likewise.
13755         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
13756         * modules/modechange: Likewise.
13757         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
13758         (configure.ac): Remove gl_STAT_MACROS.
13759         * modules/sys_stat (Depends-on): Remove stat-macros.
13760
13761 2006-10-27  Bruno Haible  <bruno@clisp.org>
13762
13763         * m4/signed.m4: Remove file.
13764         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
13765         invocation.
13766         * modules/vasnprintf (Files): Remove m4/signed.m4.
13767
13768 2006-10-27  Bruno Haible  <bruno@clisp.org>
13769
13770         Update to GNU gettext 0.16.
13771         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
13772         m4/inttypes-h.m4, m4/signed.m4.
13773         * m4/gettext.m4: Update to GNU gettext 0.16.
13774         * m4/intl.m4: New file, from GNU gettext.
13775         * m4/intldir.m4: New file, from GNU gettext.
13776         * config/srclist.txt: Update
13777
13778 2006-10-27  Eric Blake  <ebb9@byu.net>
13779
13780         * MODULES.html.sh: Document tempname.
13781         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
13782         dependencies.
13783         (Files): Move lib/tempname.c...
13784         * modules/tempname: ...to this new module.
13785         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
13786         (gl_PREREQ_TEMPNAME): Move...
13787         * m4/tempname.m4: ...to this new file.
13788         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
13789         * modules/sys_stat (Depends-on): Add stat-macros.
13790         * lib/stat_.h (includes): Pick up stat macros.
13791         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
13792         if stat macros are broken.
13793         * lib/tempname.c (includes): No need to include "stat-macros.h".
13794         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
13795         (direxists, __path_search) [!_LIBC]: Don't compile these in
13796         gnulib; the tmpdir module covers that.
13797         * lib/tempname.h: New file.
13798
13799 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
13800
13801         * COPYING: Explain how gnulib-tool converts licence headers.
13802         Almost all wording by Eric Blake.
13803
13804 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
13805
13806         * lib/mbchar.h (is_basic_table): Make read-only.
13807         * lib/mbchar.c (is_basic_table): Likewise.
13808         Reported by John Darrington.
13809
13810 2006-10-25  Bruno Haible  <bruno@clisp.org>
13811
13812         * lib/progname.h (set_program_name): Undefine before defining.
13813
13814 2006-10-25  Bruno Haible  <bruno@clisp.org>
13815
13816         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
13817         false for non-gcc C++ compilers.
13818         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
13819
13820 2006-10-24  Bruno Haible  <bruno@clisp.org>
13821
13822         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
13823         iconv implementations like Irix iconv.
13824
13825 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13826
13827         * modules/vararrays: New file.
13828         * m4/vararrays.m4: New file, taken from diffutils.
13829         * MODULES.html.sh: New module vararrays.
13830
13831 2006-10-24  Karl Berry  <karl@gnu.org>
13832
13833         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
13834         Don't call GNU Unix.
13835
13836 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13837
13838         * users.txt: Add Libtool.
13839
13840         Sync from Libtool:
13841
13842         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13843
13844         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
13845         to gnulib's policy of including config.h unconditionally.
13846
13847 2006-10-24  Bruno Haible  <bruno@clisp.org>
13848
13849         * modules/wcwidth (Files): Add m4/wint_t.m4.
13850         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
13851         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
13852
13853 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13854
13855         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
13856         to pacify GCC with some -W flags enabled.  Problem reported by
13857         Bruno Haible.
13858
13859 2006-10-24  Jim Meyering  <jim@meyering.net>
13860
13861         * MODULES.html.sh: Remove uinttostr.  It's not a module.
13862         Reported by Karl Berry.
13863
13864 2006-10-23  Bruno Haible  <bruno@clisp.org>
13865
13866         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
13867
13868 2006-10-24  Bruno Haible  <bruno@clisp.org>
13869
13870         * lib/gl_list.h: Use C comment style, not C++ comment style.
13871
13872 2006-10-23  Eric Blake  <ebb9@byu.net>
13873
13874         * lib/getaddrinfo.c (includes): Add missing include.
13875
13876 2006-10-23  Bruno Haible  <bruno@clisp.org>
13877             Paul Eggert  <eggert@cs.ucla.edu>
13878
13879         Ability to rename obstack_free.
13880         * lib/obstack.h (__obstack_free): New macro. Declare instead of
13881         obstack_free.
13882         (obstack_free): Invoke the __obstack_free macro.
13883         * lib/obstack.c (obstack_free): Use __obstack_free macro.
13884
13885 2006-10-23  Bruno Haible  <bruno@clisp.org>
13886             Paul Eggert  <eggert@cs.ucla.edu>
13887
13888         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
13889         __argc, __argv from the declaration. (They are defined as macros on
13890         mingw.)
13891
13892 2006-10-22  Bruno Haible  <bruno@clisp.org>
13893
13894         * doc/gnulib-intro.texi: New file.
13895         * doc/gnulib.texi: Include it.
13896
13897 2006-10-21  Bruno Haible  <bruno@clisp.org>
13898
13899         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
13900         "Introduction", "Miscellanous Notes", "Particular Modules".
13901
13902 2006-10-21  Bruno Haible  <bruno@clisp.org>
13903
13904         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13905         Change mostlyclean-local rule to avoid sh syntax error from bash
13906         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
13907
13908 2006-10-23  Jim Meyering  <jim@meyering.net>
13909
13910         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
13911         in place of snprintf.
13912
13913         * modules/inttostr (Files): Add lib/uinttostr.c.
13914         * lib/uinttostr.c (inttostr): New file/function.
13915         * lib/inttostr.h (uinttostr): Declare.
13916         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
13917         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
13918         Add uinttostr.
13919         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
13920
13921 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13922
13923         * lib/canonicalize.c (ELOOP): Define if not already defined.
13924         Problem reported by Bruno Haible in
13925         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
13926
13927 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13928
13929         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
13930         Problem reported by Perry Smith and Ville Laurikari.
13931
13932         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
13933         uses.
13934
13935 2006-10-19  Bruno Haible  <bruno@clisp.org>
13936
13937         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
13938         for mingw.
13939
13940 2006-10-19  Bruno Haible  <bruno@clisp.org>
13941
13942         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
13943         Needed for mingw.
13944
13945 2006-10-19  Bruno Haible  <bruno@clisp.org>
13946
13947         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
13948
13949 2006-10-19  Bruno Haible  <bruno@clisp.org>
13950
13951         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
13952         it.
13953
13954 2006-10-19  Bruno Haible  <bruno@clisp.org>
13955
13956         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
13957         invocation.
13958
13959 2006-10-19  Bruno Haible  <bruno@clisp.org>
13960
13961         * gnulib-tool (func_create_testdir): Don't include ftruncate and
13962         mountlist by default.
13963
13964 2006-10-16  Bruno Haible  <bruno@clisp.org>
13965
13966         * lib/c-strstr.c: Include c-strstr.h.
13967
13968 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13969
13970         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
13971         in a slash.
13972
13973 2006-10-18  Bruno Haible  <bruno@clisp.org>
13974
13975         * lib/lock.h [C++]: Wrap definitions in extern "C".
13976
13977 2006-10-18  Bruno Haible  <bruno@clisp.org>
13978
13979         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
13980         gl_LIBOBJS list.
13981
13982 2006-10-18  Bruno Haible  <bruno@clisp.org>
13983
13984         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
13985
13986 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
13987
13988         * lib/xstrtol.h: Include gettext.h.
13989         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
13990         Problem reported by Eric Blake.
13991         * modules/xstrtol (Depends-on): Add gettext-h.
13992
13993 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
13994
13995         * lib/strftime.c (advance): New macro.
13996         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
13997         incomplete type, so you can't add 0 to it.  Problem and patch
13998         reported by Eelco Dolstra for dietlibc.
13999
14000 2006-10-18  Jim Meyering  <jim@meyering.net>
14001
14002         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
14003         type for a local, and rename it: s/up/user_proc/.
14004
14005 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
14006
14007         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
14008         READ_UTMP_USER_PROCESS.
14009         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
14010
14011 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
14012
14013         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
14014         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
14015
14016 2006-10-17  Eric Blake  <ebb9@byu.net>
14017
14018         * lib/sigprocmask.c (sigprocmask): Fix typo.
14019
14020         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
14021
14022         * modules/clean-temp (Makefile.am): Don't add to make output...
14023         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
14024         config.h.
14025
14026 2006-10-17  Bruno Haible  <bruno@clisp.org>
14027
14028         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
14029         differently if DEFAULT_TEXT_DOMAIN is set.
14030
14031 2006-10-16  Bruno Haible  <bruno@clisp.org>
14032
14033         * lib/clean-temp.c: Include fwriteerror.h.
14034
14035 2006-10-16  Bruno Haible  <bruno@clisp.org>
14036
14037         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
14038
14039 2006-10-16  Bruno Haible  <bruno@clisp.org>
14040
14041         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
14042         * lib/sigprocmask.h: Include <sys/types.h>.
14043         (sigset_t): Use the system's definition if present.
14044
14045 2006-10-17  Eric Blake  <ebb9@byu.net>
14046
14047         * lib/xvasprintf.c (includes): Assume config.h.
14048         * lib/xasprintf.c (includes): Likewise.
14049
14050 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
14051
14052         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
14053         at least as wide as intmax_t.
14054
14055 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
14056
14057         (Imported from Automake.)
14058         * build-aux/gnupload: Update to version 1.1 of directive file.
14059
14060 2006-10-16  Eric Blake  <ebb9@byu.net>
14061
14062         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
14063         match Automake 1.10a.
14064
14065 2006-10-14  Bruno Haible  <bruno@clisp.org>
14066
14067         * modules/sigprocmask: New file.
14068         * lib/sigprocmask.h: New file.
14069         * lib/sigprocmask.c: New file.
14070         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
14071         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
14072         request sigprocmask.o.
14073         (gl_PREREQ_SIGPROCMASK): New macro.
14074         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
14075         (Depends-on): Add sigprocmask.
14076         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
14077         gt_SIGNALBLOCKING. Test for 'raise' only once.
14078         * lib/fatal-signal.c: Include sigprocmask.h.
14079         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
14080         unblock_fatal_signals): Define always.
14081         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14082         sigprocmask.
14083
14084 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14085
14086         Sync from Automake.
14087         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
14088         which incorrectly sets the mode of an existing destination
14089         directory.  In some cases the unpatched install-sh could do the
14090         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
14091         system.  We hope this is rare in practice, but it's clearly worth
14092         fixing.  Problem reported by Alex Unleashed in
14093         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
14094         Also, don't bother to check for -m bugs unless we're using -m;
14095         suggested by Stepan Kasal.
14096
14097 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14098
14099         Sync from Automake.
14100         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
14101         `-c' flag, so they appear at the same position as in %FASTDEP%
14102         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
14103         which ignores unknown options only after the first non-option.
14104         Bug report against M4 by Nelson H. F. Beebe.
14105
14106 2006-10-13  Jim Meyering  <jim@meyering.net>
14107
14108         Fix a bug in yesterday's change.
14109         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
14110         p->fts_statp->st_dev would be used uninitialized.
14111         Ensures that we always call fts_stat on the very first entry.
14112         Miklos Szeredi reported that find -xdev stopped working.
14113
14114 2006-10-12  Bruno Haible  <bruno@clisp.org>
14115
14116         * gnulib-tool (func_get_automake_snippet): Append an automatically
14117         computed EXTRA_DIST augmentation.
14118         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
14119         * modules/alloca-opt (Makefile.am): Likewise.
14120         * modules/allocsa (Makefile.am): Likewise.
14121         * modules/arcfour (Makefile.am): Likewise.
14122         * modules/arctwo (Makefile.am): Likewise.
14123         * modules/argmatch (Makefile.am): Likewise.
14124         * modules/argz (Makefile.am): Likewise.
14125         * modules/atexit (Makefile.am): Likewise.
14126         * modules/backupfile (Makefile.am): Likewise.
14127         * modules/byteswap (Makefile.am): Likewise.
14128         * modules/c-strtod (Makefile.am): Likewise.
14129         * modules/c-strtold (Makefile.am): Likewise.
14130         * modules/calloc (Makefile.am): Likewise.
14131         * modules/canon-host (Makefile.am): Likewise.
14132         * modules/canonicalize (Makefile.am): Likewise.
14133         * modules/chdir-long (Makefile.am): Likewise.
14134         * modules/chdir-safer (Makefile.am): Likewise.
14135         * modules/check-version (Makefile.am): Likewise.
14136         * modules/chown (Makefile.am): Likewise.
14137         * modules/cloexec (Makefile.am): Likewise.
14138         * modules/close-stream (Makefile.am): Likewise.
14139         * modules/closeout (Makefile.am): Likewise.
14140         * modules/crc (Makefile.am): Likewise.
14141         * modules/csharpexec (Makefile.am): Likewise.
14142         * modules/cycle-check (Makefile.am): Likewise.
14143         * modules/des (Makefile.am): Likewise.
14144         * modules/dev-ino (Makefile.am): Likewise.
14145         * modules/dirfd (Makefile.am): Likewise.
14146         * modules/dirname (Makefile.am): Likewise.
14147         * modules/dup2 (Makefile.am): Likewise.
14148         * modules/eealloc (Makefile.am): Likewise.
14149         * modules/error (Makefile.am): Likewise.
14150         * modules/euidaccess (Makefile.am): Likewise.
14151         * modules/exclude (Makefile.am): Likewise.
14152         * modules/exitfail (Makefile.am): Likewise.
14153         * modules/fcntl-safer (Makefile.am): Likewise.
14154         * modules/fcntl (Makefile.am): Likewise.
14155         * modules/file-type (Makefile.am): Likewise.
14156         * modules/fileblocks (Makefile.am): Likewise.
14157         * modules/filemode (Makefile.am): Likewise.
14158         * modules/filenamecat (Makefile.am): Likewise.
14159         * modules/fnmatch (Makefile.am): Likewise.
14160         * modules/fopen-safer (Makefile.am): Likewise.
14161         * modules/fpending (Makefile.am): Likewise.
14162         * modules/fprintftime (Makefile.am): Likewise.
14163         * modules/free (Makefile.am): Likewise.
14164         * modules/fsusage (Makefile.am): Likewise.
14165         * modules/ftruncate (Makefile.am): Likewise.
14166         * modules/fts (Makefile.am): Likewise.
14167         * modules/gc-arcfour (Makefile.am): Likewise.
14168         * modules/gc-des (Makefile.am): Likewise.
14169         * modules/gc-hmac-md5 (Makefile.am): Likewise.
14170         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
14171         * modules/gc-md4 (Makefile.am): Likewise.
14172         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
14173         * modules/gc-sha1 (Makefile.am): Likewise.
14174         * modules/gc (Makefile.am): Likewise.
14175         * modules/getaddrinfo (Makefile.am): Likewise.
14176         * modules/getcwd (Makefile.am): Likewise.
14177         * modules/getdelim (Makefile.am): Likewise.
14178         * modules/getdomainname (Makefile.am): Likewise.
14179         * modules/getgroups (Makefile.am): Likewise.
14180         * modules/gethostname (Makefile.am): Likewise.
14181         * modules/gethrxtime (Makefile.am): Likewise.
14182         * modules/getline (Makefile.am): Likewise.
14183         * modules/getloadavg (Makefile.am): Likewise.
14184         * modules/getlogin_r (Makefile.am): Likewise.
14185         * modules/getndelim2 (Makefile.am): Likewise.
14186         * modules/getopt (Makefile.am): Likewise.
14187         * modules/getpagesize (Makefile.am): Likewise.
14188         * modules/getpass-gnu (Makefile.am): Likewise.
14189         * modules/getpass (Makefile.am): Likewise.
14190         * modules/getsubopt (Makefile.am): Likewise.
14191         * modules/gettime (Makefile.am): Likewise.
14192         * modules/gettimeofday (Makefile.am): Likewise.
14193         * modules/getugroups (Makefile.am): Likewise.
14194         * modules/getusershell (Makefile.am): Likewise.
14195         * modules/glob (Makefile.am): Likewise.
14196         * modules/group-member (Makefile.am): Likewise.
14197         * modules/hard-locale (Makefile.am): Likewise.
14198         * modules/hash (Makefile.am): Likewise.
14199         * modules/hmac-md5 (Makefile.am): Likewise.
14200         * modules/hmac-sha1 (Makefile.am): Likewise.
14201         * modules/human (Makefile.am): Likewise.
14202         * modules/idcache (Makefile.am): Likewise.
14203         * modules/imaxabs (Makefile.am): Likewise.
14204         * modules/imaxdiv (Makefile.am): Likewise.
14205         * modules/inet_ntop (Makefile.am): Likewise.
14206         * modules/inet_pton (Makefile.am): Likewise.
14207         * modules/intprops (Makefile.am): Likewise.
14208         * modules/inttostr (Makefile.am): Likewise.
14209         * modules/inttypes (Makefile.am): Likewise.
14210         * modules/isapipe (Makefile.am): Likewise.
14211         * modules/javaversion (Makefile.am): Likewise.
14212         * modules/lchmod (Makefile.am): Likewise.
14213         * modules/lchown (Makefile.am): Likewise.
14214         * modules/localcharset (Makefile.am): Likewise.
14215         * modules/long-options (Makefile.am): Likewise.
14216         * modules/lstat (Makefile.am): Likewise.
14217         * modules/malloc (Makefile.am): Likewise.
14218         * modules/mathl (Makefile.am): Likewise.
14219         * modules/mbchar (Makefile.am): Likewise.
14220         * modules/md2 (Makefile.am): Likewise.
14221         * modules/md4 (Makefile.am): Likewise.
14222         * modules/md5 (Makefile.am): Likewise.
14223         * modules/memcasecmp (Makefile.am): Likewise.
14224         * modules/memchr (Makefile.am): Likewise.
14225         * modules/memcmp (Makefile.am): Likewise.
14226         * modules/memcoll (Makefile.am): Likewise.
14227         * modules/memcpy (Makefile.am): Likewise.
14228         * modules/memmem (Makefile.am): Likewise.
14229         * modules/memmove (Makefile.am): Likewise.
14230         * modules/mempcpy (Makefile.am): Likewise.
14231         * modules/memrchr (Makefile.am): Likewise.
14232         * modules/memset (Makefile.am): Likewise.
14233         * modules/memxor (Makefile.am): Likewise.
14234         * modules/mkancesdirs (Makefile.am): Likewise.
14235         * modules/mkdir-p (Makefile.am): Likewise.
14236         * modules/mkdir (Makefile.am): Likewise.
14237         * modules/mkdtemp (Makefile.am): Likewise.
14238         * modules/mkstemp (Makefile.am): Likewise.
14239         * modules/mktime (Makefile.am): Likewise.
14240         * modules/modechange (Makefile.am): Likewise.
14241         * modules/mountlist (Makefile.am): Likewise.
14242         * modules/nanosleep (Makefile.am): Likewise.
14243         * modules/obstack (Makefile.am): Likewise.
14244         * modules/openat (Makefile.am): Likewise.
14245         * modules/pagealign_alloc (Makefile.am): Likewise.
14246         * modules/pathmax (Makefile.am): Likewise.
14247         * modules/physmem (Makefile.am): Likewise.
14248         * modules/poll (Makefile.am): Likewise.
14249         * modules/posixtm (Makefile.am): Likewise.
14250         * modules/posixver (Makefile.am): Likewise.
14251         * modules/putenv (Makefile.am): Likewise.
14252         * modules/quote (Makefile.am): Likewise.
14253         * modules/quotearg (Makefile.am): Likewise.
14254         * modules/raise (Makefile.am): Likewise.
14255         * modules/read-file (Makefile.am): Likewise.
14256         * modules/readline (Makefile.am): Likewise.
14257         * modules/readlink (Makefile.am): Likewise.
14258         * modules/readtokens (Makefile.am): Likewise.
14259         * modules/readutmp (Makefile.am): Likewise.
14260         * modules/realloc (Makefile.am): Likewise.
14261         * modules/regex (Makefile.am): Likewise.
14262         * modules/rename-dest-slash (Makefile.am): Likewise.
14263         * modules/rename (Makefile.am): Likewise.
14264         * modules/rijndael (Makefile.am): Likewise.
14265         * modules/rmdir (Makefile.am): Likewise.
14266         * modules/rpmatch (Makefile.am): Likewise.
14267         * modules/safe-read (Makefile.am): Likewise.
14268         * modules/safe-write (Makefile.am): Likewise.
14269         * modules/same-inode (Makefile.am): Likewise.
14270         * modules/same (Makefile.am): Likewise.
14271         * modules/save-cwd (Makefile.am): Likewise.
14272         * modules/savedir (Makefile.am): Likewise.
14273         * modules/setenv (Makefile.am): Likewise.
14274         * modules/settime (Makefile.am): Likewise.
14275         * modules/sha1 (Makefile.am): Likewise.
14276         * modules/sig2str (Makefile.am): Likewise.
14277         * modules/snprintf (Makefile.am): Likewise.
14278         * modules/stat-macros (Makefile.am): Likewise.
14279         * modules/stat-time (Makefile.am): Likewise.
14280         * modules/stdbool (Makefile.am): Likewise.
14281         * modules/stdint (Makefile.am): Likewise.
14282         * modules/stdlib-safer (Makefile.am): Likewise.
14283         * modules/stpcpy (Makefile.am): Likewise.
14284         * modules/stpncpy (Makefile.am): Likewise.
14285         * modules/strcase (Makefile.am): Likewise.
14286         * modules/strcasestr (Makefile.am): Likewise.
14287         * modules/strchrnul (Makefile.am): Likewise.
14288         * modules/strcspn (Makefile.am): Likewise.
14289         * modules/strdup (Makefile.am): Likewise.
14290         * modules/strerror (Makefile.am): Likewise.
14291         * modules/strftime (Makefile.am): Likewise.
14292         * modules/strndup (Makefile.am): Likewise.
14293         * modules/strnlen (Makefile.am): Likewise.
14294         * modules/strpbrk (Makefile.am): Likewise.
14295         * modules/strsep (Makefile.am): Likewise.
14296         * modules/strstr (Makefile.am): Likewise.
14297         * modules/strtod (Makefile.am): Likewise.
14298         * modules/strtoimax (Makefile.am): Likewise.
14299         * modules/strtok_r (Makefile.am): Likewise.
14300         * modules/strtol (Makefile.am): Likewise.
14301         * modules/strtoll (Makefile.am): Likewise.
14302         * modules/strtoul (Makefile.am): Likewise.
14303         * modules/strtoull (Makefile.am): Likewise.
14304         * modules/strtoumax (Makefile.am): Likewise.
14305         * modules/strverscmp (Makefile.am): Likewise.
14306         * modules/sys_socket (Makefile.am): Likewise.
14307         * modules/sys_stat (Makefile.am): Likewise.
14308         * modules/sysexits (Makefile.am): Likewise.
14309         * modules/time_r (Makefile.am): Likewise.
14310         * modules/timegm (Makefile.am): Likewise.
14311         * modules/timespec (Makefile.am): Likewise.
14312         * modules/tmpfile-safer (Makefile.am): Likewise.
14313         * modules/trim (Makefile.am): Likewise.
14314         * modules/unistd-safer (Makefile.am): Likewise.
14315         * modules/unlinkdir (Makefile.am): Likewise.
14316         * modules/unlocked-io (Makefile.am): Likewise.
14317         * modules/userspec (Makefile.am): Likewise.
14318         * modules/utime (Makefile.am): Likewise.
14319         * modules/utimecmp (Makefile.am): Likewise.
14320         * modules/utimens (Makefile.am): Likewise.
14321         * modules/vasnprintf (Makefile.am): Likewise.
14322         * modules/vasprintf (Makefile.am): Likewise.
14323         * modules/vsnprintf (Makefile.am): Likewise.
14324         * modules/xalloc (Makefile.am): Likewise.
14325         * modules/xgetcwd (Makefile.am): Likewise.
14326         * modules/xnanosleep (Makefile.am): Likewise.
14327         * modules/xreadlink (Makefile.am): Likewise.
14328         * modules/xstrtod (Makefile.am): Likewise.
14329         * modules/xstrtol (Makefile.am): Likewise.
14330         * modules/xstrtold (Makefile.am): Likewise.
14331         * modules/yesno (Makefile.am): Likewise.
14332         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
14333
14334 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14335
14336         * modules/error (Makefile.am): Distribute files through
14337         EXTRA_DIST, not lib_SOURCES.
14338
14339 2006-10-12  Eric Blake  <ebb9@byu.net>
14340
14341         * modules/error (Makefile.am): Distribute files in /lib.
14342         * modules/obstack (Makefile.am): Likewise.
14343
14344 2006-10-12  Bruno Haible  <bruno@clisp.org>
14345
14346         * modules/acl (Makefile.am): Distribute all files in lib/ through
14347         EXTRA_DIST.
14348         * modules/arcfour (Makefile.am): Likewise.
14349         * modules/arctwo (Makefile.am): Likewise.
14350         * modules/argmatch (Makefile.am): Likewise.
14351         * modules/argz (Makefile.am): Likewise.
14352         * modules/atexit (Makefile.am): Likewise.
14353         * modules/backupfile (Makefile.am): Likewise.
14354         * modules/c-strtod (Makefile.am): Likewise.
14355         * modules/c-strtold (Makefile.am): Likewise.
14356         * modules/calloc (Makefile.am): Likewise.
14357         * modules/canon-host (Makefile.am): Likewise.
14358         * modules/canonicalize (Makefile.am): Likewise.
14359         * modules/chdir-long (Makefile.am): Likewise.
14360         * modules/chdir-safer (Makefile.am): Likewise.
14361         * modules/check-version (Makefile.am): Likewise.
14362         * modules/chown (Makefile.am): Likewise.
14363         * modules/cloexec (Makefile.am): Likewise.
14364         * modules/close-stream (Makefile.am): Likewise.
14365         * modules/closeout (Makefile.am): Likewise.
14366         * modules/crc (Makefile.am): Likewise.
14367         * modules/cycle-check (Makefile.am): Likewise.
14368         * modules/des (Makefile.am): Likewise.
14369         * modules/dirfd (Makefile.am): Likewise.
14370         * modules/dirname (Makefile.am): Likewise.
14371         * modules/dup2 (Makefile.am): Likewise.
14372         * modules/euidaccess (Makefile.am): Likewise.
14373         * modules/exclude (Makefile.am): Likewise.
14374         * modules/exitfail (Makefile.am): Likewise.
14375         * modules/fcntl-safer (Makefile.am): Likewise.
14376         * modules/file-type (Makefile.am): Likewise.
14377         * modules/fileblocks (Makefile.am): Likewise.
14378         * modules/filemode (Makefile.am): Likewise.
14379         * modules/filenamecat (Makefile.am): Likewise.
14380         * modules/fnmatch (Makefile.am): Likewise.
14381         * modules/fopen-safer (Makefile.am): Likewise.
14382         * modules/fpending (Makefile.am): Likewise.
14383         * modules/fprintftime (Makefile.am): Likewise.
14384         * modules/free (Makefile.am): Likewise.
14385         * modules/fsusage (Makefile.am): Likewise.
14386         * modules/ftruncate (Makefile.am): Likewise.
14387         * modules/fts (Makefile.am): Likewise.
14388         * modules/gc (Makefile.am): Likewise.
14389         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
14390         * modules/getaddrinfo (Makefile.am): Likewise.
14391         * modules/getcwd (Makefile.am): Likewise.
14392         * modules/getdelim (Makefile.am): Likewise.
14393         * modules/getdomainname (Makefile.am): Likewise.
14394         * modules/getgroups (Makefile.am): Likewise.
14395         * modules/gethostname (Makefile.am): Likewise.
14396         * modules/gethrxtime (Makefile.am): Likewise.
14397         * modules/getline (Makefile.am): Likewise.
14398         * modules/getloadavg (Makefile.am): Likewise.
14399         * modules/getlogin_r (Makefile.am): Likewise.
14400         * modules/getopt (Makefile.am): Likewise.
14401         * modules/getpass (Makefile.am): Likewise.
14402         * modules/getpass-gnu (Makefile.am): Likewise.
14403         * modules/getsubopt (Makefile.am): Likewise.
14404         * modules/gettime (Makefile.am): Likewise.
14405         * modules/gettimeofday (Makefile.am): Likewise.
14406         * modules/getugroups (Makefile.am): Likewise.
14407         * modules/getusershell (Makefile.am): Likewise.
14408         * modules/glob (Makefile.am): Likewise.
14409         * modules/group-member (Makefile.am): Likewise.
14410         * modules/hard-locale (Makefile.am): Likewise.
14411         * modules/hash (Makefile.am): Likewise.
14412         * modules/hmac-md5 (Makefile.am): Likewise.
14413         * modules/hmac-sha1 (Makefile.am): Likewise.
14414         * modules/human (Makefile.am): Likewise.
14415         * modules/idcache (Makefile.am): Likewise.
14416         * modules/imaxabs (Makefile.am): Likewise.
14417         * modules/imaxdiv (Makefile.am): Likewise.
14418         * modules/inet_ntop (Makefile.am): Likewise.
14419         * modules/inet_pton (Makefile.am): Likewise.
14420         * modules/inttostr (Makefile.am): Likewise.
14421         * modules/isapipe (Makefile.am): Likewise.
14422         * modules/lchown (Makefile.am): Likewise.
14423         * modules/long-options (Makefile.am): Likewise.
14424         * modules/lstat (Makefile.am): Likewise.
14425         * modules/malloc (Makefile.am): Likewise.
14426         * modules/mathl (Makefile.am): Likewise.
14427         * modules/mbchar (Makefile.am): Likewise.
14428         * modules/md2 (Makefile.am): Likewise.
14429         * modules/md4 (Makefile.am): Likewise.
14430         * modules/md5 (Makefile.am): Likewise.
14431         * modules/memcasecmp (Makefile.am): Likewise.
14432         * modules/memchr (Makefile.am): Likewise.
14433         * modules/memcmp (Makefile.am): Likewise.
14434         * modules/memcoll (Makefile.am): Likewise.
14435         * modules/memcpy (Makefile.am): Likewise.
14436         * modules/memmem (Makefile.am): Likewise.
14437         * modules/memmove (Makefile.am): Likewise.
14438         * modules/mempcpy (Makefile.am): Likewise.
14439         * modules/memrchr (Makefile.am): Likewise.
14440         * modules/memset (Makefile.am): Likewise.
14441         * modules/memxor (Makefile.am): Likewise.
14442         * modules/mkancesdirs (Makefile.am): Likewise.
14443         * modules/mkdir (Makefile.am): Likewise.
14444         * modules/mkdir-p (Makefile.am): Likewise.
14445         * modules/mkdtemp (Makefile.am): Likewise.
14446         * modules/mkstemp (Makefile.am): Likewise.
14447         * modules/mktime (Makefile.am): Likewise.
14448         * modules/modechange (Makefile.am): Likewise.
14449         * modules/mountlist (Makefile.am): Likewise.
14450         * modules/nanosleep (Makefile.am): Likewise.
14451         * modules/openat (Makefile.am): Likewise.
14452         * modules/pagealign_alloc (Makefile.am): Likewise.
14453         * modules/physmem (Makefile.am): Likewise.
14454         * modules/poll (Makefile.am): Likewise.
14455         * modules/posixtm (Makefile.am): Likewise.
14456         * modules/posixver (Makefile.am): Likewise.
14457         * modules/putenv (Makefile.am): Likewise.
14458         * modules/quote (Makefile.am): Likewise.
14459         * modules/quotearg (Makefile.am): Likewise.
14460         * modules/raise (Makefile.am): Likewise.
14461         * modules/read-file (Makefile.am): Likewise.
14462         * modules/readline (Makefile.am): Likewise.
14463         * modules/readlink (Makefile.am): Likewise.
14464         * modules/readtokens (Makefile.am): Likewise.
14465         * modules/readutmp (Makefile.am): Likewise.
14466         * modules/realloc (Makefile.am): Likewise.
14467         * modules/regex (Makefile.am): Likewise.
14468         * modules/rename (Makefile.am): Likewise.
14469         * modules/rename-dest-slash (Makefile.am): Likewise.
14470         * modules/rijndael (Makefile.am): Likewise.
14471         * modules/rmdir (Makefile.am): Likewise.
14472         * modules/rpmatch (Makefile.am): Likewise.
14473         * modules/safe-read (Makefile.am): Likewise.
14474         * modules/safe-write (Makefile.am): Likewise.
14475         * modules/same (Makefile.am): Likewise.
14476         * modules/save-cwd (Makefile.am): Likewise.
14477         * modules/savedir (Makefile.am): Likewise.
14478         * modules/setenv (Makefile.am): Likewise.
14479         * modules/settime (Makefile.am): Likewise.
14480         * modules/sha1 (Makefile.am): Likewise.
14481         * modules/sig2str (Makefile.am): Likewise.
14482         * modules/snprintf (Makefile.am): Likewise.
14483         * modules/stdlib-safer (Makefile.am): Likewise.
14484         * modules/stpcpy (Makefile.am): Likewise.
14485         * modules/stpncpy (Makefile.am): Likewise.
14486         * modules/strcase (Makefile.am): Likewise.
14487         * modules/strcasestr (Makefile.am): Likewise.
14488         * modules/strchrnul (Makefile.am): Likewise.
14489         * modules/strcspn (Makefile.am): Likewise.
14490         * modules/strdup (Makefile.am): Likewise.
14491         * modules/strerror (Makefile.am): Likewise.
14492         * modules/strftime (Makefile.am): Likewise.
14493         * modules/strndup (Makefile.am): Likewise.
14494         * modules/strnlen (Makefile.am): Likewise.
14495         * modules/strpbrk (Makefile.am): Likewise.
14496         * modules/strsep (Makefile.am): Likewise.
14497         * modules/strstr (Makefile.am): Likewise.
14498         * modules/strtod (Makefile.am): Likewise.
14499         * modules/strtoimax (Makefile.am): Likewise.
14500         * modules/strtok_r (Makefile.am): Likewise.
14501         * modules/strtol (Makefile.am): Likewise.
14502         * modules/strtoll (Makefile.am): Likewise.
14503         * modules/strtoul (Makefile.am): Likewise.
14504         * modules/strtoull (Makefile.am): Likewise.
14505         * modules/strtoumax (Makefile.am): Likewise.
14506         * modules/strverscmp (Makefile.am): Likewise.
14507         * modules/time_r (Makefile.am): Likewise.
14508         * modules/timegm (Makefile.am): Likewise.
14509         * modules/tmpfile-safer (Makefile.am): Likewise.
14510         * modules/unistd-safer (Makefile.am): Likewise.
14511         * modules/unlinkdir (Makefile.am): Likewise.
14512         * modules/userspec (Makefile.am): Likewise.
14513         * modules/utime (Makefile.am): Likewise.
14514         * modules/utimecmp (Makefile.am): Likewise.
14515         * modules/utimens (Makefile.am): Likewise.
14516         * modules/vasnprintf (Makefile.am): Likewise.
14517         * modules/vasprintf (Makefile.am): Likewise.
14518         * modules/vsnprintf (Makefile.am): Likewise.
14519         * modules/xalloc (Makefile.am): Likewise.
14520         * modules/xgetcwd (Makefile.am): Likewise.
14521         * modules/xnanosleep (Makefile.am): Likewise.
14522         * modules/xreadlink (Makefile.am): Likewise.
14523         * modules/xstrtod (Makefile.am): Likewise.
14524         * modules/xstrtol (Makefile.am): Likewise.
14525         * modules/xstrtold (Makefile.am): Likewise.
14526         * modules/yesno (Makefile.am): Likewise.
14527
14528 2006-10-12  Jim Meyering  <jim@meyering.net>
14529
14530         * m4/getloadavg.m4: Revert the change below.
14531
14532         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
14533         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
14534         fail with a symlink, which is what coreutils' ./bootstrap now
14535         creates by default.
14536
14537 2006-10-12  Bruno Haible  <bruno@clisp.org>
14538
14539         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
14540         mingw.
14541         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
14542         MSVC and mingw explicitly.
14543
14544 2006-10-11  Simon Josefsson  <jas@extundo.com>
14545             Bruno Haible  <bruno@clisp.org>
14546
14547         Add support for multiple gnulib-tool invocations in the scope of a
14548         single configure.ac file.
14549         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
14550         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
14551         with the same contents as the _LIBADD variable.
14552         (func_emit_initmacro_start, func_emit_initmacro_end,
14553         func_emit_initmacro_done): New functions.
14554         (func_import, func_create_testdir): Invoke them. Allow the identifiers
14555         gl_LIBOBJS and gl_LTLIBOBJS.
14556
14557 2006-10-11  Bruno Haible  <bruno@clisp.org>
14558
14559         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
14560         (func_create_testdir): Don't create po/Makefile.am, don't invoke
14561         autoreconf. Instead, invoke autopoint explicitly but move back the
14562         *.m4 files from gnulib.
14563
14564 2006-10-11  Bruno Haible  <bruno@clisp.org>
14565
14566         * gnulib-tool (func_usage): Make module names after --create-testdir
14567         optional.
14568         (func_create_testdir): If no module was specified, use nearly all
14569         modules.
14570
14571 2006-10-12  Jim Meyering  <jim@meyering.net>
14572
14573         Big performance improvement for fts-based tools that use FTS_NOSTAT.
14574         Avoid spurious inode-mismatch problems on non-POSIX file systems.
14575         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
14576         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
14577         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
14578         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
14579         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
14580         (fts_set_stat_required): New function.
14581         (fts_open): Defer the calls to fts_stat, if possible or requested.
14582         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
14583         into fts_stat itself.
14584         (fts_read): Perform any required (deferred) fts_stat call.
14585         (fts_build): Likewise, for the directory we're about to open and read.
14586         In the readdir loop, carefully decide whether each entry will require
14587         an eventual call to fts_stat, using dirent.d_type info if available.
14588         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
14589         a command line argument into this function.  Update all callers.
14590         Map a return value of FTS_DOT to FTS_D for a command line argument.
14591         * modules/fts (Depends-on): Add d-type.  Alphabetize.
14592         Thanks to Miklos Szeredi for his tenacity and for the initial
14593         bug report about "find" failing on a FUSE-based file system.
14594
14595         * lib/fts.c (fts_open): Use consistent indentation.
14596
14597 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14598
14599         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
14600         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
14601         reported by Jim Meyering.  All uses of cache variables renamed
14602         to match Autoconf's.
14603         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
14604         the other one.
14605
14606         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
14607         Fix misspelling in diagnostic.
14608
14609 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14610
14611         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
14612         defined.  Problem reported by Matthew Woehlke.
14613
14614         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
14615         Add support for Tandem NonStop R series.
14616         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
14617         Use new macro.
14618
14619         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
14620         (has_trailing_slash): Omit size arg; all callers changed.
14621         Omit 'inline', since it doesn't help performance and we'd
14622         need to configure it.
14623         Don't count //, ///, etc. as having a trailing slash.
14624         As a side effect, this removes a C99ism reported by Matthew Woehlke.
14625         (rpl_rename_dest_slash): On failure, use rename's errno rather
14626         than (in some cases) an incorrect or junk errno.
14627         Simplify code by removing need to compute length; this does
14628         cause it to make two passes instead of one over the file name,
14629         but it's worth it.
14630
14631         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
14632         change, since Autoconf's version may no longer be appropriate now
14633         that we are using CVS Autoconf's version.  Add support for Tandem.
14634
14635 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14636             Bruno Haible  <bruno@clisp.org>
14637
14638         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
14639         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
14640         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
14641         gl_AC_TYPE_LONG_LONG.
14642
14643         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
14644         instead of HAVE_LONG_LONG.
14645         * lib/printf-args.c (printf_fetchargs): Likewise.
14646         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
14647         * lib/vasnprintf.c (VASNPRINTF): Likewise.
14648         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
14649         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
14650         gl_AC_TYPE_LONG_LONG.
14651
14652 2006-10-11  Bruno Haible  <bruno@clisp.org>
14653
14654         * m4/longlong.m4: Add comments.
14655         * m4/ulonglong.m4: Likewise.
14656
14657 2006-10-10  Bruno Haible  <bruno@clisp.org>
14658
14659         Make it possible to #define stpcpy, strdup to aliases.
14660         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
14661         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
14662
14663 2006-10-10  Bruno Haible  <bruno@clisp.org>
14664
14665         Make it possible to #define gcd to an alias.
14666         * lib/gcd.c: Include config.h.
14667
14668 2006-10-10  Bruno Haible  <bruno@clisp.org>
14669
14670         Make it possible to #define c_isascii to an alias.
14671         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
14672         defined. Undefine the macros before defining them, to avoid gcc
14673         warnings.
14674         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
14675         define NO_C_CTYPE_MACROS early.
14676
14677 2006-10-10  Bruno Haible  <bruno@clisp.org>
14678
14679         Make it possible to #define set_program_name to an alias.
14680         * lib/progname.c: Don't undefine set_program_name; instead, undefine
14681         ENABLE_RELOCATABLE early.
14682
14683 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14684
14685         Port to Tandem NSK OSS, which has 64-bit signed int but at most
14686         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
14687         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
14688         More generally, don't assume that 64-bit signed int is available
14689         if unsigned int is, and vice versa.
14690         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
14691         unsigned symbols, not on their signed counterparts.
14692         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
14693         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
14694         (UINT64_C, UINTMAX_C):
14695         Likewise.
14696         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
14697         unsigned counterparts.
14698         (Have_long_long, Unsigned): New macros.
14699         (Int): Renamed from INT.
14700         (strtoimax): Use the new macros.
14701         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
14702         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
14703         * modules/inttypes (inttypes.h): Substitute
14704         HAVE_UNSIGNED_LONG_LONG_INT.
14705         * modules/stdint (stdint.h): Likewise.
14706         (Files): Add m4/ulonglong.m4.
14707
14708 2006-10-10  Bruno Haible  <bruno@clisp.org>
14709
14710         Fix a gcc -Wshadow warning.
14711         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
14712         to 'bucket'.
14713         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
14714         gl_linked_indexof_from_to): Likewise.
14715         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
14716         Likewise.
14717         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
14718         Likewise.
14719         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
14720         Reported by Eric Blake.
14721
14722 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
14723
14724         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
14725         for NetBSD.  Problem reported by Bruno Haible.
14726
14727 2006-10-09  Jim Meyering  <jim@meyering.net>
14728
14729         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
14730         Patch from Bruno Haible.
14731
14732 2006-10-09  Jim Meyering  <jim@meyering.net>
14733
14734         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
14735         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
14736         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
14737
14738 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14739
14740         Don't include <config.h> twice; this doesn't work in some cases,
14741         e.g., when config.h has "#define intmax_t long long int" and
14742         we include <config.h>, <inttypes.h>, <config.h> in that order.
14743         Problem reported by Matthew Woehlke in:
14744         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
14745         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
14746         * lib/fts-cycle.c: Don't include config.h.
14747         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
14748         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
14749         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
14750         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
14751         inttypes.h.
14752         * lib/xstrtoumax.c: Likewise.
14753         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
14754         __strtol and the like, so that this module is more like its siblings.
14755         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
14756         Remove; no longer needed now that we assume gnulib inttypes.h.
14757
14758 2006-10-08  Bruno Haible  <bruno@clisp.org>
14759
14760         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
14761         option.
14762
14763 2006-10-07  Jim Meyering  <jim@meyering.net>
14764
14765         * modules/inttypes (inttypes.h): Revert what seems to have been
14766         an inadvertent part of today's change: use "|", not "/" in the
14767         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
14768
14769 2006-10-07  Bruno Haible  <bruno@clisp.org>
14770
14771         * modules/sublist: New file.
14772
14773 2006-10-07  Bruno Haible  <bruno@clisp.org>
14774
14775         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
14776         * modules/argz (argz.h): Likewise.
14777         * modules/arpa_inet (arpa/inet.h): Likewise.
14778         * modules/byteswap (byteswap.h): Likewise.
14779         * modules/configmake (configmake.h): Likewise.
14780         * modules/fcntl (fcntl.h): Likewise.
14781         * modules/fnmatch (fnmatch.h): Likewise.
14782         * modules/getopt (getopt.h): Likewise.
14783         * modules/glob (glob.h): Likewise.
14784         * modules/inttypes (inttypes.h): Likewise.
14785         * modules/netinet_in (netinet/in.h): Likewise.
14786         * modules/poll (poll.h): Likewise.
14787         * modules/stdbool (stdbool.h): Likewise.
14788         * modules/stdint (stdint.h): Likewise.
14789         * modules/sys_select (sys/select.h): Likewise.
14790         * modules/sys_socket (sys/socket.h): Likewise.
14791         * modules/sys_stat (sys/stat.h): Likewise.
14792         * modules/sysexits (sysexits.h): Likewise.
14793         * modules/unistd (unistd.h): Likewise.
14794         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14795         Add a "DO NOT EDIT" comment to the generated file.
14796         (func_import): Likewise for gnulib-comp.m4.
14797
14798 2006-10-07  Bruno Haible  <bruno@clisp.org>
14799
14800         * lib/gl_sublist.h: New file.
14801         * lib/gl_sublist.c: New file.
14802
14803 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14804
14805         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
14806         name (relative to the original working directory) and the file
14807         name component (relative to the temporary working directory).  All
14808         callers changed.
14809         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
14810         * lib/mkdir-p.c (make_dir_parents): Likewise.
14811         * lib/mkdir-p.h (make_dir_parents): Likewise.
14812
14813 2006-10-06  Eric Blake  <ebb9@byu.net>
14814
14815         Define several macros for use by the clean-temp module.
14816         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
14817         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
14818         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
14819
14820         * lib/clean-temp.h (close_stream_temp): New declaration.
14821         * lib/clean-temp.c (includes): Pull in headers according to what
14822         other modules are in use.
14823         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
14824
14825 2006-10-06  Bruno Haible  <bruno@clisp.org>
14826
14827         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
14828         instead of fopen, fwriteerror.
14829
14830 2006-10-06  Bruno Haible  <bruno@clisp.org>
14831
14832         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
14833         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
14834         int.
14835         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
14836         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
14837         Return an error indicator.
14838         Suggested by Eric Blake.
14839
14840 2006-10-06  Bruno Haible  <bruno@clisp.org>
14841
14842         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
14843         Reported by Eric Blake.
14844
14845 2006-10-06  Bruno Haible  <bruno@clisp.org>
14846
14847         * modules/closeout (Description): Mention stderr too.
14848
14849 2006-10-06  Bruno Haible  <bruno@clisp.org>
14850         and Paul Eggert  <eggert@cs.ucla.edu>
14851
14852         * lib/closeout.c (close_stdout): Also close stderr.
14853         * lib/closeout.h: Update comment.
14854
14855 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14856
14857         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
14858         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
14859         * lib/dirchownmod.c: Include lchown.h.
14860         * lib/lchown.c: Don't include files that lchown.h now includes.
14861         Don't declare chown, since lchown.h now does that.
14862         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
14863         (lchown): Define to rpl_chown if lchown is declared but
14864         does not exist.  Declare using a prototype if lchown is not
14865         declared.  Add a copyright notice.
14866         * lib/mkstemp.h: Include <unistd.h>.
14867         * lib/openat.c: Include lchown.h.
14868
14869         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
14870         we now test for that separately.
14871         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
14872         rather than O_NOFOLLOW, when testing whether it's possible to
14873         avoid a race condition reliably.
14874         * lib/savewd.c (savewd_chdir): Likewise.
14875
14876         Remove macros that are no longer needed now that stdint.h is
14877         reliable.
14878         * lib/fsusage.c (UINTMAX_MAX): Remove.
14879         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
14880         * lib/utimecmp.c (SIZE_MAX): Remove.
14881
14882         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
14883
14884         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
14885         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
14886         O_NOATIME works.
14887
14888 2006-10-05  Bruno Haible  <bruno@clisp.org>
14889
14890         * lib/gl_list.h (gl_sortedlist_search_from_to,
14891         gl_sortedlist_indexof_from_to): New declarations.
14892         (gl_list_implementation): New fields sortedlist_search_from_to,
14893         sortedlist_indexof_from_to.
14894         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
14895         inline functions.
14896         * lib/gl_list.c (gl_sortedlist_search_from_to,
14897         gl_sortedlist_indexof_from_to): New functions.
14898         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
14899         function.
14900         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
14901         (gl_array_sortedlist_search_from_to): New function.
14902         (gl_array_list_implementation): Update.
14903         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
14904         function.
14905         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
14906         (gl_carray_sortedlist_search_from_to): New function.
14907         (gl_carray_list_implementation): Update.
14908         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
14909         gl_linked_sortedlist_indexof_from_to): New functions.
14910         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
14911         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
14912         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
14913         gl_tree_sortedlist_indexof_from_to): New functions.
14914         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
14915         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
14916         Update.
14917         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
14918         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
14919         Update.
14920
14921 2006-10-05  Bruno Haible  <bruno@clisp.org>
14922
14923         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
14924         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
14925         (struct gl_list_implementation): Add fields search_from_to,
14926         indexof_from_to. Remove fields search, indexof.
14927         (gl_list_search): Use the search_from_to method.
14928         (gl_list_search_from, gl_list_search_from_to): New functions.
14929         (gl_list_indexof): Use the indexof_from_to method.
14930         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
14931         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
14932         (gl_list_search_from, gl_list_search_from_to): New functions.
14933         (gl_list_indexof): Use the indexof_from_to method.
14934         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
14935         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
14936         gl_array_indexof. Add start_index, end_index arguments.
14937         (gl_array_search_from_to): Renamed from gl_array_search. Add
14938         start_index, end_index arguments.
14939         (gl_array_remove, gl_array_list_implementation): Update.
14940         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
14941         gl_carray_indexof. Add start_index, end_index arguments.
14942         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
14943         start_index, end_index arguments.
14944         (gl_carray_remove, gl_carray_list_implementation): Update.
14945         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
14946         gl_linked_search. Add start_index, end_index arguments.
14947         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
14948         start_index, end_index arguments.
14949         (gl_linked_remove): Update.
14950         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
14951         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
14952         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
14953         field to 'size_t'.
14954         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
14955         gl_tree_search. Add start_index, end_index arguments.
14956         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
14957         start_index, end_index arguments.
14958         (gl_tree_remove): Update.
14959         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
14960         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
14961         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
14962         function.
14963         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
14964         gl_tree_search. Add start_index, end_index arguments.
14965         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
14966         start_index, end_index arguments.
14967         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
14968         Update.
14969         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
14970
14971 2006-10-05  Bruno Haible  <bruno@clisp.org>
14972
14973         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
14974
14975         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
14976         fwriteerror_temp): New declarations.
14977         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
14978         (descriptors): New variable.
14979         (cleanup): First, close the descriptors.
14980         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
14981         fclose_temp, fwriteerror_temp): New functions.
14982
14983 2006-10-04  Jim Meyering  <jim@meyering.net>
14984
14985         * lib/fts.c (fts_open): Tiny comment change.
14986
14987 2006-10-04  Bruno Haible  <bruno@clisp.org>
14988
14989         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
14990         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
14991         gl_LOCK_BODY.
14992         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
14993         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
14994         gl_LOCK_EARLY_BODY.
14995         (gl_LOCK): Require gl_LOCK_BODY.
14996
14997 2006-10-04  Bruno Haible  <bruno@clisp.org>
14998
14999         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
15000         (gl_oset_search_atleast): New declaration.
15001         (struct gl_oset_implementation): Add field 'search_atleast'.
15002         (gl_oset_search_atleast): New inline function.
15003         * lib/gl_oset.c (gl_oset_search_atleast): New function.
15004         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
15005         (gl_array_oset_implementation): Update.
15006         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
15007         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
15008         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
15009
15010 2006-10-04  Bruno Haible  <bruno@clisp.org>
15011
15012         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
15013
15014 2006-10-03  Bruno Haible  <bruno@clisp.org>
15015
15016         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
15017         from gl_avltreehash_list_implementation.
15018
15019 2006-10-03  Bruno Haible  <bruno@clisp.org>
15020
15021         * lib/gl_oset.c (gl_oset_add): Fix return type.
15022
15023 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
15024
15025         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
15026
15027 2006-10-02  Eric Blake  <ebb9@byu.net>
15028
15029         * modules/strnlen (Depends-on): Add extensions.
15030
15031 2006-10-02  Eric Blake  <ebb9@byu.net>
15032
15033         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
15034         definition in 2.60+.
15035
15036 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
15037
15038         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
15039         checks.
15040
15041 2006-10-02  Bruno Haible  <bruno@clisp.org>
15042
15043         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
15044         to the AUTOMAKE_OPTIONS.
15045         Reported by Jim Meyering.
15046
15047 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
15048
15049         Work around bug in Solaris 10 /proc file system:
15050         /proc/self/fd/NNN/.. isn't the parent directory of
15051         the directory whose file descriptor is NNN.  This needs to
15052         be worked around at run time, not compile time, since a
15053         program might be built on Solaris 8, where things work, and
15054         run on Solaris 10.
15055         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
15056         to use the following interface instead:
15057         (OPENAT_BUFFER_SIZE): New macro.
15058         (openat_proc_name): New function.
15059         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
15060         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
15061         Likewise.
15062         * lib/openat-proc.c: New file.
15063         * modules/openat (Files): Add lib/openat-proc.c.
15064         (Depends-on): Add same-inode, stdbool.
15065         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
15066
15067 2006-09-29  Bruno Haible  <bruno@clisp.org>
15068
15069         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
15070         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
15071         argument. Set stdout_closed before testing for ferror, not after.
15072         (fwriteerror, fwriteerror_no_ebadf): New functions.
15073
15074 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15075
15076         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
15077
15078 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
15079
15080         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
15081         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
15082
15083 2006-09-28  Jim Meyering  <jim@meyering.net>
15084
15085         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
15086         Include <unistd.h>.
15087
15088 2006-09-28  Bruno Haible  <bruno@clisp.org>
15089
15090         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
15091         * modules/linkedhash-list (Depends-on): Likewise.
15092         * modules/rbtreehash-list (Depends-on): Likewise.
15093
15094 2006-09-28  Bruno Haible  <bruno@clisp.org>
15095
15096         * lib/strndup.h: Simplify the redefinition of strndup.
15097         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
15098         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
15099
15100 2006-09-28  Bruno Haible  <bruno@clisp.org>
15101
15102         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
15103         * lib/gl_linkedhash_list.c: Likewise.
15104         * lib/gl_rbtreehash_list.c: Likewise.
15105
15106 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
15107
15108         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
15109         getaddrinfo.
15110
15111         * lib/__fpending.h: Don't include <stdio_ext.h> unless
15112         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
15113         it causes <stdio_ext.h> to cause a compile-time error.
15114         Problem reported by Nelson H. F. Beebe.
15115         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
15116         of HAVE_DECL___PENDING.
15117
15118         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
15119         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
15120         declaration.
15121
15122 2006-09-27  Jim Meyering  <jim@meyering.net>
15123
15124         This file could end up with a definition for a function
15125         named __strndup, rather than rpl_strndup on a system with
15126         incomplete weak_alias support.
15127         * lib/strndup.c (strndup): Rename from __strndup.
15128         Remove #defines that used to map __strndup to strndup.
15129         Don't use K&R prototypes.
15130         Remove LIBC-related code, since this file is not sync'd with glibc.
15131         * lib/strndup.h: Revamp, accordingly.
15132         * m4/strndup.m4: Modernize.
15133
15134 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
15135
15136         * modules/savewd (Depends-on): Add 'raise'.
15137         * lib/savewd.c: Include <signal.h>, for 'raise'.
15138
15139 2006-09-26  Jim Meyering  <jim@meyering.net>
15140
15141         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
15142         when we detect Darwin 8.7.0's acl_get_file bug.
15143         Rearrange to perform the new (below) run-test while $LIBS
15144         contains any acl-related library.  Set USE_ACL at the end.
15145         (gl_ACL_GET_FILE): New function.
15146
15147 2006-09-26  Eric Blake  <ebb9@byu.net>
15148
15149         * lib/verror.c: Include <config.h> unconditionally.
15150
15151 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
15152
15153         * modules/clock-time (Maintainer): Add self.
15154         * modules/getlogin_r (Depends-on): Add extensions.
15155
15156 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15157
15158         * modules/clock-time: New module.
15159         * modules/nanosleep (Depends-on): Add clock-time.
15160         * modules/gethrxtime (Depends-on): Likewise.
15161         * modules/gettime (Depends-on): Likewise.
15162         * modules/settime (Depends-on): Likewise.
15163
15164         * modules/fts-lgpl: Depend on openat.
15165         * modules/mkancesdirs: Depend on savewd.
15166         * modules/mkdir-p: Likewise.
15167
15168 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15169
15170         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
15171
15172         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
15173         `gl_have_arbitrary_file_name_length_limit' to
15174         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
15175         actually works between configure runs.
15176
15177 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15178             Bruno Haible  <bruno@clisp.org>
15179
15180         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
15181
15182 2006-09-25  Jim Meyering  <jim@meyering.net>
15183
15184         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
15185         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
15186
15187 2006-09-25  Eric Blake  <ebb9@byu.net>
15188
15189         * gnulib-tool (func_import, func_create_testdir): Fix typos in
15190         exec's in 2006-09-18 patch when shuffling fds.
15191
15192 2006-09-25  Bruno Haible  <bruno@clisp.org>
15193
15194         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
15195         Reported by Jim Meyering.
15196
15197 2006-09-24  Jim Meyering  <jim@meyering.net>
15198
15199         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
15200         compare a pointer against a literal "0".  That caused failures with
15201         at least HP-UX's hpcc.
15202
15203 2006-09-22  Simon Josefsson  <jas@extundo.com>
15204
15205         * modules/gc-sha1:
15206         * modules/gc-md4:
15207         * modules/gc-hmac-sha1:
15208         * modules/gc-hmac-md5:
15209         * modules/gc-des:
15210         * modules/gc-arcfour: Distribute more files.
15211
15212 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15213
15214         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
15215         (gl_linked_iterator_from_to): Initialize struct completely.
15216         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
15217         (gl_tree_iterator_from_to): Likewise
15218         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
15219         * lib/gl_array_list.c [lint] (gl_array_iterator)
15220         (gl_array_iterator_from_to): Likewise.
15221         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
15222         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
15223         (gl_carray_iterator_from_to): Likewise.
15224
15225         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
15226         * lib/md4.c (md4_process_block): Remove unused variable.
15227         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
15228         parentheses for clarity.
15229
15230 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15231
15232         * modules/bison-i18n (Depends-on): Add gettext.
15233
15234 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15235
15236         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
15237         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
15238         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
15239         also add missing comma that caused broken test.
15240         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
15241         stdlib.h, for `abort'.
15242         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
15243         variables.
15244         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
15245         include unistd.h if present, for `rmdir'.
15246         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
15247         variables.
15248         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
15249         in the process include standard headers for prototypes.
15250         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
15251         gets declared on GNU/Linux.
15252         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
15253         unistd.h, for `rmdir'.
15254         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
15255
15256         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
15257         always true.
15258         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
15259
15260         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
15261
15262 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15263
15264         * gnulib-tool (func_version): Create output all at once.  This
15265         may help avoid triggering unnecessary SIGPIPEs, and at any
15266         rate it doesn't hurt.
15267
15268 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15269             Bruno Haible  <bruno@clisp.org>
15270
15271         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
15272         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15273         * m4/signed.m4 (bh_C_SIGNED): Likewise.
15274
15275         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
15276         (gl_FUNC_VASPRINTF): Invoke it.
15277
15278 2006-09-22  Bruno Haible  <bruno@clisp.org>
15279
15280         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
15281         getloadavg.c as first argument.
15282
15283 2006-09-22  Bruno Haible  <bruno@clisp.org>
15284
15285         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
15286         at the beginning of the gl_INIT macro.
15287         * modules/getloadavg (configure.ac): Pass $gl_source_base to
15288         gl_GETLOADAVG.
15289
15290 2006-09-22  Bruno Haible  <bruno@clisp.org>
15291
15292         * gnulib-tool (func_create_megatestdir): Don't include the config-h
15293         module.
15294         Suggested by Ralf Wildenhues.
15295
15296 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15297
15298         Import this patch from libc:
15299
15300         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
15301
15302         * lib/regex_internal.c (re_string_reconstruct): Handle
15303         offset < pstr->valid_raw_len && pstr->offsets_needed case.
15304         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
15305         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
15306         re_string_context_at.
15307
15308         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
15309         now requires it.
15310         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
15311         gl_REGEX now does it for us.
15312         (gl_REGEX): Add test taken from
15313         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
15314
15315         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
15316         Check that large offsets work.  Modernize Autoconf usages.
15317         Prefer "yes" to mean a good thing rather than a bad.
15318         Don't put "#define mkstemp" in config.h, as this might interfere
15319         with standard system headers that "#define mkstemp mkstemp64".
15320
15321         * modules/mkstemp (Depends-on): Add extensions, so that
15322         mkstemp is visible on some platforms.
15323         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
15324         (Include): Change to "mkstemp.h" from <stdlib.h>.
15325         (Files): Add mkstemp.h.
15326
15327         * lib/mkstemp.h: New file, since some standard headers
15328         #define mkstemp.
15329         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
15330         Include "mkstemp.h".
15331         Make the _LIBC code resemble glibc original more,
15332         e.g., use K&R style.
15333         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
15334         (mkstemp): Remove, since mkstemp.h does this for us.
15335         * lib/stdlib--.h: Include mkstemp.h.
15336
15337         Import this patch from libc:
15338
15339         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
15340
15341         * lib/tempname.c (__gen_tempname): Change attempts_min
15342         into a macro.  Use preprocessor to decide how to initialize
15343         attempts [Coverity CID 67].
15344
15345 2006-09-20  Bruno Haible  <bruno@clisp.org>
15346
15347         * lib/mkdtemp.c: Import from libc.
15348         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
15349                 * sysdeps/posix/tempname.c (__gen_tempname): Change
15350                 attempts_min into a macro.  Use preprocessor to decide how to
15351                 initialize attempts [Coverity CID 67].
15352         2001-11-27  Paul Eggert  <eggert@twinsun.com>
15353                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
15354                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
15355
15356 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15357
15358         * gnulib-tool (func_exit): New function, to allow to pass the
15359         exit status portably through the trap.  Use everywhere.
15360         (--help, --version): Signal a write error.
15361         (trap): catch SIGPIPE, for write errors.
15362         Exit at the end of the trap, with the correct exit status.
15363
15364 2006-09-19  Karl Berry  <karl@gnu.org>
15365
15366         * doc/gnulib.texi: note about the license texinfo files.
15367
15368 2006-09-19  Eric Blake  <ebb9@byu.net>
15369
15370         * gnulib-tool: Avoid space-tab.
15371
15372 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15373
15374         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
15375         that prevented coreutils 6.1 from building.  Problem reported
15376         by Petter Reinholdtsen.
15377
15378 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15379
15380         * gnulib-tool (avoidlist): Fix typo that broke options like
15381         --avoid=lock that are used by coreutils bootstrap.
15382
15383 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
15384
15385         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
15386         more systematically.
15387
15388 2006-09-18  Jim Meyering  <jim@meyering.net>
15389
15390         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
15391
15392 2006-09-18  Bruno Haible  <bruno@clisp.org>
15393
15394         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
15395
15396 2006-09-18  Bruno Haible  <bruno@clisp.org>
15397
15398         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
15399         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
15400         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
15401         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
15402         * m4/gettext.m4: Require autoconf >= 2.52.
15403         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
15404         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
15405         of gl_cv_header_inttypes_h.
15406
15407 2006-09-18  Bruno Haible  <bruno@clisp.org>
15408
15409         * lib/javaversion.c: Include configmake.h.
15410
15411 2006-09-18  Bruno Haible  <bruno@clisp.org>
15412
15413         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
15414         avoid that the while loops be executed in a subshell.
15415
15416 2006-09-18  Bruno Haible  <bruno@clisp.org>
15417
15418         * MODULES.html.sh (func_module): Break long lines.
15419         Suggested by Bruce Korb <bkorb@gnu.org>.
15420
15421 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15422
15423         Speed up by a factor of 1.12.
15424         * gnulib-tool (nl): New variable.
15425         (func_import): Rewrite include directive extraction to only read each
15426         directive once.
15427
15428 2006-09-17  Bruno Haible  <bruno@clisp.org>
15429
15430         * modules/javaversion (Makefile.am): Remove DEFS setting.
15431         (Depends-on): Add configmake, for PKGDATADIR definition.
15432
15433 2006-09-17  Bruno Haible  <bruno@clisp.org>
15434
15435         * gnulib-tool (func_create_testdir): Rewrite all files at once.
15436
15437 2006-09-17  Bruno Haible  <bruno@clisp.org>
15438
15439         * gnulib-tool (func_append): New function, stolen from libtool.m4.
15440         (func_modules_transitive_closure, func_modules_add_dummy,
15441         func_modules_to_filelist, func_import, func_create_testdir,
15442         func_create_megatestdir, ...): Use it wherever possible.
15443         Suggested by Ralf Wildenhues.
15444
15445 2006-09-16  Karl Berry  <karl@gnu.org>
15446
15447         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
15448         to avoid sectioning errors.
15449         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
15450         [ifinfo]: blank line after @center-ed titles.
15451         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
15452         Spell FSF address consistently with others.
15453         (These changes approved by rms.)
15454
15455 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15456
15457         Speed up by a factor of 1.61.
15458         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
15459         already checked module names again.
15460
15461 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15462
15463         Speed up by a factor of 1.13.
15464         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
15465         for new_files, and the input to func_add_or_update.
15466
15467 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15468
15469         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
15470         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
15471
15472 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15473
15474         * modules/mkancesdirs (Depends-on): Add fcntl.
15475         * modules/savewd: New file.
15476         * MODULES.html.sh (File system functions): Add savewd.
15477
15478         * modules/configmake (Makefile.am): Add support for the
15479         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
15480
15481 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15482
15483         * m4/savewd.m4: New file.
15484
15485 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15486
15487         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
15488         (dirchownmod): New arg FD.  All callers changed.
15489         Use FD rather than opening the directory ourself, as opening is
15490         now the caller's responsibility.
15491         * lib/dirchownmod.h: Likewise.
15492         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
15493         hosts that require <sys/types.h> before <sys/stat.h>.  Include
15494         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
15495         (test_dir): Remove.
15496         (mkancesdirs): Return length of prefix of FILE that has already
15497         been made, or -2 if there is a child doing the work.  Redo
15498         algorithm so that it is O(N) rather than O(N**2).  Optimize away
15499         ".", and treat ".." specially since it might stray back into
15500         already-created areas.  Use a subprocess if necessary.  New arg
15501         WD; all users changed.  MAKE_DIR function should now return 1
15502         if it creates a directory that is not readable.  Return -2 if
15503         a child process is spun off.
15504         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
15505         Adjust signature to match code.
15506         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
15507         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
15508         all users changed.
15509         * lib/savewd.c, lib/savewd.h: New files.
15510
15511 2006-09-15  Jim Meyering  <jim@meyering.net>
15512
15513         * modules/rename-dest-slash: New module.
15514         * MODULES.html.sh (posix_compat): Add it here.
15515
15516         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
15517
15518 2006-09-15  Jim Meyering  <jim@meyering.net>
15519
15520         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
15521         file.
15522
15523         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
15524
15525 2006-09-15  Jim Meyering  <jim@meyering.net>
15526
15527         * lib/rename-dest-slash.c (has_trailing_slash): Use
15528         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
15529         (rpl_rename_dest_slash): Perform the cheaper trailing slash
15530         test before testing whether SRC is a directory.
15531         Suggestions from Bruno Haible.
15532
15533         Avoid a warning about an unused variable.
15534         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
15535         into the #ifdef block where it's used.
15536
15537         * lib/rename-dest-slash.c: New file.
15538
15539 2006-09-14  Bruno Haible  <bruno@clisp.org>
15540
15541         * lib/allocsa.c: Include <config.h> unconditionally.
15542         * lib/asnprintf.c: Likewise.
15543         * lib/asprintf.c: Likewise.
15544         * lib/c-strcasecmp.c: Likewise.
15545         * lib/c-strcasestr.c: Likewise.
15546         * lib/c-strncasecmp.c: Likewise.
15547         * lib/c-strstr.c: Likewise.
15548         * lib/classpath.c: Likewise.
15549         * lib/clean-temp.c: Likewise.
15550         * lib/concatpath.c: Likewise.
15551         * lib/copy-file.c: Likewise.
15552         * lib/csharpcomp.c: Likewise.
15553         * lib/csharpexec.c: Likewise.
15554         * lib/execute.c: Likewise.
15555         * lib/fatal-signal.c: Likewise.
15556         * lib/findprog.c: Likewise.
15557         * lib/fwriteerror.c: Likewise.
15558         * lib/gl_array_list.c: Likewise.
15559         * lib/gl_array_oset.c: Likewise.
15560         * lib/gl_avltree_list.c: Likewise.
15561         * lib/gl_avltree_oset.c: Likewise.
15562         * lib/gl_avltreehash_list.c: Likewise.
15563         * lib/gl_carray_list.c: Likewise.
15564         * lib/gl_linked_list.c: Likewise.
15565         * lib/gl_linkedhash_list.c: Likewise.
15566         * lib/gl_list.c: Likewise.
15567         * lib/gl_oset.c: Likewise.
15568         * lib/gl_rbtree_list.c: Likewise.
15569         * lib/gl_rbtree_oset.c: Likewise.
15570         * lib/gl_rbtreehash_list.c: Likewise.
15571         * lib/imaxabs.c: Likewise.
15572         * lib/imaxdiv.c: Likewise.
15573         * lib/javacomp.c: Likewise.
15574         * lib/javaexec.c: Likewise.
15575         * lib/javaversion.c: Likewise.
15576         * lib/linebreak.c: Likewise.
15577         * lib/localcharset.c: Likewise.
15578         * lib/lock.c: Likewise.
15579         * lib/mbchar.c: Likewise.
15580         * lib/mbswidth.c: Likewise.
15581         * lib/mkdtemp.c: Likewise.
15582         * lib/pipe.c: Likewise.
15583         * lib/printf-args.c: Likewise.
15584         * lib/printf-parse.c: Likewise.
15585         * lib/progname.c: Likewise.
15586         * lib/progreloc.c: Likewise.
15587         * lib/readlink.c: Likewise.
15588         * lib/sh-quote.c: Likewise.
15589         * lib/stpcpy.c: Likewise.
15590         * lib/stpncpy.c: Likewise.
15591         * lib/strcasecmp.c: Likewise.
15592         * lib/strcasestr.c: Likewise.
15593         * lib/strcspn.c: Likewise.
15594         * lib/striconv.c: Likewise.
15595         * lib/strncasecmp.c: Likewise.
15596         * lib/strnlen1.c: Likewise.
15597         * lib/strstr.c: Likewise.
15598         * lib/strtok_r.c: Likewise.
15599         * lib/tls.c: Likewise.
15600         * lib/tmpdir.c: Likewise.
15601         * lib/unicodeio.c: Likewise.
15602         * lib/unsetenv.c: Likewise.
15603         * lib/vasnprintf.c: Likewise.
15604         * lib/vasprintf.c: Likewise.
15605         * lib/wait-process.c: Likewise.
15606         * lib/xallocsa.c: Likewise.
15607         * lib/xsetenv.c: Likewise.
15608         * lib/xstriconv.c: Likewise.
15609
15610 2006-09-13  Simon Josefsson  <jas@extundo.com>
15611
15612         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
15613         that internally, suggested by Ralf Wildenhues
15614         <Ralf.Wildenhues@gmx.de>.
15615
15616 2006-09-13  Simon Josefsson  <jas@extundo.com>
15617
15618         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
15619         @LIBOBJS@.
15620         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15621
15622 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15623
15624         * lib/_fpending.c: Include <config.h> unconditionally, since we no
15625         longer worry about uses that don't define HAVE_CONFIG_H.
15626         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
15627         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
15628         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
15629         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
15630         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
15631         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
15632         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
15633         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
15634         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
15635         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
15636         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
15637         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
15638         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
15639         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
15640         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
15641         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
15642         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
15643         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
15644         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
15645         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
15646         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
15647         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
15648         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
15649         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
15650         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
15651         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
15652         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
15653         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
15654         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
15655         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
15656         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
15657         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
15658         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
15659         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
15660         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
15661         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
15662         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
15663         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
15664         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
15665         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
15666         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
15667         Likewise.
15668
15669 2006-09-13  Eric Blake  <ebb9@byu.net>
15670
15671         * lib/getopt.c: Fix typo in last commit.
15672
15673 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15674
15675         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
15676         dgettext.
15677
15678 2006-09-12  Jim Meyering  <jim@meyering.net>
15679
15680         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
15681         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
15682         Reported by Nelson H. F. Beebe.
15683
15684 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
15685
15686         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
15687         program_invocation_name and program_invocation_short_name are
15688         initialized.
15689         * lib/argp-namefrob.h: Move declarations of program_invocation_name
15690         and program_invocation_short_name to argp.h, so they are visible
15691         to user programs.
15692         * lib/argp.h: Likewise
15693
15694 2006-09-10  Bruno Haible  <bruno@clisp.org>
15695
15696         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
15697         m4/inttypes_h.m4, m4/uintmax_t.m4.
15698
15699 2006-09-10  Bruno Haible  <bruno@clisp.org>
15700
15701         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
15702         gl_AC_TYPE_UINTMAX_T.
15703
15704 2006-09-10  Bruno Haible  <bruno@clisp.org>
15705
15706         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
15707
15708 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15709
15710         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
15711         convention.  Text proposed by Bruno Haible.
15712         (struct argp_option): Document the use of N_() wrappers.
15713
15714         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
15715         '\v', and translate the two parts separately, instead of feeding
15716         the whole string to gettext.  This allows to exclude
15717         '\v' from the strings visible to the translator by writing doc
15718         strings as N_("..") "\v" N_("..").
15719
15720 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
15721
15722         * config/srclist.txt: Undo latest change; the bug was fixed.
15723
15724 2006-09-09  Bruno Haible  <bruno@clisp.org>
15725
15726         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
15727         assignments if building a library without libtool.
15728         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
15729         in func_emit_lib_Makefile_am.
15730         (func_import): When building a static library libfoo.a, arrange to
15731         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
15732         (func_create_testdir): Likewise.
15733         * modules/gc (configure.ac, Makefile.am): If building statically,
15734         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
15735         * modules/iconvme (configure.ac, Makefile.am): Likewise.
15736         * modules/striconv (configure.ac, Makefile.am): Likewise.
15737         Based on a suggestion by Ralf Wildenhues.
15738
15739 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15740
15741         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
15742         Check for unistd.h too, since Autoconf doesn't assume POSIX.
15743         Also:
15744
15745         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15746         Add year_2050_test to catch glibc bug 2821
15747         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
15748
15749         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15750         Prefer #ifdef to #if.
15751
15752         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
15753         Return from 'main' instead of calling 'exit'.
15754
15755 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15756
15757         * lib/mktime.c (guess_time_tm): Fix bug where mktime
15758         returned the maximum time_t value rather than (time_t) -1.
15759         Problem originally reported by William Bardwell
15760         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
15761
15762         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
15763         Moved to here ...
15764         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
15765         ... from here.
15766
15767 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15768
15769         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
15770         2821 is fixed.
15771
15772 2006-09-08  Jim Meyering  <jim@meyering.net>
15773
15774         Don't make generated files read-only.  That would bother too many
15775         people.  However, do retain the ability to work when targets are
15776         read-only: remove the destination and temporary files before writing
15777         them (when generated via sed or echo), or by using the -f option for
15778         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
15779         * modules/alloca-opt, modules/argz, modules/arpa_inet:
15780         * modules/byteswap, modules/configmake, modules/fcntl:
15781         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
15782         * modules/localcharset, modules/netinet_in, modules/poll:
15783         * modules/stdbool, modules/stdint, modules/sys_select:
15784         * modules/sys_socket, modules/sys_stat, modules/sysexits:
15785
15786 2006-09-08  Jim Meyering  <jim@meyering.net>
15787
15788         Avoid new build failure on FreeBSD 6.0.
15789         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
15790         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
15791         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
15792
15793 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15794
15795         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
15796
15797 2006-09-07  Jim Meyering  <jim@meyering.net>
15798
15799         Fix global typo in last change: use chmod u-w, not chmod u-x.
15800         Spotted by Paul Eggert and Bruce Korb.
15801         * modules/alloca-opt, modules/argz, modules/arpa_inet:
15802         * modules/byteswap, modules/configmake, modules/fcntl:
15803         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
15804         * modules/localcharset, modules/netinet_in, modules/poll:
15805         * modules/stdbool, modules/stdint, modules/sys_select:
15806         * modules/sys_socket, modules/sys_stat, modules/sysexits:
15807
15808 2006-09-06  Jim Meyering  <jim@meyering.net>
15809
15810         Make generated files be read-only.
15811         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
15812         Ensure that each generated file is now read-only.
15813         * modules/argz: Likewise.
15814         * modules/arpa_inet: Likewise.
15815         * modules/byteswap: Likewise.
15816         * modules/configmake: Likewise.
15817         * modules/fcntl: Likewise.
15818         * modules/fnmatch: Likewise.
15819         * modules/getopt: Likewise.
15820         * modules/glob: Likewise.
15821         * modules/inttypes: Likewise.
15822         * modules/netinet_in: Likewise.
15823         * modules/poll: Likewise.
15824         * modules/stdbool: Likewise.
15825         * modules/stdint: Likewise.
15826         * modules/sys_select: Likewise.
15827         * modules/sys_socket: Likewise.
15828         * modules/sys_stat: Likewise.
15829         * modules/sysexits: Likewise.
15830         * modules/localcharset: Same as above, but continue using temporary
15831         file named "t-$@" (why different?) rather than the "$@-t" used
15832         everywhere else.
15833
15834         * modules/sysexits (Makefile.am): Replace literal occurrences
15835         of "sysexit.h" more readable, and more consistent, "$@".
15836
15837 2006-09-06  Bruno Haible  <bruno@clisp.org>
15838
15839         * modules/striconv: New file.
15840         * modules/xstriconv: New file.
15841         * MODULES.html.sh (Internationalization functions): Add striconv,
15842         xstriconv.
15843
15844 2006-09-06  Bruno Haible  <bruno@clisp.org>
15845
15846         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
15847         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
15848         not using libtool correctly.
15849
15850 2006-09-06  Bruno Haible  <bruno@clisp.org>
15851
15852         * lib/striconv.h: New file.
15853         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
15854         iconvstring.c.
15855         * lib/xstriconv.h: New file.
15856         * lib/xstriconv.c: New file.
15857
15858 2006-09-06  Bruno Haible  <bruno@clisp.org>
15859
15860         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
15861         lib_..._LDFLAGS.
15862
15863 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15864
15865         * lib/argz_.h: Sync from Libtool.
15866
15867         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
15868                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15869
15870         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
15871
15872 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
15873
15874         * modules/trim: New file.
15875
15876 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
15877
15878         * lib/trim.h: New file.
15879         * lib/trim.c: New file.
15880
15881 2006-09-05  Bruno Haible  <bruno@clisp.org>
15882
15883         * MODULES.html.sh (String handling): Add trim.
15884
15885 2006-09-04  Karl Berry  <karl@gnu.org>
15886
15887         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
15888         until next release.
15889
15890 2006-09-03  Bruno Haible  <bruno@clisp.org>
15891
15892         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
15893         correctly.
15894
15895 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15896
15897         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
15898         not gl_GETLOADAVG.  Omit unneeded semicolons.
15899         Problems reported by Ralf Wildenhues in
15900         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
15901         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
15902         at the end, which is the usual gnulib style.
15903
15904         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
15905         of doing all the work ourselves.
15906         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
15907         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
15908
15909 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15910
15911         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
15912         Problem reported by Ralf Wildenhues in
15913         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
15914
15915         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
15916         HAVE_STRUCT_STATFS_F_FSTYPENAME.
15917
15918 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15919
15920         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
15921         yesterday's patch by changing test -n to test -z.
15922
15923 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15924
15925         * modules/getloadavg (Files): Add m4/getloadavg.m4.
15926         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
15927         the former is now obsolescent.
15928
15929         * modules/chdir-long (Depends-on): Add fcntl.
15930
15931 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15932
15933         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
15934         obsolescent, and programs should use gnulib instead.
15935         * m4/getloadavg.m4: New file, with contents taken from Autoconf
15936         but with prefixes changed.
15937
15938 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15939
15940         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
15941         or stdbool.h, because they might not exist while configuring.
15942
15943         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
15944         Don't include unistd.h or limits.h; not needed, since chdir-long.h
15945         does that for us.
15946         (O_DIRECTORY): Remove.
15947
15948 2006-08-31  Eric Blake  <ebb9@byu.net>
15949
15950         * gnulib-tool: Don't let emacs change spaces to TAB.
15951
15952 2006-08-31  Bruno Haible  <bruno@clisp.org>
15953
15954         * gnulib-tool: When calling func_import more than once, do it in a
15955         subshell.
15956         Reported by Eric Blake <ebb9@byu.net>.
15957
15958 2006-08-31  Bruno Haible  <bruno@clisp.org>
15959
15960         * gnulib-tool (nl): Remove variable.
15961         (sed_transform_lib_file): Use more robust test for config-h module.
15962         (func_import): Fix typo in 2006-08-25 patch.
15963
15964 2006-08-31  Bruno Haible  <bruno@clisp.org>
15965
15966         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
15967         specified, augment Makefile.am variables instead of assigning them.
15968
15969 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15970
15971         Work around a bug in both the Linux and SunOS 64-bit kernels:
15972         nanosleep mishandles sleeps for longer than 2**31 seconds.
15973         Problem reported by Frank v Waveren in
15974         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
15975         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
15976         Check for nanosleep bug.
15977         (LIB_NANOSLEEP): Append clock_gettime library if needed.
15978
15979 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15980
15981         Work around a bug in both the Linux and SunOS 64-bit kernels:
15982         nanosleep mishandles sleeps for longer than 2**31 seconds.
15983         Problem reported by Frank v Waveren in
15984         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
15985         * lib/nanosleep.c (BILLION): New constant.
15986         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
15987         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
15988         implementation.
15989
15990 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15991
15992         * modules/nanosleep (Depends-on): Add gettime.
15993
15994 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15995         and Simon Josefsson  <jas@extundo.com>
15996         and Oskar Liljeblad  <oskar@osk.mine.nu>
15997
15998         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
15999         * gnulib-tool (func_import): New license type 'unmodifiable license
16000         text'.
16001         * modules/fdl: Use it.  Longer description.
16002         * module/gpl, module/lgpl: New files.
16003
16004 2006-08-30  Jim Meyering  <jim@meyering.net>
16005
16006         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
16007         shadowing the parameter.
16008
16009 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16010
16011         Sync from Libtool:
16012
16013         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16014
16015         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
16016         sharing with gnulib.  Report by Eric Blake.
16017
16018 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16019
16020         * modules/isapipe: New file.
16021         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
16022
16023 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16024
16025         * modules/configmake (Makefile.am): Add a comment, and omit
16026         the CONFIGMAKE_ prefix from generated macro names.  Suggested
16027         by Bruno Haible.
16028
16029 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16030
16031         * m4/isapipe.m4: New file.
16032
16033 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16034
16035         * lib/isapipe.c, lib/isapipe.h: New files.
16036
16037 2006-08-29  Jim Meyering  <jim@meyering.net>
16038
16039         * modules/configmake (Makefile.am): Make configmake.h depend on
16040         Makefile.  Otherwise, a stale configmake.h could hang around.
16041
16042 2006-08-29  Eric Blake  <ebb9@byu.net>
16043
16044         * lib/error.c (error_at_line, print_errno_message): Match libc, after
16045         resolution of upstream bug 3044.
16046
16047 2006-08-29  Bruno Haible  <bruno@clisp.org>
16048
16049         * modules/localcharset (Depends-on): Add configmake.
16050         (Makefile.am): Remove setting of LIBDIR through DEFS.
16051
16052 2006-08-29  Bruno Haible  <bruno@clisp.org>
16053
16054         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
16055         defined.
16056
16057 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16058
16059         * modules/fcntl: New file.
16060         * modules/chdir-safer (Depends-on): Add fcntl.
16061         * modules/fts: Likewise.
16062         * modules/mkdir-p: Likewise.
16063
16064         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
16065         This undoes the most recent change, since we're now addressing the
16066         problem in a different way.
16067
16068         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
16069         into output, since the output might be called Makefile.am even
16070         if $makefile_name is something different.
16071         (func_import): Use $makefile_am rather than
16072         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
16073         empty.
16074
16075         * modules/inttypes (Files): Add m4/inttypes-h.m4.
16076
16077 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16078
16079         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
16080         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
16081         recent change to stdint.m4, since we're now addressing the problem in a
16082         different way.
16083
16084 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16085
16086         * m4/fcntl_h.m4: New file.
16087
16088 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16089
16090         * lib/fcntl_.h: New file.
16091         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
16092         the fcntl module.
16093         * lib/dirchownmod.c: Likewise.
16094         * lib/fts.c: Likewise.
16095
16096         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
16097         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
16098         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
16099         just before including <inttypes.h>, to avoid circular inclusion.
16100
16101 2006-08-28  Jim Meyering  <jim@meyering.net>
16102
16103         * doc/visibility.texi: Actually read and correct the grammar of the
16104         sentence affected by yesterday's change.
16105
16106 2006-08-28  Eric Blake  <ebb9@byu.net>
16107
16108         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
16109         needs wrapper.
16110
16111 2006-08-28  Eric Blake  <ebb9@byu.net>
16112
16113         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
16114
16115 2006-08-28  Eric Blake  <ebb9@byu.net>
16116
16117         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
16118
16119 2006-08-28  Bruno Haible  <bruno@clisp.org>
16120
16121         * modules/c-strstr: New file, from GNU gettext.
16122         * MODULES.html.sh (String handling): Add c-strstr.
16123
16124 2006-08-28  Bruno Haible  <bruno@clisp.org>
16125
16126         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
16127         macros.
16128         Reported by Eric Blake.
16129
16130 2006-08-28  Bruno Haible  <bruno@clisp.org>
16131
16132         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
16133         (VASNPRINTF): Return a string of length > INT_MAX without failing.
16134         * lib/vasprintf.c: Include errno.h, limits.h.
16135         (EOVERFLOW): New fallback definition.
16136         (vasprintf): Test here whether the string length is > INT_MAX.
16137         * lib/vsnprintf.c: Include errno.h, limits.h.
16138         (EOVERFLOW): New fallback definition.
16139         (vsnprintf): Fix bug when generated string was too long for the buffer.
16140         Test here whether the string length is > INT_MAX.
16141
16142 2006-08-28  Bruno Haible  <bruno@clisp.org>
16143
16144         * lib/inttypes_.h (SCNX*): Remove definitions.
16145         Reported by Eric Blake.
16146
16147 2006-08-28  Bruno Haible  <bruno@clisp.org>
16148
16149         * lib/c-strstr.h: New file, from GNU gettext.
16150         * lib/c-strstr.c: New file, from GNU gettext.
16151
16152 2006-08-28  Bruno Haible  <bruno@clisp.org>
16153
16154         * gnulib-tool: Reorder some statements.
16155
16156 2006-08-28  Bruno Haible  <bruno@clisp.org>
16157
16158         * gnulib-tool: New option --makefile-name.
16159         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
16160         $makefile_name.
16161         (func_import): Write $makefile_name to the cache file, and read it from
16162         there unless explicitly specified. Use $makefile_name as file name
16163         instead of Makefile.am. Adjust the recommendations accordingly.
16164
16165 2006-08-28  Bruno Haible  <bruno@clisp.org>
16166
16167         * gnulib-tool (func_verify_module): Check against misapplying patch.
16168
16169 2006-08-28  Bruno Haible  <bruno@clisp.org>
16170
16171         * gnulib-tool (func_relativize, func_relconcat): New functions.
16172         Give an error if --local-dir is given with --update.
16173         Remove trailing slashes from $local_gnulib_dir.
16174         (func_import): Store the relativized $local_gnulib_dir in
16175         gnulib-cache.m4, and read it from there if not specified explicitly.
16176
16177 2006-08-28  Bruno Haible  <bruno@clisp.org>
16178
16179         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
16180         is the current directory. Respect also $local_gnulib_dir.
16181
16182 2006-08-28  Bruno Haible  <bruno@clisp.org>
16183             Simon Josefsson  <jas@extundo.com>
16184
16185         BeOS portability.
16186         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
16187
16188 2006-08-27  Jim Meyering  <jim@meyering.net>
16189
16190         * doc/visibility.texi: Remove duplicate word: "pointer".
16191
16192 2006-08-26  Bruno Haible  <bruno@clisp.org>
16193
16194         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
16195         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
16196         (Makefile.am): Create inttypes.h from inttypes_.h.
16197         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
16198
16199         * modules/imaxabs: New file.
16200
16201         * modules/imaxdiv: New file.
16202
16203 2006-08-26  Bruno Haible  <bruno@clisp.org>
16204
16205         * m4/inttypes.m4: New file.
16206         * m4/_inttypes_h.m4: Remove file.
16207         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
16208         PRI_MACROS_BROKEN.
16209         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
16210
16211         * m4/imaxabs.m4: New file.
16212
16213         * m4/imaxdiv.m4: New file.
16214
16215 2006-08-26  Bruno Haible  <bruno@clisp.org>
16216
16217         * lib/inttypes_.h: New file.
16218         * lib/inttypes.h: Remove file.
16219         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
16220
16221         * lib/imaxabs.c: New file.
16222
16223         * lib/imaxdiv.c: New file.
16224
16225 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16226
16227         New config-h module, so that "make" output needn't be cluttered
16228         by -DHAVE_CONFIG_H.
16229         * MODULES.html.sh (Support for building libraries and executables):
16230         Add config-h.
16231         * modules/config-h: New file.
16232         * gnulib-tool (nl, sed_transform_lib_file): New vars.
16233         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
16234         the config-h module is used.
16235
16236         New configmake module, so that "make" output needn't be cluttered
16237         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
16238         * MODULES.html.sh (Support for building libraries and executables):
16239         Add configmake.
16240         * modules/configmake: New file.
16241
16242 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16243
16244         * m4/config-h.m4: New file.
16245
16246 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16247
16248         * config/srclist.txt: Add elisp-comp.
16249
16250 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16251
16252         * MODULES.html.sh (Support for building libraries and executables):
16253         Add elisp-comp.
16254         * build-aux/elisp-comp: New file.
16255         * modules/elisp-comp: New file.
16256
16257 2006-08-24  Bruno Haible  <bruno@clisp.org>
16258
16259         * gnulib-tool (func_create_testdir): Use non-default values of
16260         sourcebase and m4base.
16261
16262 2006-08-24  Bruno Haible  <bruno@clisp.org>
16263
16264         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
16265         HTML structure.
16266
16267 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16268
16269         * modules/openat (Depends-on): Add lchown.
16270
16271 2006-08-23  Bruno Haible  <bruno@clisp.org>
16272
16273         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
16274         of gl_LOCK_EARLY instead of gl_LOCK.
16275
16276 2006-08-23  Bruno Haible  <bruno@clisp.org>
16277
16278         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
16279         on OSF/1 to no.
16280         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
16281
16282 2006-08-23  Bruno Haible  <bruno@clisp.org>
16283
16284         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
16285         as unusable.
16286
16287         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
16288         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
16289         (gl_LOCK): New macro.
16290
16291 2006-08-22  Simon Josefsson  <jas@extundo.com>
16292
16293         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
16294         to md5 module.
16295
16296 2006-08-22  Simon Josefsson  <jas@extundo.com>
16297
16298         * MODULES.html.sh: Add "Support for maintaining and release
16299         projects".
16300
16301         * build-aux/gnupload: New file, from coreutils.
16302
16303 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16304
16305         Avoid the need for AC_LIBSOURCES in m4 macros.
16306         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
16307         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
16308         * modules/check-version (EXTRA_DIST): Add check-version.h.
16309         * modules/crc (EXTRA_DIST): Add crc.h.
16310         * modules/des (EXTRA_DIST): Add des.h.
16311         * modules/gc (EXTRA_DIST): Add gc.h.
16312         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
16313         * modules/getline (EXTRA_DIST): Add getline.h.
16314         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
16315         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
16316         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
16317         * modules/md2 (EXTRA_DIST): Add md2.h.
16318         * modules/md4 (EXTRA_DIST): Add md4.h.
16319         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
16320         * modules/read-file (EXTRA_DIST): Add read-file.h.
16321         * modules/readline (EXTRA_DIST): Add readline.h.
16322         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
16323         rijndael-api-fst.h.
16324
16325 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16326
16327         * m4/rijndael.m4 (gl_ARCFOUR):
16328         * m4/arctwo.m4 (gl_ARCTWO):
16329         * m4/check-version.m4 (gl_CHECK_VERSION):
16330         * m4/crc.m4 (gl_CRC):
16331         * m4/des.m4 (gl_DES):
16332         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
16333         * m4/gc.m4 (gl_GC):
16334         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
16335         * m4/getline.m4 (gl_FUNC_GETLINE):
16336         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
16337         * m4/hmac-md5.m4 (gl_HMAC_MD5):
16338         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
16339         * m4/md2.m4 (gl_MD2):
16340         * m4/md4.m4 (gl_MD4):
16341         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
16342         * m4/read-file.m4 (gl_FUNC_READ_FILE):
16343         * m4/readline.m4 (gl_FUNC_READLINE):
16344         * m4/rijndael.m4 (gl_RIJNDAEL):
16345         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
16346         to get the necessary .h files and whatnot.
16347
16348 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16349
16350         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
16351         gnulib rather than the other way around.
16352         * config/srclistvars.sh (COREUTILS): Remove.
16353
16354 2006-08-22  Jim Meyering  <jim@meyering.net>
16355
16356         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
16357
16358         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
16359
16360 2006-08-22  Eric Blake  <ebb9@byu.net>
16361
16362         * modules/regexprops-generic: New file.
16363         * MODULES.html.sh (Support for building documentation): List it.
16364
16365 2006-08-22  Eric Blake  <ebb9@byu.net>
16366
16367         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
16368         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
16369         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
16370         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
16371
16372 2006-08-22  Bruno Haible  <bruno@clisp.org>
16373
16374         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
16375         and lib_LTLIBRARIES like the other lib_* variables.
16376
16377 2006-08-22  Bruno Haible  <bruno@clisp.org>
16378
16379         * build-aux/x-to-1.in: New file, from GNU gettext.
16380
16381 2006-08-22  Bruno Haible  <bruno@clisp.org>
16382
16383         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
16384         <utmpx.h> exists.
16385
16386 2006-08-22  Bruno Haible  <bruno@clisp.org>
16387
16388         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
16389         <utmpx.h> exists.
16390
16391 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16392
16393         BeOS portability.
16394         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
16395         exist.
16396         Problem reported by Bruno Haible.
16397
16398 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16399
16400         Avoid the need for AC_LIBSOURCES in m4 macros.
16401         * modules/acl (EXTRA_DIST): Add acl.h.
16402         * modules/argmatch (Files): Add m4/argmatch.m4.
16403         (configure.ac): Add gl_ARGMATCH.
16404         (EXTRA_DIST): Renamed from lib_SOURCES, for
16405         consistency with the other modules.  Remove argmatch.c.
16406         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
16407         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
16408         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
16409         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
16410         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
16411         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
16412         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
16413         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
16414         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
16415         * modules/closeout (EXTRA_DIST): Add closeout.h.
16416         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
16417         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
16418         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
16419         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
16420         dirname.h; remove basename.c and stripslash.c.
16421         * modules/exclude (EXTRA_DIST): Add exclude.h.
16422         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
16423         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
16424         * modules/file-type (EXTRA_DIST): Add file-type.h.
16425         * modules/filemode (EXTRA_DIST): Add filemode.h.
16426         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
16427         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
16428         * modules/fpending (EXTRA_DIST): Add __fpending.h.
16429         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
16430         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
16431         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
16432         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
16433         * modules/getdate (EXTRA_DIST): Add getdate.c.
16434         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
16435         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
16436         * modules/getpass (EXTRA_DIST): Add getpass.h.
16437         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
16438         * modules/group-member (EXTRA_DIST): Add group-member.h.
16439         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
16440         * modules/hash (EXTRA_DIST): Add hash.h.
16441         * modules/human (EXTRA_DIST): Add human.h.
16442         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
16443         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
16444         * modules/lchown (EXTRA_DIST): Add lchown.h.
16445         * modules/long-options (EXTRA_DIST): Add long-options.h.
16446         * modules/lstat (EXTRA_DIST): Add lstat.h.
16447         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
16448         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
16449         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
16450         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
16451         * modules/memxor (EXTRA_DIST): Add memxor.h.
16452         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
16453         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
16454         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
16455         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
16456         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
16457         * modules/physmem (EXTRA_DIST): Add physmem.h.
16458         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
16459         * modules/posixver (EXTRA_DIST): Add posixver.h.
16460         * modules/quote (EXTRA_DIST): Add quote.h.
16461         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
16462         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
16463         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
16464         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
16465         regex_internal.h regexec.c.
16466         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
16467         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
16468         * modules/same (EXTRA_DIST): Add same.h.
16469         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
16470         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
16471         * modules/savedir (EXTRA_DIST): Add savedir.h.
16472         * modules/sha1 (EXTRA_DIST): Add sha1.h.
16473         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
16474         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
16475         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
16476         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
16477         * modules/strdup (EXTRA_DIST): Add strdup.h.
16478         * modules/strftime (EXTRA_DIST): Add strftime.h.
16479         * modules/strndup (EXTRA_DIST): Add strndup.h.
16480         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
16481         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
16482         * modules/time_r (EXTRA_DIST): Add time_r.h.
16483         * modules/timespec (EXTRA_DIST): Add timespec.h.
16484         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
16485         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
16486         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
16487         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
16488         * modules/userspec (EXTRA_DIST): Add userspec.h.
16489         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
16490         * modules/utimens (EXTRA_DIST): Add utimens.h.
16491         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
16492         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
16493         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
16494         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
16495         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
16496         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
16497         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
16498         * modules/yesno (EXTRA_DIST): Add yesno.h.
16499
16500 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16501
16502         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
16503
16504         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
16505         * m4/dev-ino.m4, same-inode.m4: Remove.
16506
16507         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
16508         * m4/acl.m4 (AC_FUNC_ACL):
16509         * m4/backupfile.m4 (gl_BACKUPFILE):
16510         * m4/c-strtod.m4 (gl_C99_STRTOLD):
16511         * m4/canon-host.m4 (gl_CANON_HOST):
16512         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
16513         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
16514         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
16515         * m4/cloexec.m4 (gl_CLOEXEC):
16516         * m4/close-stream.m4 (gl_CLOSE_STREAM):
16517         * m4/closeout.m4 (gl_CLOSEOUT):
16518         * m4/dirfd.m4 (gl_FUNC_DIRFD):
16519         * m4/dirname.m4 (gl_DIRNAME):
16520         * m4/exclude.m4 (gl_EXCLUDE):
16521         * m4/exitfail.m4 (gl_EXITFAIL):
16522         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
16523         * m4/file-type.m4 (gl_FILE_TYPE):
16524         * m4/filemode.m4 (gl_FILEMODE):
16525         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
16526         * m4/fpending.m4 (gl_FUNC_FPENDING):
16527         * m4/fprintftime.m4 (gl_FPRINTFTIME):
16528         * m4/fts.m4 (gl_FUNC_FTS):
16529         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
16530         * m4/getdate.m4 (gl_GETDATE):
16531         * m4/gethrxtime.m4 (gl_GETHRXTIME):
16532         * m4/getpagesize.m4 (gl_GETPAGESIZE):
16533         * m4/getpass.m4 (gl_FUNC_GETPASS):
16534         * m4/gettime.m4 (gl_GETTIME):
16535         * m4/getugroups.m4 (gl_GETUGROUPS):
16536         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
16537         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
16538         * m4/hard-locale.m4 (gl_HARD_LOCALE):
16539         * m4/hash.m4 (gl_HASH):
16540         * m4/idcache.m4 (gl_IDCACHE):
16541         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
16542         * m4/lchown.m4 (gl_FUNC_LCHOWN):
16543         * m4/long-options.m4 (gl_LONG_OPTIONS):
16544         * m4/lstat.m4 (gl_FUNC_LSTAT):
16545         * m4/md5.m4 (gl_MD5):
16546         * m4/memcasecmp.m4 (gl_MEMCASECMP):
16547         * m4/memcoll.m4 (gl_MEMCOLL):
16548         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
16549         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
16550         * m4/memxor.m4 (gl_MEMXOR):
16551         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
16552         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
16553         * m4/modechange.m4 (gl_MODECHANGE):
16554         * m4/mountlist.m4 (gl_MOUNTLIST):
16555         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
16556         * m4/openat.m4 (gl_FUNC_OPENAT):
16557         * m4/pathmax.m4 (gl_PATHMAX):
16558         * m4/physmem.m4 (gl_PHYSMEM):
16559         * m4/posixtm.m4 (gl_POSIXTM):
16560         * m4/posixver.m4 (gl_POSIXVER):
16561         * m4/quote.m4 (gl_QUOTE):
16562         * m4/quotearg.m4 (gl_QUOTEARG):
16563         * m4/readtokens.m4 (gl_READTOKENS):
16564         * m4/readutmp.m4 (gl_READUTMP):
16565         * m4/regex.m4 (gl_REGEX):
16566         * m4/safe-read.m4 (gl_SAFE_READ):
16567         * m4/safe-write.m4 (gl_SAFE_WRITE):
16568         * m4/same.m4 (gl_SAME):
16569         * m4/save-cwd.m4 (gl_SAVE_CWD):
16570         * m4/savedir.m4 (gl_SAVEDIR):
16571         * m4/settime.m4 (gl_SETTIME):
16572         * m4/sha1.m4 (gl_SHA1):
16573         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
16574         * m4/stat-macros.m4 (gl_STAT_MACROS):
16575         * m4/stat-time.m4 (gl_STAT_TIME):
16576         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
16577         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
16578         * m4/strdup.m4 (gl_FUNC_STRDUP):
16579         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
16580         * m4/strndup.m4 (gl_FUNC_STRNDUP):
16581         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
16582         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
16583         * m4/time_r.m4 (gl_TIME_R):
16584         * m4/timespec.m4 (gl_TIMESPEC):
16585         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
16586         * m4/unlinkdir.m4 (gl_UNLINKDIR):
16587         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
16588         * m4/userspec.m4 (gl_USERSPEC):
16589         * m4/utimecmp.m4 (gl_UTIMECMP):
16590         * m4/utimens.m4 (gl_UTIMENS):
16591         * m4/xalloc.m4 (gl_XALLOC):
16592         * m4/xgetcwd.m4 (gl_XGETCWD):
16593         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
16594         * m4/xreadlink.m4 (gl_XREADLINK):
16595         * m4/xstrtod.m4 (gl_XSTRTOD):
16596         * m4/yesno.m4 (gl_YESNO):
16597         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
16598         to get the necessary .h files and whatnot.
16599
16600 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
16601             Bruno Haible  <bruno@clisp.org>
16602
16603         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
16604         /bin/sh understanding of '!' conditional negation.
16605
16606 2006-08-21  Jim Meyering  <jim@meyering.net>
16607
16608         * modules/openat (Depends-on): Really alphabetize.
16609
16610         * modules/acl (Depends-on): Add error and quote.
16611
16612         * check-module (find_included_lib_files): Add at-func.c to the
16613         ok-to-include-more-than-once white list.
16614
16615         * modules/openat (Depends-on): Add lstat.  Alphabetize.
16616
16617 2006-08-21  Bruno Haible  <bruno@clisp.org>
16618
16619         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16620         Emit a pkgdata_DATA variable only if some snippets add contents to it.
16621         Reported by Martin Lambers <marlam@marlam.de>.
16622
16623 2006-08-21  Bruno Haible  <bruno@clisp.org>
16624
16625         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
16626         specify an installation location, don't emit a noinst_LIBRARIES or
16627         noinst_LTLIBRARIES assignment.
16628
16629 2006-08-21  Bruno Haible  <bruno@clisp.org>
16630
16631         BeOS portability.
16632         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
16633         BeOS has mbrtowc() but no <wctype.h>.
16634
16635 2006-08-21  Bruno Haible  <bruno@clisp.org>
16636
16637         BeOS portability.
16638         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
16639         exist.
16640
16641 2006-08-21  Bruno Haible  <bruno@clisp.org>
16642
16643         BeOS portability.
16644         * lib/mbchar.h: Include <wctype.h> only if it exists.
16645
16646 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16647
16648         Remove files that are no longer needed by their respective modules.
16649         * m4/obstack.m4: Remove.
16650         * m4/strerror_r.m4: Remove.
16651         * m4/uint32_t.m4: Remove.
16652         * m4/uintptr_t.m4: Remove.
16653         * m4/ullong_max.m4: Remove.
16654         * m4/xstrtoimax.m4: Remove.
16655         * m4/xstrtoumax.m4: Remove.
16656
16657         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
16658         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
16659         dependencies now capture this.
16660
16661         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
16662         Do not use AC_LIBSOURCES, since gnulib modules now do this.
16663         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
16664         * m4/human.m4 (gl_HUMAN): Likewise.
16665         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
16666         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
16667
16668         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
16669
16670         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
16671         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
16672         stdint.
16673         * m4/human.m4 (gl_HUMAN): Likewise.
16674         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
16675         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
16676         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
16677         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
16678         * m4/xstrtol (gl_XSTRTOL): Likewise.
16679
16680         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
16681         AC_TYPE_LONG_LONG_INT.
16682         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
16683         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
16684         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
16685         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
16686
16687         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
16688         on stdbool.
16689
16690         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
16691         (gl_PREREQ_XSTRTOUL): Remove.
16692
16693         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
16694
16695         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
16696         mode.
16697
16698 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16699
16700         Add and change modules to make it easier for coreutils to use
16701         gnulib-tool.
16702         * modules/backupfile (Files): Remove m4/d-ino.m4.
16703         (Depends-on): Add d-ino.
16704         * modules/cycle-check (Depends-on): Add stdint.
16705         (lib_SOURCES): Add cycle-check.h.
16706         * modules/d-ino: New module.
16707         * modules/d-type: New module.
16708         * modules/error (Files): Remove m4/strerror_r.m4.
16709         * modules/filemode (Files): Add m4/st_dm_mode.m4.
16710         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
16711         m4/inttypes_h.m4, m4/uintmax_t.m4.
16712         (Depends-on): Add stdint.
16713         (lib_SOURCES): Add fsusage.h.
16714         * modules/getcwd (Files): Remove d-ino.m4.
16715         (Depends-on): Add d-ino.
16716         * modules/getndelim2 (Depends-on): Add stdint.
16717         * modules/glob (Files): Remove m4/d-type.m4.
16718         (Depends-on): Add d-type.
16719         * modules/host-os: New module.
16720         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
16721         m4/inttypes_h.m4, m4/uintmax_t.m4.
16722         * Depends-on: Add stdint.
16723         (lib_SOURCES): Add human.h.
16724         * modules/inttostr (Files): Remove m4/intmax_t.m4,
16725         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
16726         m4/uintmax_t.m4, m4/ulonglong.m4.
16727         (Depends-on): Add stdint.
16728         (EXTRA_DIST): Add inttostr.h.
16729         * modules/lchmod: New module.
16730         * modules/link-follow: New module.
16731         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
16732         (Depends-on): Add lchmod.
16733         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
16734         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
16735         (Depends-on): Add stdint.
16736         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
16737         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
16738         (Depends-on): Add stdint.
16739         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
16740         * modules/perl: New module.
16741         * modules/regex (Depends-on): Add stdint.
16742         * modules/rmdir-errno: New module.
16743         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
16744         m4/intmax_t.m4.
16745         (Depends-on): Add stdint.
16746         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
16747         m4/uintmax_t.m4.
16748         (Depends-on): Add stdint.
16749         * modules/unlink-busy: New module.
16750         * modules/utimecmp (Depends-on): Add stdint.
16751         * modules/uptime: New module.
16752         * modules/winsz-ioctl: New module.
16753         * modules/winsz-termios: New module.
16754         * modules/xnanosleep (Depends-on): Add nanosleep.
16755         * modules/ullong_max: Remove.
16756         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
16757         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
16758         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
16759         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
16760         (Depends-on): Add inttypes.
16761         (lib_SOURCES): Add xstrtol.h.
16762         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
16763         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
16764         * MODULES.html.sh: Move 'assert' into the assert section.
16765         Move 'dummy' into the linking section.
16766         Remove ullong_max.
16767         Add section for compatibility checks for POSIX:2001 functions,
16768         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
16769         winsz-ioctl, and winsz-termios into it.
16770         Add lchmod.
16771         Add top-level Misc section and put host-os, perl, and uptime
16772         into it.
16773
16774 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16775
16776         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
16777         now assume the stdint module.  Do not include inttypes.h.
16778         * lib/fsusage.h: Likewise.
16779         * lib/getndelim2.c: Likewise.
16780         * lib/human.h: Likewise.
16781         * lib/inttostr.h: Likewise.
16782         * lib/obstack.c: Likewise.
16783         * lib/regex_internal.h: Likewise.
16784         * lib/tempname.c: Likewise.
16785         * lib/utimecmp.c: Likewise.
16786         * lib/xstrtol.h: Likewise.
16787
16788         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
16789
16790         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
16791         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
16792         * lib/xtime.h: Likewise.
16793
16794 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16795
16796         * modules/openat (Files): Add lib/fchmodat.c.
16797         Fixes problem reported by Jay Youngman.
16798
16799 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16800
16801         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
16802         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
16803
16804 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16805             Bruno Haible  <bruno@clisp.org>
16806
16807         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
16808         and is a script that invokes bison. Tighten the code. Add comments.
16809
16810 2006-08-18  Jim Meyering  <jim@meyering.net>
16811
16812         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
16813         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
16814         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
16815         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
16816
16817 2006-08-18  Bruno Haible  <bruno@clisp.org>
16818
16819         * modules/bison-i18n: New file.
16820         * MODULES.html.sh (Internationalization functions): Add it.
16821
16822 2006-08-18  Bruno Haible  <bruno@clisp.org>
16823
16824         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
16825         sys/statvfs.h. When getmntinfo was found, check its declaration and
16826         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
16827
16828 2006-08-18  Bruno Haible  <bruno@clisp.org>
16829
16830         * m4/bison-i18n.m4: New file, from bison.
16831
16832 2006-08-18  Bruno Haible  <bruno@clisp.org>
16833
16834         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
16835         (ME_DUMMY): Treat "kernfs" as a dummy.
16836         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
16837
16838 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16839
16840         Update from coreutils.
16841
16842         2006-08-15  Jim Meyering  <jim@meyering.net>
16843
16844         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
16845
16846         2006-01-17  Jim Meyering  <jim@meyering.net>
16847
16848         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
16849
16850         2006-01-11  Jim Meyering  <jim@meyering.net>
16851
16852         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
16853         Check for the lchmod function.
16854
16855 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16856
16857         Update from coreutils.
16858
16859         * lib/__fpending.h: Add copyright notice.
16860         * lib/fprintftime.h: Likewise.
16861         * lib/savedir.c: Use (C) in copyright notice.
16862         * lib/savedir.h: Likewise.
16863
16864         2006-08-15  Jim Meyering  <jim@meyering.net>
16865
16866         * lib/at-func.c: New file, with the logic of all emulated at-functions.
16867         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
16868         in support of the EXPECTED_ERRNO macro.
16869         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
16870         definitions.  Instead, define the appropriate symbols and include
16871         "at-func.c".
16872         * lib/mkdirat.c (mkdirat): Likewise.
16873         * lib/fchmodat.c (fchmodat): Likewise.
16874         (ENOSYS): Remove definition.
16875         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
16876         it.  Don't include "unistd--.h" -- it wasn't ever used.
16877
16878         2006-01-17  Jim Meyering  <jim@meyering.net>
16879
16880         Rewrite fts.c not to change the current working directory,
16881         by using openat, fstatat, fdopendir, etc..
16882
16883         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
16884         (HAVE_OPENAT_SUPPORT): Define.
16885         [_LIBC] (fchdir): Don't undef or define; no longer used.
16886         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
16887         Now, this `function' always succeeds, and consumes its file descriptor
16888         parameter -- so callers must not close such FDs.  Update callers.
16889         (diropen_fd, opendirat, cwd_advance_fd): New functions.
16890         (diropen): Add parameter, SP.  Adjust all callers.
16891         Implement using diropen_fd, rather than open.
16892         (fts_open): Initialize new member, fts_cwd_fd.
16893         Remove fts_rft-setting code.
16894         (fts_close): Close fts_cwd_fd, if necessary.
16895         (__opendir2): Define in terms of opendir or opendirat,
16896         depending on whether the FST_NOCHDIR flag is set.
16897         (fts_build): Since fts_safe_changedir consumes its FD, and since
16898         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
16899         and close the dup'd file descriptor upon failure.
16900         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
16901         (fts_safe_changedir): Tweak semantics to reflect that this function
16902         now calls cwd_advance_fd and hence consumes its FD argument.
16903         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
16904         [struct FTS] (fts_rft): Remove now-unused member.
16905         [struct FTS] (fts_cycle.state): Improve comment.
16906
16907         * lib/openat.c (openat_needs_fchdir): New function.
16908         * lib/openat.h (openat_needs_fchdir): Declare it.
16909
16910 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
16911
16912         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
16913         Problem and fix reported by Pádraig Brady in
16914         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
16915
16916 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16917
16918         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
16919
16920 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16921
16922         * lib/memcoll.c (memcoll): Optimize for the common case where the
16923         arguments are bytewise equal.
16924
16925 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16926
16927         * doc/regexprops-generic.texi: Add a copyright notice.
16928
16929 2006-08-15  Bruno Haible  <bruno@clisp.org>
16930
16931         * modules/tmpdir (License): Change to LGPL.
16932
16933 2006-08-15  Bruno Haible  <bruno@clisp.org>
16934
16935         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
16936         module.
16937
16938 2006-08-14  Simon Josefsson  <jas@extundo.com>
16939
16940         * config/srclist.txt: Add gnupload.
16941
16942 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16943
16944         Change copyright notice from LGPL 2 to GPL 2, since that's the
16945         standard form used in the gnulib repository.
16946         * tests/test-lock.c: Likewise.
16947         * tests/test-stdint.c: Likewise.
16948         * tests/test-tls.c: Likewise.
16949
16950         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
16951         prelude-manager.  User shorter URLs for GNU projects, without '?'.
16952         Add copyright notice.
16953
16954         * check-module: Add copyright notice.  Output a copyright
16955         notice if "--version" is specified.
16956         * modules/COPYING: New file.
16957         * tests/test-getaddrinfo.c: Add copyright notice.
16958         * tests/test-verify.c: Likewise.
16959
16960 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16961
16962         Change copyright notice from LGPL 2 to GPL 2, since that's the
16963         standard form used in the gnulib repository.
16964         * lib/lock.c: LGPL -> GPL.
16965         * lib/lock.h: Likewise.
16966         * lib/strnlen1.c: Likewise.
16967         * lib/strnlen1.h: Likewise.
16968         * lib/tls.c: Likewise.
16969         * lib/tls.h: Likewise.
16970         * lib/tmpdir.c: Likewise.
16971
16972         * lib/TODO: Remove; this belongs only in coreutils.
16973
16974 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16975
16976         Add copyright notices to long-enough files that lack them, since
16977         otherwise the files aren't clearly free.  Use the same notice that
16978         getdate.texi already uses.
16979         * doc/alloca-opt.texi: Add copyright notice.
16980         * doc/alloca.texi: Likewise.
16981         * doc/ctime.texi: Likewise.
16982         * doc/functions.texi: Likewise.
16983         * doc/gcd.texi: Likewise.
16984         * doc/gnulib-tool.texi: Likewise.
16985         * doc/inet_ntoa.texi: Likewise.
16986         * doc/visibility.texi: Likewise.
16987
16988         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
16989         * doc/quote.texi: Add copyright notice.
16990
16991         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
16992         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
16993         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
16994         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
16995         is now obsolete, and give a pointer to the Sun list.
16996         Add copyright notice.
16997
16998 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16999
17000         * config/srclistvars.sh: Add copyright notice.
17001
17002 2006-08-14  Eric Blake  <ebb9@byu.net>
17003
17004         Import the following change from libc:
17005
17006         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
17007
17008         Upstream bug 2997.
17009         * lib/misc/error.c: Add space between program name and message if file
17010         name is missing.
17011
17012 2006-08-12  Karl Berry  <karl@gnu.org>
17013
17014         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
17015         remove, these originate in gnulib now.
17016
17017 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17018
17019         * doc/Makefile (standards.info standards.html standards.dvi):
17020         Also depend on make-stds.texi.
17021
17022 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17023
17024         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
17025         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
17026
17027         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
17028         in wchar_t.  Problem reported by Eric Blake.
17029
17030         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
17031         LEN is smaller than SIZE.  Suggested by Bruno Haible.
17032         Also, help the compiler to keep LEN in a register.
17033
17034 2006-08-11  Eric Blake  <ebb9@byu.net>
17035
17036         * users.txt: Sort.  Add tar.
17037
17038 2006-08-11  Bruno Haible  <bruno@clisp.org>
17039
17040         * users.txt: New file.
17041
17042 2006-08-11  Bruno Haible  <bruno@clisp.org>
17043
17044         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
17045         before <wchar.h>. Needed for OSF/1 and BSD/OS.
17046
17047 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17048
17049         * modules/snprintf (Depends-on): Remove minmax.
17050         (Maintainer): Add self and Bruno.
17051
17052 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17053
17054         * lib/.cppi-disable: Add snprintf.h, socket_.h.
17055         * lib/snprintf.c: Include <errno.h> and <limits.h>.
17056         (EOVERFLOW): Define if the system does not.
17057         Do not include "minmax.h"; it wasn't used.
17058         (snprintf): Don't assume size_t promotes to an unsigned type.
17059         Fix bug when generated string was too long for the buffer: the
17060         buffer's contents are supposed to be the initial prefix of the
17061         output.  Don't assume vasnprintf returns EOVERFLOW if the size
17062         exceeds INT_MAX; do the check ourselves.
17063
17064         Import the following changes from libc:
17065
17066         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
17067
17068         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
17069         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
17070         set wc to the byte which couldn't be converted.
17071         (re_string_reconstruct): Don't clear valid_raw_len before calling
17072         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
17073         tip_context using re_string_context_at.
17074
17075         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
17076
17077         * lib/posix/regex.h: g++ still cannot handled [restrict].
17078
17079         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
17080
17081         * lib/posix/regex.h: Remove special handling for VMS.
17082
17083 2006-08-10  Jim Meyering  <jim@meyering.net>
17084
17085         * modules/same-inode: New module.
17086         * modules/dev-ino: New module.
17087         * modules/cycle-check: Depend on these modules, rather than simply
17088         including their .h files.
17089         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
17090         required via m4/cycle-check.m4.
17091         * modules/same: Depend on new same-inode module, rather than
17092         including same-inode.h.
17093         * modules/chdir-safer: New file.
17094
17095         * modules/chown (Depends-on): Add stat-macros.
17096
17097 2006-08-10  Jim Meyering  <jim@meyering.net>
17098
17099         * m4/cycle-check.m4: New file.
17100         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
17101         * m4/dev-ino.m4, m4/same-inode.m4: New files.
17102
17103 2006-08-10  Eric Blake  <ebb9@byu.net>
17104
17105         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
17106         in from original proposal.
17107
17108 2006-08-10  Eric Blake  <ebb9@byu.net>
17109         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17110
17111         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
17112         namespace.
17113
17114 2006-08-10  Bruno Haible  <bruno@clisp.org>
17115
17116         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
17117         as well.
17118
17119 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17120
17121         Sync from coreutils.
17122
17123         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
17124
17125         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
17126         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
17127
17128 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17129
17130         * modules/restrict: Remove; no longer needed now that we assume
17131         Autoconf 2.59 or later.
17132         * MODULES.html.sh: Remove 'restrict'.
17133         * modules/argp (Depends-on): Remove 'restrict'.
17134         * modules/base64 (Depends-on): Likewise.
17135         * modules/gc (Depends-on): Likewise.
17136         * modules/getaddrinfo (Depends-on): Likewise.
17137         * modules/glob (Depends-on): Likewise.
17138         * modules/inet_ntop (Depends-on): Likewise.
17139         * modules/inet_pton (Depends-on): Likewise.
17140         * modules/memxor (Depends-on): Likewise.
17141         * modules/regex (Depends-on): Likewise.
17142         * modules/strtok_r (Depends-on): Likewise.
17143         * modules/time_r (Depends-on): Likewise.
17144
17145 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17146
17147         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
17148         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
17149         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
17150         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
17151         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
17152         * m4/memxor.m4 (gl_MEMXOR): Likewise.
17153         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
17154         gl_C_RESTRICT replaced by AC_C_RESTRICT.
17155
17156         Merge from coreutils.
17157         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
17158         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
17159         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
17160         * m4/time_r.m4 (gl_TIME_R): Likewise.
17161
17162 2006-08-09  Karl Berry  <karl@gnu.org>
17163
17164         * config/srclist.txt: no more gettext-tools, per Bruno.
17165
17166 2006-08-08  Eric Blake  <ebb9@byu.net>
17167
17168         * modules/verror: New module.
17169         * MODULES.html.sh: Document it.
17170
17171 2006-08-08  Eric Blake  <ebb9@byu.net>
17172
17173         * lib/verror.h, lib/verror.c: New files.
17174
17175 2006-08-08  Eric Blake  <ebb9@byu.net>
17176
17177         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
17178         verror_at_line output complies with GNU Coding Standards even when
17179         file is NULL.
17180
17181 2006-08-07  Bruno Haible  <bruno@clisp.org>
17182
17183         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
17184         versions of AIX.
17185         Reported by Ralf Wildenhues.
17186
17187 2006-08-07  Bruno Haible  <bruno@clisp.org>
17188
17189         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
17190         in an AC_DEFUN. Needed so that the autoconf snippets can use
17191         AC_REQUIRE.
17192
17193 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17194
17195         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17196         Initialize pkgdata_DATA.
17197         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
17198         overriding it.
17199
17200 2006-08-06  Eric Blake  <ebb9@byu.net>
17201
17202         * lib/error.h: Fold in some upstream changes from glibc.
17203         * lib/error.c: Likewise.
17204
17205 2006-08-04  Bruno Haible  <bruno@clisp.org>
17206
17207         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17208         Make the mostlyclean-local rule depend on mostlyclean-generic.
17209         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
17210
17211 2006-07-31  Bruno Haible  <bruno@clisp.org>
17212
17213         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
17214         <stdlib.h>, <string.h>.
17215
17216 2006-07-30  Bruno Haible  <bruno@clisp.org>
17217
17218         * modules/readlink (License): Change to LGPL.
17219
17220 2006-07-30  Bruno Haible  <bruno@clisp.org>
17221
17222         * modules/javaversion (Makefile.am): Distribute javaversion.java and
17223         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
17224         set PKGDATADIR to point to it.
17225
17226 2006-07-30  Bruno Haible  <bruno@clisp.org>
17227
17228         * modules/csharpexec (configure.ac): Comment out macro invocation.
17229         * modules/javaexec (configure.ac): Likewise.
17230         * modules/javacomp-script (configure.ac): Likewise.
17231
17232         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
17233
17234 2006-07-30  Bruno Haible  <bruno@clisp.org>
17235
17236         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
17237         linked-list.
17238
17239 2006-07-30  Bruno Haible  <bruno@clisp.org>
17240
17241         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
17242
17243 2006-07-30  Bruno Haible  <bruno@clisp.org>
17244
17245         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17246         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
17247         get removed.
17248
17249 2006-07-29  Bruno Haible  <bruno@clisp.org>
17250
17251         Make it possible for gnulib-tool to work with locally modified or
17252         augmented gnulib repositories.
17253         * gnulib-tool (func_usage): Document --local-dir option.
17254         (local_gnulib_dir): New variable.
17255         Handle --local-dir option.
17256         (func_lookup_file): New function.
17257         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
17258         (func_get_description, func_get_filelist, func_get_description,
17259         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
17260         func_get_automake_snippet, func_get_include_directive,
17261         func_get_license, func_get_maintainer): Use func_lookup_file.
17262         (func_import, func_create_testdir): Use func_lookup_file.
17263
17264 2006-07-29  Bruno Haible  <bruno@clisp.org>
17265
17266         * modules/setenv (Depends-on): Add unistd.
17267
17268 2006-07-29  Bruno Haible  <bruno@clisp.org>
17269
17270         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
17271
17272 2006-07-29  Bruno Haible  <bruno@clisp.org>
17273
17274         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
17275
17276 2006-07-29  Bruno Haible  <bruno@clisp.org>
17277
17278         * gnulib-tool (import, update): If there is no Makefile.am, look at
17279         aclocal.m4, instead of bailing out.
17280
17281 2006-07-29  Bruno Haible  <bruno@clisp.org>
17282
17283         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
17284         Categorize the options by when they are useful.
17285
17286 2006-07-29  Bruno Haible  <bruno@clisp.org>
17287
17288         * gnulib-tool (func_usage): Document option --no-libtool.
17289         Handle option --no-libtool.
17290         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
17291         for changed semantics of $libtool variable.
17292         (func_import): Likewise. If libtool is not used, show this through
17293         an option --no-libtool.
17294         (func_create_testdir): Update.
17295
17296 2006-07-29  Bruno Haible  <bruno@clisp.org>
17297
17298         * gnulib-tool (func_import): Extend error message about missing
17299         --doc-base.
17300
17301 2006-07-29  Bruno Haible  <bruno@clisp.org>
17302
17303         * gnulib-tool (func_import): Don't create the $docbase directory if
17304         there is no file to store there.
17305
17306 2006-07-29  Bruno Haible  <bruno@clisp.org>
17307
17308         * gnulib-tool (autoconf_minversion): If a --dir option is given and
17309         relevant, look for configure.ac there, not in the current directory.
17310         Also use a simple search for AC_PREREQ, not "autoconf --trace".
17311
17312 2006-07-29  Bruno Haible  <bruno@clisp.org>
17313
17314         * gnulib-tool (SORT): New variable.
17315         (func_usage): Undocument --assume-autoconf option.
17316         Remove --assume-autoconf option handling.
17317         (autoconf_minversion): Determine from the contents of configure.ac.
17318         (func_import): Remove autoconf_minversion handling.
17319         Suggested by Eric Blake.
17320
17321 2006-07-29  Bruno Haible  <bruno@clisp.org>
17322
17323         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
17324
17325 2006-07-29  Bruno Haible  <bruno@clisp.org>
17326
17327         * config/srclist.txt (*setenv.[ch]): Remove rules.
17328
17329 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17330
17331         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
17332
17333 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17334
17335         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
17336         arpa/inet.h.
17337
17338 2006-07-28  Simon Josefsson  <jas@extundo.com>
17339
17340         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
17341         * modules/inet_pton (Depends-on): Likewise.
17342
17343 2006-07-28  Simon Josefsson  <jas@extundo.com>
17344
17345         * m4/netinet_in_h.m4: New file.
17346
17347 2006-07-28  Simon Josefsson  <jas@extundo.com>
17348
17349         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
17350         #include's.
17351
17352 2006-07-28  Simon Josefsson  <jas@extundo.com>
17353
17354         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
17355         #include's.
17356
17357 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
17358
17359         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
17360         setgid on directories only if they set these bits.
17361         * lib/modechange.h: Remove obsolete comment about masks.
17362
17363 2006-07-28  Eric Blake  <ebb9@byu.net>
17364
17365         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
17366         macro expansion.
17367
17368 2006-07-28  Bruno Haible  <bruno@clisp.org>
17369
17370         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
17371
17372 2006-07-28  Bruno Haible  <bruno@clisp.org>
17373
17374         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
17375
17376 2006-07-28  Bruno Haible  <bruno@clisp.org>
17377
17378         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17379         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17380         Define fallbacks.
17381         Avoids link error on FreeBSD 4.x.
17382         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17383
17384         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
17385         encoding.
17386         * lib/mbswidth.c (iswcntrl): Likewise.
17387
17388 2006-07-27  Bruno Haible  <bruno@clisp.org>
17389
17390         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
17391         test.
17392
17393 2006-07-27  Bruno Haible  <bruno@clisp.org>
17394
17395         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
17396         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
17397         defined.
17398
17399 2006-07-26  Eric Blake  <ebb9@byu.net>
17400
17401         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
17402
17403 2006-07-26  Eric Blake  <ebb9@byu.net>
17404
17405         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
17406         like mingw that lack mkstemp.
17407         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
17408         avoid compilation warning on mingw.
17409
17410 2006-07-26  Bruno Haible  <bruno@clisp.org>
17411
17412         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
17413         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
17414         INT_FAST*_MIN, INTPTR_MIN.
17415
17416 2006-07-25  Bruno Haible  <bruno@clisp.org>
17417
17418         * modules/version-etc (Depends-on): Add stdarg.
17419
17420 2006-07-25  Bruno Haible  <bruno@clisp.org>
17421
17422         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
17423         complex commands.
17424
17425 2006-07-25  Bruno Haible  <bruno@clisp.org>
17426
17427         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
17428         defined in <stdarg.h> or config.h.
17429
17430 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17431
17432         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
17433         (gl_STDIO_SAFER): Remove.
17434
17435 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17436
17437         * MODULES.html.sh (File stream based Input/Output):
17438         Add fopen-safer, tmpfile-safer; remove stdio-safer.
17439         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
17440         * modules/fopen-safer, modules/tmpfile-safer: New files.
17441         * modules/stdio-safer: Remove.
17442
17443 2006-07-24  Bruno Haible  <bruno@clisp.org>
17444
17445         * modules/tmpdir: New file.
17446         * MODULES.html.sh (File system functions): Add it.
17447
17448 2006-07-24  Bruno Haible  <bruno@clisp.org>
17449
17450         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
17451         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
17452
17453 2006-07-24  Bruno Haible  <bruno@clisp.org>
17454
17455         * modules/clean-temp: New file.
17456
17457 2006-07-24  Bruno Haible  <bruno@clisp.org>
17458
17459         * m4/tmpdir.m4: New file, from GNU gettext.
17460
17461 2006-07-24  Bruno Haible  <bruno@clisp.org>
17462
17463         * lib/tmpdir.h: New file, from GNU gettext.
17464         * lib/tmpdir.c: New file, from GNU gettext.
17465
17466 2006-07-24  Bruno Haible  <bruno@clisp.org>
17467
17468         * lib/clean-temp.h: New file, from GNU gettext.
17469         * lib/clean-temp.c: New file, from GNU gettext.
17470
17471 2006-07-23  Eric Blake  <ebb9@byu.net>
17472
17473         * modules/stdio-safer (Files): Add tmpfile-safer.c.
17474         (Depends-on): Add binary-io.
17475
17476 2006-07-23  Eric Blake  <ebb9@byu.net>
17477
17478         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
17479
17480 2006-07-23  Eric Blake  <ebb9@byu.net>
17481
17482         * lib/tmpfile-safer.c: New file.
17483         * lib/stdio-safer.h (fopen_safer): Add prototype.
17484         * lib/stdio--.h (tmpfile): Make safer.
17485
17486 2006-07-23  Bruno Haible  <bruno@clisp.org>
17487
17488         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
17489         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
17490         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
17491         gl_linked_remove_at): Use it.
17492
17493 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17494         and Simon Josefsson <jas@extundo.com>
17495
17496         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
17497
17498         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
17499
17500 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17501
17502         * modules/close-stream: New file.
17503         * modules/closeout (Description): Make it clear that it exits
17504         with a diagnostic on error.
17505         (Depends-on): Add close-stream.  Remove fpending, stdbool.
17506         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
17507
17508 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17509
17510         * m4/close-stream.m4: New file.
17511
17512 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17513
17514         * lib/close-stream.c, lib/close-stream.h: New files.
17515
17516 2006-07-22  Bruno Haible  <bruno@clisp.org>
17517
17518         Merge from GNU gettext 0.15.
17519
17520         2006-05-01  Bruno Haible  <bruno@clisp.org>
17521
17522                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
17523
17524         2006-07-22  Bruno Haible  <bruno@clisp.org>
17525
17526                 * modules/javaversion: New file.
17527                 * MODULES.html.sh (Java): Add javaversion.
17528
17529         2006-03-12  Bruno Haible  <bruno@clisp.org>
17530
17531                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
17532
17533         2005-12-04  Bruno Haible  <bruno@clisp.org>
17534
17535                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
17536                 (untested).
17537
17538         2006-06-21  Bruno Haible  <bruno@clisp.org>
17539
17540                 Avoid warnings from recent versions of mcs.
17541                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
17542                 -o, -L, -r any more. Use options documented since mcs-1.0
17543                 instead. Similarly for -g.
17544
17545         2005-12-04  Bruno Haible  <bruno@clisp.org>
17546
17547                 * build-aux/csharpcomp.sh.in: Suffix for resources is
17548                 .resources, not .resource.
17549
17550         2005-07-09  Bruno Haible  <bruno@clisp.org>
17551
17552                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
17553                 add a .dll suffix.
17554                 Reported by Mark Junker <mjscod@gmx.de>.
17555
17556         2006-07-22  Bruno Haible  <bruno@clisp.org>
17557
17558                 * modules/gettext: Upgrade to gettext-0.15.
17559                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
17560                 m4/visibility.m4.
17561                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
17562
17563 2006-07-22  Bruno Haible  <bruno@clisp.org>
17564
17565         Merge from GNU gettext 0.15.
17566
17567         2006-03-25  Bruno Haible  <bruno@clisp.org>
17568
17569                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
17570
17571         2006-07-21  Bruno Haible  <bruno@clisp.org>
17572
17573                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
17574                 "1.1".
17575
17576         2006-05-09  Bruno Haible  <bruno@clisp.org>
17577
17578                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
17579                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
17580                 for the conftestver execution.
17581
17582         2006-05-01  Bruno Haible  <bruno@clisp.org>
17583
17584                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
17585                 optional target-version argument. Verify that the compiler
17586                 groks source of the specified source-version, or add -source
17587                 option as necessary. Verify that the compiler produces
17588                 bytecode in the specified target-version, or add -target and
17589                 -source options as necessary. Make the result of the test
17590                 available as variable CONF_JAVAC. Also log error output in
17591                 config.log.
17592
17593         2006-03-11  Bruno Haible  <bruno@clisp.org>
17594
17595                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
17596
17597         2006-05-09  Bruno Haible  <bruno@clisp.org>
17598
17599                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
17600                 CLASSPATH_SEPARATOR to a semicolon.
17601
17602         2006-03-12  Bruno Haible  <bruno@clisp.org>
17603
17604                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
17605                 available as variable CONF_JAVA, for subsequent autoconf
17606                 tests. Also log error output in config.log.
17607
17608         2006-07-19  Bruno Haible  <bruno@clisp.org>
17609
17610                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
17611                 that getline works on glibc2 systems. Needed to avoid trouble
17612                 in relocatable.c.
17613                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
17614
17615         2005-12-04  Bruno Haible  <bruno@clisp.org>
17616
17617                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
17618                 launcher (untested).
17619
17620         2005-12-04  Bruno Haible  <bruno@clisp.org>
17621
17622                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
17623
17624         2006-07-22  Bruno Haible  <bruno@clisp.org>
17625
17626                 * gettext.m4: Update from GNU gettext-0.15.
17627                 * nls.m4: Likewise.
17628                 * po.m4: Likewise.
17629                 * inttypes-pri.m4: Likewise.
17630                 * inttypes-h.m4: Renamed from inttypes.m4.
17631                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
17632
17633 2006-07-22  Bruno Haible  <bruno@clisp.org>
17634
17635         Merge from GNU gettext 0.15.
17636
17637         2005-07-05  Bruno Haible  <bruno@clisp.org>
17638
17639                 * printf-args.c (printf_fetchargs): Work around broken
17640                 definition of wint_t on mingw.
17641
17642         2005-02-12  Bruno Haible  <bruno@clisp.org>
17643
17644                 * xallocsa.h: Add extern "C" for C++.
17645
17646         2006-05-17  Bruno Haible  <bruno@clisp.org>
17647
17648                 Cygwin portability.
17649                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
17650
17651         2006-04-30  Bruno Haible  <bruno@clisp.org>
17652
17653                 * progreloc.c: Include <mach-o/dyld.h> if available.
17654                 (find_executable): Use _NSGetExecutablePath when possible.
17655
17656         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
17657
17658                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
17659                 function.
17660
17661         2005-12-29  Bruno Haible  <bruno@clisp.org>
17662
17663                 * progreloc.c (set_program_name_and_installdir): Fix
17664                 compilation error.
17665
17666         2005-12-04  Bruno Haible  <bruno@clisp.org>
17667
17668                 Cygwin portability.
17669                 * progreloc.c: Include <windows.h> also on Cygwin.
17670                 (find_executable): Add support for Cygwin.
17671                 (set_program_name_and_installdir): Handle also platforms with
17672                 nonempty EXEEXT.
17673
17674         2006-07-11  Bruno Haible  <bruno@clisp.org>
17675
17676                 * javacomp.c: Fix a comment.
17677                 Reported by Jim Meyering.
17678
17679         2006-04-30  Bruno Haible  <bruno@clisp.org>
17680
17681                 * javacomp.h (compile_java_class): Add source_version,
17682                 target_version arguments.
17683                 * javacomp.c: Rewritten to choose only a compiler that
17684                 respects the specified source_version and target_version.
17685
17686         2006-06-27  Bruno Haible  <bruno@clisp.org>
17687
17688                 Assume correct S_ISDIR macro.
17689                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
17690
17691         2006-07-22  Bruno Haible  <bruno@clisp.org>
17692
17693                 * javaversion.h: New file, from GNU gettext.
17694                 * javaversion.c: New file, from GNU gettext.
17695                 * javaversion.java: New file, from GNU gettext.
17696                 * javaversion.class: New file, from GNU gettext.
17697
17698         2006-05-17  Bruno Haible  <bruno@clisp.org>
17699
17700                 Cygwin portability.
17701                 * javaexec.c (execute_java_class): Test for jview program
17702                 also on Cygwin.
17703
17704         2006-04-09  Bruno Haible  <bruno@clisp.org>
17705
17706                 * fatal-signal.c: Don't include string.h.
17707                 (at_fatal_signal): Use a copying loop instead of memcpy.
17708
17709         2005-12-04  Bruno Haible  <bruno@clisp.org>
17710
17711                 * csharpexec.c: Add support for 'clix' launcher (untested).
17712                 (execute_csharp_using_sscli): New function.
17713                 (execute_csharp_program): Call it.
17714
17715         2006-06-21  Bruno Haible  <bruno@clisp.org>
17716
17717                 Avoid warnings from recent versions of mcs.
17718                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
17719                 -o, -L, -r any more. Use options documented since mcs-1.0
17720                 instead. Similarly for -g.
17721
17722         2005-07-09  Bruno Haible  <bruno@clisp.org>
17723
17724                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
17725                 add a .dll suffix.
17726                 Reported by Mark Junker <mjscod@gmx.de>.
17727
17728         2006-06-17  Bruno Haible  <bruno@clisp.org>
17729
17730                 * config.charset: Update for NetBSD 3.0.
17731
17732         2006-05-17  Bruno Haible  <bruno@clisp.org>
17733
17734                 Cygwin portability.
17735                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
17736
17737         2006-05-16  Bruno Haible  <bruno@clisp.org>
17738
17739                 * localcharset.c [CYGWIN]: Include <windows.h>.
17740                 (get_charset_aliases): For Cygwin, return the same CPxxx
17741                 aliases list as under WIN32.
17742                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
17743                 the environment variables. Fall back to GetACP().
17744
17745         2006-04-05  Bruno Haible  <bruno@clisp.org>
17746
17747                 * config.charset: Update Juan Manuel Guerrero's address.
17748
17749         2005-02-12  Bruno Haible  <bruno@clisp.org>
17750
17751                 * allocsa.h: Add extern "C" for C++.
17752
17753         2005-02-10  Bruno Haible  <bruno@clisp.org>
17754
17755                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
17756                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
17757
17758         2006-07-22  Bruno Haible  <bruno@clisp.org>
17759
17760                 * gettext.h: Update to GNU gettext-0.15.
17761
17762 2006-07-22  Bruno Haible  <bruno@clisp.org>
17763
17764         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
17765         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
17766         lib-prefix.m4, longdouble.m4, ssize_t.m4.
17767
17768 2006-07-21  Eric Blake  <ebb9@byu.net>
17769
17770         * modules/stdlib-safer: New file.
17771         * MODULES.html.sh (File stream based Input/Output): Add
17772         stdlib-safer.
17773
17774 2006-07-21  Eric Blake  <ebb9@byu.net>
17775
17776         * lib/stdlib-safer.h: New file from coreutils, required by
17777         stdlib--.h.
17778
17779 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
17780
17781         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
17782
17783 2006-07-20  Bruno Haible  <bruno@clisp.org>
17784
17785         * gnulib-tool: Recognize new option --assume-autoconf.
17786         (autoconf_minversion): New variable.
17787         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
17788
17789 2006-07-20  Bruno Haible  <bruno@clisp.org>
17790
17791         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
17792
17793 2006-07-19  Derek R. Price  <derek@ximbiot.com>
17794
17795         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
17796         Reindent and repaginate.
17797
17798 2006-07-19  Derek Price  <derek@ximbiot.com>
17799
17800         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
17801         Correct grammar.
17802
17803 2006-07-17  Bruno Haible  <bruno@clisp.org>
17804
17805         * modules/list: New file.
17806         * modules/array-list: New file.
17807         * modules/carray-list, modules/carray-list-tests: New files.
17808         * modules/linked-list, modules/linked-list-tests: New files.
17809         * modules/avltree-list, modules/avltree-list-tests: New files.
17810         * modules/rbtree-list, modules/rbtree-list-tests: New files.
17811         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
17812         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
17813         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
17814         * modules/oset: New file.
17815         * modules/array-oset: New file.
17816         * modules/avltree-oset, modules/avltree-oset-tests: New files.
17817         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
17818         * tests/test-carray_list.c: New file.
17819         * tests/test-linked_list.c: New file.
17820         * tests/test-avltree_list.c: New file.
17821         * tests/test-rbtree_list.c: New file.
17822         * tests/test-linkedhash_list.c: New file.
17823         * tests/test-avltreehash_list.c: New file.
17824         * tests/test-rbtreehash_list.c: New file.
17825         * tests/test-avltree_oset.c: New file.
17826         * tests/test-rbtree_oset.c: New file.
17827         * MODULES.html.sh (Container data structures): New section.
17828
17829 2006-07-17  Bruno Haible  <bruno@clisp.org>
17830
17831         * m4/gl_list.m4: New file.
17832
17833 2006-07-17  Bruno Haible  <bruno@clisp.org>
17834
17835         * lib/gl_list.h: New file.
17836         * lib/gl_list.c: New file.
17837         * lib/gl_array_list.h: New file.
17838         * lib/gl_array_list.c: New file.
17839         * lib/gl_carray_list.h: New file.
17840         * lib/gl_carray_list.c: New file.
17841         * lib/gl_linked_list.h: New file.
17842         * lib/gl_linked_list.c: New file.
17843         * lib/gl_anylinked_list1.h: New file.
17844         * lib/gl_anylinked_list2.h: New file.
17845         * lib/gl_avltree_list.h: New file.
17846         * lib/gl_avltree_list.c: New file.
17847         * lib/gl_anyavltree_list1.h: New file.
17848         * lib/gl_anyavltree_list2.h: New file.
17849         * lib/gl_rbtree_list.h: New file.
17850         * lib/gl_rbtree_list.c: New file.
17851         * lib/gl_anyrbtree_list1.h: New file.
17852         * lib/gl_anyrbtree_list2.h: New file.
17853         * lib/gl_anytree_list1.h: New file.
17854         * lib/gl_anytree_list2.h: New file.
17855         * lib/gl_linkedhash_list.h: New file.
17856         * lib/gl_linkedhash_list.c: New file.
17857         * lib/gl_anyhash_list1.h: New file.
17858         * lib/gl_anyhash_list2.h: New file.
17859         * lib/gl_avltreehash_list.h: New file.
17860         * lib/gl_avltreehash_list.c: New file.
17861         * lib/gl_rbtreehash_list.h: New file.
17862         * lib/gl_rbtreehash_list.c: New file.
17863         * lib/gl_anytreehash_list1.h: New file.
17864         * lib/gl_anytreehash_list2.h: New file.
17865
17866         * lib/gl_oset.h: New file.
17867         * lib/gl_oset.c: New file.
17868         * lib/gl_array_oset.h: New file.
17869         * lib/gl_array_oset.c: New file.
17870         * lib/gl_avltree_oset.h: New file.
17871         * lib/gl_avltree_oset.c: New file.
17872         * lib/gl_rbtree_oset.h: New file.
17873         * lib/gl_rbtree_oset.c: New file.
17874         * lib/gl_anytree_oset.h: New file.
17875
17876 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17877
17878         * m4/mkancesdirs.m4: New file.
17879         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
17880         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
17881         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
17882         it.
17883
17884 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17885
17886         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
17887         * lib/mkancesdirs.h: New files.
17888         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
17889         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
17890         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
17891         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
17892         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
17893         callers changed.  Revamp internals significantly, by not
17894         attempting to create directories that are temporarily more
17895         permissive than the final results.  Do not attempt to use
17896         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
17897         This removes some race conditions, fixes some bugs, and simplifies
17898         things.  Use new dirchownmod function to do owner and mode changes.
17899         * lib/mkdir-p.h: Likewise.
17900         * lib/modechange.c (octal_to_mode): New function.
17901         (struct mode_change): New member mentioned.
17902         (make_node_op_equals): New arg mentioned.  All callers changed.
17903         (mode_compile): Keep track of which mode bits the user has explicitly
17904         mentioned.
17905         (mode_adjust): New arg DIR, so that we implement the X op correctly.
17906         New arg PMODE_BITS, to keep track of which mode bits the user
17907         mentioned; it treats S_ISUID and S_ISGID speciall.
17908         All callers changed.
17909         * lib/modechange.h: Likewise.
17910
17911 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17912
17913         * MODULES.html.sh: Add mkancestors.
17914         * modules/mkancesdirs: New module.
17915         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
17916         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
17917         The chdir-safer and afs files are now orphans; I'll remove them
17918         unless someone speaks up.
17919         Add lib/dirchownmod.c, lib/dirchownmod.h.
17920         (Depends-on): Remove alloca, chown, save-cwd, dirname.
17921         Add lchown, mkancesdirs.
17922         (Maintainer): Add self.
17923
17924 2006-07-15  Karl Berry  <karl@gnu.org>
17925
17926         * gnulib-tool: help message wording/arrangement.
17927
17928 2006-07-14  Simon Josefsson  <jas@extundo.com>
17929
17930         * doc/gnulib.texi (Libtool and Windows): New section.
17931
17932 2006-07-12  Simon Josefsson  <jas@extundo.com>
17933
17934         * modules/gendocs (License): Fix license, approved by Karl.
17935
17936 2006-07-12  Eric Blake  <ebb9@byu.net>
17937
17938         * MODULES.html.sh: Add gendocs.
17939
17940 2006-07-11  Eric Blake  <ebb9@byu.net>
17941
17942         * modules/fdl: New module, to install doc/fdl.texi.
17943         * MODULES.html.sh: Add new section for documentation modules.
17944         * gnulib-tool: Avoid space-tab.
17945         (--doc-base): New option, to manage files from doc.
17946
17947 2006-07-11  Eric Blake  <ebb9@byu.net>
17948
17949         * m4/absolute-header.m4: Fix comments to match recent change.
17950
17951 2006-07-11  Eric Blake  <ebb9@byu.net>
17952
17953         * gnulib-tool: List --doc-base before --tests-base.
17954
17955 2006-07-11  Derek R. Price  <derek@ximbiot.com>
17956
17957         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
17958
17959 2006-07-11  Bruno Haible  <bruno@clisp.org>
17960
17961         * README: Mention where to put documentation.
17962
17963 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17964
17965         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
17966
17967 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
17968
17969         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
17970         to stdint.m4.
17971
17972 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
17973
17974         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
17975         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
17976         "no/such/file/stdint.h" when there is no such file, so that
17977         the resulting C code can be parsed by dodgy compilers.
17978         Problems reported by Bob Proulx.
17979
17980 2006-07-10  Derek R. Price  <derek@ximbiot.com>
17981
17982         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
17983         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
17984         macros into the GNU _D_EXACT_NAMLEN.
17985         * lib/savedir.c:  Likewise.
17986         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
17987
17988 2006-07-10  Derek R. Price  <derek@ximbiot.com>
17989         and Paul Eggert  <eggert@cs.ucla.edu>
17990
17991         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
17992         * m4/savedir.m4:
17993         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
17994         macros into the GNU _D_EXACT_NAMLEN.
17995
17996 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17997
17998         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
17999         around the absolute name, to work around a problem with the HP-UX
18000         11.23 native C compiler, reported by Bob Proulx.
18001
18002 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18003
18004         * doc/maintain.texi, make-stds.texi: Sync from
18005         <http://savannah.gnu.org/projects/gnustandards>.
18006
18007 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18008
18009         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
18010
18011 2006-07-09  Jim Meyering  <jim@meyering.net>
18012
18013         * m4/glob.m4: Remove a doubled word in a comment.
18014
18015 2006-07-09  Jim Meyering  <jim@meyering.net>
18016
18017         * lib/argp-pv.c: Remove a doubled word in a comment.
18018         * lib/check-version.c (check_version): Likewise.
18019         * lib/javacomp.c (compile_java_class): Likewise.
18020
18021 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
18022
18023         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
18024         for the benefit of people using Autoconf 2.60.  If you want to
18025         support older Autoconf versions you can copy m4/onceonly_2_57.m4
18026         (or m4/onceonly.m4, if pre-2.57) manually.
18027
18028 2006-07-08  Jim Meyering  <jim@meyering.net>
18029
18030         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
18031         comment.
18032         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
18033         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
18034         comment.
18035
18036 2006-07-08  Jim Meyering  <jim@meyering.net>
18037
18038         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
18039
18040 2006-07-07  Simon Josefsson  <jas@extundo.com>
18041
18042         * tests/test-crc.c: Change expected crc value, the test vector
18043         were probably computed using the old broken crc.c?
18044
18045 2006-07-06  Simon Josefsson  <jas@extundo.com>
18046
18047         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
18048         now the canonical place for the M4 file).
18049
18050         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
18051         from the sys_socket dependency now.
18052
18053         * modules/inet_pton (Files): Ditto.
18054
18055         * modules/inet_ntop (Files): Ditto.
18056
18057 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
18058
18059         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
18060         not gl_PREREQ_GETUSERSHELL.
18061
18062 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18063
18064         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
18065         with only one argument, for Autoconf 2.60.
18066         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
18067         expand to nothing, so add a shell command to avoid syntax error.
18068         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
18069
18070 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18071
18072         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
18073
18074 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18075
18076         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
18077         no longer needed.  Check for isblank decl.
18078         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
18079         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
18080         of existence.
18081
18082 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18083
18084         * lib/getloadavg.c: Use __VMS, not VMS.
18085         * lib/getopt.c: Likewise.
18086         * lib/getpagesize.h: Likewise.
18087         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
18088         and probably does not work.
18089
18090 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18091
18092         * lib/.cppi-disable: Add wcwidth.
18093         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
18094         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
18095         (ISGRAPH): Remove.  All uses changed to isgraph.
18096         (FOLD) [!defined _LIBC]: Remove special case.
18097         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
18098         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
18099         HAVE_ISBLANK.
18100         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
18101         case.
18102
18103 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
18104
18105         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
18106         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
18107         brackets.  Other minor changes to suppress some compiler
18108         warnings.
18109
18110 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18111         and Paul Eggert  <eggert@cs.ucla.edu>
18112
18113         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
18114         of invoking obsolescent AC_HEADER_DIRENT macro.
18115         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
18116         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
18117         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18118         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18119         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
18120         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
18121         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
18122         * m4/readdir.m4: Remove; no longer needed.
18123
18124 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18125         and Paul Eggert  <eggert@cs.ucla.edu>
18126
18127         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
18128         Don't worry about this obsolete case any more.
18129         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
18130         directories.
18131         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
18132         worry about this obsolete case any more.
18133         * lib/fts.c: Likewise.
18134         * lib/getcwd.c: Likewise.
18135         * lib/glob.h: Likewise.
18136         * lib/savedir.c: Likewise.
18137
18138 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18139
18140         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
18141         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
18142         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
18143         needed.
18144         All uses removed.
18145         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18146         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18147         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
18148         needed.
18149         * m4/getdate.m4 (gl_GETDATE): Likewise.
18150         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
18151         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
18152         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18153         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18154         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18155         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18156         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
18157         needed.
18158
18159 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18160
18161         * lib/memcasecmp.c: Include <limits.h>.
18162         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
18163         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
18164         Don't assume isdigit succeeds only on '0' through '9'.
18165
18166 2006-07-05  Eric Blake  <ebb9@byu.net>
18167
18168         * modules/getaddrinfo (Depends-on): Add snprintf.
18169
18170 2006-07-05  Eric Blake  <ebb9@byu.net>
18171
18172         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
18173         to avoid 'header present but could not be compiled' on cygwin.
18174
18175 2006-07-05  Eric Blake  <ebb9@byu.net>
18176
18177         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
18178         missing from netdb.h.
18179         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
18180
18181 2006-07-05  Derek R. Price  <derek@ximbiot.com>
18182
18183         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
18184         no longer needed.
18185         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
18186         * m4/getdate.m4 (gl_GETDATE): Likewise.
18187         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
18188         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
18189         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18190         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18191         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18192
18193 2006-07-05  Derek R. Price  <derek@ximbiot.com>
18194
18195         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
18196         All uses of is_space replaced by isspace.
18197         * lib/exit.h: Don't talk about STDC_HEADERS.
18198         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
18199         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
18200         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
18201         replaced by isprint etc.
18202         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
18203         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
18204         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
18205         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
18206         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
18207         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
18208
18209 2006-07-05  Bruno Haible  <bruno@clisp.org>
18210
18211         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
18212         the function exists, before testing against AIX.
18213         Reported by Martin Lambers <marlam@marlam.de>.
18214
18215 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18216
18217         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
18218         From Mark D. Baushke.
18219
18220 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18221
18222         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
18223         to the absolute name, not just one, to bypass Sun C 5.8's
18224         "warning: #include of /usr/include/... may be non-portable".
18225
18226 2006-07-04  Eric Blake  <ebb9@byu.net>
18227
18228         * modules/dirname-tests: New test module.
18229         * tests/test-dirname.c: New file, replacing dirname.c
18230         TEST_DIRNAME section that was recently deleted.
18231
18232 2006-07-04  Bruno Haible  <bruno@clisp.org>
18233
18234         Assume ANSI C header files and <ctype.h> functions.
18235         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
18236         (mbsnwidth): Use isprint, iscntrl instead.
18237
18238 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18239
18240         Merge from coreutils.
18241         * MODULES.html.sh: Add xstrtold.
18242         * modules/xstrtold: New file.
18243         * modules/cycle-check (Files): Add lib/same-inode.h.
18244         * modules/dirname (Files): Add m4/double-slash-root.m4.
18245         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
18246         * modules/mkdir-p (Files): Add lib/same-inode.h.
18247         * modules/same (Files): Add lib/same-inode.h.
18248
18249 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18250
18251         * m4/absolute-header.m4: Renamed from full-header-path.m4.
18252         This is to keep the terminology clean; POSIX talks about
18253         "absolute pathnames", not "full pathnames", but the GNU
18254         Coding Standards say to use "path" for something else;
18255         so use "absolute" to keep both sides happy.
18256         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
18257         Set gl_absolute_header, not gl_full_header_path.
18258         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
18259         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
18260         All uses changed.
18261
18262         Merge from coreutils.
18263
18264         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18265
18266         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
18267         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
18268         want to require the building of c-strtod.o.
18269         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
18270         needs -lm directly.
18271         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
18272
18273         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18274
18275         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
18276         --as-needed option if available.  Problem reported by Albert Chin in
18277         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
18278         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
18279         cc merely issues a bunch of annoying warnings for --as-needed
18280         (this problem was reported by Bob Proulx).  Also, try linking with
18281         -lm to detect a bug in binutils 2.16 (this problem was reported
18282         by Ralf Wildenhues).
18283
18284         2006-06-18  Jim Meyering  <jim@meyering.net>
18285
18286         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
18287         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
18288         macro.
18289         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
18290         also check for glibc-2.4's abort-inducing bug.
18291
18292         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
18293         Low-probability clean-up should be to use rmdir to get rid of
18294         the just-created directory, not unlink.
18295
18296         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
18297         configure fail, and request a bug report to inform us about it.
18298         Add a comment that, barring reports to the contrary, in 2007 we'll
18299         assume ftruncate is universally available.
18300
18301         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
18302
18303         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
18304
18305         2006-03-12  Jim Meyering  <jim@meyering.net>
18306
18307         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
18308         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
18309         * m4/same.m4 (gl_SAME): Likewise.
18310         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
18311
18312         2006-03-11  Eric Blake  <ebb9@byu.net>
18313
18314         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
18315         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
18316         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
18317         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
18318
18319 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18320
18321         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
18322         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
18323         reported by Mark D. Baushke, one in
18324         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
18325
18326         Merge from coreutils.
18327
18328         * lib/.cppi-disable: Add stdint_.h.
18329         * lib/.cvsignore: Add stdint.h.
18330
18331         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18332
18333         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
18334         both double and long double versions.
18335         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
18336         * lib/xstrtold.c: New file.
18337         * lib/xstrtod.h (xstrtold): New decl.
18338
18339         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
18340
18341         * lib/filemode.c (setst): Remove.
18342         (strmode): Rewrite to avoid setst.  This makes the code shorter,
18343         (arguably) clearer, and the generated code is a bit smaller on my
18344         Debian GNU/Linux stable x86 host.
18345
18346         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
18347
18348         * lib/filemode.c: Include "filemode.h" first, to test the interface.
18349         Assume that filemode.h includes sys/types.h and sys/stat.h.
18350         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
18351         (ftypelet): Reorder to put common cases first, for efficiency.
18352         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
18353         to do 'M'.
18354         (strmode): Renamed from mode_string, and now stores 12 bytes instead
18355         of 10, for compatibility with FreeBSD.  All callers changed.
18356         (filemodestring): Now stores 12 bytes instead of 10, and sets file
18357         types that can't be deduced solely from st_mode.  First arg is now a
18358         const pointer.
18359         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
18360         (strmode): Renamed from mode_string.
18361         (filemodestring): New decl.
18362         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
18363         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
18364         needed.
18365         (S_ISPORT, S_ISWHT): New macros, if not already defined.
18366
18367         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
18368
18369         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
18370         fsusage.h now does that.  Include fsusage.h first, to test interface.
18371         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
18372         at most one method (the old code could have generated decls that
18373         didn't conform to C89, not that this was ever exercised).
18374         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
18375
18376         2006-03-19  Jim Meyering  <jim@meyering.net>
18377
18378         Work even in a chroot where d_ino values for entries in "/"
18379         don't match the stat.st_ino values for the same names.
18380         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
18381         number, iterate through all entries again, using lstat instead.
18382         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
18383         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
18384
18385         * lib/getcwd.c (__getcwd): Clarify a comment.
18386         Use memcpy in place of a call to strcpy.
18387
18388         2006-03-12  Jim Meyering  <jim@meyering.net>
18389
18390         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
18391         matches that of the current directory (which we're about to chdir ".."
18392         out of), then save the dev-ino of the parent, instead.
18393
18394         * lib/same-inode.h (SAME_INODE): New file/macro.
18395         * lib/chdir-safer.c (SAME_INODE): Remove definition.
18396         Include "same-inode.h", instead.
18397         * lib/same.c: Likewise.
18398         * lib/cycle-check.h: Include "same-inode.h".
18399         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
18400         * lib/cycle-check.c (SAME_INODE): Remove definition.
18401         * lib/root-dev-ino.h: Include "same-inode.h".
18402
18403         2006-03-11  Eric Blake  <ebb9@byu.net>
18404
18405         * lib/same.c (same_name): s/base_name/last_component/
18406         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
18407         * lib/filenamecat.c (file_name_concat): Likewise.
18408
18409         2006-03-11  Eric Blake  <ebb9@byu.net>,
18410                     Paul Eggert  <eggert@cs.ucla.edu>
18411
18412         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
18413         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
18414         drive prefix.
18415         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
18416         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
18417         (last_component): New method.
18418         * lib/dirname.c (dir_len): Determine when drive letters need a
18419         subsequent slash.  Preserve // when it is special.
18420         (dir_name): Don't append dot when drive letter is absolute.
18421         [TEST_DIRNAME]: Move into a full-blown gnulib test.
18422         * lib/basename.c (base_name): New semantics - malloc the result.
18423         Preserve // when it is special.  Preserve relative files that look
18424         like drive letters.
18425         (base_len): Preserve // when it is special.
18426         (last_component): New method, similar to old base_name semantics.
18427         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
18428         base_name.  Strip redundant slashes from ///.
18429
18430 2006-07-03  Jim Meyering  <jim@meyering.net>
18431
18432         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
18433         macro is used before the first cycle_check call.
18434
18435 2006-07-03  Eric Blake  <ebb9@byu.net>
18436
18437         * modules/dirname (Depends-on): Add xstrndup.
18438
18439 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18440
18441         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
18442         test cases, so that config.log is a bit easier to follow.
18443
18444 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18445
18446         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
18447         both are 64 bits, since this seems to be the tradition, and this
18448         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
18449         we ever run into a host that prefers long long to long in this
18450         case, we'll need another configure-time test.  Problem reported by
18451         Jim Meyering.
18452
18453 2006-07-02  Eric Blake  <ebb9@byu.net>
18454
18455         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
18456
18457 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18458
18459         * modules/inttypes (Depends-on): No longer depends on stdint.
18460         * modules/stdint (Description): Say more about assumptions.
18461         Say that the fast types might differ.  Say macros are used.
18462         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
18463         (Makefile.am): Revise list of substituted symbols to match
18464         new stdint.m4.
18465         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
18466         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
18467         * tests/test-stdint.c (verify_same_types)
18468         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
18469         the code conforms to C99/C89.
18470         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
18471         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
18472
18473 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18474
18475         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
18476         but fix a bug, by requiring at least 64 bits.
18477         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
18478         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
18479         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
18480         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
18481
18482         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
18483         changes.  Make 2.59 a prerequisite.  Check and substitute for
18484         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
18485         inttypes.h.  Do not use special include files; just use the
18486         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
18487         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
18488         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
18489         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
18490         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
18491         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
18492         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
18493         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
18494         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
18495         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
18496         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
18497         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
18498         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
18499         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
18500         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
18501         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
18502         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
18503         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
18504         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
18505         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
18506         WINT_MAX.  Check for C99 conformance more strictly, by detecting
18507         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
18508         not check for things that C99 does not require, e.g., int8_t.  If
18509         a test isn't needed unless <stdint.h> isn't working, and is
18510         unlikely to be needed for any other reason, then don't do it
18511         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
18512         size_t, since we assume C89 freestanding at least.  Do not check
18513         for sig_atomic_t, wchar_t, or wint_t, since the code now does
18514         the right thing even if the types are not defined.  Instead use:
18515         (gl_STDINT_TYPE_PROPERTIES): New macro.
18516         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
18517         testing whether <sys/types.h> clashes, as Autoconf does this for
18518         us now.  All uses removed.
18519         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
18520         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
18521         (gl_CHECK_TYPE_SAME):
18522         Remove; no longer needed.
18523         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
18524         exists, since we'll return 0 anyway in that case.
18525         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
18526
18527 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18528
18529         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
18530         possible collision with system files.
18531         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
18532         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
18533         WCHAR_MIN and WCHAR_MAX in this case.
18534         (<stddef.h>): Do not include; no longer needed.
18535         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
18536         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
18537         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
18538         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
18539         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
18540         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
18541         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
18542         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
18543         !defined(__c99))]: Include in this case too, since it's harmless
18544         now.
18545         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
18546         dangerous to do so.
18547         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
18548         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
18549         (_STDINT_MIN, _STDINT_MAX): New macros.
18550         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
18551         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
18552         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
18553         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
18554         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
18555         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
18556         macros, not typedefs; this simplifies things quite a bit.
18557         Use long int for all types narrower than int64_t.
18558         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
18559         Define in terms of long long int or int64_t or long int,
18560         not int64_t or int32_t.  This saves some compile-time testing.
18561         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
18562         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
18563         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
18564         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
18565         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
18566         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
18567         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
18568         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
18569         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
18570         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
18571         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
18572         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
18573         undef any previous version and define our own version, for
18574         simplicity and consistency with the new macros for types.
18575         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
18576         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
18577         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
18578         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
18579         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
18580         @WINT_T_SUFFIX@ to keep things simple here.
18581         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
18582         Simplify by assuming typical 8/16/32/64 host, since we're
18583         already doing that elsewhere anyway.
18584         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
18585         and assume long long int is 64 bits if available.  This
18586         speeds up 'configure'.
18587
18588 2006-07-01  Eric Blake  <ebb9@byu.net>
18589
18590         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
18591         Reported by Andreas Buening.
18592
18593 2006-07-01  Eric Blake  <ebb9@byu.net>
18594
18595         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
18596
18597 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
18598
18599         * lib/getaddrinfo.c: fixed typo
18600
18601 2006-06-29  Jim Meyering  <jim@meyering.net>
18602
18603         * modules/strftime (Maintainer): Add my name, since with the
18604         FPRINTFTIME changes strftime.c has forked from glibc.
18605
18606 2006-06-29  Eric Blake  <ebb9@byu.net>
18607
18608         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
18609
18610 2006-06-29  Eric Blake  <ebb9@byu.net>
18611
18612         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
18613
18614 2006-06-29  Eric Blake  <ebb9@byu.net>
18615
18616         * lib/stat_.h: New file.
18617
18618 2006-06-29  Eric Blake  <ebb9@byu.net>
18619
18620         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
18621         unused static function.
18622
18623 2006-06-29  Eric Blake  <ebb9@byu.net>
18624
18625         * doc/functions.texi (Function Portability): Document missing lstat
18626         on mingw.
18627
18628 2006-06-29  Eric Blake  <ebb9@byu.net>
18629
18630         * MODULES.html.sh: Add sys_stat.
18631         * modules/sys_stat: New module.
18632         * modules/mkstemp (Depends-on): Add sys_stat.
18633
18634 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18635
18636         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
18637
18638 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18639
18640         * m4/c-bs-a.m4: Removed.
18641
18642 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18643
18644         * lib/strftime.c: Assume strftime() exists.
18645
18646 2006-06-29  Derek Price  <derek@ximbiot.com>
18647
18648         * modules/c-bs-a: Removed - \a is C89.
18649         * MODULES.html.sh: Remove c-bs-a.
18650
18651 2006-06-29  Bruno Haible  <bruno@clisp.org>
18652
18653         * modules/wcwidth (License): Change to LGPL.
18654
18655 2006-06-28  Simon Josefsson  <jas@extundo.com>
18656
18657         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
18658         on _WIN32.
18659
18660         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
18661         getnameinfo.
18662
18663 2006-06-28  Simon Josefsson  <jas@extundo.com>
18664
18665         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
18666
18667 2006-06-28  Simon Josefsson  <jas@extundo.com>
18668
18669         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
18670         functions there.  It will succeed on Windows XP, but on Windows
18671         2000 and (presumably) earlier, it will fail, and use the internal
18672         re-implementation.
18673         (use_win32_p): New function.
18674         (getaddrinfo): Use strtoul on servname, to support numeric ports.
18675         Support AI_NUMERICSERV to disable getservbyname.
18676         (getnameinfo): New function, only supports
18677         NI_NUMERICHOST|NI_NUMERICSERV for now.
18678
18679         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
18680         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
18681         getnameinfo.
18682
18683 2006-06-28  Eric Blake  <ebb9@byu.net>
18684
18685         * modules/wcwidth: New file.
18686         * modules/mbchar (Depends-on): Add wcwidth.
18687         * modules/mbswidth (Depends-on): Add wcwidth.
18688         * MODULES.html.sh: Add wcwidth.
18689
18690 2006-06-28  Eric Blake  <ebb9@byu.net>
18691
18692         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
18693         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
18694
18695 2006-06-28  Eric Blake  <ebb9@byu.net>
18696
18697         * lib/xvasprintf.h: Fix comments.
18698
18699 2006-06-28  Eric Blake  <ebb9@byu.net>
18700
18701         * lib/mbchar.h (wcwidth): Include wcwidth.h.
18702         * lib/mbswidth.c (wcwidth): Move from here...
18703         * lib/wcwidth.h: ...to this new file.
18704
18705 2006-06-28  Derek R. Price  <derek@ximbiot.com>
18706
18707         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
18708
18709         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
18710         it's obsolete.
18711         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
18712
18713 2006-06-28  Derek R. Price  <derek@ximbiot.com>
18714
18715         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
18716         Autoconf 2.60 says this stuff was obsolete.
18717
18718 2006-06-28  Bruno Haible  <bruno@clisp.org>
18719
18720         * modules/wcwidth (Files): Add m4/wchar_t.m4.
18721
18722 2006-06-28  Bruno Haible  <bruno@clisp.org>
18723
18724         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
18725         gt_TYPE_WCHAR_T.
18726
18727 2006-06-28  Bruno Haible  <bruno@clisp.org>
18728
18729         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
18730         declaration for wcwidth.
18731         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
18732
18733 2006-06-28  Bruno Haible  <bruno@clisp.org>
18734
18735         * lib/mkdtemp.c [MINGW]: Include <io.h>.
18736         (mkdir): Define using _mkdir.
18737
18738 2006-06-28  Bruno Haible  <bruno@clisp.org>
18739
18740         * lib/getaddrinfo.h: Fix POSIX URL.
18741         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
18742         _WIN32.
18743         (use_win32_p): Make static.
18744         (getaddrinfo): Reject service name if it is empty or does not consist
18745         solely of decimal digits, or if its value is > 65535.
18746         (getnameinfo): Remove useless casts.
18747
18748 2006-06-27  Simon Josefsson  <jas@extundo.com>
18749
18750         * modules/sys_select: New file, suggested by Bruno Haible, Paul
18751         Eggert and Martin Lambers.
18752
18753 2006-06-27  Simon Josefsson  <jas@extundo.com>
18754
18755         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
18756         Eggert and Martin Lambers.
18757
18758 2006-06-27  Bruno Haible  <bruno@clisp.org>
18759
18760         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
18761         result to 0, not to empty.
18762         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
18763
18764 2006-06-27  Bruno Haible  <bruno@clisp.org>
18765
18766         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
18767
18768 2006-06-26  Simon Josefsson  <jas@extundo.com>
18769
18770         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
18771         present.
18772
18773 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
18774
18775         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
18776         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
18777         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
18778
18779 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
18780
18781         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
18782
18783 2006-06-26  Bruno Haible  <bruno@clisp.org>
18784
18785         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
18786
18787 2006-06-26  Bruno Haible  <bruno@clisp.org>
18788
18789         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
18790
18791 2006-06-26  Bruno Haible  <bruno@clisp.org>
18792
18793         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
18794         SGI C compiler in pre-C99 mode.
18795         Suggested by Mark D. Baushke and Larry Jones.
18796
18797 2006-06-26  Bruno Haible  <bruno@clisp.org>
18798
18799         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
18800         WCHAR_MAX.
18801         Reported by Mark D. Baushke and Larry Jones.
18802
18803 2006-06-26  Bruno Haible  <bruno@clisp.org>
18804
18805         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
18806         in pre-C99 mode.
18807         Suggested by Mark D. Baushke and Larry Jones.
18808
18809 2006-06-23  Simon Josefsson  <jas@extundo.com>
18810             Bruno Haible  <bruno@clisp.org>
18811
18812         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
18813         Emit mostlyclean-local rule.
18814         (func_emit_tests_Makefile_am): Likewise.
18815         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
18816
18817 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
18818
18819         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
18820
18821 2006-06-23  Bruno Haible  <bruno@clisp.org>
18822
18823         * tests/test-stdint.c: Update to match ISO C 99 Technical
18824         Corrigendum 1.
18825
18826 2006-06-23  Bruno Haible  <bruno@clisp.org>
18827
18828         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
18829
18830 2006-06-23  Bruno Haible  <bruno@clisp.org>
18831
18832         * lib/stdint_.h: Treat IRIX like OpenBSD.
18833
18834 2006-06-23  Bruno Haible  <bruno@clisp.org>
18835
18836         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
18837         ISO C 99 Technical Corrigendum 1.
18838
18839 2006-06-22  Simon Josefsson  <jas@extundo.com>
18840
18841         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
18842         MinGW.
18843
18844 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18845
18846         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
18847         needed.  Some compiler complained about some of them.  Problem reported
18848         by Larry Jones in
18849         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
18850
18851 2006-06-21  Simon Josefsson  <jas@extundo.com>
18852
18853         * tests/test-getaddrinfo.c: New file.
18854
18855         * modules/getaddrinfo-tests: New file.
18856
18857         * MODULES.html.sh: Add inet_pton.
18858
18859         * modules/inet_pton: New file.
18860
18861 2006-06-21  Simon Josefsson  <jas@extundo.com>
18862
18863         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
18864         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
18865         of using the (limited) gnulib implementation on Windows XP.
18866
18867         * m4/inet_pton.m4: New file.
18868
18869 2006-06-21  Simon Josefsson  <jas@extundo.com>
18870
18871         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
18872         variable.
18873
18874         * lib/socket_.h: Don't define WINVER.
18875
18876         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
18877         slightly modified to work in gnulib.
18878
18879 2006-06-21  Simon Josefsson  <jas@extundo.com>
18880
18881         * doc/gnulib.texi (Windows sockets): Add.
18882
18883 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18884
18885         * lib/read-file.c (fread_file): Start with buffer allocation of
18886         0 bytes rather than 1 byte; this simplifies the code.
18887         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
18888         code to free buffer and save/restore errno.
18889         (internal_read_file): Remove unused local.
18890
18891 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18892
18893         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
18894         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
18895         Problem reported by Denis Excoffier in
18896         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
18897
18898 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18899
18900         * modules/sys_socket, modules/socklen: Include sys/types since
18901         FreeBSD 4.x's sys/socket.h needs it.
18902
18903 2006-06-19  Simon Josefsson  <jas@extundo.com>
18904
18905         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
18906
18907 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18908
18909         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
18910
18911 2006-06-19  Bruno Haible  <bruno@clisp.org>
18912
18913         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
18914         and FULL_PATH_INTTYPES_H in angle brackets.
18915         Reported by Mark D. Baushke <mdb@gnu.org>.
18916
18917 2006-06-17  Eric Blake  <ebb9@byu.net>
18918
18919         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
18920         errno.
18921
18922 2006-06-17  Bruno Haible  <bruno@clisp.org>
18923
18924         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
18925         <sys/inttypes.h>.
18926
18927 2006-06-17  Bruno Haible  <bruno@clisp.org>
18928
18929         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
18930         whether errno is declared. Assume <errno.h> declares errno.
18931
18932 2006-06-17  Bruno Haible  <bruno@clisp.org>
18933
18934         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
18935
18936 2006-06-17  Bruno Haible  <bruno@clisp.org>
18937
18938         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
18939         problem on Solaris 2.5.1.
18940
18941 2006-06-16  Eric Blake  <ebb9@byu.net>
18942
18943         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
18944         * lib/unicodeio.c [!defined errno]: Likewise.
18945         * lib/strtol.c [!defined errno]: Likewise.
18946         * lib/strtod.c [!defined errno]: Likewise.
18947
18948 2006-06-15  Eric Blake  <ebb9@byu.net>
18949
18950         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
18951
18952 2006-06-15  Eric Blake  <ebb9@byu.net>
18953
18954         * config/srclist.txt (ssize_t.m4): Lose sync.
18955
18956 2006-06-15  Bruno Haible  <bruno@clisp.org>
18957
18958         * modules/stdint (Files): Include m4/full-header-path.m4,
18959         m4/size_max.m4, m4/wchar_t.m4.
18960         (Makefile.am): Many more substitutions.
18961         * modules/stdint-tests: New file.
18962         * tests/test-stdint.c: New file.
18963
18964 2006-06-15  Bruno Haible  <bruno@clisp.org>
18965
18966         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
18967         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
18968         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
18969         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
18970         gl_CHECK_TYPE_SAME): New macros.
18971
18972 2006-06-15  Bruno Haible  <bruno@clisp.org>
18973
18974         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
18975
18976 2006-06-15  Bruno Haible  <bruno@clisp.org>
18977
18978         * lib/stdint_.h: Rewritten to be fully auto-configured.
18979         Fixes bug on HP-UX/IA64.
18980
18981 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18982
18983         * lib/getdate.y (__attribute__): Don't define if already defined.
18984         Problem reported by Larry Jones.
18985         * lib/utimens.c (__attribute__): Likewise.
18986
18987 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
18988
18989         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
18990         reported by Andreas Schwab.
18991
18992 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18993             Bruno Haible  <bruno@clisp.org>
18994
18995         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
18996         check for the declaration of strnlen and a run test that exposes the
18997         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
18998         rpl_strndup.
18999
19000 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19001             Bruno Haible  <bruno@clisp.org>
19002
19003         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
19004
19005 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19006
19007         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
19008         compile test, for Tru64 4.0D.
19009
19010 2006-05-28  Karl Berry  <karl@gnu.org>
19011
19012         * config/srclist.txt (printf-args.c): lose sync.
19013
19014 2006-05-26  Martin Lambers  <marlam@marlam.de>
19015
19016         * lib/getpass.c: Updates the test for the native W32 API, and adds
19017         missing includes, thus fixing compilation warnings.
19018
19019 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19020
19021         * lib/exclude.c (exclude_fnmatch): New function.
19022         (excluded_file_name): Call exclude_fnmatch.
19023         * lib/exclude.h (excluded_file_name): New prototype
19024
19025 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
19026
19027         * lib/tempname.c (small_open, large_open): New macros.
19028         (__open, __open64) [!_LIBC]: Remove.
19029         (__gen_tempname): Use small_open and large_open instead of __open
19030         and __open64.  This fixes a portability bug on HP-UX 11.11i
19031         reported by Simon Wing-Tang in
19032         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
19033
19034 2006-05-24  Bruno Haible  <bruno@clisp.org>
19035
19036         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
19037         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
19038         Reported by Thorsten Maerz <torte@netztorte.de> via
19039         Aaron Stone <aaron@serendipity.cx>.
19040
19041 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19042
19043         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
19044         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
19045         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
19046         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
19047         not really conditional on the cache.
19048         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
19049
19050 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19051
19052         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
19053         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
19054         (my_usleep): Don't mishandle maximum value.
19055
19056 2006-05-19  Jim Meyering  <jim@meyering.net>
19057
19058         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
19059
19060 2006-05-17  Bruno Haible  <bruno@clisp.org>
19061
19062         Cygwin portability.
19063         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
19064
19065 2006-05-17  Bruno Haible  <bruno@clisp.org>
19066
19067         * lib/stdint_.h: Fix recognition of Cygwin.
19068
19069 2006-05-15  Bruno Haible  <bruno@clisp.org>
19070
19071         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
19072         on libtool patch by Ralf Wildenhues.
19073
19074 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19075
19076         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
19077         test for C99 conformance; (bool) 0.5 is an integer constant
19078         expression, but (bool) -0.5 is not.  Problem reported by Fedor
19079         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
19080
19081 2006-05-11  Simon Josefsson  <jas@extundo.com>
19082
19083         * m4/xvasprintf.m4: Fix obvious typo.
19084
19085 2006-05-11  Jim Meyering  <jim@meyering.net>
19086
19087         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
19088         James Lemley.
19089
19090 2006-05-10  Simon Josefsson  <jas@extundo.com>
19091
19092         * lib/md4.c: Typo fix, update copyright years.
19093         (K1, K2): Don't use L because it turn computations into 64-bit on
19094         64-bit platforms.
19095
19096 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
19097
19098         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
19099         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
19100         unwanted sign propagation, e.g., on hosts with 64-bit int.
19101         There still are some problems with reeelly weird theoretical hosts
19102         (e.g., 33-bit int) but it's not worth worrying about now.
19103         * lib/sha1.c (rol): Likewise.
19104         (K1, K2, K3, K4): Remove unnecessary L suffix.
19105
19106 2006-05-10  Bruno Haible  <bruno@clisp.org>
19107
19108         * lib/des.c: Cast to avoid warnings.
19109
19110 2006-05-09  Bruno Haible  <bruno@clisp.org>
19111
19112         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
19113         (Depends-on): Depend also on xsize, stdarg.
19114         (configure.ac): Add gl_XVASPRINTF.
19115
19116 2006-05-09  Bruno Haible  <bruno@clisp.org>
19117
19118         * m4/xvasprintf.m4: New file.
19119
19120 2006-05-09  Bruno Haible  <bruno@clisp.org>
19121
19122         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
19123         (EOVERFLOW): Define fallback value.
19124         (xstrcat): New function.
19125         (xvasprintf): Recognize the special case of a string concatenation.
19126
19127 2006-05-08  Eric Blake  <ebb9@byu.net>
19128
19129         * gnulib-tool (func_version): Base copyright year on CVS date.
19130         (func_emit_copyright_notice): New function.
19131         (func_emit_lib_Makefile_am): Use it.
19132         (func_emit_tests_Makefile_am): Likewise.
19133         (func_import): Likewise.
19134
19135 2006-05-08  Bruno Haible  <bruno@clisp.org>
19136
19137         * modules/stdarg: New file.
19138         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
19139
19140 2006-05-08  Bruno Haible  <bruno@clisp.org>
19141
19142         * m4/stdarg.m4: New file, from GNU gettext.
19143
19144 2006-05-08  Bruno Haible  <bruno@clisp.org>
19145
19146         * config/srclist.txt (build-aux/config.rpath): different from latest
19147         release.
19148
19149 2006-05-08  Bruno Haible  <bruno@clisp.org>
19150
19151         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
19152
19153 2006-05-05  Jim Meyering  <jim@meyering.net>
19154
19155         * m4/warning.m4: New file, derived from bison's file by the same name.
19156
19157 2006-05-03  Bruno Haible  <bruno@clisp.org>
19158
19159         * lib/stdint_.h: Shorter URL.
19160         * lib/inttypes.h: Likewise.
19161
19162 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19163
19164         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
19165
19166 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19167
19168         * lib/verify.h: Document the internals better.  Most of this change
19169         was written by Bruno Haible.
19170
19171 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19172
19173         * doc/verify.texi: New file, partly based on a proposal by
19174         Bruno Haible.
19175
19176 2006-05-02  Bruno Haible  <bruno@clisp.org>
19177
19178         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
19179         test from here...
19180         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
19181
19182 2006-04-29  Bruno Haible  <bruno@clisp.org>
19183
19184         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
19185         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
19186
19187 2006-04-29  Bruno Haible  <bruno@clisp.org>
19188
19189         * gnulib-tool: Make --update option actually work.
19190
19191 2006-04-29  Bruno Haible  <bruno@clisp.org>
19192
19193         * doc/gcd.texi: New file.
19194         * doc/gnulib.texi: Include it.
19195
19196 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19197
19198         * lib/getdate.y (get_date): When adding relative date, start with the
19199         initial time, not with the result of the first mktime call.
19200
19201 2006-04-25  Bruno Haible  <bruno@clisp.org>
19202
19203         * gnulib-tool (func_import): Output the include directives in three
19204         blocks, sorted separately.
19205         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19206
19207 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19208
19209         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
19210         to define main with arguments, for C++.  Reported by Eric Blake.
19211         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
19212         Prefer 'int main ()' to 'int main (void)', for C++.
19213         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
19214         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
19215         for 'main', for C99 and C++.
19216
19217 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19218
19219         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
19220         Don't assume that exit status -1 is valid.
19221         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19222         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
19223         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
19224         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
19225         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
19226         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
19227         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
19228         functions can be used without declaring them, or that you can
19229         exit with status -1.
19230         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
19231
19232 2006-04-24  Karl Berry  <karl@gnu.org>
19233
19234         * config/srclist.txt (longdouble.m4): sync lost.
19235
19236 2006-04-24  Eric Blake  <ebb9@byu.net>
19237
19238         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
19239
19240 2006-04-24  Bruno Haible  <bruno@clisp.org>
19241
19242         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
19243         poll() implementation in AIX.
19244         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19245
19246 2006-04-24  Bruno Haible  <bruno@clisp.org>
19247
19248         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
19249         assigned exactly once.
19250
19251 2006-04-23  Claudio Fontana  <claudio@gnu.org>
19252             Bruno Haible  <bruno@clisp.org>
19253
19254         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
19255         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
19256         for AM_CPPFLAGS.
19257
19258 2006-04-23  Bruno Haible  <bruno@clisp.org>
19259
19260         * modules/copy-file: Depend on unistd.
19261         * modules/execute: Likewise.
19262         * modules/fatal-signal: Likewise.
19263         * modules/findprog: Likewise.
19264         * modules/mkdtemp : Likewise.
19265         * modules/pipe: Likewise.
19266         * modules/wait-process: Likewise.
19267
19268 2006-04-23  Bruno Haible  <bruno@clisp.org>
19269
19270         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
19271         condition was already detected.
19272         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19273
19274 2006-04-23  Bruno Haible  <bruno@clisp.org>
19275
19276         * lib/copy-file.c: Include <unistd.h> unconditionally.
19277         * lib/execute.c: Likewise.
19278         * lib/fatal-signal.c: Likewise.
19279         * lib/findprog.c: Likewise.
19280         * lib/mkdtemp.c: Likewise.
19281         * lib/pipe.h: Likewise.
19282         * lib/pipe.c: Likewise.
19283         * lib/wait-process.h: Likewise.
19284
19285 2006-04-23  Bruno Haible  <bruno@clisp.org>
19286
19287         * gnulib-tool (func_usage): Fix --import description. Document
19288         --update.
19289         (func_import): Create temporary file in a temporary directory, if
19290         --dry-run is specified. Silence errors from 'grep' when there are no
19291         m4 files in $m4dir.
19292         (func_create_testdir): Silence errors from 'grep' when there are no
19293         m4 files in $m4dir.
19294         Reported by Karl Berry <karl@freefriends.org>.
19295
19296 2006-04-20  Bruno Haible  <bruno@clisp.org>
19297
19298         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
19299         one argument, so that the code will be portable to Autoconf 2.60.
19300         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
19301         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
19302         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
19303
19304 2006-04-19  Derek Price  <derek@ximbiot.com>
19305             Eric Blake  <ebb9@byu.net>
19306
19307         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
19308         rather than "/full/path.h".  Update comment to match.  Shorten &
19309         generalize m4_translit call via AS_TR_CPP.
19310
19311 2006-04-19  Derek Price  <derek@ximbiot.com>
19312             Eric Blake  <ebb9@byu.net>
19313
19314         * lib/inttypes.h: Correct grammar in comment.
19315
19316 2006-04-18  Derek Price  <derek@ximbiot.com>
19317             Paul Eggert  <eggert@cs.ucla.edu>
19318
19319         * modules/inttypes: New file.
19320         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
19321
19322 2006-04-18  Derek Price  <derek@ximbiot.com>
19323             Paul Eggert  <eggert@cs.ucla.edu>
19324
19325         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
19326         New files.
19327
19328 2006-04-18  Derek Price  <derek@ximbiot.com>
19329             Paul Eggert  <eggert@cs.ucla.edu>
19330
19331         * lib/inttypes.h: New file.
19332         * lib/strtoimax.c: Assume <inttypes.h>.
19333
19334 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
19335
19336         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
19337         isn't mounted.  Problem reported by Kir Kolyshkin.
19338
19339 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
19340
19341         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
19342         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
19343         Derek R. Price.
19344         * lib/regex.h (RE_DUP_MAX): Update comment to match current
19345         implementation.
19346
19347 2006-04-12  Eric Blake  <ebb9@byu.net>
19348
19349         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
19350         is now done automatically by the corresponding Autoconf macro.
19351
19352 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
19353
19354         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
19355         time_r.h.
19356
19357 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19358
19359         Merge regex changes from libc, removing some of our
19360         POSIX-conformance changes that were rejected and redoing them in a
19361         less-intrusive way.
19362
19363         * lib/regcomp.c (re_compile_internal, init_dfa):
19364         Length arg is now size_t, not Idx.  All uses changed.
19365         (peek_token): Forward decl now says internal_function.
19366         (__re_error_msgid, __re_error_msgid_idx):
19367         Now static rather than extern with attribute_hidden.
19368         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
19369         For some reason libc prefers K&R style defns for external functions.
19370         (regerror) [!defined _LIBC]: Likewise.
19371         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
19372         (seek_collating_symbol_entry, lookup_collation_sequence_value):
19373         (build_range_exp, build_collating_symbol):
19374         Use K&R-style defn.
19375         (re_compile_fastmap): Use '\0' to memset, not 0.
19376         (utf8_sb_map): Make the calculations more obvious.
19377         (init_dfa, parse_bracket_exp, build_charclass_op):
19378         Call calloc and cast result, as glibc does.
19379         (init_word_char, fetch_token, peek_token, peek_token_bracket):
19380         (build_range_exp, build_collating_symbol):
19381         Now internal functions.
19382
19383         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
19384
19385         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
19386         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
19387         Don't depend on VMS; depend on __VMS instead, for POSIX
19388         namespace cleanness.
19389         (regoff_t): Define to ssize_t, not long int.
19390
19391         Remove the REG_ macros named below.  Instead, make the old names
19392         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
19393         __USE_GNU_REGEX.
19394         (REG_BACKSLASH_ESCAPE_IN_LISTS):
19395         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
19396         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
19397         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
19398         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
19399         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
19400         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
19401         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
19402         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
19403         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
19404         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
19405         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
19406         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
19407         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
19408         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
19409         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
19410         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
19411         (REG_NREGS):
19412         Remove.  All uses replaced by the old RE_* names.
19413         (RE_BACKSLASH_ESCAPE_IN_LISTS):
19414         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
19415         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
19416         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
19417         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
19418         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
19419         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
19420         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
19421         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
19422         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
19423         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
19424         Don't bother having these macros be independent of each others'
19425         values, since they no longer exist in the POSIX name space.
19426
19427         Rename the following member names back to their old names,
19428         unless !__USE_GNU_REGEX.  All uses changed back.
19429         (buffer): Renamed from re_buffer.
19430         (allocated): Renamed from re_allocated.
19431         (used): Renamed from re_used.
19432         (syntax): Renamed from re_syntax.
19433         (fastmap): Renamed from re_fastmap.
19434         (translate): Renamed from re_translate.
19435         (can_be_null): Renamed from re_can_be_null.
19436         (regs_allocated): Renamed from re_regs_allocated.
19437         (fastmap_accurate): Renamed from re_fastmap_accurate.
19438         (no_sub): Renamed from re_no_sub.
19439         (not_bol): Renamed from re_not_bol.
19440         (not_eol): Renamed from re_not_eol.
19441         (newline_anchor): Renamed from re_newline_anchor.
19442         (num_regs): Renamed from rm_num_regs.
19443         (start): Renamed from rm_start.
19444         (end): Renamed from rm_end.
19445
19446         (free_state): Move up a bit.
19447
19448         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
19449         #define to be empty.
19450         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
19451         when that is what is intended.
19452         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
19453         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
19454         (MAX): New macro.
19455         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
19456         All uses changed back to re_malloc, etc.  It's now the caller's
19457         responsibility to check for overflow; all callers changed.
19458         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
19459         (re_x2nrealloc): Remove.
19460         (free_state): Remove decl.
19461
19462         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
19463         (re_set_registers, re_exec):
19464         Use K&R-style defn.
19465
19466         2006-01-31  Roland McGrath  <roland@redhat.com>
19467
19468         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
19469         Reported by Mike Frysinger <vapier@gentoo.org>.
19470
19471         2006-01-15  Andreas Jaeger  <aj@suse.de>
19472
19473         [BZ #1950]
19474         * lib/regex_internal.c (re_string_reconstruct): Adjust for
19475         build_wcs_upper_buffer change.
19476         (build_wcs_upper_buffer): Change return type.
19477
19478         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
19479
19480         * lib/regex_internal.h: Include <stdint.h> if available.
19481
19482         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
19483
19484         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
19485
19486         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
19487
19488         * lib/regcomp.c: Adjust for changed secondary hash function.
19489
19490         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
19491
19492         * lib/regex.h: Pretty printing.
19493         Clean up namespace a bit.
19494
19495         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
19496
19497         * lib/regexec.c (update_cur_sifted_state, check_arrival,
19498         check_arrival_add_next_nodes): Avoid using uninitialized variable.
19499
19500         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
19501                     Ulrich Drepper  <drepper@redhat.com>
19502
19503         [BZ #1302]
19504         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
19505         changed.
19506         (bitset_word_t): Renamed from bitset_word.  All uses changed.
19507
19508         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
19509
19510         [BZ #281]
19511         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
19512         * lib/regcomp.c: Remove unnecessary uses of
19513         unsigned RE_TRANSLATE_TYPE.
19514         * lib/regex_internal.h: Likewise.
19515         * lib/regex_internal.c: Likewise.
19516         * lib/regexec.c: Likewise.
19517         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
19518
19519         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
19520
19521         * lib/regexec.c (find_recover_state): Remove unnecessary
19522         initialization.
19523         (transit_state_bkref): Make DFA a const pointer.
19524         (get_subexp): Likewise.
19525         (check_arrival): Likewise.
19526         (update_cur_sifted_state): Likewise.
19527         (re_search_internal): Likewise.
19528         (prune_impossible_nodes): Likewise.
19529         (acquire_init_state_context): Likewise.
19530         (proceed_next_node): Likewise.
19531         (set_regs): Likewise.
19532         (free_fail_stack_return): Likewise.
19533         (check_arrival_expand_ecl): Mark DFA parameter as const.
19534         (check_arrival_expand_ecl_sub): Likewise.
19535         (check_subexp_limits): Likewise.
19536         (sub_epsilon_src_nodes):  Likewise.
19537         (add_epsilon_src_nodes):  Likewise.
19538         (merge_state_array): Likewise.
19539         (update_regs): Likewise.
19540         (build_trtable): Likewise.
19541         (sift_states_backward): Mark MCTX parameter as const.
19542         (build_sifted_states): Likewise.
19543         (update_cur_sifted_state): Likewise.
19544         (sift_states_mkref): Likewise.
19545         (check_arrival_expand_ecl): Mark eclosure as const.
19546         (check_dst_limits_calc_pos_1): Likewise.
19547         * lib/regex_internal.h (re_match_context_t): Make dfa a const
19548         pointer.
19549
19550         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
19551
19552         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
19553         (transit_state_sb): Likewise.
19554         (transit_state_mb): Likewise.
19555         (sift_states_iter_mb): Likewise.
19556         (check_arrival_add_next_nodes): Likewise.
19557         (check_node_accept_bytes): Change first parameter to pointer-to-const.
19558         [_LIBC] (re_search_2_stub): Use mempcpy.
19559
19560         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
19561         mbrtowc for very simple UTF-8 case.
19562
19563         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
19564         a pointer-to-const.
19565         (re_acquire_state_context): Likewise.
19566         * lib/regex_internal.h: Adjust prototypes.
19567
19568         * lib/regex.c: Prevent using C++ compilers.
19569
19570         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
19571         (re_acquire_state_context): Likewise.
19572
19573 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19574
19575         * modules/regex (Depends-on): Add ssize_t.
19576
19577 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19578
19579         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
19580         translation table.
19581
19582 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19583
19584         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
19585
19586 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
19587             Bruno Haible  <bruno@clisp.org>
19588
19589         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
19590         <sys/types.h> and <inttypes.h>.
19591
19592 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19593
19594         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
19595         `__error_t_defined', so argp.h will not typedef the former.
19596
19597 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
19598
19599         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
19600         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
19601         glibc names.  Even if glibc is changed to conform to POSIX, the
19602         traditional names will be available anyway, since regex depends on
19603         the extensions module.  Also, fix a longstanding typo in the
19604         implementation of Spencer ERE test #75 from grep 2.3.  Problems
19605         reported by Emanuele Giaquinta.  Also, change sense of cached
19606         variable, so that the message makes sense.
19607
19608 2006-03-24  Simon Josefsson  <jas@extundo.com>
19609
19610         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
19611         including some doc fixes.
19612         (base64_encode_alloc): Fix +1 bug on allocation failures.
19613
19614 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19615
19616         * lib/base64.c (base64_encode): Do not read past end of array with
19617         unsanitized input on systems with CHAR_BIT > 8.
19618
19619 2006-03-24  Eric Blake  <ebb9@byu.net>
19620
19621         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
19622
19623 2006-03-22  Karl Berry  <karl@gnu.org>
19624
19625         * config/srclist.txt (*setenv.[ch]): get from coreutils.
19626         * config/srclistvars.sh (COREUTILS): new var.
19627
19628 2006-03-17  Jim Meyering  <jim@meyering.net>
19629
19630         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
19631         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
19632
19633 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
19634
19635         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
19636         no longer needs it.  Instead, check that regoff_t is as least
19637         as wide as ptrdiff_t.
19638
19639         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
19640         so that our regex.h stays compatible with the installed regex.
19641         This is helpful for installers who configure --without-included-regex.
19642         Problem reported by Emanuele Giaquinta.
19643
19644 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
19645
19646         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
19647         Typedef to long int, not to off_, as POSIX will likely change
19648         in that direction.
19649
19650 2006-03-15  Eric Blake  <ebb9@byu.net>
19651
19652         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
19653
19654 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
19655
19656         * lib/argp-help.c (validate_uparams): Fix typo
19657         * lib/argp-parse.c (argp_default_options): Consistently begin help
19658         messages with a lowercase letter.
19659
19660 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
19661
19662         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
19663         overrun buffers and shouldn't be used (much as gets shouldn't be
19664         used).
19665         * lib/time_r.c (asctime_r, ctime_r): Likewise.
19666
19667 2006-03-08  Simon Josefsson  <jas@extundo.com>
19668
19669         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
19670         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19671
19672 2006-03-08  Simon Josefsson  <jas@extundo.com>
19673
19674         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
19675         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19676
19677 2006-03-08  Simon Josefsson  <jas@extundo.com>
19678
19679         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
19680         signal that configure disabled the device.
19681
19682 2006-03-08  Simon Josefsson  <jas@extundo.com>
19683
19684         * build-aux/maint.mk: Fix refresh-po, to handle no translated
19685         languages.
19686
19687 2006-03-07  Simon Josefsson  <jas@extundo.com>
19688
19689         * modules/getopt (Depends-on): Add unistd.
19690
19691         * modules/unistd: New file.
19692
19693 2006-03-07  Simon Josefsson  <jas@extundo.com>
19694
19695         * modules/gc-random: New file.
19696
19697 2006-03-07  Simon Josefsson  <jas@extundo.com>
19698
19699         * m4/unistd_h.m4: New file.
19700
19701 2006-03-07  Simon Josefsson  <jas@extundo.com>
19702
19703         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
19704         test to be side-effect free by storing the result in the cache
19705         variable gl_cv_lib_readline, and moving the assignment of
19706         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
19707         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19708
19709 2006-03-07  Simon Josefsson  <jas@extundo.com>
19710
19711         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
19712         error on missing devices (the functions will return an error).
19713
19714         * m4/gc.m4: Move random stuff to gc-random.m4
19715
19716 2006-03-07  Simon Josefsson  <jas@extundo.com>
19717
19718         * lib/unistd_.h: New file.
19719
19720 2006-03-07  Simon Josefsson  <jas@extundo.com>
19721
19722         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
19723
19724 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19725
19726         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
19727         Problem reported by Juan Manuel Guerrero.
19728
19729 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19730
19731         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
19732         the unistd module.
19733         * lib/getlogin_r.c: Likewise.
19734         * lib/getlogin_r.h: Likewise.
19735         * lib/glob.c: Likewise.
19736         * lib/pagealign_alloc.c: Likewise.
19737         * lib/unistd_.h: Remove; no longer needed.
19738
19739 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19740
19741         * MODULES.html.sh (Support for systems lacking POSIX:2001):
19742         Add unistd.
19743         * modules/c-stack (Depends-on): Add unistd.
19744         * modules/getlogin_r: Likewise.
19745         * modules/glob: Likewise.
19746         * modules/pagealign_alloc: Likewise.
19747         * modules/unistd (Files): Remove lib/unistd_.h.
19748         (EXTRA_DIST): Remove.
19749         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
19750         need unistd_.h.
19751         (MOSTLYCLEANFILES): Remove unistd.h-t.
19752
19753 2006-03-03  Simon Josefsson  <jas@extundo.com>
19754
19755         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
19756
19757 2006-03-03  Simon Josefsson  <jas@extundo.com>
19758
19759         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
19760         libidn and bison.
19761
19762 2006-03-03  Simon Josefsson  <jas@extundo.com>
19763
19764         * build-aux/maint.mk: Add indent target.
19765
19766 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
19767
19768         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
19769         our replacement poll.h in any case, to avoid a differing
19770         declaration from a system header.  Seen on AIX.
19771
19772 2006-03-01  Simon Josefsson  <jas@extundo.com>
19773
19774         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
19775         <kasal@ucw.cz>.
19776
19777 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
19778
19779         * modules/gettime (Depends-on): Add extensions module.
19780         * modules/nanosleep (Depends-on): Likewise.
19781         * modules/settime (Depends-on): Likewise.
19782
19783 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
19784
19785         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
19786         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
19787         pedantically.
19788         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19789         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
19790
19791         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
19792         not "==".  Reported by Ralf Wildenhues.
19793
19794 2006-03-01  Karl Berry  <karl@gnu.org>
19795
19796         * doc/Copyright/request-*: new files, synced from gnuorg.
19797
19798 2006-03-01  Karl Berry  <karl@gnu.org>
19799
19800         * config/srclist.txt (Copyright/*): new entries.
19801
19802 2006-02-28  Simon Josefsson  <jas@extundo.com>
19803
19804         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
19805
19806 2006-02-27  Simon Josefsson  <jas@extundo.com>
19807
19808         * lib/base64.h: Indent #define's.  From Jim Meyering
19809         <jim@meyering.net>.
19810
19811 2006-02-27  Jim Meyering  <jim@meyering.net>
19812
19813         Revert the change of 2006-02-24, so these files can continue
19814         to be sync'd from gettext.
19815         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
19816         of `config.h'.
19817
19818 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
19819
19820         * modules/intprops: New file.
19821         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
19822         Add intprops.
19823         * modules/getloadavg (Files): Remove lib/intprops.h.
19824         (Depends-on): Add intprops.
19825         * modules/human: Likewise.
19826         * modules/inttostr: Likewise.
19827         * modules/openat: Likewise.
19828         * modules/sig2str: Likewise.
19829         * modules/userspec: Likewise.
19830         * modules/utimecmp: Likewise.
19831         * modules/xnanosleep: Likewise.
19832         * modules/xstrtol: Likewise.
19833
19834 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
19835
19836         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
19837         * modules/lock-tests (TESTS): Use $(EXEEXT).
19838         * modules/tls-tests: Likewise.
19839         * modules/argp-tests: Likewise.
19840         (check_PROGRAMS): New var, replacing...
19841         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
19842
19843 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19844
19845         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
19846         `config.h'.
19847
19848 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19849
19850         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
19851
19852 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19853
19854         Sync from coreutils.
19855         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
19856         gl_CHDIR_SAFER.
19857
19858 2006-02-22  Jim Meyering  <jim@meyering.net>
19859
19860         Sync from coreutils.
19861         * m4/chdir-safer.m4: New file.
19862
19863 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19864
19865         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
19866         AT_FDCWD exceeds INT_MAX.
19867         * lib/openat.h (AT_FDCWD): Likewise.
19868
19869 2006-02-17  Eric Blake  <address@hidden>
19870
19871         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
19872
19873 2006-02-16  Simon Josefsson  <jas@extundo.com>
19874
19875         * modules/getaddrinfo (Depends-on): Add sys_socket.
19876
19877 2006-02-15  Simon Josefsson  <jas@extundo.com>
19878
19879         * build-aux/maint.mk: Add dsyntax-check rule.
19880
19881 2006-02-15  Eric Blake  <ebb9@byu.net>
19882
19883         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
19884         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
19885         'present but cannot compile' warnings on cygwin.
19886         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
19887         use ws2tcpip.h if sys/socket.h works.
19888         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
19889         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
19890
19891 2006-02-14  Simon Josefsson  <jas@extundo.com>
19892
19893         * modules/maintainer-makefile (Files): Rename.
19894
19895         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
19896         and (the local) Makefile.cfg to maint-cfg.mk.
19897
19898         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
19899         to the latter.
19900
19901         * modules/maintainer-makefile: New module.
19902
19903         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
19904         severaly stripped to make it possible to build it up from scratch
19905         with reliable tests.
19906
19907         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
19908         fixes to permit overriding the default actions when configure and
19909         makefile are not available.
19910
19911 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
19912
19913         Sync from coreutils.
19914         * modules/lstat (Depends-on): Don't depend on xalloc.
19915         (License): Change from GPL to LGPL, since this is now simply a
19916         replacement for a libc function.
19917
19918 2006-02-14  Jim Meyering  <jim@meyering.net>
19919
19920         Sync from coreutils.
19921
19922         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
19923         failure on deficient systems, and simplify gnulib lgpl dependencies.
19924         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
19925         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
19926
19927         * lib/xalloc-die.c: Remove unused definition of N_.
19928
19929 2006-02-14  Jim Meyering  <jim@meyering.net>
19930
19931         Sync from coreutils.
19932         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
19933         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
19934         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
19935         double-quote uses of that variable, to accommodate the rare case in
19936         which getmntent is available in none of the libraries checked.  This
19937         happens at least on FreeBSD 5.0.
19938
19939 2006-02-13  Simon Josefsson  <jas@extundo.com>
19940
19941         * gnulib-tool (Usage): Fix --import, from
19942         karl@freefriends.org (Karl Berry).
19943
19944 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
19945
19946         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
19947
19948 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
19949
19950         * lib/argp-namefrob.h: Restore changes accidentally lost during the
19951         "autoupdate" on 2005-12-12.
19952
19953 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
19954
19955         * modules/closeout (Depends-on): Remove atexit.
19956
19957 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
19958
19959         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
19960         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
19961
19962 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
19963
19964         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
19965         __EXTENSIONS__ if this causes compilation to fail.  Problem
19966         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
19967         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
19968
19969 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19970
19971         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
19972         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
19973         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
19974         All uses changed.
19975
19976 2006-01-26  Simon Josefsson  <jas@extundo.com>
19977
19978         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
19979         prototype is visible on mingw32.
19980
19981         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
19982         for mingw32.
19983
19984         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
19985         mingw32).
19986
19987 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
19988
19989         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
19990         attempt to open for write; this always fails, at least on POSIX
19991         hosts.  This reinstates the 2006-01-09 change, which was
19992         inadvertently removed.
19993
19994 2006-01-26  Bruno Haible  <bruno@clisp.org>
19995
19996         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
19997         Reported by Paul Eggert.
19998
19999 2006-01-26  Bruno Haible  <bruno@clisp.org>
20000             Paul Eggert  <eggert@cs.ucla.edu>
20001
20002         * lib/stdbool_.h (_Bool)
20003         [(! (defined __cplusplus || defined __BEOS__)
20004           && !defined __GNUC__
20005           && !(defined __HP_cc || defined __xlc__
20006                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
20007                || defined __sgi))]:
20008         #define to signed char in these cases too; this simplifies
20009         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
20010         etc., separately) and makes it more conservative.
20011
20012 2006-01-25  Simon Josefsson  <jas@extundo.com>
20013
20014         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
20015         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
20016         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
20017
20018 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
20019
20020         * lib/argp-namefrob.h: Bugfix. Remove stray #
20021
20022 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
20023
20024         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
20025         so that we test the test.
20026         Check for yet another HP-UX cc bug involving *bool |= bool.
20027
20028 2006-01-25  Karl Berry  <karl@gnu.org>
20029
20030         * config/srclist.txt (vasnprintf.c): sync lost.
20031
20032 2006-01-25  Jim Meyering  <jim@meyering.net>
20033
20034         Sync from the stable (b5) branch of coreutils:
20035
20036         * lib/fts.c (fts_children): Don't let close() clobber errno from
20037         failed fchdir().
20038
20039         * lib/fts.c (fts_stat): When following a symlink-to-directory,
20040         don't necessarily interpret stat-fails+lstat-succeeds as indicating
20041         a dangling symlink.  That can also happen at least for ELOOP.
20042         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
20043         FYI, this bug predates the inclusion of fts.c in coreutils.
20044
20045         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
20046         in their own block, so pre-c99 compilers don't object.
20047
20048         Avoid the double-free (first in fts_read, second in fts_close) that
20049         would occur when an `active' directory is made inaccessible (e.g.,
20050         via chmod a-x) during a traversal.
20051         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
20052         before returning.  Reproduce this failure by
20053         mkdir -p a/b; cd a; chmod a-x . b
20054         Reported by Stavros Passas.
20055
20056 2006-01-25  Jim Meyering  <jim@meyering.net>
20057
20058         * lib/fileblocks.c: Remove more useless parentheses.
20059         * lib/readutmp.h: Likewise.
20060
20061 2006-01-25  Bruno Haible  <bruno@clisp.org>
20062
20063         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
20064         warnings.
20065         Reported by Paul Eggert.
20066
20067 2006-01-25  Bruno Haible  <bruno@clisp.org>
20068
20069         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
20070         rid of a trap command. For Solaris sh.
20071         Reported by Mark D. Baushke <mdb@gnu.org>.
20072
20073 2006-01-24  Simon Josefsson  <jas@extundo.com>
20074
20075         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
20076         Bruno.
20077
20078 2006-01-24  Karl Berry  <karl@gnu.org>
20079
20080         * config/srclist.txt (argp-namefrob.h): sync lost.
20081
20082 2006-01-24  Jim Meyering  <jim@meyering.net>
20083
20084         * modules/openat (Files): Add lib/intprops.h.
20085         From Mark D. Baushke.
20086
20087 2006-01-24  Jim Meyering  <jim@meyering.net>
20088
20089         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
20090         Reported by Mark D. Baushke.
20091
20092 2006-01-24  Jim Meyering  <jim@meyering.net>
20093
20094         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
20095
20096 2006-01-24  Bruno Haible  <bruno@clisp.org>
20097
20098         * modules/strnlen (Maintainer): Change from glibc to all.
20099
20100 2006-01-24  Bruno Haible  <bruno@clisp.org>
20101
20102         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
20103         Patch by Paul Eggert.
20104
20105 2006-01-24  Bruno Haible  <bruno@clisp.org>
20106
20107         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
20108         already has it.
20109         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
20110         2005-11-26.
20111
20112         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
20113         'signed char' to avoid problems with the built-in _Bool type.
20114         Reported by Paul Eggert on 2005-11-26.
20115
20116 2006-01-24  Bruno Haible  <bruno@clisp.org>
20117
20118         * gnulib-tool (func_import): Avoid constructing complicated sed
20119         expressions inside backquote.
20120         Report and solution by Mark D. Baushke <mdb@gnu.org>.
20121
20122 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
20123
20124         These changes imported from libc.
20125         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
20126         test and two separate function calls.
20127         * lib/strndup.c (__strndup): Add libc_hidden_def.
20128
20129 2006-01-23  Simon Josefsson  <jas@extundo.com>
20130
20131         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
20132         Remove the test_*_SOURCES variable: automake infers it by default.
20133         * modules/tls-tests: Likewise.
20134
20135 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20136
20137         Work around porting bugs reported by Dieter in
20138         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
20139         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
20140         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
20141         Include "getopt.h" first, to check interface.
20142         (getenv): Declare only if defined HAVE_DECL_GETENV &&
20143         !HAVE_DECL_GETENV.
20144         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
20145         (__strndup): Revert to K&R-style function dfns, the glibc style.
20146         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
20147         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
20148         Include strnlen.h first, to get prototype properly.
20149         (strnlen): Renamed from __strnlen.
20150         Remove weak alias.
20151
20152 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20153
20154         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
20155
20156 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20157
20158         * config/srclist.txt: Adjust to reflect glibc reorganization.
20159         This affects only comments.
20160
20161 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
20162
20163          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
20164          Reported by Bruce Korb <bkorb@gnu.org>.
20165
20166 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
20167
20168         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
20169         to pacify gcc -Wswitch-default.
20170
20171 2006-01-22  Bruno Haible  <bruno@clisp.org>
20172
20173         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
20174         temporary buffer for sprintf, take into account the precision also
20175         for 'd', 'i', 'u', 'o', 'x', 'X'.
20176
20177 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
20178
20179         * modules/argp-tests: New module
20180         * tests/test-argp.c: New file
20181         * tests/test-argp-2.sh: New file
20182
20183 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
20184
20185         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
20186         (__argp_base_name): Removed
20187         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
20188         typo.
20189         (__argp_base_name): Provide macro definition or extern declaration
20190         depending on the configuration
20191
20192 2006-01-20  Simon Josefsson  <jas@extundo.com>
20193
20194         * modules/inet_ntop (Depends-on): Depend on sys_socket.
20195
20196 2006-01-20  Simon Josefsson  <jas@extundo.com>
20197
20198         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
20199
20200 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20201
20202         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
20203         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
20204         Suggested by Bruno Haible.
20205
20206 2006-01-20  Karl Berry  <karl@gnu.org>
20207
20208         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
20209         until changes propagate, I guess.
20210
20211 2006-01-19  Simon Josefsson  <jas@extundo.com>
20212
20213         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
20214
20215 2006-01-19  Simon Josefsson  <jas@extundo.com>
20216
20217         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
20218
20219 2006-01-19  Simon Josefsson  <jas@extundo.com>
20220
20221         * gnulib-tool: Set check_PROGRAMS.
20222
20223         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
20224         modules/des-tests, modules/gc-arcfour-tests,
20225         modules/gc-arctwo-tests, modules/gc-des-tests,
20226         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
20227         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
20228         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
20229         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
20230         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
20231         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
20232         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
20233         test_*_SOURCES.
20234
20235 2006-01-18  Simon Josefsson  <jas@extundo.com>
20236
20237         * modules/socklen (Depends-on): Depend on sys_socket.
20238
20239 2006-01-18  Simon Josefsson  <jas@extundo.com>
20240
20241         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
20242         modules/des-tests, modules/gc-arcfour-tests,
20243         modules/gc-arctwo-tests, modules/gc-des-tests,
20244         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
20245         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
20246         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
20247         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
20248         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
20249         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
20250         $(EXEEXT) to automake TESTS variable, for mingw32.
20251
20252 2006-01-17  Simon Josefsson  <jas@extundo.com>
20253
20254         * modules/socklen (Include): Need sys/socket.h.
20255
20256 2006-01-17  Bruno Haible  <bruno@clisp.org>
20257
20258         * modules/ssize_t (Include): Add <sys/types.h>.
20259
20260 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
20261
20262         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
20263         it's not portable and it doesn't work with cross-compiles.
20264         Problem reported by Bruno Haible.  Fix missing-$ typo in
20265         'test "gl_cv_ignore_unused_libraries" ...' that prevented
20266         -zignore from being used with Sun's C compiler.
20267
20268 2006-01-12  Simon Josefsson  <jas@extundo.com>
20269
20270         * lib/base64.c: Fix warning, reported by Bruno Haible
20271         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
20272
20273 2006-01-12  Bruno Haible  <bruno@clisp.org>
20274
20275         * modules/ldd: New file.
20276         * build-aux/ldd.sh.in: New file.
20277         * MODULES.html.sh (Support for building libraries and executables): Add
20278         ldd.
20279
20280 2006-01-12  Bruno Haible  <bruno@clisp.org>
20281
20282         * m4/ldd.m4: New file.
20283
20284 2006-01-12  Bruno Haible  <bruno@clisp.org>
20285
20286         * gnulib-tool (func_import, func_create_testdir): Don't go into an
20287         endless loop while replacing $auxdir with build-aux.
20288
20289 2006-01-11  Simon Josefsson  <jas@extundo.com>
20290
20291         * lib/stdint_.h (SIZE_MAX): Add missing (.
20292
20293 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20294
20295         Sync from coreutils.
20296         * lib/md5.c: Fix commentary typos.
20297         (alignof, UNALIGNED_P): No need for a GCC-specific version.
20298         * lib/md5.h (__attribute__): Remove; unused.
20299         * lib/sha1.c: Fix commentary to match md5 better.
20300         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
20301         so that we don't need to worry about alignment.  All uses changed.
20302         This merges the 2005-10-28 md5 change into sha1.
20303
20304 2006-01-11  Jim Meyering  <jim@meyering.net>
20305
20306         Sync from coreutils.
20307         * lib/md5.c (OP): Fix spacing.
20308
20309 2006-01-11  Bruno Haible  <bruno@clisp.org>
20310
20311         Ensure automatic ordering between gl_LOCK and gl_ARGP.
20312         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
20313         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
20314
20315 2006-01-11  Bruno Haible  <bruno@clisp.org>
20316
20317         Ensure automatic ordering between gl_LOCK and gl_ARGP.
20318         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
20319         the "early" section as well.
20320
20321 2006-01-11  Bruno Haible  <bruno@clisp.org>
20322
20323         Avoid "ar: no archive members specified" error on MacOS X.
20324         * gnulib-tool (func_modules_add_dummy): New function.
20325         (func_import, func_create_testdir): Invoke it.
20326
20327 2006-01-11  Bruno Haible  <bruno@clisp.org>
20328
20329         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
20330         with $auxdir in AC_CONFIG_FILES statements.
20331
20332 2006-01-11  Bruno Haible  <bruno@clisp.org>
20333
20334         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20335         Initialize also noinst_HEADERS to empty.
20336
20337 2006-01-11  Bruno Haible  <bruno@clisp.org>
20338
20339         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
20340         variables.
20341         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
20342         autoreconf.
20343
20344 2006-01-11  Bruno Haible  <bruno@clisp.org>
20345
20346         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
20347         overridable by the user.
20348         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20349
20350 2006-01-10  Simon Josefsson  <jas@extundo.com>
20351
20352         * modules/sys_socket: New file.
20353
20354 2006-01-10  Simon Josefsson  <jas@extundo.com>
20355
20356         * m4/sys_socket_h.m4: New file.
20357
20358 2006-01-10  Simon Josefsson  <jas@extundo.com>
20359
20360         * lib/socket_.h: New file.
20361
20362 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20363
20364         * modules/readutmp (Maintainer): Add myself.
20365
20366 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20367
20368         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
20369         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
20370         People who are still concerned with buggy memcmp implementations
20371         can invoke gl_FUNC_MEMCMP themselves.
20372
20373 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20374
20375         * lib/regex_internal.h (BITSET_WORD_BITS):
20376         Work around a bug in 64-bit PGC (before version 6.1-2), where the
20377         preprocessor mishandles large unsigned values as if they were signed.
20378         Problem reported by Claudio Fontana in
20379         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
20380
20381 2006-01-10  Jim Meyering  <jim@meyering.net>
20382
20383         Avoid the double-free (first in fts_read, second in fts_close) that
20384         would occur when an `active' directory is made inaccessible (e.g.,
20385         via chmod a-x) during a traversal.
20386         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
20387         before returning.  Reproduce this failure by
20388         mkdir -p a/b; cd a; chmod a-x . b
20389         Reported by Stavros Passas.
20390
20391         Sync from coreutils.
20392         * lib/sha1.c: Tweak grammar in a comment.
20393
20394 2006-01-10  Jim Meyering  <jim@meyering.net>
20395
20396         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
20397         Patch by Joerg Sonnenberger.
20398
20399 2006-01-10  Bruno Haible  <bruno@clisp.org>
20400
20401         * modules/readutmp: Depend on module free.
20402         * modules/strtok_r: Depend on module restrict.
20403
20404 2006-01-10  Bruno Haible  <bruno@clisp.org>
20405
20406         * modules/gettext (configure.ac): Add an invocation of
20407         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
20408
20409 2006-01-10  Bruno Haible  <bruno@clisp.org>
20410
20411         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
20412         Reported by Werner Lemberg <wl@gnu.org>.
20413
20414 2006-01-10  Bruno Haible  <bruno@clisp.org>
20415
20416         * lib/localcharset.c: Update from GNU gettext.
20417
20418 2006-01-10  Bruno Haible  <bruno@clisp.org>
20419
20420         * lib/argp.h (__const): Remove macro. Use const instead.
20421         * lib/argp-fmtstream.h (__const): Likewise.
20422         * lib/glob_.h (__const): Remove macro.
20423         * lib/glob-libc.h: Use const instead of __const.
20424
20425 2006-01-10  Bruno Haible  <bruno@clisp.org>
20426
20427         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
20428         variable.
20429         Needed to avoid an automake error regarding the 'gettext' module.
20430
20431 2006-01-09  Simon Josefsson  <jas@extundo.com>
20432
20433         * modules/inet_ntop (Depends-on): Add restrict.
20434
20435 2006-01-09  Simon Josefsson  <jas@extundo.com>
20436
20437         * modules/gc-rijndael-tests (License): Put under LGPL.
20438
20439         * modules/gc-des-tests (License): Likewise.
20440
20441         * modules/gc-arcfour-tests (License): Likewise.
20442
20443         * modules/gc-arctwo-tests (License): Likewise.
20444
20445         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
20446
20447         * modules/gc-hmac-sha1-tests (Files): Likewise.
20448
20449         * modules/gc-hmac-md5-tests (License): Likewise.
20450
20451         * modules/gc-sha1-tests (License): Likewise.
20452
20453         * modules/gc-md5-tests (License): Likewise.
20454
20455         * modules/gc-md4-tests (License): Likewise.
20456
20457         * modules/gc-md2-tests (License): Likewise.
20458
20459         * modules/gc-tests (License): Likewise.
20460
20461         * modules/des-tests (License): Likewise.
20462
20463         * modules/md4-tests (License): Likewise.
20464
20465         * modules/md2-tests (License): Likewise.
20466
20467 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20468
20469         Sync from coreutils:
20470
20471         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
20472         * modules/lib-ignore: New file.
20473         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
20474         chdir-safer.m4, lchmod.m4.
20475         * modules/openat: Add mkdirat.c, openat-priv.h.
20476
20477 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20478
20479         Sync from coreutils.
20480         * m4/lib-ignore.m4: New file.
20481         * m4/lchmod.m4: New file.
20482
20483 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20484
20485         Sync from coreutils.
20486         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
20487         for write access: POSIX says that must fail.
20488         * lib/fts.c (diropen): Likewise.
20489         * lib/save-cwd.c (save_cwd): Likewise.
20490         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
20491         well, for minor improvements on hosts that lack O_DIRECTORY.
20492         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
20493         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
20494         Fall back on chown if open failed with EACCES.
20495
20496         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
20497         Report an error at compile-time if only a 1-second nominal clock
20498         resolution is found.
20499
20500         * lib/lchmod.h: New file.
20501         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
20502         (make_dir_parents): Use lchown rather than chown, and
20503         lchmod rather than chmod.
20504
20505         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
20506         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
20507         "proc" reported by n0dalus.
20508
20509         * lib/mountlist.c: Include <limits.h>.
20510         (dev_from_mount_options)
20511         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
20512         New function.  It no longer assumes "dev=" has the System V meaning
20513         on Linux (since it doesn't).  It also parses "dev=" more carefully.
20514         (read_file_system_list)
20515         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
20516         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
20517         dev= in that case.
20518
20519         * lib/posixtm.h (PDS_PRE_2000): New macro.
20520         * lib/posixtm.c (year): Arg is now syntax_bits rather than
20521         allow_century.  All usages changed.  Reject dates outside the range
20522         1969-1999 if PDS_PRE_2000 is used.
20523
20524 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20525
20526         Sync from coreutils.
20527         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
20528         (Time of day items): Mention the possibility of leap seconds.
20529         Problem reported by Dr. David Alan Gilbert.
20530
20531 2006-01-09  Jim Meyering  <jim@meyering.net>
20532
20533         Sync from coreutils.
20534
20535         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
20536
20537         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
20538
20539         * lib/modechange.c (mode_compile): Reject an invalid mode string
20540         that starts with an octal digit.  From Andreas Gruenbacher.
20541
20542         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
20543         and dup to open_safer and dup_safer, respectively.
20544         (openat_permissive): Fix typo in comment.
20545
20546         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
20547         "gettext.h"; either no longer needed or are guaranteed by openat.h.
20548         (_): Remove; no longer needed.
20549         (openat): Renamed from rpl_openat; no need for rpl_openat
20550         since openat.h renames openat for us.
20551         Replace most of the body with a call to openat_permissive,
20552         to avoid duplicate code.
20553         Port to (probably hypothetical) environments were mode_t is
20554         wider than int.
20555         (openat_permissive): Require mode arg, so that we can check
20556         types better.  Put it just after flags.  Change cwd failure
20557         indicator from pointer-to-bool to pointer-to-errno-value.
20558         All callers changed.
20559         Invoke openat_save_fail and/or openat_restore_fail if
20560         cwd_errno is null, so that openat can call us.
20561         (openat_permissive, fdopendir, fstatat, unlinkat):
20562         Simplify errno handling to avoid some duplicate code,
20563         as it's OK to set errno on success.
20564         * lib/openat.h: Revamp code so that function macros depend on
20565         __OPENAT_PREFIX only, not also on AT_FDCWD.
20566         (openat_ro): Remove.  Caller changed to use openat_permissive.
20567         (openat_permissive): Now a macro, if not a function.
20568         (openat_restore_fail, openat_save_fail): Now always functions,
20569         since mkdirat needs them even if __OPENAT_PREFIX is defined.
20570
20571         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
20572         and openat.c.
20573         * lib/mkdirat.c: Include openat-priv.h.
20574         Remove definitions of macros defined therein.
20575         * lib/openat.c: Likewise.
20576
20577         * lib/mkdirat.c (mkdirat): New file and function.
20578         * lib/openat.h (mkdirat): Declare.
20579
20580         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
20581
20582         * lib/openat.h (openat_permissive): Declare.
20583         (openat_ro): Define.
20584
20585         * lib/openat.c (EXPECTED_ERRNO): New macro.
20586         (openat_permissive): New function -- used in remove.c rewrite.
20587         (all functions): Set errno just before returning, only if there
20588         was an actual failure.
20589         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
20590
20591         Emulate openat-family functions using Linux's procfs, if possible.
20592         Idea and some code based on Ulrich Drepper's glibc changes.
20593
20594         * lib/openat.c: (BUILD_PROC_NAME): New macro.
20595         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
20596         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
20597         before falling back on save_cwd and restore_cwd.
20598         (fdopendir, fstatat, unlinkat): Likewise.
20599
20600         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
20601         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
20602
20603         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
20604         as second argument to va_arg.  Otherwise, some versions of gcc
20605         warn that `if this code is reached, the program will abort'.
20606
20607 2006-01-09  Jim Meyering  <jim@meyering.net>
20608
20609         Sync from coreutils.
20610         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
20611         Require openat-priv.h.
20612
20613 2006-01-09  Bruno Haible  <bruno@clisp.org>
20614
20615         * modules/strnlen (Include): Use strnlen.h.
20616
20617 2006-01-09  Bruno Haible  <bruno@clisp.org>
20618
20619         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
20620
20621 2006-01-09  Bruno Haible  <bruno@clisp.org>
20622
20623         * lib/sysexit_.h (EX_OK): New macro.
20624         Suggested by Martin Lambers <marlam@marlam.de>.
20625
20626 2006-01-09  Bruno Haible  <bruno@clisp.org>
20627
20628         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
20629         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
20630
20631 2006-01-09  Bruno Haible  <bruno@clisp.org>
20632
20633         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
20634         numbers.
20635
20636 2006-01-09  Bruno Haible  <bruno@clisp.org>
20637
20638         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
20639         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
20640         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
20641         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
20642
20643 2006-01-09  Bruno Haible  <bruno@clisp.org>
20644
20645         * build-aux/javacomp.sh.in: New file, moved from lib/.
20646         * modules/javacomp-script (Files): Update.
20647         (configure.ac): Add AC_CONFIG_FILES invocation.
20648         (EXTRA_DIST): Remove variable.
20649
20650         * build-aux/javaexec.sh.in: New file, moved from lib/.
20651         * modules/javaexec (Files): Update.
20652         (configure.ac): Add AC_CONFIG_FILES invocation.
20653         (EXTRA_DIST): Remove javaexec.sh.in.
20654
20655         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
20656         * modules/csharpcomp-script (Files): Update.
20657         (configure.ac): Add AC_CONFIG_FILES invocation.
20658         (EXTRA_DIST): Remove variable.
20659
20660         * build-aux/csharpexec.sh.in: New file, moved from lib/.
20661         * modules/csharpexec (Files): Update.
20662         (configure.ac): Add AC_CONFIG_FILES invocation.
20663         (EXTRA_DIST): Remove csharpexec.sh.in.
20664
20665 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
20666
20667         Sync from coreutils.
20668
20669         Add POSIX ACL support
20670         * lib/acl.h (copy_acl, set_acl): Add declarations.
20671         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
20672         systems other than Linux.
20673         (chmod_or_fchmod): New function: use fchmod when possible,
20674         and chmod otherwise.
20675         (file_has_acl): Add a POSIX ACL implementation, with a
20676         Linux-specific subcase.
20677         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
20678         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
20679         acls are unsupported.
20680         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
20681         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
20682         are unsupported.
20683
20684 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
20685
20686         Sync from coreutils.
20687         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
20688
20689 2006-01-07  Bruno Haible  <bruno@clisp.org>
20690
20691         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
20692         gl_EARLY.
20693
20694 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20695
20696         * lib/strftime.c (tzname): Don't declare if it is already #defined.
20697         Problem reported for Mingw by Mark Junker.
20698
20699 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20700
20701         * README: Gnulib normally doesn't generate a tarball.
20702
20703 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20704
20705         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
20706         long int, not int, for nanosecond counts, so that people who are
20707         used to POSIX struct timespec won't be surprised.  Reported by Jim
20708         Meyering.
20709
20710 2005-12-28  Bruno Haible  <bruno@clisp.org>
20711
20712         * build-aux/config.rpath: Update from GNU gettext.
20713
20714 2005-12-16  Jim Meyering  <jim@meyering.net>
20715
20716         * modules/fprintftime: New module.
20717         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
20718
20719 2005-12-16  Jim Meyering  <jim@meyering.net>
20720
20721         * m4/fprintftime.m4: New file.
20722
20723 2005-12-16  Jim Meyering  <jim@meyering.net>
20724
20725         * lib/fprintftime.c, lib/fprintftime.h: New files.
20726
20727 2005-12-15  Simon Josefsson  <jas@extundo.com>
20728
20729         * modules/socklen (configure.ac): Fix M4 macro name, to align with
20730         new m4/socklen.m4.
20731
20732 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
20733
20734         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
20735         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
20736
20737 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
20738
20739         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
20740         * lib/argp-help.c (fill_in_uparams): Check if the constructed
20741         struct uparams is valid. Fall back to the default values if it is
20742         not.
20743
20744 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20745
20746         * modules/argp (Files): Add argp-pin.c
20747         (Depends-on): dirname
20748         (lib_SOURCES): Add argp-pin.c
20749
20750 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20751
20752         * m4/argp.m4:  Check if program_invocation_name and
20753         program_invocation_short_name are declared and define appropriate
20754         macros if they are not.
20755
20756 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20757
20758         * lib/argp-help.c (__argp_base_name): New function
20759         (__argp_short_program_name): Rewrite using __argp_base_name
20760         * lib/argp-namefrob.h: Define program_invocation_name and
20761         program_invocation_short_name if requested
20762         (__argp_base_name): Add prototype
20763         * lib/argp-parse.c (argp_def): Use gettext wrappers
20764         (argp_default_parser): Use __argp_base_name
20765         * lib/argp-pin.c: New file. Defines program_invocation_name and
20766         program_invocation_short_name on systems that lack them.
20767
20768 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20769
20770         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
20771         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
20772         porting problem reported by Georg Schwarz in
20773         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
20774
20775 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20776
20777         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
20778         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
20779         porting problem reported by Georg Schwarz in
20780         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
20781
20782 2005-12-05  Bruno Haible  <bruno@clisp.org>
20783
20784         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
20785         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
20786         Reported by Mark Junker <mjscod@gmx.de>.
20787
20788 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
20789
20790         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
20791         Use implementation from Albert Chin, with some
20792         comments/corrections by Stepan Kasal and myself.
20793
20794 2005-12-02  Bruno Haible  <bruno@clisp.org>
20795
20796         * gnulib-tool (func_import): Accept GPLed build tool modules when
20797         --lgpl is given.
20798         * modules/csharpcomp-script: New file.
20799         * modules/csharpcomp: Depend on it.
20800         * modules/javacomp-script: New file.
20801         * modules/javacomp: Depend on it.
20802         Suggested by Simon Josefsson.
20803
20804 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20805
20806         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
20807         statement, to work around an HP-UX 10.20 compiler bug reported by
20808         Peter O'Gorman.
20809
20810 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
20811
20812         * modules/savedir (Depends-on): Add openat.
20813
20814 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
20815
20816         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
20817         (uintmax_t) [defined uintmax_t]: Do not declare.
20818         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
20819         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
20820         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
20821         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
20822         sake of portability to weird hosts that C allows (though we don't
20823         know of any practical examples).
20824
20825         * lib/savedir.h (fdsavedir): New decl.
20826         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
20827         contains most of the former guts of savedir.
20828         (savedir): Use savedirstream.
20829         Include "openat.h".
20830
20831 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20832
20833         * modules/obstack (Files): Add m4/ulonglong.m4.
20834         Problem reported by Davide Angelocola.
20835
20836 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20837
20838         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
20839         coreutils no longer futzes with rounding modes.
20840
20841 2005-11-14  Jim Meyering  <jim@meyering.net>
20842
20843         * lib/mkstemp-safer.c: Include <config.h>, required for possible
20844         replacement of mkstemp.
20845
20846 2005-11-10  Simon Josefsson  <jas@extundo.com>
20847
20848         * lib/readline.c: Remove EOL.
20849
20850 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20851
20852         * modules/gethrxtime (Depends-on): Add gettime.
20853
20854 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20855
20856         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
20857         or gettimeofday; no longer needed.
20858
20859 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20860
20861         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
20862         time business.
20863         (gethrxtime) [! (HAVE_NANOUPTIME
20864         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
20865         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
20866         our own approximation.
20867
20868 2005-11-08  Eric Blake  <ebb9@byu.net>
20869
20870         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
20871
20872 2005-11-08  Eric Blake  <ebb9@byu.net>
20873
20874         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
20875
20876 2005-11-04  Bruno Haible  <bruno@clisp.org>
20877
20878         * gnulib-tool: Implement --update mode.
20879
20880 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20881
20882         Fix porting problem reported by Theodoros V. Kalamatianos.
20883         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
20884         Don't assume that futimes failing means we must fail.
20885
20886 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20887
20888         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
20889         variables to suggest the intended function of the PATH_MAX check.
20890
20891 2005-10-30  Kean Johnston  <jkj@sco.com>
20892
20893         Trivial changes to support SCO systems.
20894         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
20895         as PATH_MAX.
20896         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
20897         where __ptr is null when no I/O is pending.
20898
20899 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
20900
20901         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
20902         leave errno alone.  Problem reported by Dmitry V. Levin.
20903
20904 2005-10-28  Simon Josefsson  <jas@extundo.com>
20905
20906         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
20907         Test more.
20908
20909         * tests/test-gc-md2.c, tests/test-md2.c: New files.
20910
20911         * modules/md2, modules/md2-tests: New files.
20912
20913 2005-10-28  Simon Josefsson  <jas@extundo.com>
20914
20915         * m4/inet_ntop.m4: More tests.
20916
20917         * m4/gc-md2.m4, md2.m4: New file.
20918
20919 2005-10-28  Simon Josefsson  <jas@extundo.com>
20920
20921         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
20922         "restrict" keywords, as per POSIX.  Protect the function
20923         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
20924         Don't use K&R prototypes.  Check the sprintf return values.
20925         Re-define EAFNOSUPPORT if not present.  Indent.
20926
20927         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
20928         suggested by Bruno Haible <bruno@clisp.org>.
20929
20930         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
20931
20932         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
20933
20934         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
20935         libgcrypt).
20936
20937         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
20938
20939         * lib/md2.h, lib/md2.c: New files.
20940
20941 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
20942
20943         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
20944         errno alone.  Problem reported by Frederic Jolliton.
20945
20946 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
20947
20948         * modules/verify (License): Change from GPL to LGPL.  This is a
20949         tiny module and there are apparently near-equivalents that are
20950         under the BSD license.
20951
20952 2005-10-24  Simon Josefsson  <jas@extundo.com>
20953
20954         * modules/sha1: Relicense to LGPL.
20955
20956 2005-10-24  Simon Josefsson  <jas@extundo.com>
20957
20958         * lib/md4.h: Shrink buffer size, now that we changed the type.
20959
20960 2005-10-23  Simon Josefsson  <jas@extundo.com>
20961
20962         * gnulib-tool (func_import): Fix --tests-base.
20963
20964 2005-10-22  Simon Josefsson  <jas@extundo.com>
20965
20966         * modules/arcfour (Depends-on): Need stdint.
20967
20968 2005-10-22  Simon Josefsson  <jas@extundo.com>
20969
20970         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
20971         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
20972
20973 2005-10-22  Simon Josefsson  <jas@extundo.com>
20974
20975         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
20976         suggested by Bruno Haible <bruno@clisp.org>.
20977
20978 2005-10-22  Simon Josefsson  <jas@extundo.com>
20979
20980         * lib/crc.h: Include stddef.h, for size_t.
20981
20982 2005-10-22  Simon Josefsson  <jas@extundo.com>
20983
20984         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
20985         arcfour_context struct (simplify test vector testing in GNU
20986         Shishi).
20987
20988 2005-10-21  Simon Josefsson  <jas@extundo.com>
20989
20990         * modules/des, modules/des-tests: New files.
20991
20992         * modules/gc-des, modules/gc-des-tests: New files.
20993
20994         * tests/test-des.c, tests/test-gc-des.c: New file.
20995
20996 2005-10-21  Simon Josefsson  <jas@extundo.com>
20997
20998         * modules/arctwo, modules/arctwo-tests: New files.
20999
21000         * tests/test-arctwo.c: New file.
21001
21002         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
21003
21004         * tests/test-gc-arctwo.c: New file.
21005
21006 2005-10-21  Simon Josefsson  <jas@extundo.com>
21007
21008         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
21009         Bruno Haible <bruno@clisp.org>.
21010
21011         * m4/gc-des.m4: New file.
21012
21013 2005-10-21  Simon Josefsson  <jas@extundo.com>
21014
21015         * m4/arctwo.m4: New file.
21016
21017         * m4/gc-arctwo.m4: New file.
21018
21019 2005-10-21  Simon Josefsson  <jas@extundo.com>
21020
21021         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
21022         block.
21023
21024 2005-10-21  Simon Josefsson  <jas@extundo.com>
21025
21026         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
21027         <bruno@clisp.org>.
21028
21029         * lib/hmac-sha1.c (hmac_sha1): Likewise.
21030
21031         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
21032         Bruno Haible <bruno@clisp.org>.
21033
21034         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
21035         <bruno@clisp.org>.
21036
21037 2005-10-21  Simon Josefsson  <jas@extundo.com>
21038
21039         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
21040
21041 2005-10-21  Simon Josefsson  <jas@extundo.com>
21042
21043         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
21044
21045 2005-10-21  Simon Josefsson  <jas@extundo.com>
21046
21047         * lib/des.h, lib/des.c: New files.
21048
21049         * lib/gc-gnulib.c: Support DES.c
21050
21051 2005-10-21  Simon Josefsson  <jas@extundo.com>
21052
21053         * lib/arctwo.h, lib/arctwo.c: New files.
21054
21055         * lib/gc-gnulib.c: Support ARCTWO.
21056
21057 2005-10-21  Simon Josefsson  <jas@extundo.com>
21058
21059         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
21060         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21061
21062 2005-10-21  Simon Josefsson  <jas@extundo.com>
21063
21064         * gnulib-tool (func_import, func_create_testdir): Define automake
21065         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
21066         Makefile.am snippet),
21067         suggested by Bruno Haible <bruno@clisp.org>.
21068
21069         * modules/gc (Makefile.am): Use it.
21070
21071 2005-10-21  Bruno Haible  <bruno@clisp.org>
21072
21073         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
21074         patch.
21075
21076 2005-10-19  Simon Josefsson  <jas@extundo.com>
21077
21078         * tests/test-gc-rijndael.c: New file.
21079
21080         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
21081
21082 2005-10-19  Simon Josefsson  <jas@extundo.com>
21083
21084         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
21085         interface too.
21086
21087 2005-10-19  Simon Josefsson  <jas@extundo.com>
21088
21089         * tests/test-gc-arcfour.c: New file.
21090
21091         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
21092
21093 2005-10-19  Simon Josefsson  <jas@extundo.com>
21094
21095         * modules/gc-md4, modules/gc-md4-tests: New file.
21096
21097         * tests/test-gc-md4.c: New file.
21098
21099 2005-10-19  Simon Josefsson  <jas@extundo.com>
21100
21101         * m4/gc-md4.m4: New file.
21102
21103 2005-10-19  Simon Josefsson  <jas@extundo.com>
21104
21105         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
21106         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
21107         <kasal@ucw.cz>.
21108
21109 2005-10-19  Simon Josefsson  <jas@extundo.com>
21110
21111         * m4/gc-arcfour.m4: New file.
21112
21113         * m4/gc-rijndael.m4: New file.
21114
21115 2005-10-19  Simon Josefsson  <jas@extundo.com>
21116
21117         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
21118
21119 2005-10-19  Simon Josefsson  <jas@extundo.com>
21120
21121         * lib/gc-gnulib.c: Support ARCFOUR.
21122
21123 2005-10-19  Simon Josefsson  <jas@extundo.com>
21124
21125         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
21126         support.
21127
21128         * lib/gc.h: Add ECB enum type.
21129
21130         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
21131
21132 2005-10-18  Simon Josefsson  <jas@extundo.com>
21133
21134         * tests/test-md5.c: New file.
21135
21136         * modules/md5-tests: New file.
21137
21138 2005-10-18  Simon Josefsson  <jas@extundo.com>
21139
21140         * tests/test-md4.c: New file.
21141
21142         * modules/md4, modules/md4-tests: New files.
21143
21144 2005-10-18  Simon Josefsson  <jas@extundo.com>
21145
21146         * m4/md4.m4: New file.
21147
21148 2005-10-18  Simon Josefsson  <jas@extundo.com>
21149
21150         * lib/md4.h, lib/md4.c: New files, based on md5.?.
21151
21152 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
21153
21154         * gnulib-tool (func_create_testdir): Omit the second check whether
21155         BUILT_SOURCES in nonempty.
21156
21157 2005-10-17  Simon Josefsson  <jas@extundo.com>
21158
21159         * tests/test-rijndael.c: New file.
21160
21161 2005-10-17  Simon Josefsson  <jas@extundo.com>
21162
21163         * modules/sha1: Depend on stdint instead of md5.
21164
21165         * modules/md5: Depend on stdint, remove uint32_t.
21166
21167 2005-10-17  Simon Josefsson  <jas@extundo.com>
21168
21169         * modules/gc-sha1-tests: New file.
21170
21171         * tests/test-gc-sha1.c: New file.
21172
21173 2005-10-17  Simon Josefsson  <jas@extundo.com>
21174
21175         * m4/md5.m4: Remove call to uint32_t.m4.
21176
21177 2005-10-17  Simon Josefsson  <jas@extundo.com>
21178
21179         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
21180
21181         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
21182         md5.h.
21183
21184         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
21185
21186         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
21187
21188 2005-10-17  Simon Josefsson  <jas@extundo.com>
21189
21190         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
21191
21192 2005-10-17  Simon Josefsson  <jas@extundo.com>
21193
21194         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
21195
21196 2005-10-17  Simon Josefsson  <jas@extundo.com>
21197
21198         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
21199
21200         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
21201
21202 2005-10-17  Bruno Haible  <bruno@clisp.org>
21203
21204         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
21205         that it can also be used in a test.
21206
21207 2005-10-16  Bruno Haible  <bruno@clisp.org>
21208
21209         * gnulib-tool (func_emit_tests_Makefile_am): Also define
21210         TESTS_ENVIRONMENT, so that individual tests can augment it.
21211
21212         * gnulib-tool (func_create_testdir): Use an intermediate target for
21213         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
21214         macros, like $(ALLOCA_H), which cannot be passed through the command
21215         line.
21216
21217 2005-10-15  Simon Josefsson  <jas@extundo.com>
21218
21219         * modules/rijndael-tests: New file.
21220
21221         * modules/rijndael: New file.
21222
21223 2005-10-15  Simon Josefsson  <jas@extundo.com>
21224
21225         * m4/rijndael.m4: New file.
21226
21227 2005-10-15  Simon Josefsson  <jas@extundo.com>
21228
21229         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
21230
21231         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
21232
21233 2005-10-14  Simon Josefsson  <jas@extundo.com>
21234
21235         * tests/test-arcfour.c: New file.
21236
21237         * modules/arcfour, modules/arcfour-tests: New files.
21238
21239 2005-10-14  Simon Josefsson  <jas@extundo.com>
21240
21241         * m4/arcfour.m4: New file.
21242
21243 2005-10-14  Simon Josefsson  <jas@extundo.com>
21244
21245         * lib/arcfour.h, lib/arcfour.c: New files.
21246
21247 2005-10-14  Roland McGrath  <roland@redhat.com>
21248
21249         Import from libc.  [BZ #1331]
21250         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
21251         macro argument.
21252         Reported by Matej Vela <vela@debian.org>.
21253
21254 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
21255
21256         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
21257         include <wchar.h>; no longer needed.
21258
21259 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
21260
21261         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
21262
21263 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
21264         and  Ulrich Drepper  <drepper@redhat.com>
21265
21266         Import from libc.
21267         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
21268         instead of inline stream orientation test and two separate
21269         function calls.  Pay no attention to USE_IN_LIBIO.
21270
21271 2005-10-13  Simon Josefsson  <jas@extundo.com>
21272
21273         * modules/gc-hmac-md5-tests: New file.
21274
21275         * tests/test-gc-hmac-sha1.c: New file.
21276
21277         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
21278
21279         * modules/gc-hmac-md5-tests: New file.
21280
21281         * tests/test-gc-md5.c: New file.
21282
21283         * modules/gc-md5-tests: New file.
21284
21285 2005-10-13  Simon Josefsson  <jas@extundo.com>
21286
21287         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
21288         Move memory allocation outside of loop.
21289
21290 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21291
21292         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
21293         intermediate directory is in a read-only file system.  Problem
21294         reported by Eric Blake.
21295
21296 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
21297
21298         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
21299
21300 2005-10-12  Simon Josefsson  <jas@extundo.com>
21301
21302         * tests/test-hmac-sha1.c: New file.
21303
21304         * modules/hmac-sha1-tests: New file.
21305
21306         * modules/hmac-sha1: New file.
21307
21308 2005-10-12  Simon Josefsson  <jas@extundo.com>
21309
21310         * modules/gc-sha1: New file.
21311
21312 2005-10-12  Simon Josefsson  <jas@extundo.com>
21313
21314         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
21315
21316         * tests/test-gc-pbkdf2-sha1.c: New file.
21317
21318 2005-10-12  Simon Josefsson  <jas@extundo.com>
21319
21320         * modules/gc-md5, modules/gc-hmac-md5: New files.
21321
21322         * modules/gc (Files): Remove md5, memxor and hmac files.
21323
21324 2005-10-12  Simon Josefsson  <jas@extundo.com>
21325
21326         * m4/gc-pbkdf2-sha1.m4: New file.
21327
21328         * m4/gc-hmac-sha1.m4: New file.
21329
21330         * m4/gc-sha1: New file.
21331
21332         * m4/hmac-sha1.m4: New file.
21333
21334 2005-10-12  Simon Josefsson  <jas@extundo.com>
21335
21336         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
21337
21338         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
21339
21340 2005-10-12  Simon Josefsson  <jas@extundo.com>
21341
21342         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
21343         suggested by Bruno Haible <bruno@clisp.org>.
21344
21345 2005-10-12  Simon Josefsson  <jas@extundo.com>
21346
21347         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
21348
21349 2005-10-12  Simon Josefsson  <jas@extundo.com>
21350
21351         * lib/gc-pbkdf2-sha1.c: New file.
21352
21353         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
21354
21355 2005-10-12  Simon Josefsson  <jas@extundo.com>
21356
21357         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
21358
21359         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
21360
21361 2005-10-12  Simon Josefsson  <jas@extundo.com>
21362
21363         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
21364         GC_USE_HMAC_MD5, respectively.
21365
21366         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
21367         (gc_md5): Fix typo.
21368
21369         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
21370
21371         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
21372
21373         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
21374
21375 2005-10-12  Bruno Haible  <bruno@clisp.org>
21376
21377         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
21378         Reported by Stepan Kasal <kasal@ucw.cz>.
21379
21380 2005-10-11  Simon Josefsson  <jas@extundo.com>
21381
21382         * tests/test-crc.c: New file.
21383
21384         * modules/crc, modules/crc-tests: New files.
21385
21386 2005-10-11  Simon Josefsson  <jas@extundo.com>
21387
21388         * m4/crc.m4: New file.
21389
21390 2005-10-11  Simon Josefsson  <jas@extundo.com>
21391
21392         * lib/gc.h: Add gc_hash and gc_hash_buffer.
21393
21394         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
21395
21396         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
21397
21398 2005-10-11  Simon Josefsson  <jas@extundo.com>
21399
21400         * lib/crc.h, lib/crc.c: New files.
21401
21402         * lib/gc.h (gc_hash_buffer): Add doc.
21403
21404 2005-10-11  Bruno Haible  <bruno@clisp.org>
21405
21406         * modules/c-strcasestr: New file.
21407         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
21408
21409 2005-10-11  Bruno Haible  <bruno@clisp.org>
21410
21411         * modules/c-strcase: New file.
21412         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
21413
21414 2005-10-11  Bruno Haible  <bruno@clisp.org>
21415
21416         * lib/strcasecmp.c: Include limits.h.
21417         (strcasecmp): Avoid integer overflow on exotic platforms.
21418         * lib/strncasecmp.c: Include limits.h.
21419         (strncasecmp): Avoid integer overflow on exotic platforms.
21420         Reported by Paul Eggert.
21421
21422 2005-10-11  Bruno Haible  <bruno@clisp.org>
21423
21424         * lib/c-strcasestr.h: New file, from GNU gettext.
21425         * lib/c-strcasestr.c: New file, from GNU gettext.
21426
21427 2005-10-11  Bruno Haible  <bruno@clisp.org>
21428
21429         * lib/c-strcase.h: New file, from GNU gettext.
21430         * lib/c-strcasecmp.c: New file, from GNU gettext.
21431         * lib/c-strncasecmp.c: New file, from GNU gettext.
21432
21433 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21434
21435         * modules/mempcpy (License): GPL -> LGPL.
21436         * modules/strchrnul (License): Likewise.
21437         * modules/sysexits (License): Likewise.
21438
21439 2005-10-08  Simon Josefsson  <jas@extundo.com>
21440
21441         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
21442
21443 2005-10-07  Simon Josefsson  <jas@extundo.com>
21444
21445         * m4/memxor.m4: Remove gl_C_RESTRICT call.
21446
21447 2005-10-06  Simon Josefsson  <jas@extundo.com>
21448
21449         * tests/test-hmac-md5.c: New file.
21450
21451         * modules/hmac-md5-tests: New file.
21452
21453         * modules/hmac-md5: New file.
21454
21455 2005-10-06  Simon Josefsson  <jas@extundo.com>
21456
21457         * m4/hmac-md5.m4: New file.
21458
21459         * m4/memxor.m4: Require gl_C_RESTRICT.
21460
21461 2005-10-06  Simon Josefsson  <jas@extundo.com>
21462
21463         * lib/memxor.c (memxor): Avoid casts and warnings.
21464
21465 2005-10-06  Simon Josefsson  <jas@extundo.com>
21466
21467         * lib/hmac-md5.c: New file.
21468
21469         * lib/hmac.h: New file.
21470
21471 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
21472
21473         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
21474         promotes to int, not unsigned int, to catch the AIX 5.3
21475         compiler bug.
21476
21477 2005-10-05  Simon Josefsson  <jas@extundo.com>
21478
21479         * modules/memxor: New file.
21480
21481         * modules/iconv (Files): Move config.rpath to havelib, it is used
21482         there.
21483
21484         * modules/havelib (Files): Add config.rpath.
21485
21486 2005-10-05  Simon Josefsson  <jas@extundo.com>
21487
21488         * m4/memxor.m4: New file.
21489
21490 2005-10-05  Simon Josefsson  <jas@extundo.com>
21491
21492         * lib/memxor.c (memxor): Fix compiler error.
21493
21494         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
21495         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
21496
21497         * lib/memxor.h, lib/memxor.c: New files.
21498
21499         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
21500         we assume all systems have it, suggested by Jim Meyering
21501         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
21502         any systems lack sys/socket.h; mingw32 is known to lack it, but we
21503         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
21504         same reasons.
21505
21506 2005-10-05  Simon Josefsson  <jas@extundo.com>
21507
21508         * config/srclist.txt: Add glibc bug 1423 for md5.h.
21509
21510 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21511
21512         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
21513         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
21514         needed, since the source code now assumes these .h files.
21515
21516 2005-10-05  Derek Price  <derek@ximbiot.com>
21517
21518         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
21519
21520 2005-10-05  Bruno Haible  <bruno@clisp.org>
21521
21522         * modules/stdint (License): Change to LGPL.
21523
21524 2005-10-04  Simon Josefsson  <jas@extundo.com>
21525
21526         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
21527         D. Baushke" <mdb@gnu.org>.
21528
21529 2005-10-04  Bruno Haible  <bruno@clisp.org>
21530
21531         * lib/verify.h (verify_true): Provide alternative definition for C++.
21532
21533 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21534
21535         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
21536         (SSIZE_MAX): New macro, if not already defined.
21537         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
21538         than 2 GiB.
21539
21540 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21541
21542         Sync from coreutils.
21543         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
21544         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
21545         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
21546         ULLONG_MAX doesn't work with 2.7.2.1.
21547
21548 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21549
21550         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
21551         From Ben Pfaff.
21552
21553         * modules/exclude (Depends-on): Depend on verify.
21554         * modules/strtoimax (Depends-on): Likewise.
21555         * modules/utimecmp (Depends-on): Likewise.
21556
21557 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21558
21559         * lib/exclude.c: Include verify.h.
21560         (verify): Remove.  All callers changed to use verify.h's version.
21561         * lib/strtoimax.c: Likewise.
21562         * lib/utimecmp.c: Likewis.e
21563
21564         Sync from coreutils.
21565         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
21566         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
21567         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
21568         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
21569         bother returning ENOSYS if settimeofday or stime fails; just let
21570         them return whatever errno they want to return.
21571         * lib/utimens.c: Include unistd.h, for dup2.
21572         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
21573         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
21574
21575 2005-10-02  Jim Meyering  <jim@meyering.net>
21576
21577         Sync from coreutils.
21578         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
21579         from glibc-2.2.5 that fails for read-only files.
21580
21581 2005-10-02  Jim Meyering  <jim@meyering.net>
21582
21583         Sync from coreutils.
21584         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
21585         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
21586         `#if HAVE_CONFIG_H'.
21587         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
21588         Remove AT_FDCWD test.
21589         Do not consume the fd unless successful.
21590         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
21591         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
21592         block, so that we don't even try to compile it if settimeofday is
21593         available.  This works around a compilation failure on OSF1 V5.1,
21594         due to stime requiring a `long int*' while tv_sec is `int'.
21595
21596 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
21597
21598         Sync from coreutils.
21599         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
21600         against `yes', rather than just testing for nonempty.
21601
21602 2005-10-01  Simon Josefsson  <jas@extundo.com>
21603
21604         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
21605         and Darwin.
21606
21607         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
21608         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
21609         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
21610         freeaddrinfo and gai_strerror are declared by the POSIX headers.
21611         Check if struct addrinfo is declared.
21612
21613 2005-10-01  Simon Josefsson  <jas@extundo.com>
21614
21615         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
21616         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
21617         AI_* and EAI_* definitions.  Protect function declarations.
21618
21619 2005-10-01  Jim Meyering  <jim@meyering.net>
21620
21621         Sync from coreutils.
21622
21623         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
21624         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
21625         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
21626         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
21627         in the inet and nsl libraries.  Required on Solaris 5.7.
21628
21629 2005-10-01  Jim Meyering  <jim@meyering.net>
21630
21631         Sync from coreutils.
21632         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
21633         in the inet and nsl libraries.  Required on Solaris 5.7.
21634
21635 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
21636
21637         * lib/getdelim.c (getdelim): Remove unused variables.
21638
21639 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
21640
21641         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
21642         so that the code works even with ancient cpp.  Portability problem
21643         with GCC 2.7.2.1 reported by Thomas M.Ott.
21644
21645 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
21646
21647         * modules/regex (Depends-on): Add strcase.
21648
21649         * modules/gethostname (Licence): Change from GPL to LGPL, since
21650         gethostname.c is a trivial implementation of a standard library
21651         function.
21652         * modules/poll (License): Change from GPL to LGPL, since it's
21653         derived from LGPL code.
21654
21655 2005-09-27  Jim Meyering  <jim@meyering.net>
21656
21657         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
21658         HAVE_CONFIG_H.
21659
21660         * lib/intprops.h (signed_type_or_expr__): Define.
21661         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
21662         for unsigned types.
21663
21664 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21665
21666         * lib/verify.h (verify_expr): Remove, replacing with:
21667         (verify_true): New macro that returns true instead of void.
21668         (verify_type__): Remove.
21669         (verify): Use verify_true rather than verify_type__.
21670
21671 2005-09-26  Bruno Haible  <bruno@clisp.org>
21672
21673         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
21674         is necessary.
21675         (lib_SOURCES): Remove mbchar.c.
21676         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
21677         (Files): Add m4/mbrtowc.m4.
21678         * modules/mbiter: Likewise.
21679         * modules/mbuiter: Likewise.
21680
21681 2005-09-26  Bruno Haible  <bruno@clisp.org>
21682
21683         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
21684         compile mbchar.c if they are not both present.
21685         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
21686         * m4/mbiter.m4 (gl_MBITER): Likewise.
21687         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
21688         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
21689         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
21690
21691 2005-09-25  Jim Meyering  <jim@meyering.net>
21692
21693         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
21694         also uses socklen_t.
21695
21696 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
21697
21698         * lib/utimens.c (ENOSYS): Define if not already defined.
21699         (futimens): Support having a null PATH if the file descriptor
21700         is nonnegative.
21701
21702         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
21703         Remove.
21704         (__attribute): Define to empty unless GCC 3.1 or later.
21705         This works around a core dump on OpenBSD 3.4, which has GCC
21706         2.95.3, which dumps core when given __attribute__(()).  It also
21707         simplifies other tests, since we really don't want to bother with
21708         worrying about which ancient version of GCC supported what.
21709         Original problem reported by Yoann Vandoorselaere, with part of
21710         the fix suggested by Derek Price.
21711
21712 2005-09-24  Jim Meyering  <jim@meyering.net>
21713
21714         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
21715         so we can once again use a positive bitfield width of 1 -- now we
21716         don't have to explain why we were using a bitfield width of 2.
21717
21718 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
21719
21720         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
21721         and similarly for the other external symbols.  Problem reported
21722         by James Gallager.
21723
21724         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
21725         bug reported by Jim Meyering.
21726
21727         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
21728         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
21729         not needed, since socklen is a prerequisite module.
21730
21731 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
21732
21733         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
21734         Problem reported by Eric Blake.
21735         (getaddrinfo): Initialize se so that it's not garbage.
21736         Redo internal storage allocation so that it doesn't make unportable
21737         assumptions about alignment.
21738         Fix a memory leak.
21739
21740         * lib/utimens.c (futimens): Use futimesat if available.
21741         Prefer it to futimes since it doesn't have the futimes bug.
21742
21743         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
21744         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
21745         Instead, declare a function that returns a pointer to an array,
21746         and use verify_type__ to declare the size of the array.
21747         Problem and germ of a solution reported by Bruno Haible.
21748         (verify_type__): Use 2, not 1, for bitfield size, to avoid
21749         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
21750
21751 2005-09-23  Jim Meyering  <jim@meyering.net>
21752
21753         Sync from coreutils.
21754         Correct build failure (socklen_t not defined) on at least
21755         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
21756         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
21757
21758 2005-09-23  Jim Meyering  <jim@meyering.net>
21759
21760         * modules/getaddrinfo (Depends-on): Add socklen.
21761
21762 2005-09-23  Bruno Haible  <bruno@clisp.org>
21763
21764         * tests/test-verify.c: New file.
21765
21766 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21767
21768         Sync from coreutils.
21769
21770         * modules/argmatch (Depends-on): Add verify.
21771         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
21772         unistd-safer.
21773         * modules/save-cwd (Depends-on): Likewise.
21774
21775         * modules/openat (Files): Add lib/openat-die.c.
21776         (Depends-on): Remove error, exitfail.
21777         Add dirname.
21778
21779         * modules/verify: New file.
21780         * MODULES.html.sh (Diagnostics <assert.h>): New section,
21781         with "verify" module.
21782
21783 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21784
21785         Sync from coreutils.
21786
21787         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
21788         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
21789         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
21790         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
21791         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
21792         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
21793         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
21794         Don't bother checking for string.h, stdlib.h, unistd.h.
21795         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
21796         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
21797         module's job.
21798         * m4/jm-macros.m4 (gl_MACROS): Likewise.
21799         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
21800
21801         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
21802         (gl_GETDATE): Use it.
21803
21804         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
21805
21806 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21807
21808         Sync from coreutils.
21809
21810         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
21811         stat-time.h.
21812         * lib/argmatch.h: Include verify.h
21813         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
21814         (ARGMATCH_ASSERT): Remove; unused.
21815         * lib/canonicalize.c: Assume STDC_HEADERS.
21816         * lib/exclude.c: Include "strcase.h".
21817         * lib/regex_internal.h [!defined _LIBC]: Likewise.
21818         * lib/getusershell.c: Include stdio--.h rather than stdio.h
21819         and stdio-safer.h.
21820         (getusershell): Call fopen, not fopen_safer.
21821         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
21822         Do not include unistd-safer.h.
21823         (save_cwd): Don't call fd_safer; no longer needed
21824         now that we include fcntl--.h.
21825
21826         * lib/getdate.y (relative_time): New type.
21827         (RELATIVE_TIME_0): New constant.
21828         (parser_control): Use relative_time instead of doing it ourselves.
21829         (%union): Add new relative_time rel member.
21830         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
21831         Now typeless.
21832         (relunit, relunit_snumber): Now of type rel.
21833         (zone, rel, relunit, get_date): Adjust to above changes.
21834
21835         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
21836         Do not include unistd-safer.h.
21837         (getloadavg): Don't call fd_safer; no longer needed
21838         now that we include fcntl--.h.
21839
21840         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
21841         (make_dir_parents): Treat ENOSYS like EEXIST.
21842
21843         Improve quality of diagnostics on restore_cwd failure.
21844         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
21845         (make_dir_parents): Last arg is now int * (for errno), not bool *.
21846         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
21847         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
21848         each time through the loop.  Do not diagnose restore_cwd failure;
21849         that is the caller's job (and perhaps the caller does not care).
21850
21851         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
21852         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
21853         If the file already exists but is not a directory, don't bother
21854         to try to make its parents.
21855         Close potential file descriptor leak if we can't chdir("/") (!).
21856         Don't always return true if chdir($PWD) fails; return true only
21857         if the requested action was done successfully (except for the
21858         chdir($PWD)).
21859         Don't log final directory unless we actually made it.
21860         Refactor to avoid duplicate code to fix up permissions.
21861         Don't attempt to fix up parent permissions if chdir($PWD) fails.
21862
21863         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
21864         to make it a bit faster and (I hope) clearer.
21865         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
21866         Fix bug in formats like %2N.
21867
21868         * lib/verify.h: New file.
21869
21870 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21871
21872         Sync from coreutils.
21873         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
21874
21875 2005-09-22  Jim Meyering  <jim@meyering.net>
21876
21877         Sync from coreutils.
21878
21879         * m4/lstat.m4 (gl_FUNC_LSTAT):
21880         Use AC_LIBSOURCES to require lstat.c and lstat.h.
21881         Remove obsolete comment.
21882         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
21883         * m4/xstrtod.m4: Likewise.
21884
21885         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
21886
21887 2005-09-22  Jim Meyering  <jim@meyering.net>
21888
21889         Sync from coreutils.
21890
21891         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
21892
21893         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
21894         the .tm_year member, since otherwise gcc-4.0 would now warn about
21895         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
21896
21897         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
21898         order to avoid an unsuppressible warning from gcc on 64-bit systems.
21899
21900         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
21901         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
21902         when run in a time zone for which daylight savings time is in effect
21903         for the starting date.
21904
21905         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
21906         stop us from restricting permissions of just-created absolute-named
21907         directories.
21908         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
21909         to restore initial working directory.
21910         * lib/mkdir-p.c (make_dir_parents): New parameter:
21911         different_working_dir, to tell caller if/when we change the working
21912         directory and are unable to return to the initial one.
21913         * lib/mkdir-p.h (make_dir_parents): Update prototype.
21914         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
21915         `return false'.  This fixes a bug introduced on 2004-07-30.
21916
21917         * lib/openat.c (fdopendir): Be sure to close the supplied
21918         file descriptor before returning.  This makes our replacement
21919         implementation a little closer to Solaris's, where fdopendir
21920         ties the file descriptor to the returned DIR* pointer.
21921         * lib/openat.c (unlinkat): New function.
21922         * lib/openat.h (unlinkat): Add prototype.
21923         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
21924         (openat_restore_fail): Rename from openat_restore_die.
21925         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
21926
21927         Provide an alternative to exiting immediately upon save_cwd or
21928         restore_cwd failure.  Now, an application can arrange e.g.,
21929         to perform a longjump in that case.
21930         * lib/openat.c: Include dirname.h.
21931         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
21932         (rpl_openat, fdopendir, fstatat): Call openat_save_die
21933         and openat_restore_die rather than calling error directly.
21934         Don't include "error.h" or "exitfail.h"; they're no longer needed.
21935
21936         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
21937         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
21938         define.
21939
21940         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
21941         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
21942                             int utc, int nanoseconds);
21943         Background:
21944         date should not have to allocate a megabyte of virtual memory to
21945         handle a format argument like +%1048575T.  When implemented with
21946         strftime, it must allocate such a buffer, use strftime to fill it
21947         in, print it, then free it.
21948         With fprintftime, it simply prints everything and exits.
21949         With no need for memory allocation, that's one fewer way to fail.
21950         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
21951         optional field width, not before, so we accept %9:z, not %:9z.
21952         (my_strftime): Be sure to use L_('x') for literals.
21953
21954         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
21955         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
21956         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
21957         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
21958         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
21959         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
21960         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
21961         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
21962         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
21963         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
21964         * lib/xgethostname.c, lib/xreadlink.c:
21965         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
21966
21967         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
21968         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
21969         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
21970         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
21971         and don't include <sys/file.h>).
21972
21973 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
21974
21975         Sync from coreutils.
21976
21977         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
21978         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
21979         [!LDAV_DONE]: Avoid unused variable warning.
21980
21981 2005-09-21  Bruno Haible  <bruno@clisp.org>
21982
21983         * lib/unicodeio.h (unicode_to_mb): New declaration.
21984
21985 2005-09-20  Derek Price  <derek@ximbiot.com>
21986
21987         * lib/getaddrinfo.c: Don't include <netdb.h> included from
21988         getaddrinfo.h.
21989
21990 2005-09-20  Bruno Haible  <bruno@clisp.org>
21991
21992         * gnulib-tool: Remove trailing slashes from the values specified for
21993         --source-base, --m4-base, --tests-base, --aux-dir.
21994         Suggested by Simon Josefsson <jas@extundo.com>.
21995
21996 2005-09-20  Bruno Haible  <bruno@clisp.org>
21997
21998         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
21999         func_modules_to_filelist, func_import, func_create_testdir): Make all
22000         sorting results locale-independent, so that gnulib-cache.m4 doesn't
22001         change when gnulib-tool is invoked in a different locale.
22002
22003 2005-09-19  Simon Josefsson  <jas@extundo.com>
22004
22005         * m4/socklen.m4: Fix typo.
22006
22007 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22008
22009         Use a consistent style for including <config.h>.
22010         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
22011         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
22012         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
22013         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
22014         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
22015         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
22016         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
22017         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
22018         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
22019         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
22020         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
22021         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
22022         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
22023         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
22024         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
22025         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
22026         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
22027         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
22028         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
22029         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
22030         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
22031         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
22032         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
22033         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
22034         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
22035         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
22036         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
22037         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
22038         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
22039         lib/xstrtoumax.c, lib/yesno.c:
22040         Standardize inclusion of config.h.
22041         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
22042         lib/inttostr.h:  Removed inclusion of config.h from header files.
22043         * lib/inttostr.c:  Adjusted in-tree users.
22044         * lib/timespec.h: Remove superfluous warning to include config.h.
22045         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
22046         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
22047         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
22048         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
22049         config.h with HAVE_CONFIG_H.
22050
22051 2005-09-19  Jim Meyering  <jim@meyering.net>
22052
22053         * modules/pathmax (License): Change to LGPL.
22054
22055 2005-09-19  Derek Price  <derek@ximbiot.com>
22056
22057         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
22058
22059 2005-09-19  Bruno Haible  <bruno@clisp.org>
22060
22061         * gnulib-tool (import): Provide default for --tests-base.
22062
22063 2005-09-19  Bruno Haible  <bruno@clisp.org>
22064
22065         * doc/quote.texi: New file, extracted from gnulib.texi.
22066         * doc/ctime.texi: New file, extracted from gnulib.texi.
22067         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
22068         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
22069         * doc/gnulib.texi: Include them.
22070
22071 2005-09-18  Bruno Haible  <bruno@clisp.org>
22072
22073         Portability fix.
22074         * gnulib-tool (func_readlink): New function.
22075         (func_ln_if_changed): Use it.
22076
22077 2005-09-18  Bruno Haible  <bruno@clisp.org>
22078
22079         * gnulib-tool: Support --with-tests also with --import.
22080         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
22081         (func_import): Use variables $testsbase and $inctests. Emit a
22082         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
22083         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
22084         SUBDIRS += $testsdir.
22085         (func_create_testdir): Update.
22086
22087 2005-09-18  Bruno Haible  <bruno@clisp.org>
22088
22089         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
22090         instead of $dry_run.
22091         (func_cp_if_changed, func_mv_if_changed): Remove functions.
22092         (func_ln_if_changed): Don't handle dry-run here.
22093         (func_import): In dry-run mode, detect more precisely which actions
22094         would be performed, and don't use "...ing" verbs.
22095
22096 2005-09-18  Bruno Haible  <bruno@clisp.org>
22097
22098         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
22099         (func_import): Use join on two temporary files instead of three nested
22100         loops, in order to determine which files are new or old.
22101
22102 2005-09-18  Bruno Haible  <bruno@clisp.org>
22103
22104         * gnulib-tool (func_import): Comment out code that spits out the
22105         new files with --dry-run.
22106
22107 2005-09-18  Bruno Haible  <bruno@clisp.org>
22108
22109         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
22110
22111 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22112
22113         * lib/stat-time.h: New file.
22114         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
22115         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
22116         in a different way.
22117         (timespec_cmp): New function.
22118         * lib/utimecmp.c: Include stat-time.h.
22119         (SYSCALL_RESOLUTION): Depend on whether various struct stat
22120         members exist, not on the obsolescent ST_MTIM_NSEC.
22121         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
22122
22123 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22124
22125         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
22126
22127 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22128
22129         * MODULES.html.sh (File system functions): Add stat-time.
22130         * modules/stat-time: New file.
22131         * modules/timespec (Files): Remove m4/st_mtim.m4; this
22132         is now done in a different way, by the stat-time module.
22133         * modules/utimecmp (Depends-on): Add stat-time.
22134
22135 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
22136
22137         * m4/st_mtim.m4: Remove.  Superseded by...
22138         * m4/stat-time.m4: New file.
22139         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
22140         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
22141
22142 2005-09-15  Derek Price  <derek@ximbiot.com>
22143
22144         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
22145
22146 2005-09-15  Derek Price  <derek@ximbiot.com>
22147
22148         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
22149         * lib/regex_internal.c: Ditto, using this...
22150         (__GNUC_PREREQ): ...new macro.
22151         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
22152         using...
22153         (__GNUC_PREREQ): ...this new macro.
22154
22155         * lib/strstr.h: Include string.h. Define strstr as a macro here.
22156
22157 2005-09-15  Derek Price  <derek@ximbiot.com>
22158             Paul Eggert  <eggert@cs.ucla.edu>
22159
22160         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
22161         changes, consolidating in...
22162         * lib/regex_internal.h: ...this file.
22163
22164 2005-09-13  Jim Meyering  <jim@meyering.net>
22165
22166         * lib/canon-host.c: Filter through gnu indent and reword comments
22167         slightly.
22168         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
22169
22170 2005-09-13  Derek Price  <derek@ximbiot.com>
22171
22172         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
22173         failure.
22174         Reported by Jim Meyering  <jim@meyering.net>.
22175
22176 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
22177
22178         * lib/base64.c: Typo.
22179         (base64_encode): Put b64str in initialized data section.
22180
22181 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22182
22183         Merge glibc and coreutils changes into gnulib, plus a few
22184         extra fixes.
22185         * lib/md5.c: Use #error rather than a string.
22186         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
22187         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
22188         (__attribute__): Define to empty for non recent-GCC.
22189         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
22190         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
22191         Renamed from their non-__ counterparts, with new macros replacing
22192         them if not _LIBC.  Add __THROW attribute.
22193         (rol): Remove.
22194         (struct md5_ctx): Align buffer if using GCC.
22195         * lib/sha1.h (struct sha1_ctx): Likewise.
22196         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
22197         The old name was backwards.
22198         (NOTSWAP): Remove; not used.
22199         (rol): New macro, moved here from md5.h.
22200         (sha1_process_block): Remove a FIXME that doesn't make sense.
22201
22202 2005-09-12  Derek Price  <derek@ximbiot.com>
22203
22204         Return usable errors from canon-host.
22205         * lib/canon-host.h: New file.
22206         * lib/canon-host.c (canon_host): Wrap...
22207         (canon_host_r): ...this new function, which now relies exclusively on
22208         getaddrinfo.
22209         (ch_strerror): New function.
22210         (last_cherror): New global.
22211         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
22212         interface.
22213         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
22214         void *.
22215         (freeaddrinfo): Free ai->ai_canonname when set.
22216
22217 2005-09-12  Derek Price  <derek@ximbiot.com>
22218
22219         Make canon-host require getaddrinfo.
22220         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
22221         AC_LIBSOURCE canon-host.h.  Call...
22222         (gl_PREREQ_CANON_HOST): ...this new function, which requires
22223         gl_GETADDRINFO.
22224         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
22225
22226 2005-09-12  Derek Price  <derek@ximbiot.com>
22227
22228         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
22229         LGPL.
22230         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
22231
22232 2005-09-12  Derek Price  <derek@ximbiot.com>
22233
22234         * lib/gai_strerror.c: Include config.h when available.  Include
22235         getaddrinfo.h before other headers to test interface.
22236         Reported by Larry Jones <lawrence.jones@ugs.com>.
22237
22238 2005-09-12  Derek Price  <derek@ximbiot.com>
22239             Paul Eggert  <eggert@cs.ucla.edu>
22240
22241         * modules/glob (Files): Add glob-libc.h.
22242
22243 2005-09-12  Derek Price  <derek@ximbiot.com>
22244             Paul Eggert  <eggert@cs.ucla.edu>
22245
22246         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
22247         glob_.h, glob-libc.h.
22248         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
22249
22250 2005-09-12  Derek Price  <derek@ximbiot.com>
22251             Paul Eggert  <eggert@cs.ucla.edu>
22252
22253         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
22254         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
22255         protecting things that should be done only in gnulib contexts.
22256         * lib/glob_.h: New file, containing only the glob things needed for
22257         gnulib.
22258         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
22259         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
22260         (glob, globfree, glob_pattern_p): Now defined simply in terms of
22261         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
22262         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
22263         and to respect the namespace rules better.
22264
22265 2005-09-08  Simon Josefsson  <jas@extundo.com>
22266
22267         * modules/socklen: New file.
22268
22269 2005-09-08  Simon Josefsson  <jas@extundo.com>
22270
22271         * m4/socklen.m4: New file.
22272
22273 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22274
22275         * modules/utimens (Files): Add m4/utimbuf.m4, since
22276         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
22277         Reported by Sergey Poznyakoff.
22278
22279 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22280
22281         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
22282         definitions, since that's the preferred style in glibc.
22283         Fix a minor spacing issue, and update copyright notice to match
22284         glibc's.
22285
22286 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22287
22288         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
22289
22290 2005-09-06  Simon Josefsson  <jas@extundo.com>
22291
22292         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
22293         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
22294
22295 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22296
22297         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
22298         warning.
22299
22300 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22301
22302         * config/srclist.txt: Add glibc bug 1302.
22303
22304 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22305
22306         Change bitset word type from unsigned int to unsigned long int,
22307         as this has better performance on typical 64-bit hosts.
22308         Port bitset code to hosts with unusual word sizes.
22309         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
22310         (build_collating_symbol):
22311         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
22312         argument is a bitset.  This is merely a style issue, but it makes
22313         it clearer that an entire array is expected.
22314         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
22315         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
22316         Port to the case where bitset_word is not the same as unsigned int.
22317         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
22318         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
22319         Likewise.
22320         * lib/regexec.c (check_dst_limits_calc_pos_1,
22321         check_subexp_matching_top):
22322         (build_trtable, group_nodes_into_DFAstates):
22323         Likewise.
22324         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
22325         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
22326         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
22327         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
22328         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
22329         * lib/regcomp.c (optimize_subexps, lower_subexp):
22330         Work even if bitset_word has holes in its bitwise representation.
22331         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
22332         * lib/regexec.c (check_dst_limits_calc_pos_1,
22333         check_subexp_matching_top):
22334         Likewise.
22335         * lib/regex_internal.c (re_string_reconstruct):
22336         Don't assume UCHAR_MAX == 255.
22337         * lib/regex_internal.h (bitset_set_all): Likewise.
22338         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
22339         All uses changed.
22340         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
22341         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
22342         All uses changed.
22343         (BITSET_WORD_MAX): New macro.
22344         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
22345         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
22346         (bitset_empty, bitset_copy):
22347         Prefer sizeof (bitset) to multiplying it out ourselves.
22348         (bitset_not_merge): Remove; unused.
22349         (bitset_contain): Return bool, not unsigned int with one bit on.
22350         All callers changed.
22351         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
22352         alignment than re_node_set; do this by defining a new internal
22353         type struct dests_alloc and using it to allocate memory.
22354
22355 2005-09-05  Bruno Haible  <bruno@clisp.org>
22356
22357         * gnulib-tool (func_import): Fix comparison in handling of symbolic
22358         links.
22359
22360 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
22361
22362         * modules/size_max (Makefile.am): Add size_max.h
22363
22364 2005-09-04  Derek Price  <derek@ximbiot.com>
22365
22366         * gnulib-tool (func_import): Fix reversed $symbolic logic.
22367
22368 2005-09-03  Simon Josefsson  <jas@extundo.com>
22369
22370         * gnulib-tool: Fix typo.
22371
22372 2005-09-03  Simon Josefsson  <jas@extundo.com>
22373
22374         * config/srclist.txt: Add glibc bug 1293.
22375
22376 2005-09-03  Derek Price  <derek@ximbiot.com>
22377
22378         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
22379         From Larry Jones <lawrence.jones@ugs.com>.
22380
22381 2005-09-02  Simon Josefsson  <jas@extundo.com>
22382
22383         * modules/socklen: New file.
22384
22385 2005-09-02  Simon Josefsson  <jas@extundo.com>
22386
22387         * modules/havelib: New module.
22388
22389         * modules/gettext, modules/iconv, modules/lock, modules/readline:
22390         Use havelib.
22391
22392 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22393
22394         Check for arithmetic overflow when calculating sizes, to prevent
22395         some buffer-overflow issues.  These patches are conservative, in the
22396         sense that when I couldn't determine whether an overflow was possible,
22397         I inserted a run-time check.
22398         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
22399         macros.
22400         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
22401         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
22402         (re_xnrealloc, re_x2nrealloc): New inline functions.
22403         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
22404         parse_bracket_exp):
22405         (build_equiv_class, build_charclass): Check for arithmetic overflow
22406         in size expression calculations.
22407         * lib/regex_internal.c (re_string_realloc_buffers):
22408         (build_wcs_upper_buffer, re_node_set_add_intersect):
22409         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
22410         (re_dfa_add_node, register_state): Likewise.
22411         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
22412         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
22413         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
22414         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
22415
22416 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22417
22418         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
22419         m4/ulonglong.m4.  Problem reported by Martin Lambers.
22420
22421 2005-09-02  Bruno Haible  <bruno@clisp.org>
22422
22423         Support for lib vs. lib64 distinction on biarch platforms.
22424         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
22425         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
22426         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
22427
22428 2005-09-02  Bruno Haible  <bruno@clisp.org>
22429
22430         * gnulib-tool (import): In the other first-use case, provide defaults
22431         as well.
22432
22433 2005-09-02  Bruno Haible  <bruno@clisp.org>
22434
22435         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
22436         patches not yet found in the latest gettext release.
22437
22438 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22439
22440         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
22441         to avoid a collision with bits/local_lim.h in glibc.
22442         All uses changed.  Problem reported by Dmitry V. Levin in
22443         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
22444
22445         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
22446         bugs in int versus size_t comparisons.
22447         (re_string_context_at): Fix bug where the code assumed that
22448         Idx is signed.
22449
22450         Use bool where appropriate.
22451         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
22452         All callers changed.
22453         (calc_eclosure_iter): Likewise, for ROOT arg.
22454         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
22455         (build_charclass_op): Likewise, for NON_MATCH arg.
22456         * lib/regex_internal.c (re_string_allocate, re_string_construct):
22457         (re_string_construct_common): Likewise, for ICASE arg.
22458         * lib/regexec.c (re_search_2_stub, re_search_stub):
22459         Likewise, for RET_LEN arg.
22460         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
22461         (set_regs): Likewise, for FL_BACKTRACK arg.
22462         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
22463         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
22464         (calc_eclosure_iter, parse_bracket_exp):
22465         Use bool for internal variables that are booleans.
22466         * lib/regexec.c (re_search_internal, check_matching,
22467         proceed_next_node):
22468         (set_regs, build_sifted_states, sift_states_bkref):
22469         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
22470         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
22471         (find_collation_sequence_value):
22472         Likewise.
22473         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
22474         (re_node_set_compare):
22475         Return bool, not int. All callers changed.
22476         * lib/regexec.c (check_halt_node_context, check_dst_limits):
22477         (build_trtable, check_node_accept): Likewise.
22478         * lib/regex_internal.h: Include stdbool.h.
22479
22480         Fix bugs uncovered when converting to bool.
22481         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
22482         failure instead of charging ahead blindly.
22483         * lib/regex_internal.c (register_state): Likewise.
22484         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
22485         for freeing internal storage.
22486         (group_nodes_into_DFA_states): Use unsigned int, not int, for
22487         bitset pieces used as boolean, to avoid undefined behavior
22488         on hosts that do int overflow checking.
22489
22490 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22491
22492         * config/srclist.txt: Add glibc bugs 1285-1287.
22493
22494 2005-09-01  Jim Meyering  <jim@meyering.net>
22495
22496         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
22497         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
22498         Require gl_STAT_MACROS, too.
22499
22500 2005-09-01  Bruno Haible  <bruno@clisp.org>
22501
22502         * gnulib-tool (import): In the first-use case, provide defaults.
22503
22504 2005-09-01  Bruno Haible  <bruno@clisp.org>
22505
22506         * gnulib-tool (func_import): Remove the .tmp files.
22507
22508 2005-09-01  Bruno Haible  <bruno@clisp.org>
22509
22510         * gnulib-tool (func_import): Fix handling of symbolic links.
22511
22512 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22513
22514         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
22515         old glibc regex code mishandles strings longer than 2**31 bytes.
22516         This patch fixes this when the regex code is used in gnulib
22517         (i.e., outside glibc).
22518
22519         This patch should not affect the use of the regex code inside
22520         glibc.  No doubt this problem also needs to be handled for glibc
22521         as well, but the result will be an incompatible change to the
22522         glibc ABI, and the old ABI will have to be supported too.  That
22523         can be the the subject for another patch.
22524
22525         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
22526         governing whether the rest of this patch is active.  By default,
22527         the macro is disabled and the patch has no effect.
22528         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
22529         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
22530         (struct re_pattern_buffer, re_search, re_search_2, re_match):
22531         (re_match_2, re_set_registers): Use the new types.
22532         * lib/regex_internal.h (Idx, re_hashval_t): New types.
22533         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
22534         New macros.
22535         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
22536         (re_string_context_at, bin_tree_t, re_dfastate_t):
22537         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
22538         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
22539         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
22540         (re_string_char_size_at, re_string_wchar_at):
22541         (re_string_elem_size_at):
22542         Use the new types and macros to port to 64-bit hosts.
22543         Use unsigned types for internal values, so that the code
22544         mostly works even for arrays larger than SSIZE_MAX.
22545         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
22546         (search_duplicated_node, calc_eclosure_iter, fetch_number):
22547         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
22548         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
22549         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
22550         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
22551         (calc_inveclosure, parse_dup_op, build_range_exp):
22552         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
22553         (fetch_number, create_token_tree, mark_opt_subexp):
22554         Likewise.
22555         * lib/regex_internal.c (re_string_construct_common,
22556         create_ci_newstate):
22557         (create_cd_newstate, re_string_allocate, re_string_construct):
22558         (re_string_realloc_buffers, build_wcs_upper_buffer):
22559         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
22560         (re_string_reconstruct, re_string_peek_byte_case):
22561         (re_string_fetch_byte_case, re_string_context_at):
22562         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
22563         (re_node_set_init_copy, re_node_set_add_intersect):
22564         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
22565         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
22566         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
22567         (re_acquire_state, re_acquire_state_context, register_state):
22568         Likewise.
22569         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
22570         search_cur_bkref_entry):
22571         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
22572         (re_search_internal, re_search_2_stub, re_search_stub)
22573         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
22574         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
22575         (update_cur_sifted_state, check_dst_limits):
22576         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
22577         (check_subexp_limits, sift_states_bkref, merge_state_array):
22578         (check_subexp_matching_top, get_subexp, get_subexp_sub):
22579         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
22580         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
22581         (expand_bkref_cache, check_node_accept_bytes):
22582         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
22583         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
22584         (acquire_init_state_context, check_halt_node_context):
22585         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
22586         (sift_states_backward, clean_state_log_if_needed):
22587         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
22588         (find_recover_state, transit_state_sb, transit_state_mb):
22589         (transit_state_bkref, build_trtable, match_ctx_clean):
22590         Likewise.
22591         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
22592         to work around an assumption that REG_MISSING is negative.
22593
22594         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
22595         (seek_collating_symbol_entry) [defined _LIBC]:
22596         (lookup_collation_sequence_value) [defined _LIBC]:
22597         (build_range_exp, build_collating_symbol) [defined _LIBC]:
22598         Use prototypes rather than old-style function definitions.
22599         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
22600         (transit_state_sb) [0]:
22601         (find_collation_sequence_value) [defined _LIBC]: Likewise.
22602
22603         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
22604         rm_eo.
22605
22606         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
22607         (optimize_subexps, lower_subexp):
22608         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
22609         since the signed shift might overflow.  Use 1u<<31 instead.
22610         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
22611         Likewise.
22612         * lib/regexec.c (check_dst_limits_calc_pos_1,
22613         check_subexp_matching_top): Likewise.
22614
22615         * lib/regcomp.c (optimize_subexps, lower_subexp):
22616         Use CHAR_BIT rather than 8, for clarity.
22617         * lib/regexec.c (check_dst_limits_calc_pos_1):
22618         (check_subexp_matching_top): Likewise.
22619         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
22620         have to worry about portability issues when shifting it left.
22621         Remove no-longer-needed test for table_size > 0.
22622         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
22623         in a word, as the resulting behavior is undefined.
22624         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
22625         in one case, a <= should have been an <, and in another case the
22626         whole test was missing.
22627         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
22628         the standard name CHAR_BIT.
22629         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
22630         this is not true on one's complement and signed-magnitude hosts.
22631
22632         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
22633         next_last_offset.
22634         (struct re_dfa_t): Remove unused member states_alloc.
22635         * lib/regcomp.c (init_dfa): Don't initialize unused members.
22636
22637 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22638
22639         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
22640         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
22641         and large-file glibc and in 32-bit large-file Solaris.
22642
22643 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22644
22645         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
22646         lengths fit in regoff_t; this isn't true if regoff_t is the same
22647         width as size_t.
22648         * lib/regex.c (re_search_internal): 5th arg is LAST_START
22649         (= START + RANGE) instead of RANGE.  This avoids overflow
22650         problems when regoff_t is the same width as size_t.
22651         All callers changed.
22652         (re_search_2_stub): Check for overflow when adding the
22653         sizes of the two strings.
22654         (re_search_stub): Check for overflow when adding START
22655         to RANGE; if it occurs, substitute the extreme value.
22656
22657 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22658
22659         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
22660
22661 2005-08-31  Jim Meyering  <jim@meyering.net>
22662
22663         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
22664         a pointer-to-const.
22665         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
22666         (register_state): Likewise.
22667         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
22668         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
22669         (group_nodes_into_DFAstates): Likewise.
22670
22671 2005-08-31  Jim Meyering  <jim@meyering.net>
22672
22673         * check-module: Add a FIXME comment.
22674
22675 2005-08-31  Eric Blake  <ebb9@byu.net>
22676
22677         * modules/unistd-safer (Files): Add unistd--.h.
22678         * modules/stdio-safer (Files): Add stdio--.h.
22679
22680 2005-08-31  Derek Price  <derek@ximbiot.com>
22681
22682         * lib/getdelim.c (getdelim): Return EOF on EOF.
22683         Reported by Larry Jones <lawrence.jones@ugs.com>.
22684
22685 2005-08-31  Bruno Haible  <bruno@clisp.org>
22686
22687         Avoid unnecessary diffs in the generated lib/Makefile.am.
22688         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
22689         the generated files.
22690         (func_import): Don't set cmd.
22691
22692 2005-08-31  Bruno Haible  <bruno@clisp.org>
22693
22694         * lib/strstr.c: Include <stddef.h>, for NULL.
22695         * lib/strcasestr.c: Likewise.
22696         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22697
22698 2005-08-31  Bruno Haible  <bruno@clisp.org>
22699
22700         * gnulib-tool: New option --macro-prefix.
22701         (func_import): Use macro_prefix.
22702         (import): Handle option --macro-prefix.
22703
22704 2005-08-31  Bruno Haible  <bruno@clisp.org>
22705
22706         * gnulib-tool (import): Rename most ac_* variables to cached_*.
22707         Also use new variables cached_lgpl, cached_libtool.
22708
22709 2005-08-31  Bruno Haible  <bruno@clisp.org>
22710
22711         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
22712         always instantiating them.
22713
22714 2005-08-31  Bruno Haible  <bruno@clisp.org>
22715
22716         * gnulib-tool (func_import): Read the previous cached settings
22717         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
22718         earlier added by gnulib but are now dropped. Warn when a gnulib file
22719         overwrites a non-gnulib file.
22720
22721 2005-08-31  Bruno Haible  <bruno@clisp.org>
22722
22723         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
22724         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
22725         projects that don't keep autogenerated files in CVS. Put into
22726         actioncmd only the specified modules, not the transitive closure.
22727
22728 2005-08-31  Bruno Haible  <bruno@clisp.org>
22729
22730         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
22731         Create directories that shall be filled.
22732         (import): Don't look for gl_* macros in configure.ac. Recurse across
22733         all directories containing a gnulib-cache.m4 files, if meaningful.
22734
22735 2005-08-31  Bruno Haible  <bruno@clisp.org>
22736
22737         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
22738         (import): Set seen_libtool when we see gl_LIBTOOL.
22739
22740 2005-08-31  Bruno Haible  <bruno@clisp.org>
22741
22742         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
22743         declaration macro definitions from generated gnulib.m4.
22744
22745 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
22746
22747         * lib/iconvme.h: Add prototype for iconv_alloc.
22748
22749 2005-08-29  Simon Josefsson  <jas@extundo.com>
22750
22751         * lib/iconvme.c: Fix errno.
22752
22753 2005-08-29  Bruno Haible  <bruno@clisp.org>
22754
22755         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
22756         that it works when the directory contains spaces.
22757
22758 2005-08-29  Bruno Haible  <bruno@clisp.org>
22759
22760         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
22761
22762 2005-08-29  Bruno Haible  <bruno@clisp.org>
22763
22764         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
22765         Emit more advice.
22766
22767 2005-08-29  Bruno Haible  <bruno@clisp.org>
22768         and Stepan Kasal  <kasal@ucw.cz>
22769
22770         * check-module: If more parameters are given, check each of them
22771         separately; add more exceptions, as noted by Jim Meyering.
22772         (check_module): New procedure.
22773         (%exempt_header): Now contains all exceptions.
22774
22775 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
22776
22777         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
22778
22779 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
22780
22781         * lib/iconvme.c: Split iconv_string into iconv_alloc.
22782
22783 2005-08-28  Bruno Haible  <bruno@clisp.org>
22784
22785         * m4/gnulib-tool.m4: New file.
22786
22787 2005-08-27  Jim Meyering  <jim@meyering.net>
22788
22789         * modules/unistd-safer (Files): Add pipe-safer.c.
22790         * modules/fcntl-safer (Files): Add creat-safer.c.
22791
22792 2005-08-27  Jim Meyering  <jim@meyering.net>
22793
22794         * m4/stdlib-safer.m4: New file.  From coreutils.
22795         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
22796         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
22797         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
22798         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
22799         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
22800
22801 2005-08-27  Jim Meyering  <jim@meyering.net>
22802
22803         * lib/fopen-safer.c: Merge minor changes from coreutils.
22804         * lib/dup-safer.c: Likewise.
22805         * lib/fd-safer.c: Likewise.
22806
22807         Merge from coreutils.
22808         * lib/stdio--.h: New file.
22809         * lib/stdlib--.h: New file.
22810         * lib/mkstemp-safer.c: New file.
22811
22812         GNU tar needs these.
22813         * lib/pipe-safer.c: New file.
22814         * lib/creat-safer.c: New file.
22815         * lib/fcntl--.h (creat): Define to creat_safer.
22816         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
22817         * lib/unistd--.h (pipe): Define to pipe_safer.
22818         * lib/unistd-safer.h: Declare pipe_safer.
22819
22820 2005-08-26  Simon Josefsson  <jas@extundo.com>
22821
22822         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
22823         Haible <bruno@clisp.org>.
22824
22825 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
22826
22827         * lib/regex_internal.h: Remove all references to
22828         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
22829         or better.
22830         (bitset_not, bitset_merge, bitset_not_merge):
22831         (bitset_mask, re_string_allocate, re_string_construct):
22832         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
22833         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
22834         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
22835         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
22836         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
22837         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
22838         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
22839         (re_acquire_state_context):
22840         Remove unnecessary forward decls.
22841         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
22842         Put __attribute at function definition,
22843         now that the function decl has been removed.
22844         * lib/regex_internal.c (re_string_peek_byte_case):
22845         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
22846         Likewise.
22847
22848 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
22849
22850         * m4/regex.m4: Add AC_PREREQ(2.50).
22851         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
22852
22853 2005-08-25  Simon Josefsson  <jas@extundo.com>
22854
22855         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
22856         __fsetlocking.
22857
22858 2005-08-25  Simon Josefsson  <jas@extundo.com>
22859
22860         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
22861         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
22862         GLIBC specific code.
22863
22864 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22865
22866         Make regex safe for g++.  This fixes one real bug (an "err"
22867         that should have been "*err").  g++ problem reported by
22868         Sam Steingold.
22869         * lib/regex_internal.h (re_calloc): New macro, consistent with
22870         re_malloc etc.  All callers of calloc changed to use re_calloc.
22871         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
22872         not int.  All callers changed.
22873         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
22874         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
22875         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
22876         (find_recover_state): Change "err" to "*err"; this fixes what
22877         appears to be a real bug.
22878         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
22879         versus int.
22880
22881 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22882
22883         * modules/regex (Depends-on): Add malloc, since the code
22884         assumes that !malloc(0) means failure.
22885
22886 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22887
22888         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
22889
22890         alloca modernization/simplification for regex.
22891         * lib/regex.c: Remove portability cruft for alloca.  This no longer
22892         needs to be at the start of the file, and can be moved into
22893         regex_internal.h and simplified.
22894         * lib/regex_internal.h: Include <alloca.h>.
22895         (__libc_use_alloca) [!defined _LIBC]: New macro.
22896         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
22897         now works outside glibc.
22898
22899 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22900
22901         * config/srclist.txt: Add glibc bugs 1241, 1245.
22902
22903 2005-08-25  Jim Meyering  <jim@meyering.net>
22904
22905         * lib/open-safer.c: Include <config.h>.
22906         Otherwise, we'd lose LARGEFILE support in any file using
22907         e.g. "fcntl--.h"
22908
22909 2005-08-25  Bruno Haible  <bruno@clisp.org>
22910
22911         * m4/minmax.m4: Require autoconf 2.52.
22912         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
22913         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
22914         alternatives of translit over the alphabet.
22915         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
22916
22917 2005-08-24  Simon Josefsson  <jas@extundo.com>
22918
22919         * tests/test-getpass.c: New file.
22920
22921 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22922
22923         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
22924         for GNU regex features.
22925
22926 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22927
22928         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
22929         * lib/regex.h (regerror): Likewise.
22930
22931         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
22932         requires this.  (The code never needed it.)
22933
22934         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
22935         All uses of recently-renamed identifiers changed to use the new,
22936         POSIX-compliant names.  The code will build and run just fine
22937         without these changes, but it's better to eat our own dog food
22938         and use the standard-conforming names.
22939
22940         * lib/regex.h: Fix a multitude of POSIX name space violations.
22941         These changes have an effect only for programs that define
22942         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
22943         do not change anything for programs compiled in the normal way.
22944         Also, there is no effect on the ABI.
22945
22946         (_REGEX_SOURCE): New macro.
22947         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
22948         defined and _GNU_SOURCE is not; this fixes a name space violation.
22949
22950         Rename the following macros to obey POSIX requirements.
22951         The old names are still visible as macros if _REGEX_SOURCE is defined.
22952         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
22953         RE_BACKSLASH_ESCAPE_IN_LISTS.
22954         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
22955         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
22956         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
22957         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
22958         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
22959         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
22960         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
22961         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
22962         (REG_INTERVALS): renamed from RE_INTERVALS.
22963         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
22964         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
22965         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
22966         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
22967         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
22968         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
22969         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
22970         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
22971         RE_UNMATCHED_RIGHT_PAREN_ORD.
22972         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
22973         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
22974         (REG_DEBUG): renamed from RE_DEBUG.
22975         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
22976         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
22977         unusual, since we can't clash with the POSIX REG_ICASE.
22978         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
22979         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
22980         (REG_NO_SUB): renamed from RE_NO_SUB.
22981         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
22982         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
22983         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
22984         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
22985         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
22986         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
22987         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
22988         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
22989         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
22990         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
22991         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
22992         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
22993         RE_SYNTAX_POSIX_MINIMAL_BASIC.
22994         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
22995         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
22996         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
22997         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
22998         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
22999         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
23000         (REG_FIXED): Renamed from REGS_FIXED.
23001         (REG_NREGS): Renamed from RE_NREGS.
23002
23003         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
23004         of other REG_* macros, since POSIX says the user is allowed to
23005         #undef these macros selectively.
23006
23007         (reg_errcode_t): Update comment stating what other tables need
23008         to be consistent.
23009
23010         Rename the following enum values to obey POSIX requirements.
23011         The old names are still visible as macros.
23012         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
23013         is not defined, since GNU is supposed to be a superset of POSIX as
23014         much as possible, and since we want reg_errcode_t to be a signed
23015         type for implementation consistency.
23016         (_REG_NOERROR): Renamed from REG_NOERROR.
23017         (_REG_NOMATCH): Renamed from REG_NOMATCH.
23018         (_REG_BADPAT): Renamed from REG_BADPAT.
23019         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
23020         (_REG_ECTYPE): Renamed from REG_ECTYPE.
23021         (_REG_EESCAPE): Renamed from REG_EESCAPE.
23022         (_REG_ESUBREG): Renamed from REG_ESUBREG.
23023         (_REG_EBRACK): Renamed from REG_EBRACK.
23024         (_REG_EPAREN): Renamed from REG_EPAREN.
23025         (_REG_EBRACE): Renamed from REG_EBRACE.
23026         (_REG_BADBR): Renamed from REG_BADBR.
23027         (_REG_ERANGE): Renamed from REG_ERANGE.
23028         (_REG_ESPACE): Renamed from REG_ESPACE.
23029         (_REG_BADRPT): Renamed from REG_BADRPT.
23030         (_REG_EEND): Renamed from REG_EEND.
23031         (_REG_ESIZE): Renamed from REG_ESIZE.
23032         (_REG_ERPAREN): Renamed from REG_ERPAREN.
23033         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
23034         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
23035         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
23036         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
23037
23038         (_REG_RE_NAME, _REG_RM_NAME): New macros.
23039         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
23040         changed.  But support the old name if the new one is not defined
23041         and if _REGEX_SOURCE.
23042
23043         Change the following member names in struct re_pattern_buffer.
23044         The old names are still supported if !_REGEX_SOURCE.
23045         The new names are always supported, regardless of _REGEX_SOURCE.
23046         (re_buffer): Renamed from buffer.
23047         (re_allocated): Renamed from allocated.
23048         (re_used): Renamed from used.
23049         (re_syntax): Renamed from syntax.
23050         (re_fastmap): Renamed from fastmap.
23051         (re_translate): Renamed from translate.
23052         (re_can_be_null): Renamed from can_be_null.
23053         (re_regs_allocated): Renamed from regs_allocated.
23054         (re_fastmap_accurate): Renamed from fastmap_accurate.
23055         (re_no_sub): Renamed from no_sub.
23056         (re_not_bol): Renamed from not_bol.
23057         (re_not_eol): Renamed from not_eol.
23058         (re_newline_anchor): Renamed from newline_anchor.
23059
23060         Change the following member names in struct re_registers.
23061         The old names are still supported if !_REGEX_SOURCE.
23062         The new names are always supported, regardless of _REGEX_SOURCE.
23063         (rm_num_regs): Renamed from num_regs.
23064         (rm_start): Renamed from start.
23065         (rm_end): Renamed from end.
23066
23067         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
23068         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
23069         Prepend __ to parameter names.
23070
23071         Undo yesterday's changes.
23072
23073 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23074
23075         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
23076         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
23077         lib/regex.c.
23078
23079 2005-08-24  Jim Meyering  <jim@meyering.net>
23080
23081         Sync from coreutils.
23082         * m4/fcntl-safer.m4: New file.
23083
23084         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
23085         and object files for this module.
23086
23087 2005-08-24  Jim Meyering  <jim@meyering.net>
23088
23089         Sync from coreutils.
23090         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
23091
23092 2005-08-24  Jim Meyering  <jim@meyering.net>
23093
23094         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
23095         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
23096
23097 2005-08-24  Jim Meyering  <jim@meyering.net>
23098
23099         * modules/fcntl-safer: New module.
23100         * modules/fts (Depends-on): Add fcntl-safer.
23101         * MODULES.html.sh (File descriptor based Input/Output):
23102         Add fcntl-safer.
23103
23104 2005-08-24  Bruno Haible  <bruno@clisp.org>
23105
23106         Support for unit test modules.
23107         * modules/README: Mention tests modules.
23108         * modules/TEMPLATE-TESTS: New file.
23109         * gnulib-tool: New options --extract-tests-module, --with-tests and
23110         --tests-base (unused for the moment).
23111         (testsbase, inctests): New variables.
23112         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
23113         (func_verify_module): Exclude TEMPLATE-TESTS.
23114         (func_verify_nontests_module, func_verify_tests_module): New functions.
23115         (func_get_dependencies): Add implicit dependency for tests modules.
23116         (func_get_tests_module): New function.
23117         (func_modules_transitive_closure): When --with-tests was specified,
23118         include the unit tests as well, unless explicitly avoided.
23119         (func_emit_lib_Makefile_am): Ignore the tests modules here.
23120         (func_emit_tests_Makefile_am): New function.
23121         (func_create_testdir): When --with-tests was specified, emit a
23122         tests/ directory.
23123         * MODULES.html.sh (Future developments): Update.
23124
23125 2005-08-24  Bruno Haible  <bruno@clisp.org>
23126
23127         * modules/tls-tests: New file.
23128         * tests/test-tls.c: New file, from GNU gettext.
23129
23130 2005-08-24  Bruno Haible  <bruno@clisp.org>
23131
23132         * modules/lock-tests: New file.
23133         * tests/test-lock.c: New file, from GNU gettext.
23134
23135 2005-08-24  Bruno Haible  <bruno@clisp.org>
23136
23137         * lib/lock.h: Add multiple inclusion guard.
23138         * lib/tls.h: Add multiple inclusion guard.
23139
23140 2005-08-24  Bruno Haible  <bruno@clisp.org>
23141
23142         * gnulib-tool: Add support for the --aux-dir option to
23143         --create-testdir, --create-megatestdir, --test, --megatest.
23144         (func_create_testdir, func_create_megatestdir): Optionally emit a
23145         AC_CONFIG_AUX_DIR directive.
23146         (create-testdir, create-megatestdir, test, megatest): Provide a
23147         default value for $auxdir.
23148
23149 2005-08-24  Bruno Haible  <bruno@clisp.org>
23150
23151         * gnulib-tool (import): Use compound statement instead of subshell
23152         where possible.
23153
23154 2005-08-24  Bruno Haible  <bruno@clisp.org>
23155
23156         * gnulib-tool (import): Change --aux-dir default to "build-aux".
23157
23158 2005-08-24  Bruno Haible  <bruno@clisp.org>
23159
23160         * gnulib-tool (func_version): Update.
23161
23162 2005-08-24  Bruno Haible  <bruno@clisp.org>
23163
23164         * gnulib-tool (func_import, func_create_testdir,
23165         func_create_megatestdir): Quote all autoconf macro arguments.
23166
23167 2005-08-24  Bruno Haible  <bruno@clisp.org>
23168
23169         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
23170         option --force, because --force causes the aclocal.m4 of each
23171         subdirectory to be newer than the corresponding config.h.in.
23172
23173 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23174
23175         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
23176         All contents moved to gl_REGEX.
23177         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
23178         assume that it does.
23179
23180 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23181
23182         * lib/regex.h (REG_NOSYS)
23183         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
23184         Define, since POSIX requires it as of 2001.
23185         (_REG_ENOSYS)
23186         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
23187         New private symbol, used to keep the enum signed in all cases.
23188         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
23189         Youngman in
23190         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
23191
23192         * lib/regex_internal.c (re_string_skip_chars, register_state):
23193         (calc_state_hash):
23194         Remove forward decls; no longer needed now that we use prototypes.
23195         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
23196         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
23197         (clean_state_log_if_needed): Likewise.
23198
23199 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23200
23201         * config/srclist.txt: Add glibc bugs 1231-1233.
23202
23203 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23204
23205         Fix problems reported by Sam Steingold in
23206         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
23207         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
23208         assumed that reg_errcode_t is a signed type, which is not
23209         necessarily true if _XOPEN_SOURCE is not defined.
23210         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
23211         since some compilers warn about it otherwise.
23212
23213 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23214
23215         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
23216         (init_word_char, create_initial_state, duplicate_node_closure):
23217         (fetch_token, peek_token_bracket, build_range_exp):
23218         (build_collating_symbol): Remove forward decls; no longer needed
23219         now that we use prototypes.
23220
23221         * lib/regcomp.c:
23222         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
23223         (re_compile_fastmap_iter, regcomp, regerror, regfree):
23224         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
23225         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
23226         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
23227         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
23228         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
23229         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
23230         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
23231         (build_range_exp, build_collating_symbol, parse_bracket_exp):
23232         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
23233         (build_charclass, build_charclass_op, fetch_number, create_tree):
23234         (create_token_tree, mark_opt_subexp, duplicate_tree):
23235         Use prototypes rather than old-style definitions.
23236
23237         * lib/regex_internal.c:
23238         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
23239         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
23240         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
23241         (re_string_reconstruct, re_string_peek_byte_case):
23242         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
23243         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
23244         (re_node_set_init_copy, re_node_set_add_intersect):
23245         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
23246         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
23247         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
23248         (re_acquire_state, re_acquire_state_context, register_state):
23249         (create_ci_newstate, create_cd_newstate, free_state):
23250         Likewise.
23251         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
23252         re_search_2):
23253         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
23254         (re_search_internal, prune_impossible_nodes):
23255         (acquire_init_state_context, check_matching, static):
23256         (check_halt_node_context, check_halt_state_context, proceed_next_node):
23257         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
23258         (update_regs, sift_states_backward, build_sifted_states):
23259         (clean_state_log_if_needed, merge_state_array):
23260         (update_cur_sifted_state, add_epsilon_src_nodes):
23261         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
23262         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
23263         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
23264         (find_recover_state, check_subexp_matching_top, transit_state_mb):
23265         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
23266         (check_arrival, check_arrival_add_next_nodes):
23267         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
23268         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
23269         (check_node_accept_bytes, check_node_accept, extend_buffers):
23270         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
23271         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
23272         (sift_ctx_init):
23273         Likewise.
23274
23275         * lib/regex_internal.h:
23276         (re_string_allocate, re_string_construct, re_string_reconstruct):
23277         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
23278         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
23279         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
23280         (re_string_context_at, re_string_peek_byte_case):
23281         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
23282         is defined, since we now use prototypes always.
23283
23284         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
23285         C89 or better.  All uses removed.
23286
23287 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23288
23289         * config/srclist.txt: Add glibc bugs 1220-1227.
23290
23291 2005-08-20  Jim Meyering  <jim@meyering.net>
23292
23293         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
23294         of unused local, dfa.
23295
23296 2005-08-20  Bruno Haible  <bruno@clisp.org>
23297
23298         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
23299
23300 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23301
23302         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
23303         (re_node_set_insert_last, re_dfa_add_node):
23304         Rename local variables to avoid GCC shadowing warnings.
23305
23306 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23307
23308         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
23309         [defined lint]: Suppress bogus uninitialized-variable warnings.
23310
23311         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
23312         and let the caller return REG_ESPACE if out of space.  This
23313         removes an uninitialied-variable warning with GCC 4.0.1, and also
23314         avoids taking the address of a local variable.  All callers
23315         changed.
23316
23317 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23318
23319         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
23320         $LIBCSRC/posix/regexec.c.
23321         Add glibc bug 1217 for regcomp.c.
23322
23323 2005-08-19  Jim Meyering  <jim@meyering.net>
23324
23325         * lib/regexec.c (proceed_next_node): Redo local variables to
23326         avoid GCC shadowing warnings.
23327
23328 2005-08-18  Bruno Haible  <bruno@clisp.org>
23329
23330         * lib/strstr.c (strstr): Fix return value in multibyte case.
23331         * lib/strcasestr.c (strcasestr): Likewise.
23332
23333 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23334
23335         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
23336
23337 2005-08-17  Jim Meyering  <jim@meyering.net>
23338
23339         Make the %s format (seconds since the epoch) work for a negative
23340         number and when used with a zero-padded field width, e.g. %015s.
23341
23342         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
23343         label so that it precedes the code to set `digits'.  Otherwise,
23344         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
23345         print `00-22'.  Now, it prints `-0022', as it should.
23346
23347 2005-08-17  Bruno Haible  <bruno@clisp.org>
23348
23349         * modules/strstr (Files): Add m4/mbrtowc.m4.
23350         (Depends-on): Add mbuiter.
23351
23352 2005-08-17  Bruno Haible  <bruno@clisp.org>
23353
23354         * modules/strcasestr: New file.
23355         * MODULES.html.sh (String handling, based on ANSI C 89): Add
23356         strcasestr.
23357
23358 2005-08-17  Bruno Haible  <bruno@clisp.org>
23359
23360         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
23361
23362 2005-08-17  Bruno Haible  <bruno@clisp.org>
23363
23364         * modules/mbuiter: New file.
23365         * MODULES.html.sh (Extended multibyte and wide character utilities):
23366         Add mbuiter.
23367
23368 2005-08-17  Bruno Haible  <bruno@clisp.org>
23369
23370         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
23371         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
23372
23373 2005-08-17  Bruno Haible  <bruno@clisp.org>
23374
23375         * m4/strcasestr.m4: New file.
23376
23377 2005-08-17  Bruno Haible  <bruno@clisp.org>
23378
23379         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
23380         * lib/strstr.c: Completely rewritten, with multibyte locale support.
23381
23382 2005-08-17  Bruno Haible  <bruno@clisp.org>
23383
23384         * lib/strcasestr.h: New file.
23385         * lib/strcasestr.c: New file.
23386
23387 2005-08-17  Bruno Haible  <bruno@clisp.org>
23388
23389         * lib/strcasecmp.c: Use mbuiter.h.
23390
23391 2005-08-17  Bruno Haible  <bruno@clisp.org>
23392
23393         * lib/mbuiter.h: New file.
23394
23395 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
23396
23397         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
23398         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
23399         and gl_GETOPT are both invoked via different paths (as happens
23400         with GNU tar CVS because it uses both argp and getopt), the former
23401         wins.
23402
23403 2005-08-16  Bruno Haible  <bruno@clisp.org>
23404
23405         * modules/tls: New file.
23406         * MODULES.html.sh (Multithreading): Add tls.
23407
23408 2005-08-16  Bruno Haible  <bruno@clisp.org>
23409
23410         * modules/strnlen1: New file.
23411         * MODULES.html.sh (String handling): Add strnlen1.
23412
23413 2005-08-16  Bruno Haible  <bruno@clisp.org>
23414
23415         * modules/strcase (Files): Add m4/mbrtowc.m4.
23416         (Depends-on): Add strnlen1, mbchar.
23417
23418 2005-08-16  Bruno Haible  <bruno@clisp.org>
23419
23420         * modules/mbiter: New file.
23421         * MODULES.html.sh (Extended multibyte and wide character utilities):
23422         Add mbiter.
23423
23424 2005-08-16  Bruno Haible  <bruno@clisp.org>
23425
23426         * modules/mbfile: New file.
23427         * MODULES.html.sh (Extended multibyte and wide character utilities):
23428         Add mbfile.
23429
23430 2005-08-16  Bruno Haible  <bruno@clisp.org>
23431
23432         * modules/mbchar: New file.
23433         * MODULES.html.sh (Extended multibyte and wide character utilities):
23434         New section.
23435
23436 2005-08-16  Bruno Haible  <bruno@clisp.org>
23437
23438         * m4/tls.m4: New file, from GNU gettext.
23439
23440 2005-08-16  Bruno Haible  <bruno@clisp.org>
23441
23442         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
23443         always.
23444         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
23445
23446 2005-08-16  Bruno Haible  <bruno@clisp.org>
23447
23448         * m4/mbiter.m4: New file.
23449
23450 2005-08-16  Bruno Haible  <bruno@clisp.org>
23451
23452         * m4/mbfile.m4: New file.
23453
23454 2005-08-16  Bruno Haible  <bruno@clisp.org>
23455
23456         * m4/mbchar.m4: New file.
23457
23458 2005-08-16  Bruno Haible  <bruno@clisp.org>
23459
23460         * lib/tls.h: New file, from GNU gettext.
23461         * lib/tls.c: New file, from GNU gettext.
23462
23463 2005-08-16  Bruno Haible  <bruno@clisp.org>
23464
23465         * lib/strnlen1.h: New file.
23466         * lib/strnlen1.c: New file.
23467
23468 2005-08-16  Bruno Haible  <bruno@clisp.org>
23469
23470         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
23471         (mbi_init): Update.
23472         (mbi_avail, mbi_advance): Let the iteration end before the terminating
23473         NUL byte, not after it.
23474
23475 2005-08-16  Bruno Haible  <bruno@clisp.org>
23476
23477         * lib/strcase.h (strcasecmp): Add note in comments.
23478         * lib/strncasecmp.c: Use code from strcasecmp.c.
23479         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
23480         (strcasecmp): Work correctly in multibyte locales.
23481
23482 2005-08-16  Bruno Haible  <bruno@clisp.org>
23483
23484         * lib/mbiter.h: New file.
23485
23486 2005-08-16  Bruno Haible  <bruno@clisp.org>
23487
23488         * lib/mbfile.h: New file.
23489
23490 2005-08-16  Bruno Haible  <bruno@clisp.org>
23491
23492         * lib/mbchar.h: New file.
23493         * lib/mbchar.c: New file.
23494
23495 2005-08-16  Bruno Haible  <bruno@clisp.org>
23496
23497         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
23498         the valid ones. Makes the comparison operations transitive:
23499         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
23500         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
23501
23502 2005-08-15  Simon Josefsson  <jas@extundo.com>
23503
23504         * modules/ssize_t (License): Change to 'unlimited'.
23505
23506         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
23507
23508 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23509
23510         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
23511         Add comments for each pending glibc patch.
23512
23513 2005-08-15  Bruno Haible  <bruno@clisp.org>
23514
23515         * lib/regex.h (__restrict_arr): Don't define to __restrict if
23516         __cplusplus is defined.
23517
23518 2005-08-14  Jim Meyering  <jim@meyering.net>
23519
23520         Sync from coreutils.
23521
23522         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
23523         Use the hash-table-based cycle-detection code not just when
23524         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
23525         Reported by James Youngman in
23526         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
23527         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
23528         FTS_TIGHT_CYCLE_CHECK.
23529         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
23530         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
23531         once again.
23532         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
23533         * lib/fts.c (fd_safer): Remove decl.
23534         Include fcntl--.h rather than unistd-safer.h
23535         (fts_safe_changedir): Don't call fd_safer; no longer needed
23536         now that we include fcntl--.h.
23537
23538 2005-08-12  Simon Josefsson  <jas@extundo.com>
23539
23540         * modules/getndelim2: Use ssize_t module.
23541         * modules/getnline: Likewise.
23542         * modules/safe-read: Likewise.
23543         * modules/xreadlink: Likewise.
23544
23545         * modules/ssize_t: New file.
23546
23547 2005-08-12  Simon Josefsson  <jas@extundo.com>
23548
23549         * m4/readline.m4: Look for termcap, curses or ncurses if required.
23550
23551 2005-08-12  Simon Josefsson  <jas@extundo.com>
23552
23553         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23554         ssize_t.
23555
23556 2005-08-12  Simon Josefsson  <jas@extundo.com>
23557
23558         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
23559         readline, getdelim and check_version.
23560         (Support for systems lacking ISO C 99: Sizes of integer types):
23561         Add size_max.
23562
23563 2005-08-12  Bruno Haible  <bruno@clisp.org>
23564
23565         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
23566
23567 2005-08-11  Simon Josefsson  <jas@extundo.com>
23568
23569         * modules/readline: New file.
23570
23571         * modules/strnlen (Files): Add strnlen.h.
23572
23573 2005-08-11  Simon Josefsson  <jas@extundo.com>
23574
23575         * m4/readline.m4: New file.
23576
23577 2005-08-11  Simon Josefsson  <jas@extundo.com>
23578
23579         * lib/readline.h, readline.c: New file.
23580
23581 2005-08-11  Simon Josefsson  <jas@extundo.com>
23582
23583         * doc/gnulib.texi (Initial import, Finishing touches): Mention
23584         gl_AVOID.
23585
23586 2005-08-11  Bruno Haible  <bruno@clisp.org>
23587
23588         * lib/strnlen.h (strnlen): Change parameter name to match comment.
23589
23590 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
23591
23592         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
23593
23594 2005-08-10  Simon Josefsson  <jas@extundo.com>
23595
23596         * tests/test-iconvme.c: New file.
23597
23598 2005-08-10  Simon Josefsson  <jas@extundo.com>
23599
23600         * m4/strnlen.m4: New file.
23601
23602         * m4/strndup.m4: Don't check for strnlen declaration, done in
23603         strnlen.m4.
23604
23605 2005-08-10  Simon Josefsson  <jas@extundo.com>
23606
23607         * lib/strndup.c: Use strnlen.h.
23608
23609         * lib/strnlen.h: New file.
23610
23611 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
23612
23613         * README: Typos.
23614
23615 2005-08-02  Simon Josefsson  <jas@extundo.com>
23616
23617         * modules/readline: New file.
23618
23619 2005-08-02  Simon Josefsson  <jas@extundo.com>
23620
23621         * modules/getdelim: New file.
23622
23623         * modules/getline: Rewrite, don't use getndelim2.
23624
23625 2005-08-02  Simon Josefsson  <jas@extundo.com>
23626
23627         * m4/getline.m4: Separate out getdelim stuff into separate module.
23628
23629         * m4/getdelim.m4: New file.
23630
23631 2005-08-02  Simon Josefsson  <jas@extundo.com>
23632
23633         * lib/getline.h, getline.c: Rewrite.
23634
23635         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
23636
23637 2005-07-31  Bruno Haible  <bruno@clisp.org>
23638
23639         * lib/lock.h (gl_lock_initializer): New macro.
23640         (gl_lock_define_initialized): Use it.
23641         (gl_rwlock_initializer): New macro.
23642         (gl_rwlock_define_initialized): Use it.
23643         (gl_recursive_lock_initializer): New macro.
23644         (gl_recursive_lock_define_initialized): Use it.
23645
23646 2005-07-30  Karl Berry  <karl@gnu.org>
23647
23648         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
23649         Report from Ben Pfaff, regarding getopt.
23650
23651 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23652
23653         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
23654         normal way.
23655         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
23656         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
23657         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
23658         (gl_GETOPT): Use the new macros.  Most of the implementation
23659         is moved to the new macros.  This is for programs like Emacs
23660         that don't want all the functionality of gl_GETOPT.
23661
23662 2005-07-26  Bruno Haible  <bruno@clisp.org>
23663
23664         * m4/lock.m4: Update from GNU gettext.
23665
23666 2005-07-26  Bruno Haible  <bruno@clisp.org>
23667
23668         * lib/lock.h: Update from GNU gettext.
23669         * lib/lock.c: Update from GNU gettext.
23670
23671 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
23672
23673         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
23674         obsolescent AC_TRY_RUN.  Include the default includes files, for
23675         'exit'.
23676
23677 2005-07-24  Bruno Haible  <bruno@clisp.org>
23678
23679         * modules/visibility: New file.
23680         * MODULES.html.sh (Misc): Add visibility.
23681
23682 2005-07-24  Bruno Haible  <bruno@clisp.org>
23683
23684         * m4/visibility.m4: New file.
23685
23686 2005-07-24  Bruno Haible  <bruno@clisp.org>
23687
23688         * doc/visibility.texi: New file.
23689
23690 2005-07-22  Bruno Haible  <bruno@clisp.org>
23691
23692         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
23693         $(ALLOCA_H), redundant through BUILT_SOURCES.
23694         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
23695         redundant through BUILT_SOURCES.
23696         * modules/byteswap (Makefile.am): Remove explicit dependency on
23697         $(BYTESWAP_H), redundant through BUILT_SOURCES.
23698         * modules/fnmatch (Makefile.am): Remove explicit dependency on
23699         $(FNMATCH_H), redundant through BUILT_SOURCES.
23700         * modules/getopt (Makefile.am): Remove explicit dependency on
23701         $(GETOPT_H), redundant through BUILT_SOURCES.
23702         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
23703         redundant through BUILT_SOURCES.
23704         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
23705         redundant through BUILT_SOURCES.
23706         * modules/stdbool (Makefile.am): Remove explicit dependency on
23707         $(STDBOOL_H), redundant through BUILT_SOURCES.
23708         * modules/stdint (Makefile.am): Remove explicit dependency on
23709         $(STDINT_H), redundant through BUILT_SOURCES.
23710         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
23711         Remove explicit dependency on $(SYSEXITS_H).
23712         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
23713
23714 2005-07-18  Simon Josefsson  <jas@extundo.com>
23715
23716         * lib/check-version.c (check_version): Accept identical versions too.
23717
23718 2005-07-18  Bruno Haible  <bruno@clisp.org>
23719
23720         * modules/lock: New file.
23721         * MODULES.html.sh (Multithreading): New section.
23722
23723 2005-07-18  Bruno Haible  <bruno@clisp.org>
23724
23725         * m4/lock.m4: New file, from GNU gettext.
23726
23727 2005-07-18  Bruno Haible  <bruno@clisp.org>
23728
23729         * lib/lock.h: New file, from GNU gettext.
23730         * lib/lock.c: New file, from GNU gettext.
23731
23732 2005-07-18  Bruno Haible  <bruno@clisp.org>
23733
23734         * lib/lock.h (gl_once_t): New type.
23735         (gl_once_define, gl_once): New macros.
23736         * lib/lock.c (fresh_once): New variable.
23737         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
23738         functions.
23739
23740 2005-07-16  Simon Josefsson  <jas@extundo.com>
23741
23742         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
23743         workaround, suggested by Bruno.
23744
23745 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23746
23747         * modules/xalloc (Depends-on): Add xalloc-die.
23748         * modules/xvasprintf (Depends-on): Add xalloc-die.
23749
23750 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23751
23752         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
23753         with a minor change.
23754
23755 2005-07-15  Bruno Haible  <bruno@clisp.org>
23756
23757         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
23758         When using lib/poll.c, define poll as rpl_poll.
23759
23760 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
23761
23762         * modules/argp (Depends-on): Remove unlocked-io.
23763
23764 2005-07-14  Derek Price  <derek@ximbiot.com>
23765
23766         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
23767         for glob symlink bug.
23768
23769 2005-07-14  Bruno Haible  <bruno@clisp.org>
23770
23771         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
23772         Instead, test for *_unlocked function declarations directly.
23773
23774 2005-07-11  Simon Josefsson  <jas@extundo.com>
23775
23776         * modules/size_max: New file.
23777
23778         * modules/xsize: Depend on size_max module for size_max.m4.
23779
23780 2005-07-11  Simon Josefsson  <jas@extundo.com>
23781
23782         * lib/size_max.h: New file.
23783
23784 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
23785
23786         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
23787         copyright symbol and the year.
23788         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
23789         (version_etc_va): Use parameterized copyright notice.
23790         Reword to conform to the current GNU coding standards.
23791
23792 2005-07-11  Karl Berry  <karl@gnu.org>
23793
23794         * doc/gnulib.texi (Quoting): new node.
23795         (Initial import): more info, from Patrice.
23796
23797 2005-07-11  Bruno Haible  <bruno@clisp.org>
23798
23799         * gnulib-tool (func_usage): Document option --avoid.
23800         (Command line options): Handle --avoid.
23801         (func_acceptable): New function.
23802         (func_modules_transitive_closure): Use it.
23803
23804 2005-07-11  Bruno Haible  <bruno@clisp.org>
23805
23806         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
23807         Reported by Jim Meyering.
23808
23809 2005-07-10  Bruno Haible  <bruno@clisp.org>
23810
23811         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
23812         Needed when size_t is smaller than 'unsigned int'.
23813         Reported by Paul Eggert.
23814
23815 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23816
23817         * modules/argp (Depends-on): Add unlocked-io
23818
23819 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23820
23821         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
23822         block of defines.
23823
23824 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23825
23826         * config/srclist.txt: Comment out regcomp.c, since we have a porting
23827         fix now.
23828
23829 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
23830         and Paul Eggert  <eggert@cs.ucla.edu>
23831
23832         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
23833         in wint_t, not wchar_t.  Remove now-unnecessary cast.
23834
23835 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23836
23837         * modules/regex (Files): Add lib/regex_internal.c,
23838         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
23839         (Depends-on): Add extensions.
23840         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
23841
23842 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23843
23844         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
23845         pathconf.
23846         * m4/same.m4 (gl_SAME): Likewise.
23847         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
23848
23849         * m4/regex.m4: Adjust to new libc regex implementation.
23850         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
23851         all the .c and .h parts of (the new) regex.
23852         Quote the m4 stuff better.
23853         Check for RE_ICASE bug of old gnulib.
23854         Check for REG_STARTEND of recent libc.
23855         Rename local variables from jm_* to gl_*.
23856         Quote operand of "test -f".
23857         Say "recent enough" version of libc, not "version 2".
23858         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
23859         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
23860         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
23861         Remove check for btowc, isascii.
23862         Require AM_LANGINFO_CODESET.
23863
23864 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23865
23866         * lib/regex.c, regex.h: Sync from libc.
23867         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
23868         * lib/regexec.c:
23869         New files, synced from libc, except that regex_internal.h
23870         currently has a small porting fix.
23871
23872 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23873
23874         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
23875         regex_internal.c, regexec.c.
23876         Add regex_internal.h too, but as a comment, since the libc version
23877         is currently broken in gnulib mode.
23878
23879 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23880
23881         Support programs like Emacs that use gnulib but not gettext.
23882         * MODULES.html.sh (Internationalization functions): Add gettext-h.
23883         * modules/gettext-h: New file.
23884         * modules/gettext (Files): Remove lib/gettext.h.
23885         (Depends-on): Add gettext-h.
23886         (Makefile.am): Remove lib_SOURCES.
23887         * modules/argmatch, modules/c-stack, modules/closeout:
23888         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
23889         * modules/execute, modules/file-type, modules/getaddrinfo:
23890         * modules/getopt, modules/human, modules/javacomp:
23891         * modules/javaexec, modules/mkdir-p, modules/obstack:
23892         * modules/openat, modules/pagealign_alloc, modules/pipe:
23893         * modules/quotearg, modules/regex, modules/rpmatch:
23894         * modules/unicodeio, modules/userspec, modules/version-etc:
23895         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
23896         * modules/xsetenv:
23897         Depend on gettext-h, not gettext.
23898
23899 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
23900
23901         * gnulib-tool (func_import): Add support for 'public domain' license.
23902         * modules/alloca, modules/atexit, modules/memmove:
23903         Now public domain, not GPL.
23904         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
23905         * modules/realloc, modules/strerror, modules/strtod:
23906         Now LGPL, not GPL.
23907
23908 2005-07-05  Bruno Haible  <bruno@clisp.org>
23909
23910         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
23911         autoconf CVS. Needed for mingw.
23912
23913 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23914
23915         Remove the dependency of the strftime module on the tzset module.
23916         * modules/strftime (Depends-on): Remove dependency on tzset.
23917
23918 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23919
23920         Remove the dependency of the strftime module on the tzset module.
23921         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
23922         gl_FUNC_TZSET_CLOBBER.
23923
23924 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23925
23926         Remove the dependency of the strftime module on the tzset module.
23927         * lib/strftime.c (my_strftime)
23928         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
23929         Copy the input structure, to work around some of the bug with
23930         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
23931         Solaris releases, you should also use the tzset module, but we won't
23932         require it as a dependency any more since we don't want LGPLed code
23933         to depend on GPLed code.
23934
23935 2005-07-02  Jim Meyering  <jim@meyering.net>
23936
23937         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
23938         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
23939         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
23940         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
23941
23942 2005-07-02  Jim Meyering  <jim@meyering.net>
23943
23944         * lib/backupfile.c (backup_args): Change a `0' to NULL.
23945
23946 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
23947
23948         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
23949         declares only 'struct timespec;' (!).
23950
23951 2005-07-01  Jim Meyering  <jim@meyering.net>
23952
23953         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
23954         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
23955         * lib/save-cwd.c, tempname.c:
23956         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
23957         and don't include <sys/file.h>).
23958
23959 2005-06-29  Jim Meyering  <jim@meyering.net>
23960
23961         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
23962         type name.  Use the variable name instead.
23963         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
23964         Likewise.
23965
23966 2005-06-28  Simon Josefsson  <jas@extundo.com>
23967
23968         * modules/check-version (Files): Add check-version.m4.
23969
23970 2005-06-28  Simon Josefsson  <jas@extundo.com>
23971
23972         * m4/check-version.m4: New file, suggested by Jim Meyering
23973         <jim@meyering.net>.
23974
23975 2005-06-28  Simon Josefsson  <jas@extundo.com>
23976
23977         * lib/check-version.h, lib/check-version.c: New files.
23978
23979 2005-06-28  Simon Josefsson  <jas@extundo.com>
23980
23981         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
23982         collision with global variable.  Better indentation.  Don't
23983         increment buffer pointer beyond buffer end.  Based on comments
23984         from Paul Eggert <eggert@cs.ucla.edu>.
23985
23986         * lib/base64.h: Indent.
23987
23988 2005-06-28  Simon Josefsson  <jas@extundo.com>
23989
23990         * doc/gnulib.texi (Library version handling): New section.
23991
23992 2005-06-28  Jim Meyering  <jim@meyering.net>
23993
23994         * check-module (find_included_lib_files): Hard-code another
23995         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
23996         but modules/fts-lgpl (correctly) does not list those files.
23997
23998         * modules/canonicalize (Files): Add lib/pathmax.h.
23999
24000 2005-06-25  Simon Josefsson  <jas@extundo.com>
24001
24002         * modules/check-version: New file.
24003
24004 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
24005
24006         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
24007         initializer of struct addrinfo, as an indication that we don't
24008         care how many members the structure has.
24009
24010 2005-06-24  Derek Price  <derek@ximbiot.com>
24011         and Bruno Haible  <bruno@clisp.org>
24012
24013         Remove stat module & update lstat.
24014         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
24015         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24016         * m4/stat.m4: Remove this file.
24017
24018 2005-06-24  Derek Price  <derek@ximbiot.com>
24019         and Bruno Haible  <bruno@clisp.org>
24020
24021         Remove stat module & update lstat.
24022         * lib/stat.c: Remove this file...
24023         (slash_aware_lstat): ...moving this content and its support...
24024         * lib/lstat.c (rpl_lstat): ...into here.
24025         * lib/lstat.h: New file.
24026
24027 2005-06-24  Derek Price  <derek@ximbiot.com>
24028         and Bruno Haible  <bruno@clisp.org>
24029
24030         Remove stat module & update lstat.
24031         * config/srclist.txt (libc sources): Remove stat.
24032
24033 2005-06-24  Derek Price  <derek@ximbiot.com>
24034         and Bruno Haible  <bruno@clisp.org>
24035
24036         Remove stat module & update lstat.
24037         * MODULES.html.sh (stat): Remove.
24038         * MODULES.html: Regenerated.
24039         * modules/lstat (Description): Correct function name.
24040         (Files): Add "lstat.h".
24041         (Depends-on): Remove stat, add xalloc, stat-macros.
24042         * modules/stat: Remove this file.
24043         (Include): Add "lstat.h", remove <sys/stat.h>.
24044
24045 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
24046
24047         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
24048         (ranged_convert): Don't save conversion in a temporary struct.
24049         This causes a warning with GCC 4.0.0, and anyway in the typical
24050         case it's not worth the extra 100 bytes or so of code.
24051         (ranged_convert, __mktime_internal): When calling a function via a
24052         pointer P, use P () rather than (*P) (), as we now assume C89 or
24053         better.
24054
24055 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24056
24057         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
24058         "who -r" failed to give output.  Problem reported by Tim Waugh.
24059
24060         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
24061         (xcalloc): Use it to avoid needless tests.
24062         Problem reported by Jim Meyering.
24063
24064 2005-06-20  Derek Price  <derek@ximbiot.com>
24065
24066         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
24067         unnecessary for Autoconfs > 2.59c.
24068
24069 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24070
24071         * lib/argp.h (__option_is_short): Check upper limit of
24072         __key. Isprint() requires its argument to have the value
24073         of an unsigned char or EOF.
24074
24075 2005-06-16  Jim Meyering  <jim@meyering.net>
24076
24077         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
24078         when either N or S is zero.
24079
24080 2005-06-16  Derek Price  <derek@ximbiot.com>
24081
24082         * m4/bison.m4: Declare YACC & YFLAGS precious.
24083
24084 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
24085
24086         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
24087         multibyte string or pattern, fall back on unibyte matching.
24088         Problem reported by James Youngman.
24089
24090 2005-06-08  Bruno Haible  <bruno@clisp.org>
24091
24092         * modules/csharpcomp: New file.
24093         * MODULES.html.sh (C#): Add csharpcomp.
24094
24095 2005-06-08  Bruno Haible  <bruno@clisp.org>
24096
24097         * m4/csharpcomp.m4: New file, from GNU gettext.
24098
24099 2005-06-08  Bruno Haible  <bruno@clisp.org>
24100
24101         * lib/csharpcomp.h: New file, from GNU gettext.
24102         * lib/csharpcomp.c: New file, from GNU gettext.
24103         * lib/csharpcomp.sh.in: New file, from GNU gettext.
24104
24105 2005-06-08  Bruno Haible  <bruno@clisp.org>
24106
24107         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
24108         warning on mingw.
24109
24110 2005-06-07  Derek Price  <derek@ximbiot.com>
24111
24112         Sync from CVS.
24113         * lib/glob_.h: Indent nested #ifdef.
24114
24115 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24116
24117         Sync from coreutils.
24118         Use "file name" when talking about file names, instead of "filename"
24119         or "path", as per the GNU coding standards.
24120         * lib/mkdir-p.c: Renamed from makepath.c.
24121         (make_dir_parents): Renamed from make_path.  All callers changed.
24122         * lib/mkdir-p.h: Likewise.  All includers changed.
24123         * lib/filenamecat.c: Renamed from path-concat.c.
24124         (file_name_concat): Renamed from path_concat.  All callers changed.
24125         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
24126         * lib/filenamecat.h: Likewise.  All includers changed.
24127         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
24128         in comments or local variable names.
24129         * lib/basename.c: Likewise.
24130         * lib/canonicalize.c, canonicalize.h: Likewise.
24131         * lib/dirname.c, dirname.h: Likewise.
24132         * lib/euidaccess.c: Likewise.
24133         * lib/exclude.c: Likewise
24134         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
24135         * lib/fsusage.c, fsuage.h: Likewise.
24136         * lib/fts.c, fts_.h: Likewise.
24137         * lib/getcwd.c: Likewise.
24138         * lib/getloadavg.c: Likewise.
24139         * lib/mkstemp.c: Likewise.
24140         * lib/mountlist.c, mountlist.h: Likewise.
24141         * lib/openat.c, openat.h: Likewise.
24142         * lib/readlink-stub.c: Likewise.
24143         * lib/readutmp.c, readutmp.h: Likewise.
24144         * lib/rename.c: Likewise.
24145         * lib/rmdir.c: Likewise.
24146         * lib/same.c: Likewise.
24147         * lib/savedir.c: Likewise.
24148         * lib/stripslash.c: Likewise.
24149         * lib/tempname.c: Likewise.
24150         * lib/xreadlink.c: Likewise.
24151         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
24152         All uses changed.
24153         * lib/exclude.h: Likewise.
24154
24155         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
24156         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24157         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
24158         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24159         * lib/pathmax.h: Include <limits.h> unconditionally, since other
24160         files have been getting away with it for years (MORE/BSD 4.3
24161         is extinct now).
24162         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
24163         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24164
24165         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
24166         Define to 256, not 255, as per modern POSIX.
24167
24168 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24169
24170         Sync from coreutils.
24171         Use "file name" when talking about file names, instead of "filename"
24172         or "path", as per the GNU coding standards.
24173         * MODULES.html.sh: mkdir-p renamed from makepath.
24174         filenamecat renamed from path-concat.
24175         * modules/filenamecat: Renamed from modules/path-concat.
24176         (Files): filenamecat.h and filenamecat.c renamed from
24177         path-concat.h and path-concat.c.
24178         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
24179         (Include): filenamecat.h, not path-concat.h.
24180         * modules/mkdir-p: Renamed from modules/makepath.
24181         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
24182         makepath.c.
24183         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
24184         (Include): mkdir-p.h, not makepath.h.
24185
24186 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24187
24188         Sync from coreutils.
24189         * m4/mkdir-p.m4: Renamed from makepath.m4.
24190         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
24191         Rename files from makepath.c to mkdir-p.c, and from
24192         makepath.h to mkdir-p.h.
24193         * m4/filenamecat.m4: Renamed from path-concat.m4.
24194         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
24195         Rename files from path-concat.c to filenamecat.c,
24196         and from path-concat.h to filenamecat.h.
24197         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
24198         "file name" in local variables or comments.
24199         * m4/rename.m4: Likewise.
24200
24201 2005-06-01  Bruno Haible  <bruno@clisp.org>
24202
24203         * modules/csharpexec: New file.
24204         * MODULES.html.sh (C#): New section.
24205
24206 2005-06-01  Bruno Haible  <bruno@clisp.org>
24207
24208         * m4/csharp.m4: New file, from GNU gettext.
24209         * m4/csharpexec.m4: New file, from GNU gettext.
24210
24211 2005-06-01  Bruno Haible  <bruno@clisp.org>
24212
24213         * lib/csharpexec.h: New file, from GNU gettext.
24214         * lib/csharpexec.c: New file, from GNU gettext.
24215         * lib/csharpexec.sh.in: New file, from GNU gettext.
24216
24217 2005-05-31  Derek Price  <derek@ximbiot.com>
24218             Paul Eggert  <eggert@cs.ucla.edu>
24219
24220         Sync from cvs.
24221         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
24222
24223 2005-05-31  Derek Price  <derek@ximbiot.com>
24224             Paul Eggert  <eggert@cs.ucla.edu>
24225
24226         Sync from cvs.
24227         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
24228
24229 2005-05-29  Derek Price  <derek@ximbiot.com>
24230
24231         * config/srclist.txt (glob_.h, glob.c): Add these files.
24232
24233 2005-05-29  Derek Price  <derek@ximbiot.com>
24234
24235         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
24236         * modules/glob: New file.
24237         * modules/getlogin_r: Add link to POSIX spec in description.
24238
24239 2005-05-29  Derek Price  <derek@ximbiot.com>
24240             Paul Eggert  <eggert@cs.ucla.edu>
24241
24242         * m4/glob.m4: New file.
24243
24244 2005-05-29  Derek Price  <derek@ximbiot.com>
24245             Paul Eggert  <eggert@cs.ucla.edu>
24246
24247         * lib/glob_.h, lib/glob.c: New files.
24248
24249 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24250
24251         * modules/fts (Files): Remove m4/inttypes-pri.m4.
24252         * modules/fts-lgpl (Depends-on): Remove gettext.
24253
24254 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24255
24256         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
24257         and don't require gt_INTTYPES_PRI.
24258
24259 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24260
24261         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
24262
24263         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
24264         the configuration hassle isn't worth it.
24265         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
24266         (LONGEST_MODIFIER, PRIuMAX): Remove.
24267
24268 2005-05-27  Bruno Haible  <bruno@clisp.org>
24269
24270         * lib/getlogin_r.h: Remove second include of <stddef.h>.
24271
24272 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
24273
24274         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
24275         _POSIX_PTHREAD_SEMANTICS for Solaris.
24276
24277 2005-05-25  Derek Price  <derek@ximbiot.com>
24278
24279         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
24280
24281 2005-05-25  Derek Price  <derek@ximbiot.com>
24282             Paul Eggert  <eggert@cs.ucla.edu>
24283
24284         * modules/getlogin_r, m4/getlogin_r.m4: New files.
24285         * lib/getlogin_r.c, getlogin_r.h: New files.
24286
24287 2005-05-25  Bruno Haible  <bruno@clisp.org>
24288             Derek Price  <derek@ximbiot.com>
24289
24290         * lib/getlogin_r.h: Simplify API documentation.
24291
24292 2005-05-23  Derek Price  <derek@ximbiot.com>
24293
24294         * modules/minmax (Files): Add m4/minmax.m4.
24295         (configure.ac): Add gl_MINMAX.
24296
24297 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
24298
24299         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
24300         so that unistd-safer.h (GPL'ed code) need not be included.
24301
24302 2005-05-22  Bruno Haible  <bruno@clisp.org>
24303
24304         * m4/minmax.m4: New file.
24305         Based on a patch by Derek Price <derek@ximbiot.com>.
24306
24307 2005-05-22  Bruno Haible  <bruno@clisp.org>
24308
24309         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
24310         (INT64_MIN): Fix definition.
24311         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
24312
24313         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
24314         NEED_SIGNED_INT_TYPES.
24315
24316         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
24317         HAVE_SYSTEM_INTTYPES.
24318
24319 2005-05-22  Bruno Haible  <bruno@clisp.org>
24320
24321         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
24322         Also include <sys/param.h> if it defines MIN, MAX.
24323         Based on a patch by Derek Price <derek@ximbiot.com>.
24324
24325 2005-05-21  Jim Meyering  <jim@meyering.net>
24326
24327         * modules/fts (Files): Add m4/inttypes-pri.m4.
24328         (Depends-on): Add lstat and remove gettext.  Alphabetize.
24329
24330 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24331
24332         New fts module.
24333         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
24334         (setup_dir, free_dir): New functions.
24335         (enter_dir, leave_dir): Define trivial
24336         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
24337         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
24338         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
24339         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
24340         Move to fts-cycle.c.
24341         (fts_open): Use setup_dir.
24342         (fts_close): Use free_dir.
24343         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
24344         This adds a label and some gotos, but the alternatives were messier.
24345         Check for memory allocation failure when entering a dir.
24346         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
24347         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
24348         (FTS): New member fts_cycle, that is a union that contains the
24349         old active_dir_ht and cycle_state.  All uses changed to mention
24350         fts_cycle.ht and fts_cycle.state.
24351         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
24352         fts.c, with the following changes:
24353         (setup_dir, free_dir): New functions.
24354         (enter_dir): Now returns bool.  Return true if successful, false
24355         if memory exhausted.  All callers changed.
24356         Do not bother partly cleaning up on
24357         memory allocation failure; that is free_dir's job.
24358         However, free ad if hash_insert fails, to avoid memory leak.
24359         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
24360         fts->fts_options to see which union member to use.
24361
24362 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24363
24364         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
24365         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
24366
24367 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24368
24369         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
24370
24371 2005-05-20  Jim Meyering  <jim@meyering.net>
24372
24373         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
24374         Now a macro, to pacify GCC.
24375
24376 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
24377
24378         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
24379         of -1.
24380
24381 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
24382
24383         * lib/chown.c (rpl_chown): Return -1 on failure.
24384
24385 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
24386
24387         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
24388         Don't check for stddef.h.
24389         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
24390         don't use its results.
24391         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
24392         since we include them unconditionally.  Don't require
24393         AM_STDBOOL_H, since stdbool is a prerequisite.
24394         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
24395         since we assume C89 or better.
24396         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
24397         as we don't use their results.
24398         Don't check for fchdir, memmove, memset, strrchr, as we use
24399         them unconditionally.
24400         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
24401         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
24402
24403 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
24404
24405         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
24406         Include <stddef.h> unconditionally, since we assume C89 now.
24407         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
24408         * lib/fts.c: Include fts_.h first, to check interface.
24409         Do not include intprops.h; no longer needed.
24410         Include cycle-check.h and hash.h, since fts_.h no longer does.
24411         Remove unnecessary casts of closedir to void.
24412         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
24413         decide whether to decrement nlinks.
24414         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
24415         (FTS): Use struct hash_table * instead of Hash_table, so that
24416         we no longer need to include hash.h here.
24417
24418 2005-05-18  Jim Meyering  <jim@meyering.net>
24419
24420         * modules/dirfd (License): Change to LGPL.  Most of the code
24421         is already in the public domain.
24422
24423 2005-05-18  Jim Meyering  <jim@meyering.net>
24424
24425         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
24426         Reported by Yoann Vandoorselaere.
24427
24428 2005-05-17  Jim Meyering  <jim@meyering.net>
24429
24430         * m4/fts.m4: New file, from coreutils.
24431
24432 2005-05-17  Jim Meyering  <jim@meyering.net>
24433
24434         * lib/fts.c, lib/fts_.h: New files, from coreutils.
24435
24436 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24437
24438         Sync from coreutils.
24439         * m4/unlinkdir.m4: New file.
24440
24441 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24442
24443         Sync from coreutils.
24444         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
24445         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
24446         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
24447         White space changes only.
24448         * lib/makepath.c (make_path): Port to hosts where leading "//" is
24449         special.
24450         * lib/yesno.c: Include getline.h, not ctype.h.
24451         (yesno): Don't remove leading white space; POSIX doesn't allow it.
24452         Use getline to remove arbitrary restriction on response length.
24453
24454 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24455
24456         * config/srclist-update: Spell out "Street" in FSF postal
24457         mail address; this is the style the FSF seems to prefer.
24458
24459         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
24460         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
24461         this updates FSF postal mail address.
24462
24463         Sync from coreutils.
24464         * modules/unlinkdir: New file.
24465         * modules/yesno (Depends-on): Add getline.
24466         * MODULES.html.sh (File system functions): Add unlinkdir.
24467
24468 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24469
24470         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
24471         lib/strsep.h:
24472         Change the initial comment to refer to GPL, not LGPL.
24473         gnulib-tool will change it to LGPL as needed.
24474
24475         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
24476         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
24477         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
24478         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
24479         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
24480         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
24481         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
24482         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
24483         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
24484         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
24485         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
24486         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
24487         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
24488         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
24489         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
24490         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
24491         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
24492         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
24493         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
24494         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
24495         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
24496         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
24497         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
24498         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
24499         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
24500         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
24501         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
24502         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
24503         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
24504         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
24505         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
24506         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
24507         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
24508         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
24509         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
24510         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
24511         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
24512         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
24513         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
24514         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
24515         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
24516         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
24517         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
24518         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
24519         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
24520         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
24521         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
24522         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
24523         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
24524         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
24525         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
24526         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
24527         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
24528         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
24529         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
24530         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
24531         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
24532         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
24533         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
24534         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
24535         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
24536         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
24537         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
24538         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
24539         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
24540         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
24541         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
24542         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
24543         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
24544         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
24545         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
24546         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
24547         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
24548         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
24549         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
24550         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
24551         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
24552         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
24553         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
24554         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
24555         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
24556         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
24557         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
24558         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
24559         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
24560         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
24561         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
24562         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
24563         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
24564         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
24565         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
24566         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
24567         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
24568         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
24569         lib/yesno.c, lib/yesno.h:
24570         Update FSF postal mail address.
24571
24572 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24573
24574         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
24575         tests/test-memmem.c, tests/test-stpncpy.c:
24576         Update FSF postal mail address.
24577
24578 2005-05-13  Bruno Haible  <bruno@clisp.org>
24579
24580         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
24581         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
24582         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
24583         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
24584         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
24585         Add support for 64-bit integers in the MSVC compiler.
24586
24587 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24588
24589         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
24590
24591 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
24592
24593         * gnulib-tool (func_import): Sort and uniquify recommended includes.
24594
24595 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
24596
24597         * doc/getdate.texi (General date syntax): Don't say that date
24598         date --iso-8601=ns generates acceptable dates; it doesn't yet.
24599         Problem reported by Nic Ferrier.
24600
24601 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24602
24603         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
24604         specified in ai_socktype. Fix invalid ai_protocol
24605         check. ai_protocol is usually set to 0 or depending on
24606         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
24607         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
24608         ai_socktype / ai_protocol in the returned addrinfo structure.
24609
24610 2005-05-10  Simon Josefsson  <jas@extundo.com>
24611
24612         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
24613         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24614
24615 2005-05-10  Karl Berry  <karl@gnu.org>
24616
24617         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
24618         (from http://www.gnu.org/licenses).
24619         * doc/COPYING.LIB: also rename to COPYING.LESSER.
24620         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
24621         fdl.texi suffices.
24622
24623 2005-05-10  Karl Berry  <karl@gnu.org>
24624
24625         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
24626         (COPYING.DOC): remove.
24627
24628         * config/srclist-update: new FSF address.
24629
24630 2005-05-10  Derek Price  <derek@ximbiot.com>
24631
24632         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
24633         possible.
24634
24635 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24636             Bruno Haible  <bruno@clisp.org>
24637
24638         * modules/inet_ntop: New file.
24639         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24640         inet_ntop.
24641
24642 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24643             Bruno Haible  <bruno@clisp.org>
24644
24645         * m4/inet_ntop.m4: New file.
24646
24647 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24648             Bruno Haible  <bruno@clisp.org>
24649
24650         * lib/inet_ntop.h: New file.
24651         * lib/inet_ntop.c: New file, from glibc with modifications.
24652
24653 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
24654
24655         * modules/time_r (License): Change to LGPL.
24656         * modules/extensions (License): Change to LGPL.  Actually,
24657         the license is more permissive than that, but currently gnulib-tool
24658         doesn't know how to handle more-permissive licenses.
24659
24660         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
24661         Problem reported by Dave Love.
24662
24663 2005-05-08  Jim Meyering  <jim@meyering.net>
24664
24665         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
24666         blank.
24667
24668 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
24669
24670         * modules/argmatch (Depends-on): Add stdbool.
24671         * modules/backupfile (Depends-on): Likewise.
24672         * modules/chdir-long (Depends-on): Likewise.
24673         * modules/closeout (Depends-on): Likewise.
24674         * modules/cycle-check (Depends-on): Likewise.
24675         * modules/dirname (Depends-on): Likewise.
24676         * modules/fnmatch (Depends-on): Likewise.
24677         * modules/fsusage (Depends-on): Likewise.
24678         * modules/fwriteerror (Depends-on): Likewise.
24679         * modules/getcwd (Depends-on): Likewise.
24680         * modules/getloadavg (Depends-on): Likewise.
24681         * modules/hard-locale (Depends-on): Likewise.
24682         * modules/makepath (Depends-on): Likewise.
24683         * modules/mountlist (Depends-on): Likewise.
24684         * modules/nanosleep (Depends-on): Likewise.
24685         * modules/posixtm (Depends-on): Likewise.
24686         * modules/quotearg (Depends-on): Likewise.
24687         * modules/readtokens (Depends-on): Likewise.
24688         * modules/readtokens0 (Depends-on): Likewise.
24689         * modules/readutmp (Depends-on): Likewise.
24690         * modules/save-cwd (Depends-on): Likewise.
24691         * modules/strftime (Depends-on): Likewise.
24692         * modules/userspec (Depends-on): Likewise.
24693         * modules/utimecmp (Depends-on): Likewise.
24694         * modules/xgetcwd (Depends-on): Likewise.
24695         * modules/xnanosleep (Depends-on): Likewise.
24696         * modules/xstrtod (Depends-on): Likewise.
24697         * modules/yesno (Depends-on): Likewise.
24698
24699 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
24700
24701         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
24702         needless checks.
24703
24704 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24705
24706         Merge from coreutils.  Among other things,
24707         add bulletproofing for cases where stdin, stdout, or stderr are closed.
24708         * lib/fd-safer.c: New file.
24709         * lib/fcntl-safer.h, open-safer.c: Remove.
24710         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
24711         * lib/dup-safer.c: Include unistd-safer.h first.
24712         Don't include errno.h.
24713         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
24714         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
24715         * lib/file-type.c: Rely on file-type.h change.
24716         * lib/getloadavg.c: Include unistd-safer.h.
24717         (getloadavg): Use safer open.
24718         * lib/getusershell.c: Include "stdio-safer.h".
24719         (getusershell): Use safer fopen.
24720         * lib/long-options.c (long_options): Use NULL rather than 0.
24721         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
24722         'free'.
24723         * lib/modechange.c: Likewise.
24724         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
24725         (MODE_DONE): New constant.
24726         (struct mode_change): Remove 'next' member.
24727         (make_node_op_equals): New function; like the old one of the
24728         same name, except it allocates an array.
24729         (mode_compile, mode_create_from_ref): Use it.
24730         (mode_compile): Allocate result as an array, not a linked list.
24731         Parse octal string ourself, so that we catch mistakes like "+0".
24732         (mode_adjust): Arg is an array, not a linked list.
24733         * lib/modechange.c: Include stat-macros.h, xalloc.h.
24734         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
24735         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
24736         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
24737         Remove.  This is now stat-macros.h's job.
24738         (talloc): Remove.  All callers replaced by xalloc, so that
24739         our invokers don't have to worry about reporting memory failures.
24740         (make_node_op_equals): Remove.
24741         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
24742         New constants.
24743         (struct mode_change): Moved here from modechange.h.
24744         (mode_append_entry): Remove.
24745         (mode_compile): Remove MASKED_OPS arg, since it encouraged
24746         apps to have incorrect behavior.  Use simpler algorithm for head
24747         and tail.  Don't futz with umask; that's now the job of mode_adjust.
24748         Detect more invalid usages rather than having somewhat-random behavior.
24749         Don't insert an "a=" action, as that leads to incorrect behavior.
24750         (mode_compile, mode_create_from_ref): Return NULL on error instead
24751         of an enum, since now there's only one way to have an error.  All
24752         callers changed.
24753         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
24754         at the correct time.  Simplify calculation of "+u" and its ilk.
24755         Don't mishandle "+X".
24756         (mode_free): Remove "register" and localize decls.
24757         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
24758         (struct mode_change): Move to modechange.c; callers don't
24759         need to see this stuff.
24760         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
24761         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
24762         (mode_change, mode_adjust): Reflect the new signatures noted above.
24763         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
24764         that might redefine system include files.
24765         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
24766         (my_usleep): Use NULL rather than (void *) 0.
24767         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
24768         Use siginterrupt to specify that system calls should be interrupted.
24769         (rpl_nanosleep): Move initialization of suspended closer to call of
24770         my_usleep.
24771         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
24772         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
24773         (desirable_utmp_entry): New function.
24774         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
24775         using x2nrealloc, to simplify logic.
24776         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
24777         size calculation.  Do not assume utmp file is a regular file.
24778         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
24779         (READ_UTMP_CHECK_PIDS): New constant.
24780         * lib/save-cwd.c: Include unistd-safer.h.
24781         (save_cwd): Use fd_safer.
24782         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
24783         [!_LIBC] Include "stat-macros.h" instead.
24784         * lib/unistd-safer.h (fd_safer): New decl.
24785
24786 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24787
24788         * modules/getloadavg (Depends-on): Add unistd-safer.
24789         * modules/getusershell (Depends-on): Add stdio-safer.
24790         * modules/lstat (Depends-on): Remove xalloc.
24791         * modules/mkstemp (Depends-on): Add stat-macros.
24792         * modules/modechange (Depends-on): Remove xstrtol.
24793         Add stat-macros, xalloc.
24794         * modules/save-cwd (Depends-on): Add unistd-safer.
24795         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
24796         * modules/unistd-safer (Files): Add lib/fd-safer.c
24797         (Makefile.am): Remove lib_SOURCES.
24798
24799         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
24800         Remove fcntl-safer; unistd-safer supersedes it.
24801
24802 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24803
24804         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
24805         AC_HEADER_STAT.
24806         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
24807         (gl_PREREQ_CHOWN): Remove.
24808         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
24809         it.  Don't require AC_HEADER_STAT.
24810         (gl_PREREQ_LSTAT): Remove.
24811         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
24812         Don't require AC_HEADER_STAT.
24813         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
24814         (gl_PREREQ_RMDIR): Remove.
24815         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
24816         mention stat-macros.h or AC_HEADER_STAT, since we'll make
24817         the stat-macros module a prerequisite.
24818         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
24819         * m4/filemode.m4 (gl_FILEMODE): Likewise.
24820         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
24821         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
24822         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
24823         variable names.
24824         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
24825         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
24826         variable prefixes.
24827         * m4/fcntl-safer.m4: Remove.
24828         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
24829         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
24830         Invoke gl_PREREQ_FD_SAFER.
24831         (gl_PREREQ_FD_SAFER): New macro.
24832         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
24833         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
24834         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
24835         Remove duplicate call to AC_LIBOBJ(readutmp).
24836         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
24837
24838         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
24839         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
24840
24841 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24842
24843         * MODULES.html.sh (Misc): Add byteswap.
24844
24845 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24846
24847         * modules/getcwd (Depends-on): Add extensions.
24848         * modules/openat (Depends-on): Likewise.
24849
24850 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24851
24852         * modules/byteswap: New file.
24853
24854 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24855
24856         * m4/byteswap.m4: New file.
24857
24858 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24859
24860         * lib/byteswap_.h: New file.
24861
24862 2005-04-25  Karl Berry  <karl@gnu.org>
24863
24864         * m4/gettext.m4: Update from GNU gettext 0.14.4.
24865
24866 2005-04-25  Albert Chin  <china@thewrittenword.com>
24867
24868         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
24869         Toolkit C bug.
24870
24871 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
24872
24873         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
24874         (func_ln_if_changed) Remove forcibly for no error message
24875         in case file does not exist.
24876
24877 2005-04-19  Simon Josefsson  <jas@extundo.com>
24878
24879         * gnulib-tool (Options): Make --symlink mean --symbolic.
24880
24881 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
24882
24883         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
24884
24885 2005-04-16  Simon Josefsson  <jas@extundo.com>
24886
24887         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
24888
24889 2005-04-15  Simon Josefsson  <jas@extundo.com>
24890
24891         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
24892
24893 2005-04-15  Simon Josefsson  <jas@extundo.com>
24894
24895         * gnulib-tool: Rename --symlink to --symbolic.
24896
24897 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
24898
24899         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
24900         symbolic links to files instead of copying/moving.  Add --aux-dir,
24901         specifying directory relative --dir where auxiliary build tools
24902         are placed.
24903
24904 2005-04-14  Bruno Haible  <bruno@clisp.org>
24905
24906         * modules/allocsa (License): Change to LGPL.
24907         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24908
24909 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24910
24911         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
24912         that "UTC +1 second" continues to work.  Problem reported
24913         by Dmitry V. Levin.
24914         (relunit_snumber): New rule.
24915         (relunit): Use it.
24916
24917 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
24918
24919         * lib/getdate.y (universal_time_zone_table): New constant.
24920         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
24921         universal_time_zone_table.
24922         (lookup_zone): Prefer universal_time_zone_table to
24923         local_time_zone_table, so that "GMT" time stamps are allowed in
24924         London during the summer.  Problem reported by Ian Abbott.
24925
24926 2005-04-12  Jim Meyering  <jim@meyering.net>
24927
24928         * lib/human.c (humblock): Set *options even when returning due to
24929         xstrtoumax conversion failure.  Thanks to a used-uninitialized
24930         warning from gcc-4.
24931
24932 2005-04-09  Jim Meyering  <jim@meyering.net>
24933
24934         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
24935         -Wuninitialized: initialize tm0.tm_year.
24936
24937 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
24938
24939         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
24940         count, since there's no maximum.  All uses changed.
24941         Add member dsts_seen.
24942         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
24943         not being INT_MAX.
24944         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
24945         Use pc_rels_seen to decide whther a date is absolute.
24946
24947         * lib/getdate.y (number): Don't overwrite year.
24948         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
24949         check.
24950
24951 2005-04-02  Simon Josefsson  <jas@extundo.com>
24952
24953         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
24954         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
24955
24956 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
24957
24958         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
24959         where no absolute path name can be longer than PATH_MAX.
24960
24961 2005-03-27  Jim Meyering  <jim@meyering.net>
24962
24963         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
24964
24965 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
24966
24967         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
24968         "one's complement" -> "ones' complement" in comment, as per Knuth.
24969         "value of type" -> "type or expression" in comment.
24970         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
24971
24972 2005-03-26  Jim Meyering  <jim@meyering.net>
24973
24974         Comment nits.
24975         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
24976         Correct typos: s/or/of/.
24977
24978 2005-03-26  Jim Meyering  <jim@meyering.net>
24979
24980         * modules/check-include-files: Move to ../ and rename to...
24981         * check-module: ...this.
24982
24983 2005-03-25  Jim Meyering  <jim@meyering.net>
24984
24985         * modules/xvasprintf (Files): Add xalloc.h.
24986
24987 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
24988
24989         * modules/gettext (Files): config/config.rpath ->
24990         build-aux/config.rpath
24991         * modules/iconv (Files): Likewise.
24992         Problem reported by Oskar Liljeblad.
24993
24994 2005-03-23  Jim Meyering  <jim@meyering.net>
24995
24996         * modules/check-include-files: New script to check for
24997         missing dependencies, multiple includes, etc.
24998
24999         * modules/c-strtold (Depends-on): Add xalloc.
25000         * modules/c-strtod (Depends-on): Add xalloc.
25001         * modules/hash (Depends-on): Add xalloc.
25002         (Files): Remove lib/xalloc.h.
25003
25004         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
25005         * modules/userspec (Files): Add lib/inttostr.h.
25006
25007 2005-03-23  Jim Meyering  <jim@meyering.net>
25008
25009         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
25010
25011 2005-03-22  Jim Meyering  <jim@meyering.net>
25012
25013         * modules/stat-macros: New module.
25014         * modules/canonicalize, modules/euidaccess, modules/file-type,
25015         * modules/filemode, modules/lchown, modules/makepath,
25016         * modules/rmdir, modules/stat: Depend on new stat-macros module
25017         rather than listing lib/stat-macros.h manually.
25018         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
25019
25020 2005-03-22  Jim Meyering  <jim@meyering.net>
25021
25022         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
25023
25024 2005-03-22  Bruno Haible  <bruno@clisp.org>
25025
25026         * config/srclist.txt: Replace target directory 'config' with
25027         'build-aux'.
25028         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
25029         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
25030         ../build-aux/.
25031
25032 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25033
25034         * modules/chdir-long (Depends-on): Add mempcpy.
25035
25036         * modules/acl, modules/backupfile, modules/c-strtod,
25037         modules/c-strtold, modules/canon-host, modules/canonicalize,
25038         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
25039         modules/exclude, modules/exitfail, modules/file-type,
25040         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
25041         modules/getdate, modules/getline, modules/getpagesize,
25042         modules/getpass, modules/getugroups, modules/group-member,
25043         modules/hard-locale, modules/hash, modules/human, modules/idcache,
25044         modules/inttostr, modules/long-options, modules/makepath,
25045         modules/md5, modules/memcasecmp, modules/memcoll,
25046         modules/modechange, modules/mountlist, modules/path-concat,
25047         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
25048         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
25049         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
25050         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
25051         modules/strftime, modules/strndup, modules/strverscmp,
25052         modules/timespec, modules/unlocked-io, modules/userspec,
25053         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
25054         modules/yesno:
25055         Remove lib_SOURCES line from Makefile.am section, as this is now
25056         done automatically by the corresponding Autoconf macro.
25057
25058 2005-03-21  Jim Meyering  <jim@meyering.net>
25059
25060         Changes imported from coreutils.
25061
25062         * lib/cycle-check.c: Don't include xalloc.h.
25063
25064         * lib/path-concat.c: Don't include assert.h.
25065         (path_concat): Remove assertion that would have triggered
25066         for ABASE starting with more than one slash.
25067         Reported by Andreas Schwab.
25068
25069         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
25070         properly when ABASE is an absolute file name.
25071         Correct the description of this function.
25072         Include <assert.h>.
25073         Add an assertion and a test driver.
25074         This fixes a bug introduced on 2004-07-02.
25075         Andreas Schwab reported the resulting failure of cp --parents:
25076         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
25077
25078 2005-03-21  Jim Meyering  <jim@meyering.net>
25079
25080         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
25081         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
25082
25083 2005-03-21  Jim Meyering  <jim@meyering.net>
25084         and  Paul Eggert  <eggert@cs.ucla.edu>
25085
25086         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
25087         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
25088         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
25089         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
25090         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
25091         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
25092         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
25093         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
25094         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
25095         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
25096         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
25097         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
25098         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
25099         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
25100         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
25101         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
25102         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
25103         for these modules.
25104
25105 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25106
25107         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
25108         (which shouldn't happen), generate nothing instead of returning 0
25109         immediately, so that nstrftime (NULL, ...) doesn't return 0.
25110
25111 2005-03-16  Bruno Haible  <bruno@clisp.org>
25112
25113         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
25114         HAVE_LONGLONG_64BIT.
25115
25116 2005-03-16  Bruno Haible  <bruno@clisp.org>
25117
25118         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
25119         HAVE_LONGLONG_64BIT.
25120
25121 2005-03-16  Bruno Haible  <bruno@clisp.org>
25122
25123         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
25124         HAVE_LONGLONG_64BIT.
25125
25126 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25127
25128         * lib/strftime.c (my_strftime): Prepend space to format so that we can
25129         reliably distinguish strftime failure from empty output on POSIX
25130         hosts.
25131
25132 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25133
25134         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
25135         (iconv_string): Don't guess a size-zero buffer, as that might cause
25136         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
25137         result would be 'too large', where 'too large' is (heuristically)
25138         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
25139         overflow concerns.  This will prevent some unwanted malloc failures
25140         when the inputs are very large.
25141
25142 2005-03-15  Karl Berry  <karl@gnu.org>
25143
25144         * config/srclist.txt (config.rpath): from gettext.
25145         * config/config.rpath: update.
25146
25147 2005-03-15  Bruno Haible  <bruno@clisp.org>
25148
25149         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
25150         to 'negate'.
25151
25152         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
25153         variable.
25154
25155         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
25156         results.
25157
25158 2005-03-14  Simon Josefsson  <jas@extundo.com>
25159
25160         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
25161         <fx@gnu.org>.
25162
25163 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25164
25165         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
25166         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
25167         intprops.h.
25168         * lib/strtol.c: Likewise.
25169
25170 2005-03-14  Jim Meyering  <jim@meyering.net>
25171
25172         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
25173         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
25174         to be nonzero so that we (and caller) can detect the difference
25175         between a valid zero-length expansion and an error return, even
25176         when the underlying strftime fails before writing anything into
25177         that location.
25178
25179 2005-03-14  Bruno Haible  <bruno@clisp.org>
25180
25181         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
25182         Update from GNU gettext 0.14.3.
25183
25184 2005-03-10  Jim Meyering  <jim@meyering.net>
25185
25186         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
25187
25188 2005-03-10  Jim Meyering  <jim@meyering.net>
25189
25190         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
25191         so that this module works on systems without fchdir.
25192
25193 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
25194
25195         Factor int-properties macros into a single file, except for
25196         glibc-related files.
25197         * lib/intprops.h: New file.
25198         * lib/getloadavg.c: Include it instead of limits.h.
25199         (INT_STRLEN_BOUND): Remove.
25200         * lib/human.c: Include intprops.h.
25201         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
25202         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
25203         302/1000.
25204         * lib/inttostr.h: Include intprops.h instead of limits.h.
25205         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
25206         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
25207         for consistency with intprops.h.
25208         (time_t_is_integer, twos_complement_arithmetic): Use them.
25209         * lib/sig2str.h: Include <signal.h>, intprops.h.
25210         (INT_STRLEN_BOUND): Remove.
25211         * lib/strftime.c (TYPE_SIGNED): Remove.
25212         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
25213         * lib/strtol.c: Adjust comments to match intprops.h.
25214         * lib/userspec.c: Include intprops.h.
25215         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
25216         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
25217         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
25218         instead of rolling our own expressions.
25219         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
25220
25221         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
25222         instead of int.
25223         (my_strftime): Do not mishandle years close to INT_MAX, by doing
25224         the right thing even if adding 1900 would overflow.  Similarly
25225         for tm_mon + 1 and tm_yday + 1.
25226         Make %Y always equivalent to %C%y, and similarly for %G and %g.
25227         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
25228         (DO_SIGNED_NUMBER): New macro.
25229         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
25230
25231 2005-03-07  Bruno Haible  <bruno@clisp.org>
25232
25233         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
25234
25235 2005-03-07  Bruno Haible  <bruno@clisp.org>
25236
25237         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
25238
25239 2005-03-04  Derek R. Price  <derek@ximbiot.com>
25240
25241         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
25242         (func_import): Only replace files via --import when they have actually
25243         changed.
25244
25245 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25246
25247         * m4/mmap-anon.m4: New file.
25248         * m4/pagealign_alloc.m4: New file.
25249
25250 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25251             Bruno Haible  <bruno@clisp.org>
25252
25253         * modules/pagealign_alloc: New file.
25254         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
25255
25256 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25257             Bruno Haible  <bruno@clisp.org>
25258
25259         * lib/pagealign_alloc.h: New file.
25260         * lib/pagealign_alloc.c: New file.
25261
25262 2005-03-03  Bruno Haible  <bruno@clisp.org>
25263
25264         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
25265         Use an all-permissive copyright notice, recommended by RMS.
25266
25267 2005-03-02  Bruno Haible  <bruno@clisp.org>
25268
25269         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
25270         of AIX, the replacement has to be done only after <string.h> is
25271         included, therefore not in config.h. stpncpy.h does the replacement,
25272         and stpncpy.c uses it.
25273
25274 2005-03-02  Bruno Haible  <bruno@clisp.org>
25275
25276         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
25277         stpncpy.c uses it.
25278
25279 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25280
25281         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
25282         The workaround isn't strictly needed for POSIX conformance, and
25283         it's too much of a pain to configure and maintain.  We'll ask
25284         people to fix their kernels instead.
25285         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
25286         (NANOSLEEP_BUG_WORKAROUND): Remove.
25287         (xnanosleep): Remove the workaround.
25288
25289 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25290
25291         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
25292         Reported by Derek Price.
25293         (Include): Add "timespec.h".
25294
25295         * modules/xnanosleep (Depends-on): Remove gethrxtime.
25296
25297 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25298
25299         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
25300         to detect nanosleep bug.
25301
25302 2005-03-01  Bruno Haible  <bruno@clisp.org>
25303
25304         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
25305
25306 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25307
25308         * modules/gethrxtime: New file.
25309         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
25310         (Depends-on): Add gethrxtime.
25311         (configure.ac): Add gl_XNANOSLEEP.
25312         (Makefile.am): Remove lib_SOURCES line.
25313
25314 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
25315
25316         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
25317         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
25318
25319 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
25320
25321         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
25322         * lib/timespec.h (gettime): Return void, since it always
25323         succeeds now.  All uses changed.
25324         * lib/gettime.c (gettime) Likewise.
25325         [HAVE_NANOTIME]: Prefer nanotime.
25326         Assume gettimeofday succeeds, as POSIX requires.
25327         Assime time () succeeds, since other code already does.
25328         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
25329         (timespec_subtract): Remove.
25330         (NANOSLEEP_BUG_WORKAROUND): New constant.
25331         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
25332         things considerably.  Use it only on GNU/Linux hosts, since the
25333         workaround shouldn't be needed elsewhere.
25334
25335 2005-02-24  Bruno Haible  <bruno@clisp.org>
25336
25337         * modules/gettext (Files): Add m4/glibc2.m4.
25338
25339 2005-02-24  Bruno Haible  <bruno@clisp.org>
25340
25341         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
25342         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
25343         * m4/progtest.m4:
25344         Update from GNU gettext 0.14.2.
25345         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
25346
25347 2005-02-24  Bruno Haible  <bruno@clisp.org>
25348
25349         * lib/localcharset.c: Update from GNU gettext 0.14.2.
25350         * lib/config.charset: Update from GNU gettext 0.14.2.
25351
25352 2005-02-24  Bruno Haible  <bruno@clisp.org>
25353
25354         * lib/gettext.h: Update from GNU gettext 0.14.2.
25355
25356 2005-02-23  Simon Josefsson  <jas@extundo.com>
25357
25358         * m4/iconvme.m4: New file.
25359
25360 2005-02-23  Jim Meyering  <jim@meyering.net>
25361
25362         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
25363         change.
25364         Thanks to Bruno Haible for catching it.
25365
25366 2005-02-22  Simon Josefsson  <jas@extundo.com>
25367
25368         * modules/iconvme: New file.
25369
25370         * MODULES.html.sh: Add iconvme.
25371
25372 2005-02-22  Simon Josefsson  <jas@extundo.com>
25373
25374         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
25375
25376 2005-02-22  Simon Josefsson  <jas@extundo.com>
25377
25378         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
25379
25380 2005-02-22  Jim Meyering  <jim@meyering.net>
25381
25382         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
25383         s/ifndef/ifdef/.
25384
25385 2005-02-20  Neil Conway  <neilc@samurai.com>
25386
25387         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
25388         returned by OSX/Darwin if the specified buffer is not large
25389         enough for the hostname.
25390
25391 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25392
25393         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
25394         pass it to _help, otherwise the latter coredumps trying to
25395         dereference state.root_argp.
25396
25397 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25398
25399         * modules/chdir-long (Depends-on): Add memrchr.
25400         * modules/memrchr (Files): Add lib/memrchr.h.
25401         (Include): "memrchr.h".
25402
25403 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25404
25405         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
25406
25407 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25408
25409         * lib/memrchr.h: New file.
25410         * lib/chdir-long.c: Include it.
25411         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
25412         Don't bother including stddef.h.
25413
25414 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
25415
25416         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
25417         inclusion.
25418         Include <sys/types.h>, for dev_t.
25419         (ME_DUMMY, ME_REMOTE): Move from here....
25420         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
25421         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
25422         Dmitry V. Levin.
25423         Include mountlist.h first, to test the interface.
25424
25425 2005-01-29  Bruno Haible  <bruno@clisp.org>
25426
25427         * lib/progname.c (program_name): Initialize.
25428         Needed when linking statically on MacOS X.
25429
25430 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25431
25432         Sync from coreutils.
25433         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
25434         (Depends-on): Add c-strtod.
25435         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
25436
25437 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25438
25439         Sync from coreutils.
25440         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
25441
25442         Remove files that are specific to coreutils.
25443         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
25444
25445 2005-01-28  Bruno Haible  <bruno@clisp.org>
25446
25447         * modules/javacomp: New file.
25448         * MODULES.html.sh (Java): Add javacomp.
25449
25450 2005-01-28  Bruno Haible  <bruno@clisp.org>
25451
25452         * m4/javacomp.m4: New file, from GNU gettext.
25453
25454 2005-01-28  Bruno Haible  <bruno@clisp.org>
25455
25456         * lib/javacomp.sh.in: New file, from GNU gettext.
25457         * lib/javacomp.h: New file, from GNU gettext.
25458         * lib/javacomp.c: New file, from GNU gettext.
25459
25460 2005-01-26  Simon Josefsson  <jas@extundo.com>
25461
25462         * lib/gai_strerror.c: Use GPL in header.
25463
25464 2005-01-26  Bruno Haible  <bruno@clisp.org>
25465
25466         * modules/javaexec: New file.
25467         * MODULES.html.sh (Java): Add javaexec.
25468
25469 2005-01-26  Bruno Haible  <bruno@clisp.org>
25470
25471         * m4/javaexec.m4: New file, from GNU gettext.
25472
25473 2005-01-26  Bruno Haible  <bruno@clisp.org>
25474
25475         * lib/javaexec.sh.in: New file, from GNU gettext.
25476         * lib/javaexec.h: New file, from GNU gettext.
25477         * lib/javaexec.c: New file, from GNU gettext.
25478
25479 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25480
25481         * modules/lchown (Depends-on): Remove lchown.h
25482
25483 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25484
25485         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
25486         must be defined if the header file was not found, in order
25487         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
25488
25489 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25490
25491         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
25492         initializers for struct pentry_state.
25493         (__argp_error): Check return value of __asprintf
25494         (__argp_failure): Translate error message
25495
25496         * lib/argp-parse.c: Removed braces around the expansion of N_()
25497
25498 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25499
25500         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
25501         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
25502         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
25503         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
25504         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
25505         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
25506         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
25507         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
25508         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
25509         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
25510         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
25511         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
25512         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
25513         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
25514         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
25515         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
25516         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
25517         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
25518         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
25519         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
25520         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
25521         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
25522         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
25523         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
25524         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
25525         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
25526         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
25527         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
25528         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
25529         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
25530         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
25531         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
25532         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
25533         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
25534         xstrtol.m4, xstrtoumax.m4, yesno.m4:
25535         Use an all-permissive copyright notice, recommended by RMS.
25536
25537 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25538
25539         * modules/chdir-long (Depends-on): Remove mempcpy.
25540
25541 2005-01-21  Jim Meyering  <jim@meyering.net>
25542
25543         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
25544         same value as for Solaris 9.
25545
25546         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
25547         component length.  This included changing the parameter to be
25548         of type `char *' rather than `char const *'.
25549         * lib/chdir-long.h (chdir_long): Update prototype.
25550
25551         * lib/openat.c (fdopendir, fstatat): New functions.
25552         * lib/openat.h: Include headers required for use of DIR and struct
25553         stat.
25554         [AT_SYMLINK_NOFOLLOW]: Define.
25555         (fdopendir, fstatat): Add prototypes.
25556
25557 2005-01-21  Bruno Haible  <bruno@clisp.org>
25558
25559         * modules/classpath: New file.
25560         * MODULES.html.sh (Java): Add classpath.
25561
25562 2005-01-21  Bruno Haible  <bruno@clisp.org>
25563
25564         * lib/classpath.h: New file, from GNU gettext.
25565         * lib/classpath.c: New file, from GNU gettext.
25566
25567 2005-01-20  Simon Josefsson  <jas@extundo.com>
25568
25569         * modules/version-etc-fsf: New file.
25570
25571 2005-01-20  Simon Josefsson  <jas@extundo.com>
25572
25573         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
25574         * lib/version-etc.c: Remove version_etc_copyright.
25575         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
25576         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
25577
25578 2005-01-20  Simon Josefsson  <jas@extundo.com>
25579
25580         * lib/base64.h (isbase64): Add.
25581
25582         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
25583         using a unsigned prototype, don't inline.
25584         (base64_decode): Use it.
25585
25586 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25587
25588         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
25589         it.
25590
25591 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25592
25593         * lib/save-cwd.c (save_cwd): Remove code to support the case
25594         where fchdir is missing or flaky.
25595
25596 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25597
25598         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
25599
25600 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25601
25602         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
25603         AC_LIBSOURCES now does this.
25604         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
25605         with new ullong_max module.
25606
25607 2005-01-19  Bruno Haible  <bruno@clisp.org>
25608
25609         * modules/sh-quote: New file.
25610         * MODULES.html.sh (Executing programs): Add sh-quote.
25611
25612 2005-01-19  Bruno Haible  <bruno@clisp.org>
25613
25614         * lib/sh-quote.h: New file, from GNU gettext.
25615         * lib/sh-quote.c: New file, from GNU gettext.
25616
25617 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25618
25619         Merge from coreutils.
25620         * m4/ullong_max.m4: New file.
25621         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
25622         (gl_MACROS): Assume localeconv exists.
25623
25624 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25625
25626         Merge changes from coreutils, as described below in several
25627         changelogs dated today.
25628
25629         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
25630         (O_DIRECTORY): Remove; not needed here, since "." must be
25631         a directory.  All uses removed.
25632         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
25633         universal on Suns, and we also need to test for IRIX.
25634         Revamp code to use 'if' rather than '#if'.
25635         Avoid unnecessary comparison of cwd->desc to 0.
25636
25637         * lib/utimens.c (futimens): Robustify the previous patch, by checking
25638         for known valid error numbers rather than observed invalid ones.
25639
25640 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25641
25642         * modules/ullong_max: New file.
25643
25644         * modules/chdir-long, modules/openat: New files.
25645         * modules/save-cwd (Depends-on): Depend on chdir-long.
25646         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
25647
25648 2005-01-18  Jim Meyering  <jim@meyering.net>
25649
25650         Merge from coreutils.
25651         * m4/chdir-long.m4, m4/openat.m4: New files.
25652         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
25653         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
25654         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
25655         is sane and DOES follow symlinks.  Besides, testing 20 different
25656         systems found no broken chown implementations.
25657         Prompted by a change in rsync's copy of this macro.
25658         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
25659
25660         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
25661
25662         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
25663         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
25664         NULL-means-set-to-current-time semantics.
25665         Remove temporary file immediately, rather than waiting
25666         for configure's at-exit trap code to do it.
25667
25668 2005-01-18  Jim Meyering  <jim@meyering.net>
25669
25670         * lib/version-etc.c (version_etc_copyright): Update copyright date.
25671
25672         * lib/utimens.c (futimens): Account for the fact that futimes
25673         can also fail with errno == ENOSYS or errno == ENOENT.
25674         Patch from Dmitry V. Levin.
25675
25676         Change the name of the robust chdir function from chdir to chdir_long.
25677         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
25678         (restore_cwd): Use chdir_long, not chdir.
25679         * lib/chdir-long.c: Renamed from chdir.c.
25680         * lib/chdir-long.h: Renamed from chdir.h.
25681         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
25682         Hurd.
25683
25684 2005-01-18  Bruno Haible  <bruno@clisp.org>
25685
25686         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
25687         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
25688         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
25689         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
25690         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
25691         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
25692         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
25693         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
25694         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
25695         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
25696         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
25697         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
25698         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
25699         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
25700         Use an all-permissive copyright notice, recommended by RMS.
25701
25702 2005-01-18  Bob Proulx  <bob@proulx.com>
25703
25704         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
25705         simplify offsetof() macro construct to avoid compile failure with
25706         native HP-UX 11.0 ANSI C compiler.
25707
25708 2005-01-17  Bruno Haible  <bruno@clisp.org>
25709
25710         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
25711         redundant because stpncpy.m4 takes care of it.
25712
25713 2005-01-17  Bruno Haible  <bruno@clisp.org>
25714
25715         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
25716
25717 2005-01-17  Bruno Haible  <bruno@clisp.org>
25718
25719         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
25720         used.
25721
25722 2005-01-17  Bruno Haible  <bruno@clisp.org>
25723
25724         * lib/fwriteerror.h (fwriteerror): Change specification to include
25725         fclose.
25726         * lib/fwriteerror.c: Include <stdbool.h>.
25727         (fwriteerror): At the end, close the file stream. Record whether
25728         stdout was already closed.
25729
25730 2005-01-17  Bruno Haible  <bruno@clisp.org>
25731
25732         * lib/execute.c (environ): Declare if needed.
25733         * lib/pipe.c (environ): Likewise.
25734         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
25735
25736 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25737
25738         * modules/argp: Depend on vsnprintf
25739
25740 2005-01-10  Jim Meyering  <jim@meyering.net>
25741
25742         * modules/closeout (Depends-on): Add atexit.
25743
25744 2005-01-06  Bruno Haible  <bruno@clisp.org>
25745
25746         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
25747
25748 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
25749
25750         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
25751         definitions to be after all include files, to avoid collisions.
25752         Problem reported by Bob Proulx.
25753
25754 2005-01-04  Jim Meyering  <jim@meyering.net>
25755
25756         Changes imported from coreutils.
25757         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
25758         as the mkstemp template, use a temporary directory and an
25759         8.3-friendly template to avoid trouble on systems like DJGPP.
25760         Reported by Juan M. Guerrero via Stepan Kasal.
25761         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
25762         close. Remove the temporary directory right away, rather than waiting
25763         for configure's at-exit trap code to do it.
25764         Suggestion from Stepan Kasal.
25765
25766 2005-01-01  Simon Josefsson  <jas@extundo.com>
25767
25768         * gnulib-tool: Print #include directives when --import'ing.
25769
25770 2004-12-28  Simon Josefsson  <jas@extundo.com>
25771
25772         * tests/test-base64.c: Include required header files.  Remove
25773         unused variables.
25774
25775 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25776
25777         * modules/error (Depends-on): Remove gettext.
25778
25779 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25780
25781         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
25782         not needed.  This removes a dependency on the gettext module.
25783         [defined _LIBC]: Do not include <libintl.h>; not needed.
25784
25785 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25786
25787         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
25788         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
25789
25790 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25791
25792         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
25793         HAVE_DECL_STRTOLD.
25794
25795 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25796
25797         * modules/getdate (Depends-on): Remove alloca-opt.
25798
25799 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25800
25801         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
25802
25803 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25804
25805         * lib/argp-parse.c: Include <stddef.h>.
25806         (alignof, alignto): New macros.
25807         (parser_init): Don't assume that void * is aligned sufficiently
25808         for struct option.
25809
25810         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
25811         need to extend the stack.
25812         (YYINITDEPTH): New macro, so that the initial stack isn't overly
25813         large.
25814
25815 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25816
25817         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
25818
25819 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25820
25821         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
25822         (2004-10-24) change.  Apparently this was a false alarm.
25823
25824         * modules/getdate: Depend on alloca-opt, not alloca.
25825
25826 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25827
25828         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
25829         Remove now-obsolete comment about AIX.
25830         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
25831         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
25832         (YYMAXDEPTH): New macro.
25833
25834 2004-12-18  Simon Josefsson  <jas@extundo.com>
25835
25836         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
25837
25838 2004-12-18  Bruno Haible  <bruno@clisp.org>
25839
25840         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
25841
25842 2004-12-18  Bruno Haible  <bruno@clisp.org>
25843
25844         * lib/fatal-signal.c (fatal_signals): Make non-const.
25845         (init_fatal_signals): New function.
25846         (uninstall_handlers, install_handlers): Ignore signals that were set to
25847         SIG_IGN.
25848         (at_fatal_signal): Call init_fatal_signals.
25849         (init_fatal_signal_set): Likewise. Ignore signals that were set to
25850         SIG_IGN.
25851         Reported by Paul Eggert.
25852
25853 2004-12-18  Bruno Haible  <bruno@clisp.org>
25854
25855         * doc/alloca.texi: New file.
25856         * doc/alloca-opt.texi: New file.
25857
25858 2004-12-17  Jim Meyering  <jim@meyering.net>
25859
25860         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
25861         Otherwise, install-sh could exit with improper exit status when
25862         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
25863
25864 2004-12-16  Simon Josefsson  <jas@extundo.com>
25865
25866         * tests/test-base64.c: Add license.
25867
25868 2004-12-15  Stepan Kasal  <address@hidden>
25869
25870         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
25871
25872 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
25873
25874         * modules/getcwd (Files): Add m4/d-ino.m4.
25875         Suggested by Mark D. Baushke.
25876
25877 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
25878
25879         * lib/getdate.y (textint): New member "negative".
25880         (time_zone_hhmm): New function.
25881         Expect 14 shift-reduce conflicts, not 13.
25882         (o_colon_minutes): New rule.
25883         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
25884         (yylex): Set the "negative" member of signed numbers.
25885
25886 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
25887
25888         * doc/getdate.texi (Time of day items, Time zone items):
25889         Describe new formats +00:00, UTC+00:00.
25890
25891 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
25892
25893         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
25894         spurious "-l"s.  Problem reported by Stepan Kasal.
25895
25896 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
25897
25898         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
25899         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
25900
25901 2004-12-04  Simon Josefsson  <jas@extundo.com>
25902
25903         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
25904         Vandoorselaere <yoann@prelude-ids.org>.
25905
25906 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25907
25908         Changes imported from coreutils.
25909         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
25910         exist.
25911         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
25912
25913 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25914
25915         Changes imported from coreutils.
25916         * lib/hard-locale.c: Assume <locale.h> exists.
25917         Include "strdup.h".
25918         (GLIBC_VERSION): New macro.
25919         (hard_locale): Assume setlocale exists.
25920         Rewrite to avoid #ifdef.
25921         Use strdup rather than malloc + strcpy.
25922         * lib/human.c: Assume <locale.h> exists.
25923         (human_readable): Assume localeconv exists.
25924
25925 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25926
25927         * modules/hard-locale (Depends-on): Add strdup.
25928
25929 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
25930
25931         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
25932         convert T2, not T.  (Imported from libc.)
25933
25934 2004-11-30  Simon Josefsson  <jas@extundo.com>
25935
25936         * modules/restrict (License): Change to LGPL.
25937
25938 2004-11-30  Simon Josefsson  <jas@extundo.com>
25939
25940         * m4/restrict.m4: Add copyright and copying conditions.
25941
25942 2004-11-30  Simon Josefsson  <jas@extundo.com>
25943
25944         * m4/base64.m4: New file.
25945
25946 2004-11-30  Simon Josefsson  <jas@extundo.com>
25947
25948         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
25949         base64.
25950
25951         * tests/test-base64.c: New file.
25952
25953         * modules/base64: New file.
25954
25955 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
25956
25957         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
25958         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
25959
25960         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
25961
25962 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
25963
25964         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
25965         (__getcwd.c): Don't restore errno; glibc doesn't.
25966         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
25967         first, falling back to our code only if its results look suspicious.
25968         Ensure that the resulting buffer is only as large as necessary.
25969
25970         * lib/readutmp.c: Include readutmp.h first.
25971         Include <errno.h>, since readutmp.h no longer does that.
25972         * lib/readutmp.h: Don't include <errno.h>,
25973         <sys/param.h>, <time.h>; not needed to establish interface.
25974         (errno): Remove decl.
25975         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
25976         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
25977         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
25978
25979 2004-11-28  Simon Josefsson  <jas@extundo.com>
25980
25981         * lib/base64.h, base64.c: New file.
25982
25983 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
25984
25985         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
25986
25987 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
25988
25989         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
25990         (Depends-on): Remove pathmax, same.  Add mempcpy.
25991         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
25992         (Makefile.am): Append getcwd.h to lib_SOURCES.
25993         (Include): Add getcwd.h.
25994         (Maintainer): Change from Jim Meyering to "all, glibc",
25995         since getdate now uses intended-for-glibc code.
25996         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
25997         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
25998
25999 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26000
26001         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
26002         HP's ANSI C compiler.
26003         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
26004         Declaring int functions causes warnings on some modern systems and
26005         shouldn't be needed to compile on ancient ones.
26006         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
26007         defined.
26008
26009         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
26010         with the following changes.
26011         (__set_errno): Parenthesize properly.
26012         Include <stdbool.h>.
26013         (MIN, MAX, MATCHING_INO): New macros.
26014         (__getcwd): Define with prototype, not K&R form.
26015         Use heuristics to allocate default buffer on stack if possible.
26016         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
26017         behavior, and to avoid the PATH_MAX limit when computing
26018         ../../../../...
26019         Use MATCHING_INO to compare inode number to file.
26020         Check for arithmetic overflow in size calculations.
26021         Fix bug in reallocation of dot array that caused getcwd to fail
26022         on directories nested deeper than 75.
26023         Be more careful about saving errno on error.
26024         Do not use realloc; use only free+malloc, as this is a bit
26025         more flexible and avoids a needless copy operation.
26026         Do not inspect st_dev and st_ino for symbolic links; POSIX
26027         doesn't specify the latter.
26028         Check for closedir errors.
26029         Avoid needless casts.
26030         Use "#ifdef weak_alias" around weak_alias, to be like other
26031         glibc code.
26032         The following changes to getcwd.c have effect only when used in
26033         gnulib; they have no effect inside glibc proper.
26034         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
26035         as alloca isn't used.
26036         (alloca, __alloca): Likewise.
26037         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
26038         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
26039         unconditionally, as gnulib assumes C89 or better.
26040         Do not include <sys/param.h>.
26041         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
26042         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
26043         better.
26044         (NULL) [!defined NULL]: Remove; we assume C89 or better.
26045         Include <dirent.h> in a way that is compatible with modern Autoconf.
26046         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
26047         New macros, if not already defined.
26048         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
26049         Use "_LIBC", not "defined _LIBC", for consistency.
26050         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
26051         a mempcpy module.
26052         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
26053         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
26054         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
26055         credit only to Jim Meyering and adjust the copyright dates.
26056         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
26057         <stdlib.h>, <unistd.h>, "pathmax.h".
26058         Instead, include "xgetcwd.h" (first) and "getcwd.h".
26059         (INITIAL_BUFFER_SIZE): Remove.
26060         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
26061
26062 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26063
26064         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
26065         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
26066         Use the _ONCE methods, for efficiency.
26067         Check for fcntl.h.  In test program, include <errno.h>
26068         and <fcntl.h> if available.  Remove old K&R cruft from
26069         test program.  Check for common errors in GNU/Linux,
26070         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
26071         don't do AC_LIBOBJ, as that's getcwd.m4's job.
26072         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
26073         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
26074         name accordingly.
26075         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
26076         accommodate new getcwd.c.
26077         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
26078         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
26079         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
26080         that's all we need now.
26081
26082 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26083
26084         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
26085         argp-parse.c depends on getopt internals, that means we should
26086         always use our getopt, to be on the safe side.
26087         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
26088         order not to spoil the result of an eventual previous invocation
26089         of gl_GETOPT_SUBSTITUTE.
26090
26091 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26092
26093         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
26094         redefinition warnings. To avoid them, include the defines
26095         in `#if !defined __need_getopt ... #endif'. The only place
26096         where __getopt_argv_const is used is in definitions
26097         of getopt_long and getopt_long_only below, which are as well
26098         protected by `#ifndef __need_getopt'.
26099         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
26100         __need_getopt after including <stdio.h> and <unistd.h> These
26101         headers might have defined it.
26102
26103 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26104
26105         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
26106
26107 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26108
26109         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
26110         (futimens): New function, which uses futimes if available.
26111         (futimens, utimens): Support timespec==NULL, with same semantics
26112         as utime and utimens.
26113         * lib/utimens.h (futimens): New decl.
26114
26115 2004-11-23  Jim Meyering  <jim@meyering.net>
26116
26117         * lib/getopt_.h: Remove trailing blanks.
26118
26119 2004-11-23  Jim Meyering  <jim@meyering.net>
26120
26121         * lib/__fpending.c: Add comment.
26122
26123 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
26124
26125         * modules/canonicalize (Depends-on): Add xreadlink.
26126         Problem reported by James Youngman.
26127
26128 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26129
26130         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
26131         New macros.
26132         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
26133         optopt): Use them instead of invoking ## directly; otherwise, the
26134         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
26135
26136 2004-11-19  Bruno Haible  <bruno@clisp.org>
26137
26138         * lib/strtok_r.c: Move comments from here...
26139         * lib/strtok_r.h: ... to here.
26140
26141 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26142
26143         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
26144         implementations that mishandle size_t overflow.
26145
26146 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26147
26148         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
26149         might fail.  Problem reported by Yoann Vandoorselaere.
26150         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
26151         implementations that mishandle size_t overflow.
26152
26153 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26154
26155         * modules/canon-host (Depends-on): Add strdup.
26156
26157 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26158
26159         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
26160
26161 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26162
26163         * lib/canon-host.c: Include "strdup.h".
26164         (canon_host): Use getaddrinfo if available, so that IPv6 works.
26165         Use strdup instead of malloc/strcpy to duplicate strings.
26166
26167         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
26168         (human_space_before_unit): New constant.
26169         * lib/human.c (human_readable): Support it.
26170
26171         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
26172         (xgetcwd): Set errno correctly when failing.
26173         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
26174         the failure is actually due to a PATH_MAX problem.
26175
26176         Further getopt changes to make it more likely that glibc will
26177         buy the changes back.
26178         * lib/getopt.c (POSIXLY_CORRECT): New constant.
26179         (getopt): Use it, so to preserve glibc semantic
26180         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
26181         when compiling for libc.
26182         * lib/getopt_.h (__getopt_argv_const): Bring it back.
26183         (getopt_long, getopt_long_only): Use it.
26184
26185         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
26186         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
26187         (getopt): Argv is now char * const *, as per standard.
26188         (_getopt_internal_r, _getopt_internal): Argv is now char **,
26189         not char *__getopt_argv_const *.
26190         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
26191         _getopt_long_only_r): Likewise.
26192         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
26193         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
26194         _getopt_long_r, _getopt_long_only_r): Likewise.
26195         * lib/getopt_.h (__getopt_argv_const): Remove.
26196         (getopt): Argv is now char * const *, as per standard.
26197
26198         * lib/getdate.y (tORDINAL): New token.
26199         (day, relunit): Allow it for relative times.
26200         (relative_time_table): Use tORDINAL for ordinals.
26201
26202 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26203
26204         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
26205         Document that "second" isn't allowed as an ordinal number.
26206
26207 2004-11-16  Jim Meyering  <jim@meyering.net>
26208
26209         * modules/closeout (Depends-on): Add fpending.
26210
26211 2004-11-15  Jim Meyering  <jim@meyering.net>
26212
26213         * lib/closeout.c: Include "__fpending.h" once again.
26214         Include <stdbool.h>.
26215         (close_stdout): Don't fail just because stdout was closed initially,
26216         since some programs don't write to stdout in the normal course of
26217         operation (other than --version and --help), and we don't want this
26218         function to make e.g. `touch file >&-' fail.
26219         But do fail if it was closed and someone has tried to write to it.
26220         E.g., `printf foo >&-' must fail.
26221
26222 2004-11-13  Jim Meyering  <jim@meyering.net>
26223
26224         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
26225
26226 2004-11-12  Simon Josefsson  <jas@extundo.com>
26227
26228         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
26229         small doc fix is still pending.
26230
26231 2004-11-11  Simon Josefsson  <jas@extundo.com>
26232
26233         * modules/strtok_r: New file.
26234
26235         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26236         strtok_r.
26237
26238 2004-11-11  Simon Josefsson  <jas@extundo.com>
26239
26240         * m4/strtok_r.m4: New file.
26241
26242         * m4/getopt.m4: Replace opterr.
26243
26244 2004-11-11  Simon Josefsson  <jas@extundo.com>
26245
26246         * lib/strtok_r.h, strtok_r.c: New file.
26247
26248 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26249
26250         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
26251         of replacing opterr, getopt, etc.  This should handle the
26252         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
26253
26254 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26255
26256         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
26257         we can stop lying to compilers about the constness of argv when we
26258         are compiled outside glibc.
26259         (getopt, getopt_long, getopt_long_only): Use it.
26260         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
26261         _getopt_internal, getopt): Likewise.
26262         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
26263         _getopt_long_only_r): Likewise.
26264         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
26265         _getopt_long_r, _getopt_long_only_r): Likewise.
26266
26267         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
26268         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
26269         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
26270         the other external symbols.
26271         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
26272         declaration, since the above renaming now works around collisions.
26273
26274 2004-11-11  Jim Meyering  <jim@meyering.net>
26275
26276         * lib/linebreak.c: Remove trailing blanks.
26277         * lib/alloca_.h: Likewise.
26278         * lib/acosl.c: Likewise.
26279         * lib/euidaccess.c: Likewise.
26280         * lib/allocsa.h: Likewise.
26281
26282 2004-11-10  Simon Josefsson  <jas@extundo.com>
26283
26284         * m4/getaddrinfo.m4: New file.
26285
26286 2004-11-10  Simon Josefsson  <jas@extundo.com>
26287
26288         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
26289
26290 2004-11-10  Simon Josefsson  <jas@extundo.com>
26291
26292         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26293         getaddrinfo.
26294
26295         * modules/getaddrinfo: New file.
26296
26297 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
26298
26299         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
26300
26301 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
26302
26303         * lib/mktime.c (SHR): New macro, which is a portable
26304         substitute for >> that should work even on Crays.
26305         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
26306         Problem reported by Mark D. Baushke in
26307         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
26308         * lib/getdate.y (SHR): Likewise.
26309         (tm_diff): Use it.
26310         * lib/strftime.c (SHR): Likewise.
26311         (tm_diff): Use it.
26312         * lib/quotearg.c (struct quoting_options): Use unsigned int for
26313         quote_these_too, so that right shifts are well defined.  All uses
26314         changed.
26315
26316 2004-11-10  Jim Meyering  <jim@meyering.net>
26317
26318         Ensure that no close failure goes unreported.
26319         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
26320         return early when it seems there's nothing to flush.
26321         Don't include __fpending.h.
26322
26323 2004-11-10  Jim Meyering  <jim@meyering.net>
26324
26325         * modules/closeout (Depends-on): Remove fpending.
26326
26327 2004-11-10  Jim Meyering  <jim@meyering.net>
26328
26329         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
26330
26331 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
26332
26333         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
26334         gl_FUNC_STRFTIME.
26335         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
26336         and AC_REQUIRE when possible, to avoid duplicate checks.
26337         Check for <wchar.h>.
26338
26339 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
26340
26341         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
26342
26343 2004-11-09  Bruno Haible  <bruno@clisp.org>
26344
26345         * m4/sockpfaf.m4: New file.
26346
26347 2004-11-05  Bruno Haible  <bruno@clisp.org>
26348
26349         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
26350         Reported by Mark D. Baushke <mdb@cvshome.org>.
26351
26352 2004-11-04  Bruno Haible  <bruno@clisp.org>
26353
26354         2004-09-11  Bruno Haible  <bruno@clisp.org>
26355                 * allocsa.valgrind: New file.
26356         2004-02-06  Bruno Haible  <bruno@clisp.org>
26357                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
26358                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
26359                 Reported by Christopher Seip <chris.seip@hp.com>.
26360
26361 2004-11-04  Bruno Haible  <bruno@clisp.org>
26362
26363         * modules/allocsa (Files): Add lib/allocsa.valgrind.
26364         (Makefile.am): Distribute it.
26365
26366 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
26367
26368         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
26369         with errno == ERANGE if the buffer is too small.
26370         Problem reported by Mark D. Baushke.
26371
26372 2004-11-03  Albert Chin  <china@thewrittenword.com>
26373             Paul Eggert  <eggert@cs.ucla.edu>
26374
26375         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
26376         equivalent, substitute $ac_type for equivalent type rather than
26377         blindly using uint32_t *always* which won't work if uint32_t is not
26378         available.  Define _UINT32_T to work around typedef of uint32_t if
26379         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
26380         2.5.1.
26381
26382 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26383
26384         * m4/jm-macros.m4: Sync from coreutils.
26385         (gl_MACROS): Check for mbrlen, for pathchk.
26386         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
26387
26388 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26389
26390         * lib/xreadlink.c (MAXSIZE): New macro.
26391         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
26392         size does not exceed MAXSIZE.  Avoid cast.
26393         As suggested by Mark D. Baushke in
26394         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
26395         if readlink fails with buffer size just under MAXSIZE, try again
26396         with MAXSIZE.
26397
26398 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26399
26400         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
26401
26402 2004-11-02  Derek R. Price  <derek@ximbiot.com>
26403         and  Paul Eggert  <eggert@cs.ucla.edu>
26404
26405         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
26406         (get_date): Overparenthesize to avoid GCC warning.
26407
26408 2004-11-02  Bruno Haible  <bruno@clisp.org>
26409
26410         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
26411         returns void.
26412
26413 2004-11-02  Bruno Haible  <bruno@clisp.org>
26414
26415         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
26416         function returns void.
26417
26418 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26419
26420         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
26421         fflush_unlocked, flockfile, funlockfile, funlockfile,
26422         fputs_unlocked, putc_unlocked.
26423
26424 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26425
26426         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
26427         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
26428         already declared.
26429
26430 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26431
26432         * modules/getdate (Files): Add doc/getdate.texi.
26433         (Depends-on): Add setenv, xalloc.
26434
26435 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26436
26437         * lib/getdate.y: Add support for TZ="foo" within a date string.
26438         Fix some bugs near time_t boundaries.  Reject dates with
26439         out-of-range components, e.g., "Sept 31".
26440         Include <stdlib.h>, "setenv.h", "xalloc.h".
26441         (ISDIGIT_LOCALE): Remove; unused.
26442         Note that the TZ and time functions used here are not reentrant.
26443         (mktime_ok, get_tz): New functions.
26444         (TZBUFSIZE): New constant.
26445         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
26446         This requires that we sometimes generate our own TZ="XXX..." setting.
26447
26448 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26449
26450         * doc/getdate.texi: New file, from coreutils with modifications for
26451         the new TZ parsing.
26452
26453 2004-10-27  Derek R. Price  <derek@ximbiot.com>
26454
26455         * lib/mktime.c (not_equal_tm): Remove redundant check.
26456
26457 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26458
26459         * modules/regex (lib_SOURCES): Add regex.c.
26460         Reported by James Youngman in
26461         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
26462
26463 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26464
26465         * lib/getdate.y: Use Bison 1.875 features, and some minor
26466         code cleanups.  This change does not affect semantics.
26467         Don't include <stdlib.h>; no longer needed.
26468         Don't include unlocked-io.h; only the "#if TEST" code uses
26469         stdio, and performance isn't crucial there.
26470         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
26471         Bison 1.875 features as described below.
26472         All uses of "PC." replaced by "pc->".
26473         (YYSTYPE): Add a forward declaration.
26474         (yylex, yyerror): Use full prototypes in forward decls.
26475         Use "%pure-parser" rather than obsolescent "%pure_parser".
26476         Use %parse-param and %lex-param instead of obsolescent
26477         YYPARSE_PARAM and YYLEX_PARAM.
26478         (meridian_table, month_and_day_table, time_units_table,
26479         relative_time_table, time_zone_table, military_table,
26480         lookup_zone, lookup_word, get_date):
26481         Use NULL instead of 0 where appropriate.
26482         (to_hour): Avoid abort (), to avoid a dependency on
26483         stdlib.h.
26484         (yyerror, yylex): Now accepts parser_control * arg.
26485         (main) [TEST]: Use '\0' rather than 0 for char.
26486
26487 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26488
26489         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
26490
26491 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26492
26493         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
26494         It's now the caller's responsibility to handle the case where
26495         !HAVE_GETPAGESIZE && !defined getpagesize.
26496
26497         * lib/mktime.c (leapyear): Arg is long int, not int.
26498
26499 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
26500
26501         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
26502
26503 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
26504
26505         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
26506         missing.  Problem reported by James Youngman.
26507
26508 2004-10-16  Simon Josefsson  <jas@extundo.com>
26509
26510         * gnulib-tool: Fix comments.  Fix parse problem.
26511         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
26512
26513 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
26514
26515         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
26516         implementation of getopt_long.  Problem reported by Alexander Taler in:
26517         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
26518
26519 2004-10-15  Bruno Haible  <bruno@clisp.org>
26520
26521         * gnulib-tool: Untabify. Initialize supplied_libname.
26522         (func_usage): More homogenous output.
26523         (func_modules_transitive_closure, func_modules_to_filelist,
26524         func_emit_lib_Makefile_am): New functions.
26525         (func_import): New function, extracted from big case statement. Use
26526         func_get_license, func_modules_transitive_closure,
26527         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
26528         opt_lgpl. Don't use test -a, as it's not portable.
26529         (func_create_testdir): Use func_modules_transitive_closure,
26530         func_modules_to_filelist, func_emit_lib_Makefile_am.
26531
26532 2004-10-15  Bruno Haible  <bruno@clisp.org>
26533
26534         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
26535
26536 2004-10-15  Bruno Haible  <bruno@clisp.org>
26537
26538         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
26539         the portions belonging to each module.
26540         Suggested by Derek Robert Price <derek@ximbiot.com>.
26541
26542 2004-10-12  Simon Josefsson  <jas@extundo.com>
26543
26544         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
26545         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
26546         to real functions.
26547
26548 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26549
26550         * modules/vsnprintf: New file.
26551
26552 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26553
26554         * m4/vsnprintf.m4: New file.
26555
26556 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26557
26558         * lib/vsnprintf.h: New file.
26559         * lib/vsnprintf.c: New file.
26560
26561 2004-10-11  Bruno Haible  <bruno@clisp.org>
26562
26563         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
26564         vsnprintf.
26565
26566 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26567
26568         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
26569
26570 2004-10-07  Bruno Haible  <bruno@clisp.org>
26571
26572         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
26573         fits into the provided buffer.
26574
26575 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
26576
26577         * lib/diacrit.c, diacrit.h: Add GPL notice.
26578
26579         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
26580         notice.
26581         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
26582         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
26583         This avoids a potential constant-folding bug.
26584
26585 2004-10-05  Bruno Haible  <bruno@clisp.org>
26586
26587         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
26588         for the declaration of strsep.
26589
26590 2004-10-05  Bruno Haible  <bruno@clisp.org>
26591
26592         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
26593
26594 2004-10-04  Simon Josefsson  <jas@extundo.com>
26595
26596         * modules/memmem: New file.
26597         * tests/test-memmem.c: New file.
26598         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
26599
26600 2004-10-04  Simon Josefsson  <jas@extundo.com>
26601
26602         * m4/memmem.m4: New file.
26603
26604 2004-10-04  Simon Josefsson  <jas@extundo.com>
26605
26606         * lib/memmem.h: New file.
26607         * lib/memmem.c: New file, taken from glibc.
26608
26609 2004-10-04  Simon Josefsson  <jas@extundo.com>
26610
26611         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
26612         '#ifdef USE_UNLOCKED_IO'.
26613
26614 2004-10-04  Simon Josefsson  <jas@extundo.com>
26615
26616         * config/srclist.txt: Add memmem from glibc.
26617
26618 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26619
26620         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
26621
26622         * modules/argmatch, modules/argp, modules/closeout, modules/error,
26623         modules/exclude, modules/getdate, modules/getline,
26624         modules/getndelim2, modules/getpass, modules/getpass-gnu,
26625         modules/getusershell, modules/linebuffer, modules/md5,
26626         modules/mountlist, modules/posixtm, modules/readtokens,
26627         modules/readutmp, modules/regex, modules/sha1,
26628         modules/version-etc, modules/yesno:
26629         Remove dependency on unlocked-io.
26630
26631 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26632
26633         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
26634
26635         * m4/unlocked-io.m4: Add copyright notice.
26636         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
26637
26638 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26639
26640         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
26641         * lib/xmalloc.c (xmemdup): Likewise.
26642         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
26643         XFREE): Remove these long-obsolescent macros.
26644         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
26645         * lib/xstrdup.c: Remove.
26646
26647         * lib/regex.c (re_comp): Cast gettext return value to char *,
26648         Problem reported by Martin Neitzel via Mark D. Baushke.
26649
26650 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26651
26652         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
26653         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
26654         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
26655         regex.c, sha1.c, version-etc.c, yesno.c:
26656         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
26657         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
26658         the includer's responsibility.
26659
26660         Sync from coreutils.
26661
26662         * lib/modechange.c (mode_compile): Don't decrement a pointer that
26663         points to the start of a string, as the C Standard says the
26664         resulting behavior is undefined.
26665
26666         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
26667         simple -> simple_backups, numbered_existing ->
26668         numbered_existing_backups, numbered -> numbered_backups
26669         to avoid shadowing problems.  All uses changed.
26670         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
26671         * lib/backupfile.c (check_extension, numbered_backup):
26672         Rename locals to avoid shadowing 'basename'.
26673         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
26674         once.
26675
26676         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
26677         * lib/.cvsignore: Add getopt.h.
26678
26679 2004-10-04  Bruno Haible  <bruno@clisp.org>
26680
26681         * modules/README: New file.
26682         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
26683         not a module.
26684
26685 2004-10-02  Jim Meyering  <jim@meyering.net>
26686
26687         * lib/dirfd.h, getpagesize.h: Add copyright notice.
26688
26689 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26690
26691         * modules/strsep: New file.
26692
26693 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26694
26695         * m4/strsep.m4: New file.
26696
26697 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26698
26699         * lib/strsep.h: New file.
26700         * lib/strsep.c: New file.
26701
26702 2004-10-01  Simon Josefsson  <jas@extundo.com>
26703
26704         * lib/snprintf.c (snprintf): Handle size==0.
26705
26706 2004-10-01  Simon Josefsson  <jas@extundo.com>
26707             Bruno Haible  <bruno@clisp.org>
26708
26709         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
26710         (snprintf): Declare 'args'.
26711
26712 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
26713
26714         * lib/snprintf.c: Remove comments as to why each header is needed.
26715
26716 2004-10-01  Bruno Haible  <bruno@clisp.org>
26717
26718         * MODULES.html.sh: Add strsep.
26719
26720 2004-09-30  Simon Josefsson  <jas@extundo.com>
26721
26722         * modules/snprintf: New file.
26723
26724 2004-09-30  Simon Josefsson  <jas@extundo.com>
26725
26726         * m4/snprintf.m4: New file.
26727
26728 2004-09-30  Simon Josefsson  <jas@extundo.com>
26729
26730         * lib/snprintf.h, lib/snprintf.c: New files.
26731
26732 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26733
26734         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
26735         (hol_entry_help): Never translate an empty string.
26736         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
26737         * lib/argp.h (OPTION_NO_TRANS): New option.
26738
26739 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26740
26741         * modules/argp (Maintainer): Replace Simon Josefsson
26742         by Sergey Poznyakoff.
26743
26744 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26745
26746         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
26747         changes merged back into glibc.
26748
26749 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26750
26751         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
26752
26753 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
26754
26755         * lib/xvasprintf.c: Include xalloc.h.
26756         (xvasprintf): Use xalloc_die, not xmalloc_die.
26757
26758 2004-09-29  Bruno Haible  <bruno@clisp.org>
26759
26760         * modules/alloca-opt: New file, derived from modules/alloca.
26761         * modules/allocsa: Depend on alloca-opt instead of alloca.
26762         * modules/setenv: Likewise.
26763         * modules/vasnprintf: Likewise.
26764         * MODULES.html.sh: Add alloca-opt.
26765
26766 2004-09-28  Simon Josefsson  <jas@extundo.com>
26767
26768         * gnulib-tool: New parameter --lgpl, to asseert that modules are
26769         LGPL, and to replace license template from GPL to LGPL.
26770
26771 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
26772
26773         * modules/dummy: Change license to LGPL.
26774
26775 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
26776
26777         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
26778
26779 2004-09-24  Simon Josefsson  <jas@extundo.com>
26780
26781         * modules/minmax (License): Change from GPL to LGPL.
26782
26783 2004-09-23  Simon Josefsson  <jas@extundo.com>
26784
26785         * gnulib-tool (--import): Typo.
26786
26787 2004-09-23  Simon Josefsson  <jas@extundo.com>
26788
26789         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
26790
26791 2004-09-22  Bruno Haible  <bruno@clisp.org>
26792
26793         * modules/*: Add 'License' field.
26794         * gnulib-tool: Accept --extract-license option.
26795         (func_get_license): New function.
26796
26797 2004-09-21  Bruno Haible  <bruno@clisp.org>
26798
26799         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
26800         Reported by Simon Josefsson.
26801
26802 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26803
26804         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
26805         gl_AC_TYPE_LONG_LONG.
26806
26807 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26808
26809         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
26810
26811 2004-09-18  Simon Josefsson  <jas@extundo.com>
26812         and  Paul Eggert  <eggert@cs.ucla.edu>
26813
26814         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
26815         calls with autoreconf.  Define GL_LIB.
26816
26817 2004-09-14  Karl Berry  <karl@gnu.org>
26818
26819         * config/srclist.txt: unsync setenv.c, sigh.
26820
26821 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26822
26823         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
26824         Problem reported by Bruno Haible in:
26825         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
26826
26827 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26828
26829         * config/srclist.txt: Comment out argp-pvh.c.
26830
26831 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
26832
26833         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
26834         in case some system header has #define'd it.  Problem reported by
26835         Soeren D. Schulze in
26836         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
26837
26838 2004-09-09  Karl Berry  <karl@gnu.org>
26839
26840         * regex.[ch]: delete from the root.  These were supposed to be
26841                 synced with emacs cvs, but this has not happened for about
26842                 a year, and anyway nothing else uses emacs regex.[ch].
26843                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
26844                 lib/regex[.ch] is untouched.
26845
26846 2004-09-09  Bruno Haible  <bruno@clisp.org>
26847
26848         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
26849
26850 2004-09-09  Bruno Haible  <bruno@clisp.org>
26851
26852         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
26853         modifications.
26854         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
26855
26856 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
26857
26858         * modules/xvasprintf: New file.
26859         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
26860
26861 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
26862
26863         * lib/xvasprintf.h: New file.
26864         * lib/xvasprintf.c: New file.
26865         * lib/xasprintf.c: New file.
26866
26867 2004-09-08  Bruno Haible  <bruno@clisp.org>
26868
26869         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
26870
26871 2004-09-08  Bruno Haible  <bruno@clisp.org>
26872
26873         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
26874         length is > INT_MAX.
26875         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
26876         more.
26877
26878 2004-09-08  Bruno Haible  <bruno@clisp.org>
26879
26880         * lib/stdint_.h: New file, taken from GNU clisp.
26881
26882 2004-09-08  Bruno Haible  <bruno@clisp.org>
26883             Oskar Liljeblad  <oskar@osk.mine.nu>
26884
26885         * modules/stdint: New file.
26886         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
26887
26888 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26889
26890         Import from coreutils.
26891         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
26892         strings on unbounded length.  alloca's performance benefits aren't
26893         that important here.
26894         (V_STRDUP): Remove.
26895         (parse_with_separator): New function, with most of the internals
26896         of the old parse_user_spec.  Allow user to omit both user and group,
26897         for compatibility with FreeBSD.
26898         Clone only the user name, not the entire spec.
26899         Do not set *uid, *gid unless entirely successful.
26900         Avoid memory leak in some failing cases.
26901         Fix regression for USER.GROUP reported by Dmitry V. Levin in
26902         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
26903         (parse_user_spec): Rewrite to use parse_with_separator.
26904
26905 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26906
26907         * modules/userspec: Don't depend on alloca.
26908
26909 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26910
26911         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
26912
26913 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
26914
26915         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
26916         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
26917         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
26918
26919 2004-08-16  Simon Josefsson  <jas@extundo.com>
26920
26921         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
26922         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
26923         Add --dry-run for --import.
26924         Let user provided command line parameters override configure.ac
26925         settings.
26926
26927 2004-08-12  Simon Josefsson  <jas@extundo.com>
26928
26929         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
26930         as discussed with Paul Eggert in threads rooted at
26931         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
26932         and
26933         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
26934         Before, the test was empty, and relied on ELIDE_CODE in source
26935         code.)
26936         (gl_PREREQ_GETOPT): New macro.
26937         (gl_GETOPT): Use them.
26938
26939 2004-08-12  Simon Josefsson  <jas@extundo.com>
26940
26941         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
26942         * lib/getopt_.h: Renamed from getopt.h.
26943
26944 2004-08-12  Simon Josefsson  <jas@extundo.com>
26945
26946         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
26947         Change default library name from libfoo to libgnu.
26948         Now, if you have a configure.ac that says:
26949                 gl_SOURCE_BASE(gl)
26950                 gl_M4_BASE(gl/m4)
26951                 gl_MODULES(error getopt etcetera)
26952                 gl_INIT
26953         you can import all you need by running:
26954                 ../gnulib/gnulib-tool --import
26955
26956         * modules/getopt (Files): Rename getopt.h to getopt_.h.
26957         (Makefile.am): Rewrite, use logic from argz.
26958         (Include): Use <getopt.h> instead of "getopt.h".
26959
26960 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26961
26962         * modules/argp (Files): Add m4/unlocked-io.m4.
26963         (Depends-on): Add extensions.
26964
26965 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26966
26967         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
26968         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
26969         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
26970         Check for program_invocation_name, program_invocation_short_name,
26971         flockfile, funlockfile, features.h, _getopt_long_only_r.
26972
26973 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26974
26975         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
26976         its complicated substitute.
26977         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
26978         and program_invocation_name.
26979         (__argp_basename) [!_LIBC]: Remove; the only use was
26980         replaced by its body.
26981         (__argp_short_program_name): Change condition from
26982         !defined __argp_short_program_name to
26983         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
26984         to match argp-namefrob.h.
26985         (__argp_failure): Don't assume strerror_r returns char *.
26986         * lib/argp-parse.c (N_): Define unconditionally.
26987         (argp_default_options): Fill out initializers with 0 to avoid
26988         gcc warnings.
26989
26990 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26991
26992         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
26993         getopt1.c.
26994
26995 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
26996
26997         Merge from coreutils.
26998
26999         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
27000
27001         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
27002         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
27003
27004 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
27005
27006         Merge from coreutils.
27007
27008         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
27009         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
27010         for Reliant Unix 5.43.
27011
27012         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
27013         (union fooround): Use uintmax_t, not long int.
27014         The rest is a merge from libc:
27015         [defined _LIBC]: Include <shlib-compat.h>.
27016         (_obstack) [defined _LIBC]: Remove after 2.3.4.
27017
27018         * lib/settime.c (settime): Recode to avoid warning with
27019         Sun Forte C 6U2.
27020
27021         * lib/strverscmp.c: Convert to UTF-8.
27022
27023 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
27024
27025         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
27026         m4/uintmax_t.m4.
27027
27028 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27029
27030         * modules/xalloc-die: New file.
27031         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
27032
27033         * modules/md5 (Files): Add m4/uint32_t.m4.
27034         * modules/sha1: Renamed from modules/sha.
27035         (Files):
27036         Rename lib/sha.h to lib/sha1.h.
27037         Rename lib/sha.c to lib/sha1.c.
27038         Rename m4/sha.m4 to m4/sha1.m4.
27039         (lib_SOURCES): Likewise.
27040         (configure.ac): Rename gl_SHA to gl_SHA1.
27041         (Include): sha.h -> sha1.h.
27042
27043 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27044
27045         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
27046         * m4/sha1.m4: Renamed from sha.m4.
27047         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
27048
27049 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27050
27051         * lib/obstack.h (obstack_empty_p):
27052         Don't assume that chunk->contents is suitably aligned.
27053         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
27054         Likewise. Problem reported by Benno in
27055         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
27056
27057         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
27058         readable.  This could be improved further but it'd take some work.
27059
27060 2004-08-08  Simon Josefsson  <jas@extundo.com>
27061
27062         * modules/xgethostname (Depends-on): Remove exit and error (not
27063         used).
27064
27065         * modules/getpass-gnu: Add getpass.h.
27066         (Depends-on): Add stdbool.
27067         * modules/getpass: Add getpass.h.
27068
27069 2004-08-08  Simon Josefsson  <jas@extundo.com>
27070
27071         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
27072         Check getpass declaration.
27073
27074 2004-08-08  Simon Josefsson  <jas@extundo.com>
27075
27076         * lib/xgethostname.c: Don't include error.h (not used).
27077
27078         * lib/getpass.h: Add.
27079         * lib/getpass.c: Include getpass.h first.
27080
27081 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
27082
27083         * lib/xalloc-die.c: New file.
27084         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
27085         All uses removed.
27086         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
27087         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
27088         xalloc-die.c.
27089         (_, N_, xalloc_die): Move to xalloc-die.c.
27090         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
27091         so that we needn't mess with xalloc_msg_memory_exhausted.
27092
27093         * lib/sha1.h: Renamed from sha.h.
27094         (SHA1_H): Renamed from _SHA_H.
27095         (sha1_ctx): Renamed from sha_ctx.
27096         (sha1_init_ctx): Renamed from sha_init_ctx.
27097         (sha1_process_block): Renamed from sha_process_block.
27098         (sha1_process_bytes): Renamed from sha_process_bytes.
27099         (sha1_finish_ctx): Renamed from sha_finish_ctx.
27100         (sha1_read_ctx): Renamed from sha_read_ctx.
27101         (sha1_stream): Renamed from sha_stream.
27102         (sha1_buffer): Renamed from sha_buffer.
27103         * lib/sha1.c: Likewise; renamed from sha.c.
27104         Do not include <sys/types.h>.
27105         Include <stddef.h> rather than <stdlib.h>.
27106
27107 2004-08-08  Bruno Haible  <bruno@clisp.org>
27108
27109         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
27110         FILESYSTEM_PREFIX_LEN.
27111         * lib/progreloc.c: Likewise.
27112         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
27113
27114 2004-08-06  Simon Josefsson  <jas@extundo.com>
27115
27116         * modules/progname (Depends-on): Don't depend on stdbool.
27117
27118 2004-08-06  Simon Josefsson  <jas@extundo.com>
27119
27120         * modules/getsubopt: New file.
27121         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27122         getsubopt.
27123
27124 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27125
27126         More merge from coreutils.
27127
27128         * m4/utimens.m4, m4/utimecmp.m4: New files.
27129         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
27130         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
27131         prereq.m4, sha.m4: Import changes from coreutils.
27132
27133 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27134
27135         More merge from coreutils.
27136         * modules/raise, modules/readtokens0, modules/utimens:
27137         * modules/utimecmp, module/xnanosleep: New files.
27138         * modules/strftime: Add lib/strftime.h.
27139         Change include from <time.h> to "strftime.h".
27140         * modules/yesno: Add lib/yesno.h.
27141         * modules/backupfile: Remove lib/addext.c.
27142         * modules/euidaccess: Add stat-macros.h.
27143         * modules/canonicalize, modules/euidaccess,
27144         modules/filemode, modules/lchown, modules/makepath,
27145         modules/rmdir, modules/stat: Likewise.
27146
27147 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27148
27149         Merge from tar.
27150         * lib/argp-help.c (make_hol, hol_append): Don't assume that
27151         SIZE_MAX is a valid preprocessor constant.
27152         (__argp_basename): Change from "#ifndef _LIBC"
27153         to "#ifndef __argp_short_program_name", so that
27154         we don't compile these functions for tar.
27155
27156         More merges from coreutils.
27157         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
27158         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
27159         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
27160         * lib/addext.c: Remove; no longer needed.
27161         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
27162         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
27163         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
27164         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
27165         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
27166         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
27167         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
27168         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
27169         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
27170         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
27171         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
27172         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
27173         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
27174         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
27175         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
27176         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
27177         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
27178         Import changes from coreutils.
27179
27180 2004-08-05  Simon Josefsson  <jas@extundo.com>
27181
27182         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
27183
27184 2004-08-05  Simon Josefsson  <jas@extundo.com>
27185
27186         * m4/getsubopt.m4: New file.
27187
27188 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27189
27190         Merge from coreutils.
27191
27192         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
27193         * m4/getcwd-path-max.m4: New files.
27194
27195         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
27196         FILESYSTEM_PREFIX_LEN ->
27197         FILE_SYSTEM_PREFIX_LEN.
27198         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
27199         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
27200         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
27201         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
27202
27203         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
27204         prerequisite modules now handle the DOS stuff.
27205         Don't check for unistd.h.
27206
27207 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27208
27209         Merge from coreutils.
27210
27211         * lib/.gdb-history: Remove; this doesn't belong here.
27212
27213         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
27214         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
27215         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
27216         * lib/getcwd.c: New files.
27217
27218         * lib/dirname.h: Include <stdbool.h>.
27219         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
27220         for consistency with POSIX terminology.  All uses changed.
27221         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
27222         (strip_trailing_slashes): Use bool for booleans.
27223         * lib/stripslash.c (strip_trailing_slashes): Likewise.
27224
27225         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
27226         sometimes returns a positive errno value even when it succeeds.
27227         (print_errno_message) [!LIBC]: Fall back on strerror if
27228         __strerror_r fails.
27229
27230         * lib/path-concat.c (mempcpy): Don't define if a system header defines
27231         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
27232         (longest_relative_suffix): New function.
27233         (path_concat): Use it.  Assume first argument is not NULL.
27234         Port to DOS.  Omit redundant separators.
27235         Report an error instead of returning NULL.
27236         Use mempcpy instead of memcpy.
27237         (xpath_concat): Remove: not declared or used.
27238
27239         * lib/same.h: Include <stdbool.h>
27240         (same_name): Return bool, not int.
27241         * lib/same.c (same_name): Likewise.
27242         (errno): Don't declare; we assume C89 or better now.
27243
27244         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
27245         if not already defined.
27246
27247         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
27248         * lib/dup-safer.c (errno): Likewise.
27249
27250 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27251
27252         Merge from coreutils.
27253         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
27254         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
27255         * modules/path-concat: Don't depend on strdup.
27256
27257 2004-08-03  Simon Josefsson  <jas@extundo.com>
27258
27259         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
27260         * lib/progname.h: Don't include stdbool.h.
27261
27262 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27263
27264         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
27265         * MODULES.html.sh (func_all_modules): Remove fatal.
27266
27267 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27268
27269         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
27270
27271 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27272
27273         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
27274         working.
27275
27276 2004-08-02  Simon Josefsson  <jas@extundo.com>
27277
27278         * lib/getsubopt.h: New file, with comments from Bruno Haible.
27279         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
27280         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
27281
27282 2004-08-01  Simon Josefsson  <jas@extundo.com>
27283
27284         * lib/xgetdomainname.c: Include stdlib.h, for free().
27285
27286 2004-07-19  Bruno Haible  <bruno@clisp.org>
27287
27288         * MODULES.html.sh (func_all_modules): Add dummy.
27289
27290 2004-07-16  Simon Josefsson  <jas@extundo.com>
27291
27292         * modules/dummy: New file.
27293
27294 2004-07-16  Simon Josefsson  <jas@extundo.com>
27295
27296         * lib/dummy.c: New file.
27297
27298 2004-07-16  Bruno Haible  <bruno@clisp.org>
27299
27300         * lib/backupfile.h: Add extern "C" for C++.
27301         * lib/closeout.h: Likewise.
27302         * lib/copy-file.h: Likewise.
27303         * lib/findprog.h: Likewise.
27304         * lib/full-write.h: Likewise.
27305         * lib/pathname.h: Likewise.
27306         * lib/progname.h: Likewise.
27307         * lib/stpcpy.h: Likewise.
27308         * lib/stpncpy.h: Likewise.
27309         * lib/strcase.h: Likewise.
27310         * lib/strstr.h: Likewise.
27311         * lib/xalloc.h: Likewise.
27312
27313         * lib/mbswidth.h: Add extern "C" for C++.
27314         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
27315
27316 2004-07-13  Robert Millan  <robertmh@gnu.org>
27317
27318         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
27319
27320 2004-07-09  Simon Josefsson  <jas@extundo.com>
27321
27322         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
27323         failed without this.)
27324
27325 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
27326
27327         * modules/chown (Files): Add lib/fchown-stub.c, since
27328         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
27329
27330 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
27331
27332         * lib/fchown-stub.c: New file.
27333
27334 2004-06-24  Jim Meyering  <jim@meyering.net>
27335
27336         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
27337
27338 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27339
27340         * modules/argz: Omit "#include".
27341
27342         * MODULES.html.sh (func_all_modules): Add calloc, to match
27343         2004-06-01 addition of calloc module.
27344
27345 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27346
27347         * m4/argz.m4: New file, which is autoupdated from libtool.
27348
27349 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27350
27351         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
27352         libtool.
27353
27354 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27355
27356         * config/srclist-update: Don't insist on "USA." before the
27357         close-comment, as libtool omits the period and puts the */ on a
27358         separate line.
27359         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
27360         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
27361
27362 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
27363
27364         * modules/argz: New file.
27365         * MODULES.html.sh (func_all_modules): Add argz.
27366
27367 2004-06-12  Jim Meyering  <jim@meyering.net>
27368         and  Paul Eggert  <eggert@cs.ucla.edu>
27369
27370         * modules/hash (Files): Add lib/xalloc.h.
27371         * modules/pipe (Depends-on): Add wait-process.
27372         * modules/stat (Depends-on): Add xalloc.
27373         * modules/userspec (Files): Add lib/userspec.h.
27374         * modules/xstrto
27375
27376         Upgrade from gettext-0.13.
27377         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
27378         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
27379         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
27380
27381 2004-06-10  Jim Meyering  <jim@meyering.net>
27382
27383         * lib/calloc.c: New file.
27384
27385 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
27386
27387         * lib/getdate.y (yylex): Allow space between sign and number.
27388         Problem reported by Dan Jacobson.
27389
27390 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27391
27392         Merge from coreutils CVS.
27393
27394         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
27395         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
27396         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
27397         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
27398         xstrtol.m4: Fix copyright date and/or serial number.
27399
27400         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
27401         See if we need an fchown replacement.
27402         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
27403         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
27404         and use the replacement function if we detect either defect.
27405
27406         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
27407         gl_UTIMECMP.
27408
27409 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27410         and  Jim Meyering  <jim@meyering.net>
27411
27412         Merge from coreutils CVS.
27413
27414         * lib/stat-macros.h: New file, with contents from file-type.h
27415         and coreutils' system.h.
27416         * lib/file-type.c: Include "stat-macros.h".
27417         * lib/file-type.h (file_type): Move all macro definitions to new file,
27418         stat-macros.h.
27419
27420         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
27421         Wrap old code with this conditional.
27422         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
27423         function that does not dereference symlinks.
27424         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
27425
27426         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
27427         dependency problems.
27428         (xreadlink): Accept new arg SIZE, for efficiency.
27429         All decls and uses changed.
27430         * lib/xreadlink.h: Include <stddef.h>, for size_t.
27431
27432         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
27433         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
27434
27435         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
27436         sysexits.h.
27437
27438 2004-06-01  Jim Meyering  <jim@meyering.net>
27439
27440         * m4/calloc.m4: New file.
27441
27442 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27443
27444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
27445         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
27446         Also, fix a typo in a diagnostic.
27447
27448 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27449
27450         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
27451         or AC_FUNC_REALLOC.
27452
27453 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27454
27455         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
27456         macros to be defined.
27457         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
27458         the allocator returns NULL because the requested size is zero.
27459
27460 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27461
27462         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
27463         var.  Add comment explaining why libc still defines it.  This
27464         merges the following patch from glibc:
27465         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
27466
27467 2004-05-20  Andreas Schwab  <schwab@suse.de>
27468
27469         * m4/free.m4: Replace free if it not known to work, not the other
27470         way round.
27471
27472 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27473
27474         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
27475         present in glibc since revision 1.1 of this file.
27476         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
27477         obstack_alignment_mask, obstack_alloc, obstack_base,
27478         obstack_blank, obstack_blank_fast, obstack_chunk_size,
27479         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
27480         obstack_grow0, obstack_init, obstack_int_grow,
27481         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
27482         obstack_next_free, obstack_object_size, obstack_ptr_grow,
27483         obstack_ptr_grow_fast, obstack_room): Remove declarations of
27484         nonexistent functions.
27485
27486 2004-05-18  Karl Berry  <karl@gnu.org>
27487
27488         * config/srclist.txt: break link for vasnprintf.c.
27489
27490 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27491
27492         Port obstack to the AS/400, where pointers are 16 bytes wide and
27493         you cannot cast an integer to a valid pointer.  This patch is
27494         currently waiting to be integrated into glibc; see
27495         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
27496
27497         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
27498         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
27499         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
27500         (struct obstack): temp member is now a union of a pointer and
27501         an integer, instead of an integer.  All integer uses changed.
27502         This does not affect the physical layout of struct obstack,
27503         except on hosts (like the AS/400) where the size or alignment of
27504         void * is greater than that of ptrdiff_t.
27505         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
27506         __STDC__)]: Store temporary in pointer member of union, not
27507         integer member.
27508         * lib/obstack.c: Include <stddef.h>, for offsetof.
27509         (struct fooalign): Remove; it doesn't need a name.
27510         (union fooround): Change double to long double, and add void *.
27511         (DEFAULT_ALIGNMENT): Use offsetof to compute.
27512         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
27513         not a macro.  Hence the values are always int; so remove all
27514         casts-to-int in uses.
27515
27516 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27517
27518         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
27519         we can get this patch merged into glibc.
27520
27521 2004-05-17  Derek R. Price  <derek@ximbiot.com>
27522             Paul Eggert  <eggert@cs.ucla.edu>
27523
27524         * m4/argp: Depend on alloca.
27525
27526 2004-05-17  Derek R. Price  <derek@ximbiot.com>
27527             Paul Eggert  <eggert@cs.ucla.edu>
27528
27529         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
27530         freecoding.
27531
27532 2004-05-17  Bruno Haible  <bruno@clisp.org>
27533
27534         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
27535         precision that consists of a '.' followed by an empty digit string.
27536         Patch by Tor Lillqvist <tml@iki.fi>.
27537
27538 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27539
27540         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
27541         for backward compatibility with older code.  We need our own
27542         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
27543         it under some other name, and our alloca.h will define it.
27544
27545 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27546             Derek Price  <derek@ximbiot.com>
27547
27548         * lib/alloca.c: Include <alloca.h>, to get our interface.
27549         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
27550         include <alloca.h> first.  Use C89 prototype for alloca; this
27551         requires including <stddef.h> for size_t.  Use extern "C" if C++.
27552         Use #elif for simplicity, since we can assume C89 now.
27553         Don't try to source the system alloca.h since it will not be found
27554         and to prevent recursively including its replacement.
27555         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
27556         * lib/regex.c: Likewise.
27557
27558 2004-05-16  Derek Price  <derek@ximbiot.com>
27559             Paul Eggert  <eggert@cs.ucla.edu>
27560
27561         getline cleanup.  This changes the getndelim2 API: both order of
27562         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
27563         no delimiter).
27564
27565         * lib/getline.c: Don't include stddef.h or stdio.h, since our
27566         interface does that.
27567         (getline): Always use getdelim, so that we don't have two
27568         copies of this code.
27569         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
27570         if available.
27571         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
27572         (GETNDELIM2_MAXIMUM): New macro.
27573         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
27574         instead of the old practice of delim2==0.  All callers changed.
27575         Return -1 on overflow, instead of returning junk.
27576         Do not set *linesize unless allocation succeeds.
27577         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
27578         that we include sys/types.h.
27579         * lib/getnline.h: Likewise.
27580         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
27581         (getndelim2): Reorder arguments.
27582         * lib/getnline.c (getnline, getndelim):
27583         Don't discard the NMAX argument.
27584         (getnline): Invoke getndelim, to avoid code duplication.
27585         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
27586         of (size_t) -1 by callers of the getnline family.
27587
27588 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27589
27590         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
27591         Check for gettimeofday.
27592         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
27593         Check for settimeofday, stime.
27594
27595 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27596
27597         * lib/nanosleep.c (suspended): Change its type from int to
27598         sig_atomic_t volatile.
27599         (first_call): Make it private to rpl_nanosleep, and have it
27600         be zero initially as that's a bit faster.
27601         (my_usleep): Round up fractional times instead of truncating them,
27602         as this is the usual meaning for 'sleep'.
27603
27604         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
27605         doesn't work.
27606         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
27607         (ENOSYS): Define if not defined.
27608         (settime): Fall back on stime if it exists and settimeofday fails.
27609         But don't bother with fallbacks if a method fails with errno == EPERM.
27610
27611 2004-05-11  Jim Meyering  <jim@meyering.net>
27612
27613         Prior to this change, the save_cwd caller required read access to the
27614         current directory on most systems (ones with the fchdir function).
27615
27616         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
27617         fails, try write-only, and finally, resort to using xgetcwd.
27618
27619 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
27620
27621         * lib/obstack.c, obstack.h: Import changes from libc.
27622
27623 2004-04-28  Bruno Haible  <bruno@clisp.org>
27624
27625         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
27626         also implicitly appends .exe to executables.
27627         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
27628         accepts Windows pathnames.
27629         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
27630         Treat Cygwin like Windows, since it now accepts Windows pathnames.
27631         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
27632         Treat Cygwin like Windows, since it now accepts Windows pathnames.
27633         Reported by Derek Robert Price <derek@ximbiot.com>.
27634
27635 2004-04-21  Karl Berry  <karl@gnu.org>
27636
27637         * config/srclist.txt (localcharset.c): break sync.
27638
27639 2004-04-20  Paul Eggert  <eggert@twinsun.com>
27640
27641         * m4/host-os.m4: Add a copyright notice.
27642
27643 2004-04-20  Jim Meyering  <jim@meyering.net>
27644
27645         Change UTILS_ to gl_ in AC_DEFINE'd names.
27646         Change utils_- and jm_-prefixed variables, too.
27647         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
27648         UTILS_FUNC_MKDIR_TRAILING_SLASH.
27649         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
27650
27651         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
27652         Don't emit trailing blanks.
27653         Also rename jm_-prefixed variables to have gl_ prefix.
27654
27655         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
27656         Also rename jm_-prefixed variables to have gl_ prefix.
27657
27658         * m4/jm-macros.m4: Reflect the renamings.
27659         * m4/prereq.m4: Likewise.
27660
27661 2004-04-20  Jim Meyering  <jim@meyering.net>
27662
27663         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
27664         memory.
27665
27666 2004-04-20  Jim Meyering  <jim@meyering.net>
27667             Bruno Haible  <bruno@clisp.org>
27668
27669         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
27670         memory when realloc fails.
27671
27672 2004-04-19  Jim Meyering  <jim@meyering.net>
27673
27674         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
27675         now that readutmp.c may call `free (0)'.
27676
27677 2004-04-19  Bruno Haible  <bruno@clisp.org>
27678
27679         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
27680         * m4/inttypes_h.m4: Likewise.
27681         * m4/stdint_h.m4: Likewise.
27682         * m4/intmax_t.m4: Likewise.
27683         * m4/uintmax_t.m4: Likewise.
27684
27685 2004-04-18  Jim Meyering  <jim@meyering.net>
27686
27687         * m4/prereq.m4: Don't forbid jm_ prefix.
27688
27689         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
27690         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
27691         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
27692         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
27693         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
27694         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
27695         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
27696         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
27697         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
27698         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
27699         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
27700         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
27701         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
27702         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
27703         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
27704         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
27705         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
27706         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
27707         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
27708
27709 2004-04-18  Jim Meyering  <jim@meyering.net>
27710
27711         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
27712         failure, don't leak memory and do call END_UTMP_ENT.
27713
27714 2004-04-16  Jim Meyering  <jim@meyering.net>
27715
27716         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
27717         coreutils' stat program.
27718         (gl_PREREQ): Don't require jm_PREREQ_STAT.
27719
27720 2004-04-11  Paul Eggert  <eggert@twinsun.com>
27721
27722         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
27723         C89.
27724         (CHAR_BIT): Remove, since we assume C89.
27725         Include <stdint.h> if available, as per current Autoconf CVS advice.
27726
27727 2004-03-31  Jim Meyering  <jim@meyering.net>
27728
27729         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
27730         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
27731         * m4/xalloc.m4: Likewise.
27732
27733 2004-03-30  Paul Eggert  <eggert@twinsun.com>
27734
27735         Merge from coreutils.
27736
27737         * m4/inttostr.m4: New file.
27738         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
27739         Require AM_STDBOOL_H and gl_TIMESPEC instead.
27740         Require gl_CLOCK_TIME.
27741         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
27742
27743 2004-03-30  Paul Eggert  <eggert@twinsun.com>
27744
27745         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
27746         not bool, to be more consistent with Unix conventions.
27747         Suggested by Bruno Haible.
27748
27749         Merge from coreutils.
27750
27751         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
27752         * lib/umaxtostr.c: New files.
27753
27754         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
27755         the usual <time.h> dance.
27756         (get_date): Change signature to support fractional time stamps.
27757         All callers changed.
27758         * lib/getdate.y: Include "getdate.h" first, as we can now
27759         assume C89 and don't need to worry about 'const'.
27760         Similarly, include "unlocked-io.h" near start, not in middle.
27761         Include <limits.h>.
27762         (textint.value): Use long int rather than int.
27763         (textint.digits): Use size_t rather than int.
27764         (BILLION, LOG10_BILLION): New constants.
27765         (parser_control): New member rel_ns.  Members day_ordinal,
27766         time_zone, month, day, hour, minutes, rel_year, rel_month,
27767         rel_day, rel_hour, rel_minutes, rel_seconds
27768         are now long int, not int.  Member seconds is now struct timespec,
27769         not int.  New member timespec_seen.  Members dates_seen, days_seen,
27770         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
27771         not int.
27772         (%union.intval): Now long int, not int.
27773         New member timespec.
27774         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
27775         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
27776         (spec): Now is a timespec or an item list.
27777         (timespec, items): New nonterminals.
27778         (time, rel, relunit, number, get_date):
27779         Add support for fractional seconds.
27780         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
27781         (gmtime, localtime, mktime): Remove decls; not needed with C89.
27782         (to_hour): First arg is now long int, not int.
27783         (to_year): Returns long int, not int.
27784         Don't treat year -70 like 70.
27785         (tm_diff): Returns long int, not int.
27786         (lookup_word): Use bool instead of int when appropriate.
27787         (yylex): Use size_t for count, not int.
27788         Detect overflow when parsing large integer constants.
27789         Add support for fractions.
27790         (get_date): Make pointers 'const' if possible.
27791         Use more-portable code to detect integer overflow.
27792         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
27793         Don't use ctime; it's not reliable if the year has >4 digits.
27794
27795         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
27796         This is for compatibility with BSD.
27797
27798         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
27799         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
27800         From coreutils' system.h.
27801
27802         * lib/userspec.c: Don't include "posixver.h".
27803         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
27804         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
27805         compatible extension.  Simplify code by removing a boolean int
27806         that was always nonzero if a string was nonnull.
27807
27808 2004-03-30  Jim Meyering  <jim@meyering.net>
27809
27810         Merge from coreutils.
27811
27812         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
27813         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
27814         on some systems one must include <grp.h> before it.
27815         Reported by Christian Krackowizer.
27816
27817 2004-03-30  Jim Meyering  <jim@meyering.net>
27818
27819         Merge from coreutils.
27820
27821         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
27822
27823         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
27824         an empty input stream.
27825
27826         * lib/readtokens.c: Include <stdbool.h>.
27827         (readtoken): Use `size_t' rather than int/long.
27828         All callers adjusted.
27829         Use `bool' rather than `int' where appropriate.
27830         Use memset rather than an explicit loop.
27831         Use x2nrealloc rather than xrealloc.
27832         Allow the use of `\0' as a delimiter.
27833         (readtokens): Likewise.
27834         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
27835
27836 2004-03-30  Jim Meyering  <jim@meyering.net>
27837
27838         * m4/realloc.m4: Remove file, since now it does no more than
27839         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
27840         the `configure.ac' section of module/realloc.
27841         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
27842
27843 2004-03-30  Bruno Haible  <bruno@clisp.org>
27844
27845         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
27846         nonnull.
27847
27848 2004-03-29  Paul Eggert  <eggert@twinsun.com>
27849
27850         Merge changes to getloadavg.c from coreutils and Emacs.
27851
27852         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
27853         Define to an expression, not to the empty string.
27854         Include cloexec.h and xalloc.h.
27855         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
27856         Use set_cloexec_flag rather than rolling our own.
27857         * lib/cloexec.c, lib/cloexec.h: New files.
27858
27859 2004-03-29  Paul Eggert  <eggert@twinsun.com>
27860
27861         * m4/cloexec.m4: New file.
27862
27863 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27864
27865         * lib/getopt.h: Sync with libc CVS.
27866
27867 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27868             Bruno Haible  <bruno@clisp.org>
27869
27870         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
27871         mbswidth.
27872
27873 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27874             Bruno Haible  <bruno@clisp.org>
27875
27876         * lib/mbswidth.h: Include <wchar.h> only if
27877         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
27878         <wchar.h>.
27879         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
27880
27881 2004-03-09  Paul Eggert  <eggert@twinsun.com>
27882
27883         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
27884         Sync with libc CVS.
27885         * lib/getopt_int.h: New file, also synced from libc.
27886
27887 2004-03-09  Paul Eggert  <eggert@twinsun.com>
27888
27889         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
27890         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
27891         Bring back getopt.c, getopt.h, getopt1.c.
27892
27893 2004-03-07  Paul Eggert  <eggert@twinsun.com>
27894
27895         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
27896         All uses changed.  Check for sa_sigaction member; this fixes
27897         a bug first reported by Jason Andrade in
27898         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
27899
27900 2004-03-07  Paul Eggert  <eggert@twinsun.com>
27901
27902         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
27903         '#if' expressions.  Unlike the code it replaces, it does not
27904         depend on (defined _SC_PAGESIZE).  However, it does depend on
27905         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
27906         first reported by Jason Andrade in
27907         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
27908
27909 2004-02-25  Simon Josefsson  <jas@extundo.com>
27910
27911         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
27912
27913 2004-02-25  Simon Josefsson  <jas@extundo.com>
27914
27915         * lib/strdup.h: New file.
27916         * lib/strdup.c: Include it.
27917         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
27918         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
27919
27920 2004-02-23  Karl Berry  <karl@gnu.org>
27921
27922         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
27923         (from fencepost.gnu.org:/gd/gnuorg).
27924
27925 2004-02-23  Karl Berry  <karl@gnu.org>
27926
27927         * config/srclistvars.sh (GNUORG) [karl]: redefine.
27928         * config/srclist.txt: add maintain/standards documents.
27929
27930 2004-02-18  Bruno Haible  <bruno@clisp.org>
27931
27932         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
27933         Reported by Derek Robert Price <derek@ximbiot.com>.
27934
27935 2004-02-16  Karl Berry  <karl@gnu.org>
27936
27937         * config/mkinstalldirs, install-sh: update from automake.
27938
27939 2004-02-06  Karl Berry  <karl@gnu.org>
27940
27941         * m4/po.m4: update from gettext 0.14.1.
27942
27943 2004-02-06  Karl Berry  <karl@gnu.org>
27944
27945         * lib/config.charset: update from gettext 0.14.1.
27946
27947 2004-02-05  Paul Eggert  <eggert@twinsun.com>
27948
27949         Add comments and code, prompted by suggestions from Bruno Haible
27950         for sh-quote.
27951         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
27952         describing the enum quoting_style values.
27953         * lib/quotearg.c (quotearg_alloc): New function.
27954         (quotearg_buffer_restyled): Treat lone { and } as special.
27955         Treat = as special.  Work around bug with older shells
27956         that "see" a '\' that is really the 2nd byte of a multibyte char.
27957         Quote empty string with shell_quoting_style.
27958
27959 2004-02-03  Bruno Haible  <bruno@clisp.org>
27960
27961         * m4/pipe.m4: New file, from GNU gettext.
27962
27963 2004-02-03  Bruno Haible  <bruno@clisp.org>
27964
27965         * lib/pipe.h: New file, from GNU gettext.
27966         * lib/pipe.c: New file, from GNU gettext.
27967
27968 2004-01-27  Bruno Haible  <bruno@clisp.org>
27969
27970         * m4/execute.m4: New file, from GNU gettext.
27971
27972 2004-01-27  Bruno Haible  <bruno@clisp.org>
27973
27974         * lib/execute.h: New file, from GNU gettext.
27975         * lib/execute.c: New file, from GNU gettext.
27976         * lib/w32spawn.h: New file, from GNU gettext.
27977
27978 2004-01-24  Paul Eggert  <eggert@twinsun.com>
27979
27980         Merge from diffutils.
27981
27982         * lib/file-type.c (file_type): Add typed memory objects.
27983         * lib/file-type.h (S_TYPEISTMO): New macro.
27984
27985         * lib/c-stack.h (c_stack_action): Remove argv argument.
27986         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
27987         (die): Don't calculate message unless segv_action returns.
27988         (get_stack_location, min_address_from_argv, max_address_from_argv,
27989         volatile stack_base, volatile_stack_size): Remove.
27990         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
27991         that every segmentation violation is a stack overflow.  (Ouch!)
27992         See Debian bug 136249 (still outstanding) for more info about why
27993         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
27994
27995 2004-01-24  Paul Eggert  <eggert@twinsun.com>
27996
27997         Exit-status fix from coreutils.
27998
27999         Use exit_failure consistently in place of EXIT_FAILURE,
28000         so that program exit statuses are consistent on failure.
28001
28002         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
28003         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
28004         * lib/argmatch.h: Comment fix to match the above.
28005         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
28006         Now a macro referring to exit_failure, instead of a separate
28007         variable.  Include "exitfail.h" to get it.
28008         * lib/xstrtol.h: Include "exitfail.h".
28009         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
28010
28011         * lib/long-options.c (parse_long_options): Use prototype
28012         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
28013         for clarity.
28014
28015 2004-01-21  Jim Meyering  <jim@meyering.net>
28016
28017         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
28018         so as not to conflict with a different-sized __mktime_internal
28019         function in GNU libc.
28020         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
28021         Problem building statically-linked `ls' reported by Michael Brunnbauer.
28022
28023 2004-01-20  Karl Berry  <karl@gnu.org>
28024
28025         * config/config.guess: update from config.
28026
28027         * config/srclistvars.sh: GNUWWWLICENSES for karl.
28028
28029 2004-01-20  Bruno Haible  <bruno@clisp.org>
28030
28031         Safer stack allocation.
28032         * lib/setenv.c: Include allocsa.h.
28033         (alloca): Remove fallback definition.
28034         (freea): Remove macro.
28035         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
28036         instead of freea.
28037
28038 2004-01-20  Bruno Haible  <bruno@clisp.org>
28039
28040         * m4/eealloc.m4: New file, from GNU gettext.
28041
28042 2004-01-20  Bruno Haible  <bruno@clisp.org>
28043
28044         * m4/allocsa.m4: New file, from GNU gettext.
28045
28046 2004-01-20  Bruno Haible  <bruno@clisp.org>
28047
28048         * lib/xallocsa.h: New file, from GNU gettext.
28049         * lib/xallocsa.c: New file, from GNU gettext.
28050
28051 2004-01-20  Bruno Haible  <bruno@clisp.org>
28052
28053         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
28054
28055 2004-01-20  Bruno Haible  <bruno@clisp.org>
28056
28057         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
28058         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
28059         specially.
28060
28061 2004-01-20  Bruno Haible  <bruno@clisp.org>
28062
28063         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
28064         patch.
28065
28066 2004-01-20  Bruno Haible  <bruno@clisp.org>
28067
28068         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
28069
28070 2004-01-20  Bruno Haible  <bruno@clisp.org>
28071
28072         * lib/eealloc.h: New file.
28073
28074 2004-01-20  Bruno Haible  <bruno@clisp.org>
28075
28076         * lib/binary-io.h: Avoid warnings on Cygwin.
28077
28078 2004-01-20  Bruno Haible  <bruno@clisp.org>
28079
28080         * lib/allocsa.h: New file, from GNU gettext.
28081         * lib/allocsa.c: New file, from GNU gettext.
28082
28083 2004-01-18  Karl Berry  <karl@gnu.org>
28084
28085         * doc/gpl.texi, doc/lgpl.texi: new files.
28086
28087 2004-01-18  Karl Berry  <karl@gnu.org>
28088
28089         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
28090         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
28091
28092 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28093
28094         Merge from coreutils.
28095
28096         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
28097         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
28098         (gl_DEFAULT_POSIX2_VERSION): Move
28099         the documentation from 'configure' into 'config.hin',
28100         so that 'configure --help' isn't burdened by it and
28101         we don't have to worry about its formatting there.
28102         Reword the documentation so that it's more succinct
28103         and can be run together into a single paragraph.
28104         * m4/same.m4 (gl_SAME): Check for pathconf.
28105
28106 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28107
28108         Merge from coreutils.
28109
28110         * lib/posixver.c: Include posixver.h.
28111
28112         * lib/same.c: Include <stdbool.h>, <limits.h>.
28113         (_POSIX_NAME_MAX): Define if not defined.
28114         (MIN): New macro.
28115         (same_name): If file names are silently truncated, report
28116         that the file names are the same if they are the same after
28117         the silent truncation.
28118
28119         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
28120         conversion function.
28121         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
28122         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
28123         longer needed.
28124
28125 2004-01-15  Jim Meyering  <jim@meyering.net>
28126
28127         Merge from coreutils.
28128
28129         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
28130         if no library is required.
28131         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
28132         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
28133         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
28134         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
28135         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
28136         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
28137         value, $ac_cv_search_crypt, if it's "none required".
28138         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
28139         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
28140         not gl_FUNC_GETLOADAVG.
28141         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
28142         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
28143
28144 2004-01-15  Jim Meyering  <jim@meyering.net>
28145
28146         Merge from coreutils.
28147
28148         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
28149         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
28150         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
28151
28152         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
28153         optional configure-time default.
28154
28155         * lib/version-etc.c (version_etc_copyright): Update copyright date.
28156
28157         * lib/xreadlink.c (xreadlink): Correct outdated comment.
28158
28159 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
28160
28161         Merge from coreutils.
28162
28163         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
28164         value, $ac_cv_search_nanosleep, if it's "none required".
28165
28166 2004-01-14  Paul Eggert  <eggert@twinsun.com>
28167
28168         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
28169         with like-named macro in fnmatch.c.
28170         (EXT): Use an internal constant instead.
28171
28172         Merge fnmatch patches from glibc.
28173         * lib/fnmatch.c (mbsinit): Remove define.
28174         Add libc_hidden_ver (__fnmatch, fnmatch).
28175         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
28176         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
28177
28178 2004-01-14  Karl Berry  <karl@gnu.org>
28179
28180         * config/install-sh: update from automake.
28181
28182 2004-01-13  Karl Berry  <karl@gnu.org>
28183
28184         * config/install-sh: update from automake.
28185
28186 2004-01-09  Karl Berry  <karl@gnu.org>
28187
28188         * config/install-sh: update from automake.
28189
28190 2004-01-05  Karl Berry  <karl@gnu.org>
28191
28192         * config/config.{sub,guess}: update from config.
28193
28194 2003-12-31  Karl Berry  <karl@gnu.org>
28195
28196         * config/depcomp: update from automake.
28197
28198 2003-12-14  Karl Berry  <karl@gnu.org>
28199
28200         * lib/config.charset: update from gettext-runtime.
28201
28202 2003-12-03  Paul Eggert  <eggert@twinsun.com>
28203
28204         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
28205         Bug reported by Alfred M. Szmidt.
28206
28207 2003-12-03  Bruno Haible  <bruno@clisp.org>
28208
28209         * m4/gettext.m4: Upgrade from gettext-0.13.
28210         * m4/po.m4: Upgrade from gettext-0.13.
28211         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
28212         * m4/intmax.m4: New file, from gettext-0.13.
28213         * m4/printf-posix.m4: New file, from gettext-0.13.
28214
28215 2003-11-29  Karl Berry  <karl@gnu.org>
28216
28217         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
28218
28219 2003-11-25  Paul Eggert  <eggert@twinsun.com>
28220             Bruno Haible  <bruno@clisp.org>
28221
28222         * lib/printf-parse.h: Don't include sys/types.h.
28223         (ARG_NONE): New macro.
28224         (char_directive): Change type of *arg_index fields to size_t.
28225         * lib/printf-parse.c: Don't include sys/types.h.
28226         (SSIZE_MAX): Remove macro.
28227         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
28228         Remove unnecessary overflow check.
28229         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
28230         fields.
28231
28232 2003-11-25  Bruno Haible  <bruno@clisp.org>
28233
28234         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
28235
28236 2003-11-25  Bruno Haible  <bruno@clisp.org>
28237
28238         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
28239         gt_TYPE_SSIZE_T.
28240
28241 2003-11-24  Paul Eggert  <eggert@twinsun.com>
28242
28243         * modules/alloca: Remove dependency on xalloc.
28244
28245 2003-11-24  Paul Eggert  <eggert@twinsun.com>
28246
28247         * lib/alloca.c: Remove dependency on xalloc module.
28248         (xalloc_die): Remove.
28249         (memory_full) [!defined emacs]: New macro.
28250         [!defined emacs]: Don't include xalloc.h.
28251         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
28252         address arithmetic overflows.  Change datatypes a bit to avoid
28253         unnecessary casts.
28254
28255 2003-11-22  Jim Meyering  <jim@meyering.net>
28256
28257         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
28258         s/size/size_t/.
28259
28260 2003-11-21  Karl Berry  <karl@gnu.org>
28261
28262         * config/config.{sub,guess}: update from config.
28263
28264 2003-11-18  Karl Berry  <karl@gnu.org>
28265
28266         * config/config.{sub,guess}: update from config.
28267
28268         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
28269
28270 2003-11-17  Paul Eggert  <eggert@twinsun.com>
28271
28272         * README: Mention that S+T cannot overflow if S is the size of
28273         an existing object and T is sufficiently small.
28274
28275 2003-11-17  Jim Meyering  <jim@meyering.net>
28276
28277         On systems without utime and without a utimes function capable of
28278         dealing with a NULL struct utimbuf* argument, this utime replacement
28279         could -- in unusual circumstances -- leak a file descriptor.
28280         * lib/utime.c: Include <unistd.h> and <errno.h>.
28281         (utime_null): Be sure to close `fd' and to preserve errno.
28282         Reported by Geoff Collyer via Arnold Robbins.
28283
28284 2003-11-17  Bruno Haible  <bruno@clisp.org>
28285
28286         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
28287         (Depends-on): Add xsize.
28288
28289 2003-11-17  Bruno Haible  <bruno@clisp.org>
28290
28291         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
28292
28293 2003-11-17  Bruno Haible  <bruno@clisp.org>
28294
28295         * lib/vasnprintf.c (alloca): Remove fallback definition.
28296         (freea): Remove definition.
28297         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
28298         Reported by Paul Eggert.
28299
28300 2003-11-16  Paul Eggert  <eggert@twinsun.com>
28301             Bruno Haible  <bruno@clisp.org>
28302
28303         Protect against address arithmetic overflow.
28304         * lib/printf-args.h: Include stddef.h.
28305         (arguments): Change type of field 'count' to size_t.
28306         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
28307         'unsigned int' where appropriate.
28308         * lib/printf-parse.h: Include sys/types.h.
28309         (char_directive): Change type of *arg_index fields to ssize_t.
28310         (char_directives): Change type of fields 'count', max_*_length to
28311         size_t.
28312         * lib/printf-parse.c: Include sys/types.h and xsize.h.
28313         (SSIZE_MAX): Define fallback value.
28314         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
28315         instead of 'int' where appropriate. Check a_allocated, d_allocated
28316         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
28317         * lib/vasnprintf.c: Include xsize.h.
28318         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
28319         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
28320         overflow. Avoid wraparound when converting a width or precision from
28321         decimal to binary.
28322
28323 2003-11-16  Bruno Haible  <bruno@clisp.org>
28324
28325         Update from GNU gettext.
28326         * lib/printf-parse.c: Generalize to it can be compiled for wide
28327         strings.
28328         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
28329         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
28330         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
28331         SNPRINTF): New macros.
28332         Don't include <alloca.h> if the file is used inside libintl.
28333         (local_wcslen): New function, for Solaris 2.5.1.
28334         (VASNPRINTF): Use it instead of wcslen.
28335
28336 2003-11-16  Bruno Haible  <bruno@clisp.org>
28337
28338         * lib/xsize.h (xmax): New function.
28339         (xsum, xsum3, xsum4): Declare as "pure" functions.
28340
28341 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28342
28343         * modules/xalloc (Files): Undo latest change, since xalloc.h
28344         no longer needs SIZE_MAX or PTRDIFF_MAX.
28345
28346 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28347
28348         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
28349         gl_PTRDIFF_MAX.
28350
28351 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28352
28353         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
28354         "return", to pacify some unknown compiler.  Problem reported
28355         by Joerg Schilling.
28356
28357 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28358
28359         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
28360         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
28361         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
28362         heuristic is just as accurate as far as we know, and it removes a
28363         dependency on size_max.m4 and ptrdiff_max.m4.
28364
28365 2003-11-11  Bruno Haible  <bruno@clisp.org>
28366
28367         * modules/xsize (Files): Add m4/size_max.m4.
28368         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
28369
28370 2003-11-11  Bruno Haible  <bruno@clisp.org>
28371
28372         * m4/size_max.m4: New file.
28373         * m4/ptrdiff_max.m4: New file.
28374         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
28375         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
28376         (gl_XALLOC): Invoke it.
28377
28378 2003-11-11  Bruno Haible  <bruno@clisp.org>
28379
28380         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
28381         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
28382         defined.
28383
28384 2003-11-10  Paul Eggert  <eggert@twinsun.com>
28385
28386         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
28387         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
28388         rejected some allocations of exactly SIZE_MAX - 2 bytes.
28389         From Bruno Haible.
28390         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
28391         not (size_t) -1, since it's defined here.
28392
28393 2003-11-09  Karl Berry  <karl@gnu.org>
28394
28395         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
28396
28397 2003-11-06  Paul Eggert  <eggert@twinsun.com>
28398
28399         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
28400         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
28401         Reject sizes of exactly SIZE_MAX bytes.
28402         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
28403         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
28404
28405 2003-11-05  Bruno Haible  <bruno@clisp.org>
28406
28407         * lib/xsize.h: Include limits.h, to avoid a possible collision with
28408         SIZE_MAX defined in <limits.h> on Solaris.
28409
28410 2003-11-04  Jim Meyering  <jim@meyering.net>
28411
28412         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
28413         variable names, rather than @VAR@.
28414         * modules/poll: Likewise.
28415
28416 2003-11-04  Bruno Haible  <bruno@clisp.org>
28417
28418         * modules/xsize: New file.
28419         * modules/linebreak: Depend on xsize.
28420         * MODULES.html.sh (func_all_modules): Add xsize.
28421
28422 2003-11-04  Bruno Haible  <bruno@clisp.org>
28423
28424         * m4/xsize.m4: New file.
28425
28426 2003-11-04  Bruno Haible  <bruno@clisp.org>
28427
28428         * lib/xsize.h: New file.
28429         * lib/linebreak.c: Include xsize.h.
28430         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
28431         argument for overflow.
28432         Suggested by Paul Eggert.
28433
28434 2003-11-03  Karl Berry  <karl@gnu.org>
28435
28436         * config/config.{guess,sub}: update from config.
28437
28438 2003-11-03  Jim Meyering  <jim@meyering.net>
28439
28440         * modules/userspec (lib_SOURCES): Add userspec.h.
28441         (Include): Add "userspec.h".
28442         Improve description.
28443
28444 2003-11-03  Jim Meyering  <jim@meyering.net>
28445
28446         * lib/userspec.c: Include "userspec.h".
28447         * lib/userspec.h: New file.
28448
28449 2003-11-03  Bruno Haible  <bruno@clisp.org>
28450
28451         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
28452
28453 2003-11-03  Bruno Haible  <bruno@clisp.org>
28454
28455         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
28456         available, to avoid (extremely rare) race condition.
28457         Suggested by Paul Eggert.
28458
28459 2003-11-02  Karl Berry  <karl@gnu.org>
28460
28461         * config/srclist.txt (vasprintf.c): sync broken, sigh.
28462
28463 2003-10-31  Paul Eggert  <eggert@twinsun.com>
28464
28465         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
28466         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
28467         (read_filesystem_list): Set and use me_type_malloced.
28468         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
28469         whatever the type happens to be), for brevity and consistency.
28470         Check for size calculation overflow on Alphas running OSF/1.
28471
28472 2003-10-31  Jim Meyering  <jim@meyering.net>
28473
28474         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
28475
28476         * lib/linebuffer.c: Include <string.h> for declaration of memset.
28477
28478 2003-10-30  Paul Eggert  <eggert@twinsun.com>
28479             Bruno Haible  <bruno@clisp.org>
28480
28481         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
28482         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
28483
28484 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
28485
28486         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
28487         netbsd*-gnu*.  Suggested by Robert Millan.
28488
28489 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28490
28491         * modules/group-member: Depend on stdbool.
28492
28493 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28494
28495         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
28496
28497 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28498
28499         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
28500         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
28501         after the 'gnu' in these cases.  This fixes some bugs in the
28502         previous change, and is based on suggestions by Robert Millan.
28503
28504 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28505
28506         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
28507         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
28508         no longer needed.
28509         * lib/quotearg.c (quotearg_n_options): Use it.
28510         * lib/group-member.c: Include <stdbool.h>.
28511         (free_group_info): Arg is now const *; don't free arg.
28512         (get_group_info): Now returns bool and accepts struct group_info *,
28513         rather than returning a malloc'ed struct group_info *.
28514         All uses changed.  Check for overflow in internal size calculation.
28515
28516         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
28517         rather than xmalloc/xrealloc.
28518         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
28519         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
28520         conformance bug: the old code used a pointer after freeing the
28521         storage that it addressed.
28522         * lib/hash.c (hash_initialize): Simplify the code by using
28523         xalloc_oversized rather than doing it by hand.
28524         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
28525         the buffer preserved.  Use free and xmalloc instead.
28526         * lib/quotearg.c (quotearg_n_options): Likewise.
28527         Use a simpler test for size overflow.  Don't use xalloc_oversized
28528         because unsigned int might be wider than size_t (!); this suggests
28529         that we should switch from unsigned int to size_t for slot numbers.
28530
28531 2003-10-28  Paul Eggert  <eggert@twinsun.com>
28532
28533         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
28534         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
28535         NetBSD kernels.  Requested by Richard Stallman.
28536
28537 2003-10-27  Paul Eggert  <eggert@twinsun.com>
28538
28539         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
28540         to allocate the returned structure.  Do not allocate a subarray,
28541         as x2nrealloc will do that.
28542         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
28543         instead of xnrealloc.
28544         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
28545
28546 2003-10-27  Bruno Haible  <bruno@clisp.org>
28547
28548         * lib/stdbool_.h: Better support for BeOS.
28549
28550 2003-10-26  Paul Eggert  <eggert@twinsun.com>
28551
28552         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
28553         now uses inline.
28554
28555 2003-10-26  Paul Eggert  <eggert@twinsun.com>
28556
28557         * lib/xalloc.h (xalloc_oversized): New static inline function, for
28558         callers that want to do their own size-overflow checking.  Include
28559         <stdbool.h>, since xalloc_oversized returns bool.
28560         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
28561         to use xalloc_oversized.
28562
28563         Add two functions x2realloc, x2nrealloc, for programs that grow
28564         arrays dynamically by doubling their sizes.
28565         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
28566         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
28567         New functions.
28568
28569         Port to C99 semantics for 'inline' of external functions.
28570         Bug reported by Bruno Haible.
28571         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
28572         with the old contents of xnmalloc.
28573         (xnmalloc, xmalloc): Use it.
28574         (xnrealloc_inline): New static inline function,
28575         with the old contents of xnrealloc.
28576         (xnrealloc, xrealloc): Use it.
28577
28578         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
28579         that.
28580
28581 2003-10-26  Karl Berry  <karl@gnu.org>
28582
28583         * config/srclist.txt (COPYING.DOC): no longer available from
28584         /gd/gnuorg; don't know where the ultimate source is.
28585
28586 2003-10-25  Paul Eggert  <eggert@twinsun.com>
28587
28588         Fix several address-calculation bugs in the hash modules,
28589         plus some minor code cleanup.
28590
28591         * lib/hash.h: Include <stdbool.h>, for bool.
28592         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
28593         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
28594         hash_get_n_entries, hash_get_max_bucket_length,
28595         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
28596         hash_rehash): Use size_t rather than unsigned.
28597         * lib/hash.c (struct hash_table, hash_get_n_buckets,
28598         hash_get_n_buckets_used, hash_get_n_entries,
28599         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
28600         hash_get_entries, hash_do_for_each, hash_string, is_prime,
28601         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
28602         Likewise.
28603         (SIZE_MAX): Define if not defined.
28604         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
28605         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
28606         hash_print):
28607         Use const * when possible.
28608         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
28609         (check_tuning): Fix bug: if tuning parameters were very close to
28610         0 or 1, rounding errors could have caused subscript violations.
28611         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
28612         (hash_initialize): Add 'fail:' label
28613         to free table and return NULL, and use it to simplify code.
28614         Use calloc rather than clearing the storage ourself.
28615         (hash_initialize, hash_rehash): Check for arithmetic overflow in
28616         buffer size calculations.
28617         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
28618         Include <stddef.h>, for size_t.
28619         * lib/hash-pjw.c (hash_pjw): Likewise.
28620         Switch to method described by Bruno Haible.
28621         Include <limits.h>, for CHAR_BIT.
28622         (SIZE_BITS): New macro.
28623
28624 2003-10-23  Paul Eggert  <eggert@twinsun.com>
28625
28626         * m4/getline.m4 (AM_FUNC_GETLINE):
28627         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
28628         hosts.  Problem reported by Derek Robert Price in
28629         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
28630         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
28631         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
28632
28633 2003-10-21  Paul Eggert  <eggert@twinsun.com>
28634
28635         * lib/getndelim2.c (getndelim2): When size calculation overflows,
28636         ceiling the allocation at NMAX bytes rather than silently
28637         discarding input bytes before NMAX is reached.  This makes
28638         a difference only if NMAX exceeds SIZE_MAX / 2.
28639
28640         * lib/obstack.c: Merge from glibc.
28641         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
28642         Add libc_hidden_def (_obstack_newchunk).
28643         (_obstack_free) [! defined _LIBC]: Remove.
28644         [defined _LIBC]: Make a strong alias from obstack_free, rather than
28645         a clone of the function body.
28646         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
28647         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
28648
28649         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
28650         glibc.
28651         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
28652         arg to memcpy.
28653
28654         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
28655         (obstack_ptr_grow_fast, obstack_int_grow_fast):
28656         Don't use lvalue casts, as GCC plans to remove support for them
28657         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
28658         was also present in the non-GCC version, indicating that this
28659         code had always been buggy and had never been widely used.
28660         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
28661         Use the fast variant of each macro, rather than copying the
28662         definiens of the fast variant; that way, we'll be more likely to
28663         catch future bugs in the fast variants.
28664
28665 2003-10-20  Bruno Haible  <bruno@clisp.org>
28666
28667         * modules/wait-process: New file.
28668         * MODULES.html.sh (func_all_modules): Add wait-process.
28669
28670 2003-10-20  Bruno Haible  <bruno@clisp.org>
28671
28672         * m4/wait-process.m4: New file.
28673
28674 2003-10-20  Bruno Haible  <bruno@clisp.org>
28675
28676         * lib/wait-process.h: New file, from GNU gettext.
28677         * lib/wait-process.c: New file, from GNU gettext.
28678
28679 2003-10-19  Jim Meyering  <jim@meyering.net>
28680
28681         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
28682         HPUX 10.20.
28683
28684 2003-10-18  Karl Berry  <karl@gnu.org>
28685
28686         * config/config.guess: update from config.
28687
28688 2003-10-16  Paul Eggert  <eggert@twinsun.com>
28689
28690         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
28691         (getgroups): First arg is int, not size_t.
28692         Don't let 'free' mangle errno.
28693
28694 2003-10-16  Paul Eggert  <eggert@twinsun.com>
28695
28696         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
28697
28698 2003-10-16  Karl Berry  <karl@gnu.org>
28699
28700         * config/config.{guess,sub}: update from config.
28701
28702 2003-10-16  Jim Meyering  <jim@meyering.net>
28703
28704         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
28705         memcpy.
28706
28707 2003-10-15  Paul Eggert  <eggert@twinsun.com>
28708
28709         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
28710         (SIZE_MAX): Remove.
28711         (new_exclude, add_exclude_file): Initial size no longer needs to
28712         be a power of 2.
28713         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
28714         our own address arithmetic overflow checking.
28715
28716         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
28717         (fnmatch): Do not alloca more than 2000 wide characters;
28718         instead, use malloc for large buffers.
28719         Check for address arithmetic overflow, and return -1
28720         with errno set to ENOMEM in that case.
28721         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
28722         (NEW_PATTERN): Do not alloca more than 8000 bytes;
28723         instead, return -1.  Check for address arithmetic overflow.
28724
28725 2003-10-14  Paul Eggert  <eggert@twinsun.com>
28726
28727         Handle invalid suffixes and overflow independently, so that
28728         callers can treat them independently as needed.  Fix some bugs in
28729         suffix handling, e.g., "100k@" was not diagnosed as an invalid
28730         suffix for a human-readable blocksize.  The major caller-visible
28731         change is the addition of a new
28732         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
28733         that both overflow and suffix chars were found.
28734
28735         * lib/human.c (humblock): Don't check separately for invalid suffix
28736         char; that is xstrtoumax's job (now that its bug is fixed).
28737         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
28738         INTMAX_MAX]: New macros.
28739         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
28740         TYPE_MAXIMUM): New macros.
28741         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
28742         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
28743         if overflow occurs, as it's what __strtol does and it's more useful
28744         in practice.
28745         (__xstrtol): If __strtol reports some error other than ERANGE,
28746         reflect it to the caller as LONGINT_INVALID.  If it reports
28747         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
28748         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
28749         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
28750         value.
28751         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
28752         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
28753         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
28754         [defined UINTMAX_MAX]: New macros.
28755
28756 2003-10-14  Bruno Haible  <bruno@clisp.org>
28757
28758         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
28759
28760 2003-10-14  Bruno Haible  <bruno@clisp.org>
28761
28762         * m4/sig_atomic_t: New file, from GNU gettext.
28763         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
28764
28765 2003-10-14  Bruno Haible  <bruno@clisp.org>
28766
28767         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
28768         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
28769         Also use volatile where needed.
28770
28771 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28772
28773         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
28774         Change maintainer from Bruno Haible to 'all'.
28775
28776 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28777
28778         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
28779
28780 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28781
28782         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
28783         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
28784         and define in terms of the other primitives.
28785         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
28786         (SIZE_MAX): Define if not already defined.
28787         (array_size_overflow): New function.
28788         (xalloc_die): Abort instead of exiting if 'error' returns.
28789         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
28790         (xmalloc, xrealloc): Use them.
28791         (xcalloc): Check for address arithmetic overflow.
28792         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
28793         a bit faster than strcpy.
28794
28795 2003-10-10  Simon Josefsson  <jas@extundo.com>
28796
28797         * modules/argp (Depends-on): Add restrict and strcase.
28798
28799 2003-10-10  Simon Josefsson  <jas@extundo.com>
28800
28801         * m4/argp.m4: Add AC_C_INLINE.
28802
28803 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28804
28805         Merge getpass from libc, plus a few fixes.
28806
28807         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
28808         Include <stdbool.h>.
28809         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
28810         __fsetlocking to empty.
28811         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
28812         do include <bits/libc-lock.h>.
28813         Do not include <fcntl.h>; not needed.
28814         [_LIBC]: Include <wchar.h>.
28815         (NOTCANCEL_MODE): New macro.
28816         (flockfile, funlockfile) [_LIBC]: New macros.
28817         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
28818         [!_LIBC]: New macros.
28819         (call_fclose): New function.
28820         (getpass): Use it.  Save tty stream separately; this simplifies the
28821         code and makes it more reliable if stdin happens to equal stdout.
28822         Invoke __fsetlocking on tty.
28823         Handle thread cancellation if needed.
28824         Namespace cleanup (use __tcgetattr, __getline).
28825         Use bool for Booleans.
28826         [USE_IN_LIBIO]: Handle wide streams.
28827         [!_LIBC]: Unconditionally do the fseek, since we don't know what
28828         stream might go where.
28829
28830         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
28831         doesn't have to include <stdio.h> before us.
28832         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
28833         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
28834         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
28835         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
28836         if not declared, so that we can use getpass.c code from libc without
28837         rewriting it.
28838         (flockfile, ftrylockfile, funlockfile): New macros.
28839
28840 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28841
28842         * modules/getpass: Depend on stdbool.
28843
28844 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28845
28846         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
28847
28848 2003-10-07  Karl Berry  <karl@gnu.org>
28849
28850         * config/config.{guess,sub}: update from config.
28851
28852 2003-10-06  Jim Meyering  <jim@meyering.net>
28853             Bruno Haible  <bruno@clisp.org>
28854
28855         This lets translators provide better translations for the
28856         "Written by ..." part of --version output.
28857         * lib/version-etc.h: Include stdarg.h.
28858         (version_etc_copyright): Declare as readonly.
28859         (version_etc): Make this function variadic with a NULL-terminated list
28860         of author name strings.
28861         (version_etc_va): New declaration.
28862         * lib/version-etc.c: Include stdarg.h, stdlib.h.
28863         (version_etc_copyright): Declare as readonly.
28864         (version_etc_va): New function. Provide a different translatable string
28865         for each possible number of authors < 10. Abbreviate when there are 10
28866         authors or more.
28867         (version_etc): Make this function variadic. Call version_etc_va.
28868         Suggestion from Gary V. Vaughan.
28869
28870         * lib/long-options.h (parse_long_options): Change prototype: the
28871         authors string is moved to the end and becomes variadic.
28872         * lib/long-options.c: Include stdarg.h.
28873         (parse_long_options): Make this function variadic, too.
28874         Call version_etc_va, not version_etc.
28875
28876 2003-10-06  Bruno Haible  <bruno@clisp.org>
28877
28878         * modules/version-etc-2: Remove file.
28879         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
28880
28881 2003-10-06  Bruno Haible  <bruno@clisp.org>
28882
28883         * modules/fatal-signal: New file.
28884         * MODULES.html.sh (func_all_modules): Add fatal-signal.
28885
28886 2003-10-06  Bruno Haible  <bruno@clisp.org>
28887
28888         * m4/fatal-signal.m4: New file.
28889         * m4/signalblocking.m4: New file, from GNU gettext.
28890
28891 2003-10-06  Bruno Haible  <bruno@clisp.org>
28892
28893         * lib/version-etc-2.h: Remove file.
28894         * lib/version-etc-2.c: Remove file.
28895
28896 2003-10-06  Bruno Haible  <bruno@clisp.org>
28897
28898         * lib/fatal-signal.h: New file, from GNU gettext.
28899         * lib/fatal-signal.c: New file, from GNU gettext.
28900
28901 2003-10-05  Paul Eggert  <eggert@twinsun.com>
28902
28903         * README: Rework advice for preventing empty .o files.
28904         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
28905         not <sys/types.h>.
28906
28907 2003-10-04  Karl Berry  <karl@gnu.org>
28908
28909         * lib/argp*: update from libc.
28910
28911 2003-10-04  Karl Berry  <karl@gnu.org>
28912
28913         * config/config.{guess,sub}: update from config.
28914
28915 2003-10-02  Bruno Haible  <bruno@clisp.org>
28916
28917         * modules/lchown (Include): Add lchown.h.
28918         * modules/time_r (Include): Use "..." syntax.
28919         * modules/xgetdomainname (Include): Add xgetdomainname.h.
28920
28921 2003-10-01  Simon Josefsson  <jas@extundo.com>
28922
28923         * MODULES.html.sh (func_all_modules): Move gethostname from section
28924         'based on' to section 'lacking' POSIX:2001.
28925
28926 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
28927
28928         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
28929         to output mode on the same stream.
28930
28931 2003-09-29  Paul Eggert  <eggert@twinsun.com>
28932
28933         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
28934         Fix arg typo in previous patch.
28935
28936 2003-09-28  Jim Meyering  <jim@meyering.net>
28937
28938         * lib/error.c: Correct cpp indentation.
28939
28940 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28941
28942         * modules/free: New file.
28943
28944 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28945
28946         * m4/free.m4: New file.
28947
28948 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28949
28950         * lib/minmax.h (MIN, MAX)
28951         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
28952         Omit the special code that used __typeof__, since we worry that
28953         it could be more trouble than it's worth.  See:
28954         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
28955         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
28956
28957         * lib/free.c: New file.
28958
28959 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
28960
28961         Trivial fixes to Makefile.am parts of module listings.
28962         * modules/strstr: Append strstr.h to lib_SOURCES.
28963         * modules/strcase: Likewise, for strcase.h.
28964
28965 2003-09-27  Karl Berry  <karl@gnu.org>
28966
28967         * config/mkinstalldirs: update from automake.
28968
28969 2003-09-26  Paul Eggert  <eggert@twinsun.com>
28970
28971         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
28972         (error_tail): Do not loop, reallocating temporary buffer, since
28973         the output cannot contain more wide characters than the input
28974         contains bytes, the size must be big enough already.  This avoids
28975         one potential size overflow calculation.  Check for size overflow
28976         when calculating temporary buffer size.  Free temporary buffer
28977         when done, if it was allocated with malloc; this plugs a memory
28978         leak.  Remove casts from void * to pointers, that are no longer
28979         needed now that we're assuming C89 or better.
28980
28981         Merge error changes from glibc.
28982
28983         * lib/error.c, error.h: Update copyright notice header to match glibc.
28984         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
28985         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
28986         Disable cancellation while printing error.
28987         * lib/error.h: Prepend __ to parameter names.
28988
28989 2003-09-26  Jim Meyering  <jim@meyering.net>
28990
28991         * lib/error.c (error_tail): Move some declarations
28992         into inner scope where the local variables are used.
28993
28994 2003-09-26  Bruno Haible  <bruno@clisp.org>
28995
28996         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
28997         stpncpy().
28998         Don't define stpncpy through config.h; it's now done through stpncpy.h.
28999
29000 2003-09-26  Bruno Haible  <bruno@clisp.org>
29001
29002         * lib/stpncpy.h (gnu_stpncpy): New declaration.
29003         (stpncpy): Define as alias for gnu_stpncpy.
29004         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
29005
29006 2003-09-25  Simon Josefsson  <jas@extundo.com>
29007
29008         * lib/xgetdomainname.h: New file.
29009         * lib/xgetdomainname.c: New file.
29010
29011 2003-09-25  Simon Josefsson  <jas@extundo.com>
29012             Bruno Haible  <bruno@clisp.org>
29013
29014         * modules/getdomainname: New file.
29015         * modules/xgetdomainname: New file.
29016         * MODULES.html.sh (func_all_modules): Add getdomainname,
29017         xgetdomainname.
29018
29019 2003-09-25  Simon Josefsson  <jas@extundo.com>
29020             Bruno Haible  <bruno@clisp.org>
29021
29022         * m4/getdomainname.m4: New file.
29023
29024 2003-09-25  Simon Josefsson  <jas@extundo.com>
29025             Bruno Haible  <bruno@clisp.org>
29026
29027         * lib/getdomainname.h: New file.
29028         * lib/getdomainname.c: New file.
29029
29030 2003-09-25  Karl Berry  <karl@gnu.org>
29031
29032         * lib/argp-fmtstream.c, argp-help.c: update from libc.
29033
29034 2003-09-25  Karl Berry  <karl@gnu.org>
29035
29036         * config/install-sh: update from automake.
29037
29038 2003-09-25  Bruno Haible  <bruno@clisp.org>
29039
29040         * modules/version-etc-2: New file, from modules/version-etc with
29041         modifications.
29042         * MODULES.html.sh (func_all_modules): Add version-etc-2.
29043
29044 2003-09-25  Bruno Haible  <bruno@clisp.org>
29045
29046         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
29047         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
29048
29049 2003-09-24  Simon Josefsson  <jas@extundo.com>
29050
29051         * modules/xgethostname: Add xgethostname.h.
29052
29053 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29054
29055         * lib/linebuffer.c (freebuffer): Don't free the argument, just
29056         the buffer associated with the argument.  Bug reported by
29057         Simon Josefsson.
29058
29059 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29060
29061         * README: Document assumptions that 'int' is at least 32 bits
29062         wide, that integer arithmetic is 2's complement without overflow,
29063         that there are no holes in integer values, that adding sizes of
29064         two nonoverlapping objects can't overflow, and that all-bits-zero
29065         yields scalar zero.  Fix spelling and capitalization typos.
29066
29067 2003-09-19  Karl Berry  <karl@gnu.org>
29068
29069         * lib/argp.h: update from libc.
29070
29071 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29072
29073         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
29074         to avoid spurious warnings like "AC_RUN_IFELSE was called before
29075         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
29076
29077 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29078
29079         * gnulib-tool: Use "test -h", not "test -L", for portability
29080         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
29081         (tags_regexp): Remove, since \| doesn't conform to POSIX.
29082         (sed_extract_prog): Issue s commands one-by-one, rather than
29083         using \| in one s command.
29084
29085 2003-09-16  Paul Eggert  <eggert@twinsun.com>
29086
29087         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
29088         input error, instead of returning NULL the next time we are called
29089         (and therefore losing track of errno).
29090
29091 2003-09-16  Bruno Haible  <bruno@clisp.org>
29092
29093         * gnulib-tool (func_create_testdir): Warn about duplicated
29094         dependencies.
29095
29096 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29097
29098         * modules/argmatch, modules/fatal, modules/obstack,
29099         modules/xalloc, modules/xgethostname: Sort dependencies by
29100         importance, not alphabetically.
29101
29102 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29103
29104         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
29105         fails, so that the caller gets the proper errno.
29106
29107         * lib/readutmp.c (read_utmp): Likewise.
29108         Check for fstat error.  Close stream and free storage
29109         when failing.
29110
29111 2003-09-14  Karl Berry  <karl@gnu.org>
29112
29113         * config/srclist.txt (strdup.c): disable for c89 changes.
29114
29115 2003-09-14  Jim Meyering  <jim@meyering.net>
29116
29117         * lib/getloadavg.c: Correct cpp indentation.
29118         * lib/strdup.c: Likewise.
29119         * lib/vasnprintf.c: Likewise.
29120
29121 2003-09-14  Bruno Haible  <bruno@clisp.org>
29122
29123         * modules/fwriteerror: New file.
29124         * MODULES.html.sh (func_all_modules): Add fwriteerror.
29125
29126 2003-09-14  Bruno Haible  <bruno@clisp.org>
29127
29128         * lib/fwriteerror.h: New file.
29129         * lib/fwriteerror.c: New file.
29130
29131 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29132
29133         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
29134         modules/xgethostname, modules/xalloc: Depend on exit.
29135
29136 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29137
29138         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
29139
29140         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
29141         and AC_MINIX, too, so that their extensions are available.
29142
29143         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
29144         This macro has been superseded by gl_BACKUPFILE.
29145
29146         More patches to assume C89 or better.
29147
29148         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
29149
29150         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
29151         unconditionally.
29152         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
29153         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
29154         Include <string.h>, <stdlib.h> unconditionally.
29155         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
29156         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
29157         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
29158         headers or for string.h.
29159         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
29160         or strtoul.
29161
29162         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
29163         headers.
29164         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
29165         * m4/userspec.m4 (gl_USERSPEC): Likewise.
29166         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
29167         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
29168         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
29169         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
29170         memcpy, memset.
29171         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
29172         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
29173         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
29174         strtol.
29175         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
29176         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
29177         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
29178         strtoul.
29179
29180 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29181
29182         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
29183         * lib/obstack.c [!defined _LIBC]: Likewise.
29184         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
29185         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
29186         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
29187
29188         More changes to assume C89 or better.
29189
29190         * lib/error.c (error_tail): Assume vprintf.
29191
29192         * lib/argmatch.c (getenv): Remove decl.
29193         * lib/progreloc.c (get_full_program_name): Define via prototype.
29194         * lib/setenv.c (clearenv): Likewise.
29195         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
29196         needed.
29197         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
29198         (malloc, memcpy): Remove decls.
29199         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
29200         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
29201         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
29202         (memcpy): Remove macro.
29203         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
29204         (__P): Remove.  All uses removed.
29205         (PTR): Remove.  All uses changed to void *.
29206         (CHAR_BIT, NULL): Remove.
29207         (spaces, zeros, memset_space, memset_zero)
29208         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
29209         Remove.
29210         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
29211         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
29212         Define with prototype.
29213         Remove now-unnecessary prototype decl.
29214         (extra_args_spec): Assume ANSI C.  All uses changed.
29215         (extra_args_spec_iso): Remove.
29216         (my_strftime, emacs_strftimeu): Define via prototype.
29217         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
29218         unconditionally.
29219         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
29220         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
29221         (strtoul, strtol): Remove decls.
29222         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
29223         LONG_MAX): Remove.
29224         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
29225         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
29226         (LOCALE_PARAM_PROTO): New macro.
29227         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
29228         (INTERNAL (strtol), strtol): Define with a prototype.
29229         (PARAMS): Remove.  All uses removed.
29230         * lib/tempname.c: Include <string.h> unconditionally.
29231         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
29232         * lib/xgethostname.c (main): Define with a prototype.
29233         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
29234         Include <stdlib.h> unconditionally.
29235         (calloc, malloc, realloc, free): Remove decls.
29236         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
29237         Include <stdlib.h> unconditionally.  Sort include file names.
29238         (strtod): Remove.
29239         (xstrtod): Define with a prototype.
29240         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
29241         (strtol, strtoul): Remove decls.
29242
29243 2003-09-11  Paul Eggert  <eggert@twinsun.com>
29244
29245         More patches to assume C89 or better.
29246         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
29247         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
29248         string.h, memchr, STDC_HEADERS.
29249
29250 2003-09-11  Paul Eggert  <eggert@twinsun.com>
29251
29252         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
29253         Include <stdlib.h>, <string.h> unconditionally.
29254         Remove now-unnecessary cast to char *.
29255         * lib/strnlen.c: Include <string.h> unconditionally.
29256         * lib/yesno.c (yesno): Define with a prototype.
29257
29258 2003-09-11  Bruno Haible  <bruno@clisp.org>
29259
29260         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
29261
29262 2003-09-10  Jim Meyering  <jim@meyering.net>
29263
29264         * lib/error.c: Correct indentation of cpp directives.
29265
29266 2003-09-10  Bruno Haible  <bruno@clisp.org>
29267
29268         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
29269         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
29270         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
29271         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
29272         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
29273         <stdlib.h> and <string.h> checks.
29274         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
29275         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
29276
29277 2003-09-10  Bruno Haible  <bruno@clisp.org>
29278
29279         * lib/strcspn.c: Include <string.h> unconditionally.
29280         * lib/strpbrk.c: Include <string.h> unconditionally.
29281         * lib/strstr.c: Include <string.h> unconditionally.
29282         * lib/unicodeio.c: Include <string.h> unconditionally.
29283         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
29284         * lib/unsetenv.c: Likewise.
29285         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
29286         * lib/yesno.c: Include <stdlib.h> unconditionally.
29287         (rpmatch): Add prototype.
29288
29289 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29290
29291         More patches to assume C89 or better.
29292         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
29293         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
29294         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
29295         or for string.h.
29296         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
29297         stdlib.h.
29298         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
29299         C headers.
29300         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
29301         string.h.
29302         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
29303         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
29304         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
29305         or for string.h.
29306         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
29307         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
29308         C headers.
29309         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
29310         memcpy.
29311         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
29312         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
29313         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
29314         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
29315         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
29316         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
29317         string.h, free.
29318         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
29319         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
29320         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
29321         C headers, or for string.h.
29322         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
29323         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
29324         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
29325         headers, memory.h, stdlib.h, string.h, strings.h.
29326         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
29327         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
29328         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
29329         strchr.
29330         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
29331         headers, memory.h, string.h.
29332         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
29333         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
29334         free.
29335         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
29336         headers.
29337         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
29338         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
29339         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
29340         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
29341         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
29342
29343 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29344
29345         More K&R removal.
29346
29347         * lib/acosl.c (main): Use a prototype.
29348         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
29349         tanl.c: Likewise.
29350
29351         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
29352
29353         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
29354         (getopt, etopt_long, getopt_long_only, _getopt_internal)
29355         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
29356         with a prototype.
29357         * lib/getopt.c (const): Remove macro.
29358         Include <string.h> unconditionally.
29359         (my_index): Remove; all uses changed to strchr.
29360         (strlen): Remove decl.
29361         (exchange): Remove forward decl; no longer needed.
29362         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
29363         Define with prototype.
29364         * lib/getopt1.c (const): Remove macro.
29365         (getopt_long, getopt_long_only, main): Define with prototype.
29366
29367         * lib/getugroups.c: Include <string.h> unconditionally.
29368
29369         * lib/getusershell.c: Include <stdlib.h> unconditionally.
29370         (getusershell, setusershell, endusershell, readname, main):
29371         Define with prototypes.
29372
29373         * lib/group-member.c: Include group-member.h first.
29374         Include <stdlib.h> unconditionally.
29375
29376         * lib/hard-locale.c: Include hard-locale.h first.
29377         Include <stdlib.h>, <string.h> unconditionally.
29378
29379         * lib/hash.c (free, malloc): Remove decls.
29380         Include <stdlib.h> unconditionally.
29381
29382         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
29383         (getenv): Do not declare.
29384
29385         * lib/idcache.c: Include <string.h> unconditionally.
29386
29387         * lib/long-options.c: Include long-options.h first, to test interface.
29388         Include <stdlib.h> unconditionally.
29389
29390         * lib/makepath.c: Include makepath.h first, to test interface.
29391         Include <stdlib.h> and <string.h> unconditionally.
29392
29393         * lib/linebuffer.c: Include <stdlib.h>.
29394         (free): Remove decl.
29395
29396         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
29397         stddef.h. rpl_malloc returns void *, not char *.
29398         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
29399         prototype.
29400
29401         * lib/md5.h: Include <limits.h> unconditionally.
29402         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
29403         (__P): Remove; all uses removed.
29404         * lib/md5.c: Include "md5.h" first.
29405         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
29406         md5_buffer, md5_process_bytes, md5_process_block):
29407         Define with prototypes.
29408         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
29409         * lib/sha.c: Include "sha.h" first.
29410         Include <stdlib.h>, <string.h> unconditionally.
29411
29412         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
29413         * lib/memcmp.c (__ptr_t): Likewise.
29414         * lib/memrchr.c (__ptr_t): Likewise.
29415         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
29416         Include <string.h> unconditionally.
29417         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
29418         * lib/memchr.c: Include <stdlib.h> unconditionally.
29419         * lib/memchr.c (LONG_MAX): Remove.
29420         * lib/memrchr.c (LONG_MAX): Likewise.
29421         * lib/memchr.c (__memchr): Define via a prototype.
29422         * lib/memrchr.c (__memrchr): Likewise.
29423         * lib/memcmp.c (__P): Remove, and remove all uses.
29424         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
29425         Remove forward decls; no longer needed.
29426         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
29427         Use types required by C89 in prototype.
29428
29429         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
29430         * lib/savedir.c: Likewise.
29431         * lib/mkdir.c (free): Remove decl.
29432         * lib/rmdir.c (rmdir): Define with a prototype.
29433         * lib/savedir.c: Include savedir.h first, to test interface.
29434
29435         * lib/mktime.c (STDC_HEADERS): Remove.
29436         Include <stdlib.h>, <string.h> unconditionally.
29437
29438         * lib/modechange.c: Include <stdlib.h> unconditionally.
29439         (malloc): Remove decl.
29440
29441         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
29442         (free): Remove decl.
29443
29444         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
29445         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
29446         (This type really should be intptr_t, but that's a C99ism.)
29447         (_obstack_memcpy): Remove: all uses changed to memcpy.
29448         Include <string.h> unconditionally.
29449         (struct obstack): Assume __STDC__ for types of members
29450         chunkfun, freefun, extra_arg.
29451         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
29452         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
29453         obstack_begin, obstack_specify_allocation,
29454         obstack_specify_allocation_with_arg, obstack_chunkfun,
29455         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
29456         Remove unprototyped decls and the macros that use them.
29457         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
29458         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
29459         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
29460         (defined __STDC__ && __STDC__)]:
29461         Remove nonprototyped code.
29462         Include <stdlib.h> unconditionally.
29463         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
29464         _obstack_allocated_p, _obstack_free, obstack_free,
29465         _obstack_memory_used, print_and_abort):
29466         Define using prototypes.
29467         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
29468         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
29469         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
29470         obstack_next_free, obstack_object_size, obstack_room) [0]:
29471         Remove unused, unprototyped code.
29472
29473         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
29474
29475         * lib/physmem.c (physmem_total, physmem_available, main): Define
29476         with prototypes.
29477
29478         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
29479         (main): Define with a prototype.
29480
29481         * lib/posixver.c (getenv): Remove decl.
29482
29483         * lib/putenv.c (malloc): Returns void *, not char *.
29484         Include <string.h> unconditionally.
29485         (strchr, memcpy, NULL): Do not define.
29486
29487         * lib/readtokens.c: Include readtokens.h first, to test interface.
29488         Include <stdlib.h>, <string.h> unconditionally.
29489         (init_tokenbuffer): Define with a prototype.
29490
29491         * lib/regex.c (PARAMS): Remove.  All uses removed.
29492         All uses of _RE_ARGS removed, too.
29493         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
29494         unconditionally.
29495         (bzero): Assume memset exists.
29496         (memcmp, memcpy, NULL): Remove.
29497         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
29498         char, or assignments to local vars of type signed char.
29499         (init_syntax_once, PREFIX(extract_number_and_incr),
29500         PREFIX(print_partial_compiled_pattern),
29501         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
29502         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
29503         PREFIX(regex_grow_registers), PREFIX(regex_compile),
29504         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
29505         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
29506         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
29507         wcs_compile_range, byte_compile_range, truncate_wchar,
29508         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
29509         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
29510         count_mbs_length, wcs_re_match_2_internal,
29511         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
29512         PREFIX(alt_match_null_string_p),
29513         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
29514         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
29515         regfree, PREFIX(extract_number)): Define with prototype.  Remove
29516         now-unnecessary declaration, if any.
29517         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
29518         regcomp, regexec):
29519         Remove now-unnecessary casts among pointer types.
29520         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
29521
29522         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
29523         (free): Remove decl.
29524
29525         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
29526
29527         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
29528         (free): Remove decl.
29529
29530         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
29531         * lib/xgetcwd.c: Likewise.
29532
29533         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
29534         (free): Remove decl.
29535
29536         * lib/strchrnul.c (strchrnul): Define with a prototype.
29537         Fix bug: c_in was not converted to char before searching.
29538
29539         The following changes are not K&R related:
29540
29541         * lib/group-member.h: Include <sys/types.h>, so that this file is
29542         self-contained.
29543         * lib/makepath.h: Likewise.
29544
29545         * lib/getusershell.c (readname, default_index, line_size, readname):
29546         Use size_t, not int, for sizes.
29547         (readname): If the size overflows, report an error instead of
29548         looping forever.
29549
29550 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29551
29552         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
29553         libc.
29554
29555 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29556
29557         * README: New section: portability guidelines.
29558
29559 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
29560
29561         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
29562         C89 spec.
29563
29564 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
29565
29566         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
29567
29568 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29569
29570         Assume C89 or better; remove K&R cruft.
29571         A few of these changes were first proposed by Derek Robert Price
29572         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
29573
29574         * lib/addext.c: Include <string.h> unconditionally.
29575         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
29576         Don't declare getenv or malloc.
29577
29578         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
29579         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
29580         (NULL): Remove.
29581         (find_stack_direction, alloca): Use prototypes.
29582
29583         * lib/atexit.c (atexit): Define using a prototype.
29584
29585         * lib/basename.c, dirname.c, stripslash.c:
29586         Include <string.h> unconditionally.
29587
29588         * lib/bcopy.c: Include <stddef.h>.
29589         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
29590
29591         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
29592
29593         * lib/error.h (error, error_at_line, error_print_progname)
29594         [! (defined (__STDC__) && __STDC__)]: Remove decls.
29595         * lib/error.c: Include error.h first, to check interface.
29596         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
29597         (VA_START): Remove; all uses changeed to va_start.
29598         (exit, strerror): Remove decls.
29599         (error_print_progname): Prototype uncondionally.
29600         Don't include <errno.h>; no longer needed.
29601         (private_strerror): Remove.
29602         (error_tail): Always define.
29603         (error, error_at_line): Assume C89 or better; always use prototypes.
29604         * lib/fatal.c: Include "fatal.h" first, to test interface.
29605         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
29606         (VA_START): Remove; all uses changed to va_start.
29607         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
29608         this case.
29609         (exit): Remove decl.
29610         (fatal): Prototype unconditionally.  Assume va_start works.
29611         Abort at end, to pacify gcc.
29612
29613         * lib/euidaccess.c (main): Define with a prototype.
29614
29615         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
29616
29617         * lib/exitfail.c: Include <stdlib.h> unconditionally.
29618
29619         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
29620         prototypes.
29621         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
29622         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
29623         (getenv): Remove decl.
29624         (fnmatch): Define using a prototype.
29625         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
29626         (FCT): Define using a prototype.
29627
29628         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
29629
29630         * lib/gethostname.c: Include <stddef.h>.
29631         (gethostname): Define with prototype.  Length is size_t, not int.
29632
29633 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29634
29635         Assume C89 or better; remove K&R cruft.
29636         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
29637         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
29638         string.h, getenv, malloc.
29639         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
29640         headers.
29641         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
29642         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
29643         do not check for strerror.
29644         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
29645         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
29646         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
29647         do not check for doprnt or vprintf.
29648         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
29649         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
29650
29651 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29652
29653         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
29654         getversion.c should have been removed then, but was accidentally
29655         preserved.
29656
29657         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
29658         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
29659
29660 2003-09-08  Karl Berry  <karl@gnu.org>
29661
29662         * config/config.sub, config.guess, srclistvars.sh: update from savannah
29663                 config, forget about prep.
29664
29665         * config/depcomp, missing: update from automake.
29666
29667 2003-09-07  Paul Eggert  <eggert@twinsun.com>
29668
29669         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
29670         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
29671
29672 2003-09-07  Paul Eggert  <eggert@twinsun.com>
29673
29674         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
29675         copy_tm_result.  Bug reported by Simon Josefsson in
29676         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
29677
29678 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29679
29680         * m4/time_r.m4: New file.
29681         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
29682         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
29683         is. Check for timegm declaration.
29684         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
29685         Do not check for gmtime_r.
29686         Replace mktime if __mktime_internal does not exist and if mktime
29687         hasn't been replaced already.
29688
29689 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29690
29691         * lib/time_r.c, lib/time_r.h: New files.
29692
29693         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
29694         __localtime_r.
29695         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
29696         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
29697
29698         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
29699         __gmtime_r.
29700         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
29701         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
29702         Include <time_r.h>.
29703
29704         * lib/timegm.c: Switch to glibc implementation, with the following
29705         changes:
29706         [defined HAVE_CONFIG_H]: Include <config.h>.
29707         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
29708         (__mktime_internal) [!defined _LIBC]: New decl.
29709         (__gmtime_r) [!defined _LIBC]: New macro and function.
29710         (timegm): Use a prototype, since gnulib assumes C89.
29711         Do not bother declaring tmp to be const, as it's not really usefu.
29712         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
29713         (timegm): Declare only if HAVE_DECL_TIMEGM.
29714
29715 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29716
29717         * MODULES.html.sh (func_all_modules): Add time_r.
29718         * modules/time_r: New file.
29719         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
29720         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
29721
29722 2003-09-03  Paul Eggert  <eggert@twinsun.com>
29723
29724         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
29725         Bug reported by Lute Kamstra in
29726         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
29727
29728         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
29729         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
29730         course with correspondingly smaller numbers for tomorrow and
29731         yesterday.  From Tadayoshi Funaba.  Originally installed into
29732         sh-utils on 1999-08-07, but the patch got lost (I guess during the
29733         coreutils merge?).
29734
29735 2003-08-31  Simon Josefsson  <jas@extundo.com>
29736
29737         * modules/timegm: New file.
29738         * MODULES.html.sh (func_all_modules): Add timegm.
29739
29740 2003-08-31  Simon Josefsson  <jas@extundo.com>
29741
29742         * m4/timegm.m4: New file.
29743
29744 2003-08-31  Simon Josefsson  <jas@extundo.com>
29745
29746         * lib/timegm.h: New file.
29747         * lib/timegm.c: New file.  Based on
29748         wget-1.8.2/src/http.c:mktime_from_utc.
29749
29750 2003-08-31  Karl Berry  <karl@gnu.org>
29751
29752         * lib/argp.h: update from libc.
29753
29754 2003-08-28  Bruno Haible  <bruno@clisp.org>
29755
29756         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
29757         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
29758         followed by '#define fnmatch fnmatch_posix' gives an error.
29759
29760 2003-08-28  Bruno Haible  <bruno@clisp.org>
29761
29762         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
29763         warning on QNX, which defines O_BINARY to 000000.
29764
29765 2003-08-27  Jim Meyering  <jim@meyering.net>
29766
29767         * m4/mkstemp.m4: Require that the system mkstemp be able to create
29768         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
29769         would fail after 32.  Reported by Danny Levinson.  Details here:
29770         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
29771
29772 2003-08-24  Bruno Haible  <bruno@clisp.org>
29773
29774         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
29775         MSVC7 <stdio.h> is included later.
29776
29777 2003-08-22  Simon Josefsson  <jas@extundo.com>
29778
29779         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
29780
29781 2003-08-20  Karl Berry  <karl@gnu.org>
29782
29783         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
29784
29785 2003-08-20  Bruno Haible  <bruno@clisp.org>
29786
29787         * modules/progname: New file.
29788         * MODULES.html.sh (func_all_modules): Add progname.
29789
29790 2003-08-20  Bruno Haible  <bruno@clisp.org>
29791
29792         * lib/progname.h: New file, from GNU gettext.
29793         * lib/progname.c: New file, from GNU gettext.
29794         * lib/progreloc.c: New file, from GNU gettext.
29795
29796 2003-08-19  Jim Meyering  <jim@meyering.net>
29797
29798         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
29799         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
29800
29801 2003-08-19  Bruno Haible  <bruno@clisp.org>
29802
29803         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
29804         more.
29805
29806 2003-08-19  Bruno Haible  <bruno@clisp.org>
29807
29808         * lib/xstrdup.c: Assume <string.h> exists.
29809
29810 2003-08-18  Paul Eggert  <eggert@twinsun.com>
29811
29812         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
29813         in makefile rules.
29814
29815 2003-08-18  Jim Meyering  <jim@meyering.net>
29816
29817         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
29818         * m4/lib-ld.m4: Likewise.
29819
29820 2003-08-18  Jim Meyering  <jim@meyering.net>
29821
29822         * lib/setenv.h: Indent nested cpp directive.
29823         * lib/vasnprintf.c: Remove trailing blanks.
29824
29825 2003-08-17  Simon Josefsson  <jas@extundo.com>
29826
29827         * modules/xstrndup: New file.
29828         * MODULES.html.sh (func_all_modules): Add xstrndup.
29829
29830 2003-08-17  Simon Josefsson  <jas@extundo.com>
29831
29832         * modules/argp: Fix autoconf macro name. Add more dependencies.
29833
29834 2003-08-17  Simon Josefsson  <jas@extundo.com>
29835
29836         * m4/xstrndup.m4: New file.
29837
29838 2003-08-17  Simon Josefsson  <jas@extundo.com>
29839
29840         * m4/argp.m4: New file.
29841
29842 2003-08-17  Simon Josefsson  <jas@extundo.com>
29843             Bruno Haible  <bruno@clisp.org>
29844
29845         * lib/xstrndup.h: New file.
29846         * lib/xstrndup.c: New file.
29847
29848 2003-08-17  Bruno Haible  <bruno@clisp.org>
29849
29850         * modules/strndup (Files, Include): Add lib/strndup.h.
29851
29852 2003-08-17  Bruno Haible  <bruno@clisp.org>
29853
29854         * modules/euidaccess (Files): Add lib/euidaccess.h.
29855
29856 2003-08-17  Bruno Haible  <bruno@clisp.org>
29857
29858         * lib/strndup.h: New file.
29859
29860 2003-08-17  Bruno Haible  <bruno@clisp.org>
29861
29862         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
29863         like AC_GNU_SOURCE.
29864         * modules/extensions (configure.ac): Comment out the invocation of
29865         gl_USE_SYSTEM_EXTENSIONS.
29866
29867 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29868
29869         Merges from coreutils, etc.
29870         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
29871         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
29872         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
29873         fixing a typo.
29874         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
29875         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
29876
29877 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29878
29879         Document merge from coreutils.
29880         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
29881         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
29882         * modules/utime: Add m4/utimes-null.m4.
29883
29884 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29885
29886         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
29887         space, undoing this 2003-08-12 change:
29888         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
29889
29890 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29891
29892         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
29893         strtoul.c from libc, undoing this 2003-08-12 change:
29894         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
29895
29896 2003-08-16  Jim Meyering  <jim@meyering.net>
29897
29898         Merges from coreutils.
29899         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
29900         prefix.  Adjust cache variables similarly.  Create 500 rather than
29901         just 300 files, to exercise bug on Darwin6.5, too.
29902         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
29903         $missing_dir.
29904         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
29905         AM_SYS_POSIX_TERMIOS.
29906         Reported by mkc@mathdogs.com.
29907         Also change use of $am_cv_sys_posix_termios
29908         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
29909         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
29910         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
29911         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
29912         in /proc/mounts until it finds one with matching device number.  This
29913         is unnecessary when the FILE argument *is* a mount point.  No stat call
29914         is necessary in that case.  So, disable the statvfs-testing code on
29915         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
29916         as RedHat bug# 84846.
29917         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
29918         to 1MB, so as not to render systems with no stack size limit (e.g.,
29919         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
29920         Include <unistd.h>.  On some systems,
29921         it is required for the definition of _SC_PAGESIZE.
29922
29923 2003-08-16  Jim Meyering  <jim@meyering.net>
29924
29925         Merge from coreutils.
29926         * lib/xstrtoimax.c: #else #if -> #elif.
29927         * lib/xstrtoumax.c: Likewise.
29928
29929 2003-08-16  Jim Meyering  <jim@meyering.net>
29930
29931         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
29932         * m4/utimes.m4: Removed.
29933         * m4/utimes-null.m4: Renamed from utimes.m4.
29934
29935         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
29936         to 1MB, so as not to render systems with no stack size limit (e.g.,
29937         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
29938         Include <unistd.h>.  On some systems,
29939         it is required for the definition of _SC_PAGESIZE.
29940
29941 2003-08-16  Jim Meyering  <jim@meyering.net>
29942         and Paul Eggert  <eggert@cs.ucla.edu>
29943
29944         Merges from coreutils, etc.
29945
29946         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
29947         using the latest version from cvs.  This avoids problems with #line
29948         directives using a vendor (Sun) compiler.
29949         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
29950         Don't set GETGROUPS_LIB here; now it's
29951         done via getgroups.m4's wrapper function.
29952         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
29953         rather than just in sh-util/configure.in, so that the
29954         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
29955         same.
29956         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
29957         AC_FUNC_GETLOADAVG where to find getloadavg.c.
29958         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
29959         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
29960         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
29961         Remove code that is now done by the newly-required macros.
29962         Append $(EXEEXT) to DF_PROG.
29963         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
29964         Do not invoke or require the following here,
29965         since prereq.m4 or some gnulib .m4 now does this for us:
29966         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
29967         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
29968         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
29969         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
29970         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
29971         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
29972         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
29973         AC_FUNC_OBSTACK.
29974         Do not replace the following functions, as this is now the job
29975         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
29976         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
29977         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
29978         atexit getpass, strdup, getpagesize.
29979         Replace 'raise'.
29980         Do not check for the following functions, as this is now the job
29981         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
29982         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
29983         setregid.
29984         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
29985         Check for sys/sysctl.h.
29986         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
29987         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
29988         of checking for ssize_t ourselves.
29989
29990         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
29991         Require every macro that gnulib/modules/* suggests for us.
29992         (jm_PREREQ_ADDEXT): New macro.
29993         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
29994         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
29995
29996         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
29997         (gl_PHYSMEM): Use it.
29998         Also check for `table' function.
29999         Check for new headers and functions.
30000         Add check for sys/sysmp.h.
30001         With suggestions from Kaveh Ghazi.
30002         Ignore headers that are present but cannot be compiled.  This
30003         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
30004         C 5.4.
30005
30006 2003-08-15  Paul Eggert  <eggert@twinsun.com>
30007
30008         Document merge from coreutils.
30009         * modules/userspec: Depend on posixver.
30010         * modules/strftime: Depend on tzset.
30011
30012 2003-08-15  Paul Eggert  <eggert@twinsun.com>
30013
30014         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
30015         rather than tab, after '#' in shell-script copyright notices.
30016         Suggested by Bruno Haible.
30017
30018 2003-08-15  Paul Eggert  <eggert@twinsun.com>
30019
30020         * config/srclist-update: Use three spaces, rather than tab, after '#'
30021         in shell-script copyright notices.  Suggested by Bruno Haible.
30022         Remove unnecessary parenthesization in regular expression.
30023
30024 2003-08-15  Jim Meyering  <jim@meyering.net>
30025
30026         Merge from coreutils.
30027         * lib/xgethostname.c: Include <stdlib.h>.
30028         (xghostname): Don't exit for anything other than memory-related
30029         failure; just return NULL.
30030         * lib/userspec.c: Include "posixver.h".
30031         (parse_user_spec): Accept `.' as a separator only
30032         in pre-POSIX-200112 mode.
30033         * lib/strtoimax.c: Use #elif rather than #else #if.
30034         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
30035         Remove function, now that we can rely on a working tzset function.
30036         [!_LIBC]: Ensure that the required autoconf test has been run.
30037         [!defined _NL_CURRENT && HAVE_STRFTIME]:
30038         Use underlying_strftime for %r.
30039         * lib/sha.c: Merge in some clean-up and optimization changes from
30040         glibc.
30041         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
30042         Ensure that it is a multiple of 64.
30043         Rearrange loop exit tests so as to avoid performing an
30044         additional fread after encountering an error or EOF.
30045         * lib/realloc.c: Update copyright date.
30046
30047 2003-08-15  Jim Meyering  <jim@meyering.net>
30048         and Paul Eggert  <eggert@twinsun.com>
30049
30050         Merge from coreutils.
30051         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
30052         member but strut utmpx does not.  Needed for AIX 4.3.3.
30053         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
30054
30055 2003-08-15  Jim Meyering  <jim@meyering.net>
30056         and Paul Eggert  <eggert@cs.ucla.edu>
30057
30058         Merges from coreutils, etc.
30059         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
30060         Require gl_FUNC_TZSET_CLOBBER.
30061         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
30062         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
30063         members.
30064
30065 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30066
30067         Help the merge from coreutils.
30068         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
30069         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
30070         * m4/tzset.m4: Use it too.
30071
30072 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30073
30074         * modules/tzset: New file.
30075
30076 2003-08-14  Jim Meyering  <jim@meyering.net>
30077
30078         Merges from coreutils.
30079         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
30080         variable names, rather than @FNMATCH_H@.
30081         * modules/alloca: Likewise for $(ALLOCA_H).
30082
30083         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
30084         the three copies of the literal target, `fnmatch.h'.
30085         * modules/alloca (alloca.h): Likewise.
30086
30087 2003-08-14  Jim Meyering  <jim@meyering.net>
30088
30089         Merge from coreutils.
30090         * m4/tzset.m4: New file.
30091         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
30092         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
30093         otherwise, AIX 5.1 systems would end up using the latter.
30094         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
30095         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
30096         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
30097         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
30098
30099 2003-08-14  Jim Meyering  <jim@meyering.net>
30100
30101         Merge from coreutils.
30102         * lib/obstack.h: Whitespace changes.
30103         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
30104         and xcalloc return values.
30105         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
30106         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
30107         hang on OSF/1 5.1 for DIR on both local and remote file systems.
30108         Reported by (and fix confirmed by) Nelson H. F. Beebe.
30109         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
30110         error from mntctl.
30111         Use mntctl's return value to drive the entry-processing loop, since
30112         we can't rely on the value of the vmt_length member in the last
30113         entry.  On some systems doing so could result in exhausting
30114         virtual memory.  Based in part on a patch from Mike Jetzer.
30115
30116 2003-08-14  Jim Meyering  <jim@meyering.net>
30117         and Paul Eggert  <eggert@twinsun.com>
30118
30119         Merges from coreutils, plus other fixes.
30120         * lib/physmem.c: Merge in portability changes from gcc/libiberty
30121         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
30122         for credits and details.  Thanks to Kaveh Ghazi for helping
30123         to keep these files in sync.
30124         (ARRAY_SIZE): Define it.
30125         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
30126         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
30127         (memcasecmp): Don't assume size_t fits in unsigned int.
30128         Remove casts and duplicate code.
30129         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
30130         (memcpy): Remove definition.
30131         Merge in some clean-up and optimization changes from glibc.
30132         [BLOCKSIZE]: Move definition to top of file.
30133         Ensure that it is a multiple of 64.
30134         Rearrange loop exit tests so as to avoid performing an
30135         additional fread after encountering an error or EOF.
30136         * lib/md5.h (md5_uintptr): Define.
30137         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
30138         return to the initial working directory.  Preserve errno
30139         for caller.
30140         * lib/idcache.c: Include "xalloc.h".
30141         (xmalloc, xrealloc): Remove decls.
30142         (getuser): Remove casts no longer required in C89.
30143         * lib/human.c: Include stdio.h, for sprintf.
30144         * lib/group-member.c: Include "xalloc.h".
30145         (xmalloc, xrealloc): Remove decls.
30146         (get_group_info): Remove casts no longer required in C89.
30147         * lib/getusershell.c (readname): Remove casts no longer required in
30148         C89.
30149         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
30150         * lib/getline.c: Whitespace fix, from coreutils.
30151
30152 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30153
30154         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
30155         Check for isascii.
30156
30157         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
30158         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
30159         Undo previous (whitespace-only) change.
30160
30161 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30162
30163         * lib/exclude.c: Include <ctype.h>
30164         (IN_CTYPE_DOMAIN): New macro.
30165         (is_space): New fn.
30166         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
30167         and empty lines.
30168
30169         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
30170         Undo previous (whitespace-only) change.
30171
30172 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30173
30174         * config/srclist-update: Change update back to the old behavior,
30175         leaving whitespace alone.  Use one 'sed' command rather than a
30176         pipeline.
30177         (fixlicense): Now a variable, not a function.
30178         (remove_trailing_blanks): Remove.
30179         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
30180         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
30181         Undo previous (whitespace-only) change.
30182
30183 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30184
30185         Merge from coreutils.
30186         * modules/euidaccess: Add lib_SOURCES, include for new
30187         file euidaccess.h
30188
30189 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30190
30191         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
30192         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
30193         Normalize leading white space and remove trailing white space.
30194
30195         Merge from coreutils
30196         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
30197
30198         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
30199         0.12.1.  These files are now being upgraded automatically by
30200         ../config/srclist-update.
30201
30202 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30203
30204         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
30205         Normalize leading white space and remove trailing white space.
30206         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
30207         notice, as per ../config/srclist-update.
30208
30209         Merge from coreutils.
30210         * lib/euidaccess.h: New file.
30211         * lib/euidaccess.c: Include it.
30212         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
30213         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
30214         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
30215
30216 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30217
30218         * config/srclist-update: Add copyright notice.
30219         (remove_id_lines, remove_trailing_blanks): New constants.
30220         (fixfile): Use them to normalize spacing a bit in copied files.
30221         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
30222         Normalize leading white space and remove trailing white space.
30223
30224         * config/texinfo.tex: Sync with texinfo.
30225
30226         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
30227         strtoul.c from libc, to merge coreutils whitespace changes.
30228
30229         * config/srclist.txt: Get the following m4 files from gettext:
30230         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
30231         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
30232         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
30233         wint_t.m4.
30234
30235 2003-08-12  Karl Berry  <karl@gnu.org>
30236
30237         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
30238         been made.
30239
30240 2003-08-11  Paul Eggert  <eggert@twinsun.com>
30241
30242         * modules/gnu-source, m4/gnu-source.m4:
30243         Remove; we're assuming Autoconf 2.54 or later now.
30244         Suggested by Bruno Haible.
30245         * MODULES.html.sh (func_all_modules): Remove gnu-source.
30246
30247 2003-08-11  Bruno Haible  <bruno@clisp.org>
30248
30249         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
30250
30251 2003-08-11  Bruno Haible  <bruno@clisp.org>
30252
30253         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
30254         (vasnprintf): Use it instead of wcslen.
30255
30256 2003-08-11  Bruno Haible  <bruno@clisp.org>
30257
30258         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
30259         value to ensure that _Bool promotes to int. Use #define for _Bool when
30260         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
30261
30262 2003-08-10  Karl Berry  <karl@gnu.org>
30263
30264         * lib/regex.h: update from libc (whitespace fix).
30265
30266 2003-08-09  Paul Eggert  <eggert@twinsun.com>
30267
30268         Merge some files from coreutils.  These changes were
30269         originally made by Jim Meyering.
30270         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
30271         many older Unixes require this.
30272         * lib/alloca.c (alloca): Remove cast to argument of free;
30273         no longer needed in C89.
30274         * lib/alloca_.h, regex.h: Fix white space to match
30275         what GNU indent does.
30276
30277 2003-08-09  Paul Eggert  <eggert@twinsun.com>
30278
30279         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
30280         apparently Emacs's Unicode mode got confused before my 2003-08-05
30281         checkin.
30282
30283 2003-08-08  Paul Eggert  <eggert@twinsun.com>
30284
30285         * m4/extensions.m4: New file.
30286         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
30287         Require gl_USE_SYSTEM_EXTENSIONS.
30288         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
30289         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
30290
30291 2003-08-08  Paul Eggert  <eggert@twinsun.com>
30292
30293         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
30294         * modules/extensions, modules/gnu-source: New files.
30295         * modules/timespec, modules/unlocked-io: Depend on extensions.
30296
30297 2003-08-07  Paul Eggert  <eggert@twinsun.com>
30298
30299         * modules/restrict: New file.
30300         * MODULES.html.sh (func_all_modules): Add restrict.
30301         * modules/regex: Depend on restrict.
30302
30303 2003-08-07  Paul Eggert  <eggert@twinsun.com>
30304
30305         * m4/restrict.m4: New file.
30306         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
30307
30308 2003-08-07  Bruno Haible  <bruno@clisp.org>
30309
30310         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
30311         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
30312
30313 2003-08-07  Bruno Haible  <bruno@clisp.org>
30314
30315         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
30316         makes the module 'getndelim2' compatible with the module 'getline'.
30317
30318 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30319
30320         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
30321         byte with "\201" to avoid glitches when editing that source file
30322         with multi-gnome-terminal.
30323
30324 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30325
30326         * lib/bumpalloc.h: Remove.
30327
30328 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30329
30330         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
30331         * modules/bumpalloc: Remove.
30332
30333 2003-08-04  Paul Eggert  <eggert@twinsun.com>
30334
30335         * lib/getloadavg.c: Change copyright notice and spacing to conform to
30336         GNU coding style.
30337
30338         Merge from coreutils.
30339         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
30340         1. From glibc.
30341         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
30342         from Karl Berry, implemented by Jim Meyering.
30343         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
30344         from Dmitry V. Levin.
30345         Remove anachronistic cast of xrealloc.
30346         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
30347         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
30348         type. Otherwise, it wouldn't compile with at least /bin/cc on
30349         ymp-cray-unicos9.0.2.X.
30350         Combine two mostly-identical uses of alloca into one.
30351         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
30352
30353 2003-08-04  Dave Love  <d.love@dl.ac.uk>
30354
30355         [From Emacs.]
30356
30357         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
30358         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
30359         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
30360         obsolete NLIST_NAME_UNION.
30361         [__GNU__]: Undef BSD and FSCALE.
30362         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
30363
30364 2003-08-03  Paul Eggert  <eggert@twinsun.com>
30365
30366         * lib/stdbool_.h (_Bool): Make it signed char, instead of
30367         an enum type, so that it's guaranteed to promote to int.  See:
30368         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
30369
30370 2003-08-03  Karl Berry  <karl@gnu.org>
30371
30372         * config/depcomp: update from automake.
30373
30374 2003-07-31  Paul Eggert  <eggert@twinsun.com>
30375
30376         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
30377         (strerror): Don't assume that a printable int fits in 14 bytes.
30378
30379 2003-07-31  Bruno Haible  <bruno@clisp.org>
30380
30381         * modules/getpass-gnu: New file.
30382         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
30383
30384 2003-07-31  Bruno Haible  <bruno@clisp.org>
30385
30386         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
30387
30388 2003-07-24  Karl Berry  <karl@gnu.org>
30389
30390         * config/missing: update from automake.
30391
30392 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
30393             Bruno Haible  <bruno@clisp.org>
30394
30395         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
30396         * lib/getline.c (getline, getdelim): Likewise.
30397         Remove _GNU_SOURCE define; now it's defined in config.h through
30398         m4/getline.m4.
30399
30400 2003-07-23  Karl Berry  <karl@gnu.org>
30401
30402         * config/config.sub: update from prep.
30403
30404 2003-07-22  Paul Eggert  <eggert@twinsun.com>
30405
30406         * modules/xalloc (Depends-on): Add exitfail.
30407         * modules/xmemcoll: Likewise.
30408
30409 2003-07-22  Paul Eggert  <eggert@twinsun.com>
30410
30411         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
30412         over-parenthesization in macros.
30413
30414         Sync with coreutils.
30415
30416         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
30417         required by C99.
30418
30419         Use `exit_failure' for xalloc and xmemcoll instead of their own
30420         private exit-failure variables.
30421         * lib/xalloc.h (xalloc_exit_failure): Remove.
30422         * lib/xmalloc.c: Likewise.  Include exitfail.h.
30423         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
30424         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
30425         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
30426         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
30427
30428 2003-07-20  Jim Meyering  <jim@meyering.net>
30429
30430         * modules/closeout (Depends-on): Add exitfail.
30431         Suggestion from Bruno Haible.
30432
30433 2003-07-19  Karl Berry  <karl@gnu.org>
30434
30435         * config/config.sub: update from prep.
30436
30437 2003-07-18  Paul Eggert  <eggert@twinsun.com>
30438
30439         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
30440         Remove.
30441         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
30442         to test that it can stand by itself.  Include "exitfail.h".
30443         Clients should set exit_failure instead.
30444         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
30445
30446 2003-07-18  Bruno Haible  <bruno@clisp.org>
30447
30448         * modules/getndelim2: New file.
30449         * modules/getline: Share files with module getndelim2.
30450         * modules/getnline: Depend on getndelim2 instead of sharing files with
30451         it. Add getnline.c to lib_SOURCES.
30452         * MODULES.html.sh (func_all_modules): Add getndelim2.
30453
30454 2003-07-18  Bruno Haible  <bruno@clisp.org>
30455
30456         * m4/getndelim2.m4: New file.
30457         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
30458         invoke gl_PREREQ_GETNDELIM2.
30459         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
30460         gl_PREREQ_GETNDELIM2.
30461         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
30462         gl_GETNDELIM2.
30463
30464 2003-07-18  Bruno Haible  <bruno@clisp.org>
30465
30466         * lib/getndelim2.h: New file.
30467         * lib/getndelim2.c: Make into a module of its own. Include config.h,
30468         getndelim2.h.
30469         (getndelim2): Make non-static. Change return type to ssize_t.
30470         * lib/getline.h: Change argument names.
30471         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
30472         * lib/getnline.c: Include getndelim2.h.
30473
30474 2003-07-18  Andreas Schwab  <schwab@suse.de>
30475
30476         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
30477
30478 2003-07-17  Karl Berry  <karl@gnu.org>
30479
30480         * config/config.sub: update from prep.
30481
30482 2003-07-17  Bruno Haible  <bruno@clisp.org>
30483
30484         * modules/getnline: New file.
30485         * modules/getline: Add lib/getndelim2.c to source file list.
30486         * MODULES.html.sh (func_all_modules): Add getnline.
30487
30488 2003-07-17  Bruno Haible  <bruno@clisp.org>
30489
30490         * m4/getnline.m4: New file.
30491
30492 2003-07-17  Bruno Haible  <bruno@clisp.org>
30493
30494         * m4/Makefile.am.in: Remove file.
30495         * m4/Makefile.am: Remove file.
30496         * m4/Makefile.in: Remove file.
30497
30498 2003-07-17  Bruno Haible  <bruno@clisp.org>
30499
30500         * lib/getnline.h: New file.
30501         * lib/getnline.c: New file.
30502         * lib/getndelim2.c: New file, extracted from getline.c.
30503         (getndelim2): Renamed from getdelim2, with added nmax argument.
30504         * lib/getline.c: Include getndelim2.c.
30505         (getdelim2): Moved out to getndelim2.c.
30506         (getline, getdelim): Update.
30507
30508 2003-07-17  Bruno Haible  <bruno@clisp.org>
30509
30510         * lib/Makefile.am: Remove file.
30511         * lib/Makefile.in: Remove file.
30512
30513 2003-07-17  Bruno Haible  <bruno@clisp.org>
30514
30515         * configure.in: Remove file.
30516         * Makefile.in: Remove file.
30517
30518 2003-07-17  Bruno Haible  <bruno@clisp.org>
30519
30520         * MODULES.html.sh: Put the </BODY> right before </HTML>.
30521
30522 2003-07-16  Karl Berry  <karl@gnu.org>
30523
30524         * config/srclist-update: was running fixlicense twice, which caused
30525                 texinfo.tex to be nullified for some reason.  Simplify,
30526                 $gplsrc is no longer needed as far as I can see?
30527
30528 2003-07-16  Jim Meyering  <jim@meyering.net>
30529
30530         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
30531
30532 2003-07-15  Paul Eggert  <eggert@twinsun.com>
30533
30534         * config/srclist.txt: Get the following files from gettext-runtime/intl
30535         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
30536         ref-del.sin.  From Bruno Haible.
30537         * config/srclist-update (fixfile): Change grep pattern again, since the
30538         previous fix didn't work (there was another trailing $).  Use
30539         '[$]' to escape the $s.
30540
30541 2003-07-15  Karl Berry  <karl@gnu.org>
30542
30543         * lib/vasnprintf.c: update from gettext.
30544
30545 2003-07-15  Karl Berry  <karl@gnu.org>
30546
30547         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
30548         gets expanded when surrounded by '$'.
30549
30550 2003-07-15  Jim Meyering  <jim@meyering.net>
30551
30552         * modules/save-cwd: Don't depend on error.  From Derek Price.
30553
30554 2003-07-15  Jim Meyering  <jim@meyering.net>
30555
30556         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
30557
30558 2003-07-14  Simon Josefsson  <jas@extundo.com>
30559
30560         * modules/mempcpy: New file.
30561         * MODULES.html.sh (func_all_modules): Add mempcpy.
30562
30563 2003-07-14  Simon Josefsson  <jas@extundo.com>
30564
30565         * m4/mempcpy.m4: New file.
30566
30567 2003-07-14  Simon Josefsson  <jas@extundo.com>
30568
30569         * lib/mempcpy.h: New file.
30570         * lib/mempcpy.c: New file.
30571
30572 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30573
30574         * modules/getdate, modules/posixtm: Depend on mktime.
30575
30576 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30577
30578         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
30579         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
30580         unicodeio.c, unicodeio.h, unlocked-io.h:
30581         Switch from LGPL to GPL.
30582
30583 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30584
30585         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
30586         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
30587         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
30588         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
30589         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
30590         updated automatically by ../config/srclist-update.  This changes
30591         their license from LPGL to GPL.
30592
30593 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30594
30595         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
30596         assumed to refer to the root of the most recent stable gettext version.
30597         * config/srclistvars.sh: Add defaults for eggert.
30598         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
30599         Match "This program" as well as "The program".  This is needed
30600         for gettext.
30601
30602 2003-07-14  Jim Meyering  <jim@meyering.net>
30603
30604         Don't emit diagnostics.  Let callers do that.
30605         * lib/save-cwd.c: Don't include "error.h".
30606         (save_cwd): Don't call error.  Ensure that errno is valid
30607         when returning nonzero.
30608
30609         * lib/save-cwd.h (restore_cwd): Update prototype.
30610         * lib/save-cwd.c (restore_cwd): Remove two parameters.
30611         Simplify.  Don't call error upon failure.  Let callers do that.
30612         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
30613         when auditing is enabled.  But don't bother updating the #if.
30614
30615 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
30616
30617         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
30618         it breaks C++ compilation.
30619         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
30620
30621 2003-07-10  Simon Josefsson  <jas@extundo.com>
30622
30623         * modules/strchrnul (Makefile.am): Add strchrnul.h.
30624
30625 2003-07-10  Jim Meyering  <jim@meyering.net>
30626
30627         * m4/clock_time.m4: Remove trailing blank.
30628         * m4/intmax_t.m4: Likewise.
30629
30630 2003-07-10  Jim Meyering  <jim@meyering.net>
30631
30632         * lib/vasnprintf.c: Remove trailing blanks.
30633         Make cpp indentation consistent.
30634
30635 2003-07-09  Paul Eggert  <eggert@twinsun.com>
30636
30637         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
30638         posixver.c, strftime.c, strnlen.c, strverscmp.c:
30639         Switch from LGPL to GPL.
30640
30641 2003-07-09  Paul Eggert  <eggert@twinsun.com>
30642
30643         * config/srclist.txt: Sort sublists.  Add
30644         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
30645         that differ from gnulib for one reason or another; we'd like this list
30646         to be smaller but for now let's document what we have.
30647
30648 2003-07-08  Paul Eggert  <eggert@twinsun.com>
30649
30650         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
30651         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
30652         and sweeter "eval x=$x".
30653         * config/srclist.txt: Get lib/argp* from glibc.
30654
30655 2003-07-07  Paul Eggert  <eggert@twinsun.com>
30656
30657         * lib/mktime.c: Fix some boundary cases and remove need for floating
30658         point.
30659
30660         Issue a compile-time diagnostic if time_t is floating point, or if
30661         two's complement arithmetic is not in effect, or if arithmetic
30662         right shift does not propagate the sign.  These assumptions were
30663         all in the original code but they weren't checked.
30664
30665         (TIME_T_MIDPOINT, verify): New macros.
30666         (__isleap): Remove; it has integer overflow problems.
30667         (leapyear): New function, without those problems.
30668         (ydhms_tm_diff): Remove; splitting into two parts.
30669         (ydhms_diff): New function, containing the arithmetic part of
30670         the old ydhms_tm_diff function.  Issue a compile-time
30671         diagnostic if we are not using C99 integer division.
30672         Avoid casts when possible.
30673         (guess_time_tm): New function, containing the checking part of
30674         the old ydhms_tm_diff function.  Return the new value, rather than
30675         the difference between it and the old.  Accept a new argument T
30676         so that *T specifies the old value.  Check for overflow in the result.
30677
30678         (__mktime_internal): Use a time_t offset, not a long int offset.
30679         This undoes the 2003-06-04 change, which is no longer needed now
30680         that we have better overflow checking.
30681         (localtime_offset): Likewise.
30682
30683         (__mktime_internal): Avoid harmful overflow on hosts where time_t
30684         and long are 64-bit but int is only 32-bit.
30685         (ydhms_diff): Use long int to store year1 and yday1.
30686         Issue a compile-time diagnostic if long int is not wide enough.
30687
30688         (__mktime_internal): Use long int to store adjusted year and yday.
30689         Use plain C rather than preprocessor commands, if that doesn't
30690         affect efficiency.
30691         Check for overflow (and try to repair) after each probe
30692         rather than checking only at the very end.  This avoids some bugs
30693         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
30694         does not equal GMT offset at maximum time).
30695         Use integer to check for overflow rather than floating point; this
30696         is more portable to non-IEEE hosts, and is a tad faster.
30697         When we detect that we are oscillating between two values,
30698         don't check whether tm_isdst has the requested value, since
30699         we already know the answer.  When tm_isdst has the wrong value,
30700         use a different heuristic to find the right one, based on the
30701         extreme values actually observed in practice in tz2003a,
30702         rather than the (overly optimistic) "previous 3 calendar quarters".
30703
30704         (not_equal_tm, print_tm, check_result): Use "const T" rather than
30705         "T const" to accommodate glibc style.
30706         (check_result): Use less-confusing report format.  "long" -> "long int.
30707         (main): Likewise.
30708         Don't loop if the iteration overflows time_t.
30709         Allow a negative step in the iteration.
30710
30711 2003-07-06  Karl Berry  <karl@gnu.org>
30712
30713         * config/depcomp: update from automake.
30714         * config/config.sub: update from prep.
30715
30716 2003-07-03  Karl Berry  <karl@gnu.org>
30717
30718         * config/config.guess: update from prep.
30719
30720 2003-07-01  Paul Eggert  <eggert@twinsun.com>
30721
30722         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
30723         xreadlink.c now includes it unconditionally.
30724
30725 2003-07-01  Paul Eggert  <eggert@twinsun.com>
30726
30727         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
30728         having it depend on HAVE_SYS_TYPES_H.
30729
30730 2003-07-01  Bruno Haible  <bruno@clisp.org>
30731
30732         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
30733         <sys/types.h> should be sufficient.
30734         Reported by Paul Eggert.
30735
30736 2003-06-26  Karl Berry  <karl@gnu.org>
30737
30738         * config/depcomp: update from automake.
30739
30740 2003-06-26  Bruno Haible  <bruno@clisp.org>
30741
30742         * modules/human: Depend on module stdbool.
30743
30744 2003-06-25  Bruno Haible  <bruno@clisp.org>
30745
30746         * modules/readlink: New file.
30747         * modules/xreadlink: Depend on it.
30748         * MODULES.html.sh (func_all_modules): Add readlink.
30749
30750 2003-06-25  Bruno Haible  <bruno@clisp.org>
30751
30752         * m4/readlink.m4: New file.
30753
30754 2003-06-25  Bruno Haible  <bruno@clisp.org>
30755
30756         * lib/readlink.c: New file.
30757
30758 2003-06-22  Karl Berry  <karl@gnu.org>
30759
30760         * config/srclist.txt: update mkinstalldirs from automake.
30761         * config/mkinstalldirs: update.
30762
30763 2003-06-22  Bruno Haible  <bruno@clisp.org>
30764
30765         Portability to mingw32.
30766         * m4/ssize_t.m4: New file, from GNU gettext.
30767         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
30768         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
30769
30770 2003-06-22  Bruno Haible  <bruno@clisp.org>
30771
30772         * modules/safe-read: Add m4/ssize_t.m4.
30773         * modules/xreadlink: Add m4/ssize_t.m4.
30774
30775 2003-06-20  Bruno Haible  <bruno@clisp.org>
30776
30777         Assume C89, so PARAMS isn't needed.
30778         * lib/unicodeio.h (PARAMS): Remove.
30779         * lib/unicodeio.c: Don't use PARAMS.
30780
30781 2003-06-18  Karl Berry  <karl@gnu.org>
30782
30783         * config/config.{guess,sub}: update from prep.
30784
30785 2003-06-18  Jim Meyering  <jim@meyering.net>
30786
30787         Merge changes from coreutils.
30788         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
30789         Remove explicit declarations of xmalloc and realloc.
30790         Include xalloc.h.
30791         (read_utmp): Remove anachronistic cast of xmalloc.
30792
30793 2003-06-17  Paul Eggert  <eggert@twinsun.com>
30794
30795         Assume C89, so PARAMS isn't needed.
30796         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
30797         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
30798         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
30799         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
30800         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
30801         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
30802         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
30803         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
30804         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
30805         lib/xstrtod.h, lib/xstrtol.h: Likewise.
30806         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
30807         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
30808         no longer needed. Anyway, config.h should always be included before any
30809         other file.
30810
30811 2003-06-11  Simon Josefsson  <jas@extundo.com>
30812
30813         * modules/sysexits: New file.
30814         * MODULES.html.sh (func_all_modules): Add sysexits.
30815
30816 2003-06-11  Simon Josefsson  <jas@extundo.com>
30817
30818         * lib/sysexit_.h: New file.
30819
30820 2003-06-11  Derek Price  <derek@ximbiot.com>
30821
30822         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
30823         necessary.
30824
30825 2003-06-11  Bruno Haible  <bruno@clisp.org>
30826
30827         * m4/sysexits.m4: New file.
30828
30829 2003-06-10  Simon Josefsson  <jas@extundo.com>
30830
30831         * lib/argp.h: New file, from glibc.
30832         * lib/argp-ba.c: New file, from glibc.
30833         * lib/argp-eexst.c: New file, from glibc.
30834         * lib/argp-fmtstream.c: New file, from glibc.
30835         * lib/argp-fmtstream.h: New file, from glibc.
30836         * lib/argp-fs-xinl.c: New file, from glibc.
30837         * lib/argp-help.c: New file, from glibc.
30838         * lib/argp-namefrob.h: New file, from glibc.
30839         * lib/argp-parse.c: New file, from glibc.
30840         * lib/argp-pv.c: New file, from glibc.
30841         * lib/argp-pvh.c: New file, from glibc.
30842         * lib/argp-xinl.c: New file, from glibc.
30843
30844 2003-06-10  Simon Josefsson  <jas@extundo.com>
30845
30846         * modules/strchrnul: New file.
30847
30848 2003-06-10  Simon Josefsson  <jas@extundo.com>
30849
30850         * modules/argp: New file.
30851
30852 2003-06-10  Simon Josefsson  <jas@extundo.com>
30853
30854         * m4/strchrnul.m4: New file.
30855
30856 2003-06-10  Simon Josefsson  <jas@extundo.com>
30857
30858         * lib/strchrnul.h: New file.
30859         * lib/strchrnul.c: New file.
30860
30861 2003-06-10  Bruno Haible  <bruno@clisp.org>
30862
30863         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
30864
30865 2003-06-07  Karl Berry  <karl@gnu.org>
30866
30867         * config/config.{guess,sub}: update from prep.
30868
30869 2003-06-07  Jim Meyering  <jim@meyering.net>
30870
30871         * modules/strtod: Use $(...) notation, not @...@ for
30872         AC_REPLACE'd variables.
30873         * modules/localcharset: Likewise.
30874
30875 2003-06-07  Jim Meyering  <jim@meyering.net>
30876
30877         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
30878         in place of my name in the copyright comment.
30879         Remove definition and uses of __P.
30880
30881         From coreutils.
30882         * lib/stat.c: Don't declare xmalloc explicitly.
30883         Instead, include "xalloc.h".
30884         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
30885         xrealloc, and xcalloc return values.
30886         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
30887         Improve comment.
30888         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
30889
30890 2003-06-07  Bruno Haible  <bruno@clisp.org>
30891
30892         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
30893         avoid AC_CONFIG_LINKS.
30894         * modules/fnmatch (Makefile.am): Use explicit creation rule for
30895         fnmatch.h, to avoid AC_CONFIG_LINKS.
30896         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
30897
30898 2003-06-07  Bruno Haible  <bruno@clisp.org>
30899
30900         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
30901         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
30902         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
30903         directory.
30904         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
30905         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
30906         directory.
30907
30908 2003-06-06  Jim Meyering  <jim@meyering.net>
30909
30910         Merge from coreutils.
30911         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
30912         Consolidate declarations and initializations of *_base* locals.
30913
30914         Merge from coreutils.
30915         This avoids a core dump on systems without GNU putenv,
30916         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
30917         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
30918         (unsetenv): New static function, from GNU libc.
30919         (rpl_putenv): Use it.
30920
30921         * lib/modechange.c: Remove trailing blanks.
30922
30923         Merge from coreutils.
30924         * lib/fsusage.c: Remove declaration of statfs.
30925         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
30926
30927         * lib/posixtm.c: Include <stdbool.h> unconditionally.
30928
30929 2003-06-06  Jim Meyering  <jim@meyering.net>
30930
30931         * lib/stdbool_.h: Renamed from stdbool.h.in.
30932
30933 2003-06-06  Jim Meyering  <jim@meyering.net>
30934             Bruno Haible  <bruno@clisp.org>
30935
30936         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
30937         Adjust Makefile.am snippet not to redirect directly to target.
30938         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
30939
30940 2003-06-05  Paul Eggert  <eggert@twinsun.com>
30941
30942         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
30943         mismatch, look in future quarters as well as past.  This fixes a
30944         bug when processing fall-backwards gaps immediately after a long
30945         period of daylight-saving time.
30946
30947         * lib/mktime.c: Assume freestanding C89 or better.
30948         (HAVE_LIMITS_H): Remove.  Assume it's 1.
30949         (__P): Remove; not used.
30950         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
30951         (mktime, not_equal_tm, print_tm, check_result,
30952         main): Use prototypes.  Use const * where appropriate.
30953         (main): Fix typo in testing code that uncovered by above changes.
30954         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
30955
30956 2003-06-04  Paul Eggert  <eggert@twinsun.com>
30957
30958         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
30959         locale.h, localeconv.  This merges changes from coreutils.
30960
30961         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
30962         It can be removed after the next Autoconf is released.
30963         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
30964         needed.
30965
30966 2003-06-04  Paul Eggert  <eggert@twinsun.com>
30967
30968         * lib/mktime.c: Fix Debian bug 177940
30969         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
30970         (localtime_offset): Now long int, not time_t, because we want it
30971         to be guaranteed to be signed.  All uses changed.
30972         (__mktime_internal): If overflow would occur when adding offset,
30973         don't add it.
30974
30975         Merge 'human' changes from coreutils.  Rewrite to support
30976         locale-specific notations like thousands separators.
30977         * lib/human.c: Simplify authorship notice.
30978         Include human.h immediately after config.h.
30979         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
30980         <limits.h>: Do not include, since human.h does.
30981         (SIZE_MAX, UINTMAX_MAX): New macros.
30982         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
30983         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
30984         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
30985         (power_letter): Renamed from suffixes.
30986         (generate_suffix_backwards): Remove.
30987         (adjust_value): Now takes int style (because of human.h changes)
30988         and long double value (for greater precision on some platforms).
30989         (group_number): New function.
30990         (human_readable): Use it.  Use integer options, not enum.
30991         Put the options before the sizes in the arg list.
30992         Support all the new options.
30993         The old human_readable function has been removed;
30994         use inttostr.h instead.
30995         (human_readable, default_block_size, humblock):
30996         Use uintmax_t, not int, for block sizes.
30997         (human_readable_inexact, block_size_types): Remove.
30998         (block_size_opts): New constant.
30999         (human_options): Renamed from human_block_size, with new signature
31000         that allows block sizes up to UINTMAX_MAX.  All callers changed.
31001         * lib/human.h: Add copyright and authorship notice.
31002         Include <limits.h> and <stdbool.h> unconditionally.
31003         (PARAMS): Remove.  All uses removed.
31004         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
31005         (enum human_inexact_style): Remove tag; now a nameless enum.
31006         (human_floor, human_ceiling, human_round_to_even): Now have
31007         values 2, 0, 1 rather than -1, 1, 0.
31008         (human_group_digits, human_suppress_point_zero, human_autoscale,
31009         human_base_1024, human_SI, human_B): New constants.
31010         (human_readable_inexact, human_block_size): Remove.
31011         (human_readable): Size args are now uintmax_t, not int.
31012         (human_options): New decl.
31013
31014         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
31015         unnecessary now that we assume C89 or better.  This change
31016         imported from coreutils.
31017
31018         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
31019         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
31020         in the 2003-05-30 sync from glibc.
31021
31022         .h files should stand alone, but we shouldn't include <sys/types.h>
31023         if we can get away with just <stddef.h>.
31024
31025         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
31026         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
31027         rather than <sys/types.h>, as we merely need size_t.
31028         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
31029         to get size_t.
31030         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
31031         Include <stdio.h>, to get FILE.
31032         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
31033         memcasecmp.h has included <stddef.h> and all we need is size_t.
31034         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
31035         our interface, instead of including <sys/types.h>
31036
31037 2003-06-04  Paul Eggert  <eggert@twinsun.com>
31038
31039         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
31040         now, as glibc mktime is buggy on non-glibc systems.
31041
31042 2003-06-03  Karl Berry  <karl@gnu.org>
31043
31044         * config/config.sub: update from prep.
31045
31046 2003-06-02  Paul Eggert  <eggert@twinsun.com>
31047
31048         [from coreutils]
31049         Fix some minor time-related bugs with POSIX time arguments.
31050         Some valid time stamps were being rejected (notably -1, and
31051         time stamps before 1900 on 64-bit hosts).  And some invalid
31052         time stamps were being accepted, e.g. September 31.
31053
31054         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
31055         that we can return (time_t) -1 successfully.
31056         * lib/posixtm.c: Likewise.
31057         [HAVE_STDBOOL_H]: Include <stdbool.h>.
31058         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
31059         (t): Remove static var.
31060         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
31061         of static var.  All uses changed.
31062         (year): Do not reject years before 1900; they can occur with
31063         64-bit time_t.
31064         (posix_time_parse): Do not check for out-of-range components;
31065         that is now the caller's responsibility, since our checks were
31066         only approximations.
31067         (posixtime): Use mktime to check for out-of-range components,
31068         since it knows them exactly.
31069         If mktime returns (time_t) -1, check whether an error actually occurred
31070         by invoking localtime on -1.
31071         (main) [TEST_POSIXTIME]: Check for input data errors, and report
31072         posixtime failures better.
31073         Improve the test data (in comments only).
31074
31075 2003-06-02  Karl Berry  <karl@gnu.org>
31076
31077         * config/mkinstalldirs (version): new variable.
31078         (--version): new option.
31079         (usage): improve message.
31080
31081 2003-05-30  Karl Berry  <karl@gnu.org>
31082
31083         * lib/mktime.c: update from libc.
31084
31085 2003-05-30  Bruno Haible  <bruno@clisp.org>
31086
31087         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
31088         * config/config.rpath: Upgrade to gettext-0.12.1.
31089
31090 2003-05-30  Bruno Haible  <bruno@clisp.org>
31091
31092         * m4/gettext.m4: Upgrade to gettext-0.12.1.
31093         * m4/nls.m4: New file, from gettext-0.12.1.
31094         * m4/po.m4: New file, from gettext-0.12.1.
31095         * m4/progtest.m4: Upgrade to gettext-0.12.1.
31096
31097 2003-05-30  Bruno Haible  <bruno@clisp.org>
31098
31099         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
31100         * lib/localcharset.h: Likewise.
31101         * lib/localcharset.c: Likewise.
31102
31103 2003-05-29  Karl Berry  <karl@gnu.org>
31104
31105         * config/config.rpath: update from gettext.
31106
31107 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31108
31109         Assume the headers required for C89 freestanding compilers.
31110         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
31111         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
31112         * m4/human.m4 (gl_HUMAN): Likewise.
31113         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
31114         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
31115         * m4/userspec.m4 (gl_USERSPEC): Likewise.
31116         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
31117         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
31118         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
31119
31120 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31121
31122         Assume the headers required for C89 freestanding compilers.
31123         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
31124         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
31125         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
31126         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
31127         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
31128         define, since <limits.h> is guaranteed to do that.
31129         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
31130         * lib/exclude.c: Include <stdbool.h> unconditionally.
31131         * lib/tempname.c: Include <stddef.h> unconditionally.
31132         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
31133         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
31134         <stddef.h> does that.
31135         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
31136         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
31137         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
31138         needed.
31139         * lib/xstrtol.c: Likewise.
31140         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
31141         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
31142
31143         * lib/addext.c (addext): Use assignment rather than cast, to avoid
31144         warnings on some platforms.
31145
31146         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
31147         arbitrarily.
31148
31149 2003-05-26  Jim Meyering  <jim@meyering.net>
31150
31151         Merge in a change from coreutils:
31152         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
31153         that is guaranteed to be `no'.  Use `no_such_member' to indicate
31154         that condition, rather than `-1' which is slightly misleading.
31155         Change the name of the cache variable to have the gl_ prefix.
31156         Prompted by a patch from Richard Dawe for DJGPP.
31157
31158 2003-05-24  Karl Berry  <karl@gnu.org>
31159
31160         * config/config.guess: update from prep.
31161
31162 2003-05-22  Karl Berry  <karl@gnu.org>
31163
31164         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
31165
31166 2003-05-20  Karl Berry  <karl@gnu.org>
31167
31168         * config/config.guess: update from prep.
31169
31170 2003-05-18  Karl Berry  <karl@gnu.org>
31171
31172         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
31173         might actually be set by the user.
31174
31175         * config/depcomp, install-sh, mdate-sh: update from automake.
31176
31177 2003-05-17  Bruno Haible  <bruno@clisp.org>
31178
31179         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
31180         invalid expansion for AC_EGREP_CPP.
31181         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
31182         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
31183         Suggested by Akim Demaille <akim@epita.fr> in
31184         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
31185
31186 2003-05-12  Jim Meyering  <jim@meyering.net>
31187
31188         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
31189         the space-padded-by-default conversion specifiers, %e, %k, %l.
31190
31191 2003-05-12  Bruno Haible  <bruno@clisp.org>
31192
31193         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
31194         the string is longer than 4 KB.
31195
31196 2003-05-11  Karl Berry  <karl@gnu.org>
31197
31198         * config/config.{guess,sub}: update from prep.
31199
31200 2003-05-09  Bruno Haible  <bruno@clisp.org>
31201
31202         * modules/error: Add m4/strerror_r.m4 to file list.
31203
31204 2003-05-03  Bruno Haible  <bruno@clisp.org>
31205
31206         Upgrade to Unicode-4.0.
31207         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
31208         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
31209         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
31210         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
31211         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
31212         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
31213         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
31214         Change width of U+E0100..U+E01EF from 1 to 0.
31215
31216 2003-04-25  Jim Meyering  <jim@meyering.net>
31217
31218         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
31219         of type size_t, not int.
31220
31221 2003-04-25  Bruno Haible  <bruno@clisp.org>
31222
31223         * lib/copy-file.c: Include <stddef.h>, for size_t.
31224
31225 2003-04-21  Paul Eggert  <eggert@twinsun.com>
31226
31227         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
31228         code which expansion is under static control.  Patch imported from
31229         Akim Demaille's patch to Bison; see
31230         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
31231
31232 2003-04-14  Bruno Haible  <bruno@clisp.org>
31233
31234         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
31235
31236 2003-04-11  Jim Meyering  <jim@meyering.net>
31237
31238         Merge changes from Coreutils.
31239
31240         2003-03-22  Jim Meyering  <jim@meyering.net>
31241
31242         * lib/strftime.c (widen): Cast alloca return value to proper type.
31243
31244         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
31245
31246         From GNU libc.
31247         * lib/strftime.c (my_strftime): Handle very large width
31248         specifications for numeric values correctly.  Improve checks for
31249         overflow.
31250
31251         2003-01-19  Jim Meyering  <jim@meyering.net>
31252
31253         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
31254         definitions.
31255         (nl_get_alt_digit) [! defined my_strftime]: Define.
31256         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
31257         _nl_get_alt_digit and _nl_get_walt_digit.
31258
31259         * lib/strftime.c (my_strftime): Merge in locale-related changes from
31260         libc. These changes have no effect outside of _LIBC.
31261
31262 2003-04-10  Bruno Haible  <bruno@clisp.org>
31263
31264         * modules/findprog: New file.
31265         * MODULES.html.sh (func_all_modules): Add it.
31266
31267 2003-04-10  Bruno Haible  <bruno@clisp.org>
31268
31269         * m4/findprog.m4: New file.
31270         * m4/eaccess.m4: New file.
31271
31272 2003-04-10  Bruno Haible  <bruno@clisp.org>
31273
31274         * lib/findprog.h: New file, from GNU gettext.
31275         * lib/findprog.c: New file, from GNU gettext.
31276
31277 2003-04-05  Jim Meyering  <jim@meyering.net>
31278
31279         Merge changes from Coreutils.
31280
31281         * lib/exclude.h (PARAMS): Remove definition and uses.
31282         * lib/exclude.c: Remove uses of `PARAMS'.
31283
31284         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
31285         Add test-cases for DOS filenames. Declare program_name.
31286         (main): Set up program_name.  Patch by Rich Dawe.
31287
31288         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
31289         error from mntctl.
31290         Use mntctl's return value to drive the entry-processing loop, since
31291         we can't rely on the value of the vmt_length member in the last
31292         entry.  On some systems doing so could result in exhausting
31293         virtual memory.  Based in part on a patch from Mike Jetzer.
31294
31295 2003-04-04  Bruno Haible  <bruno@clisp.org>
31296
31297         * modules/linebreak: New file.
31298         * MODULES.html.sh (func_all_modules): Add it.
31299
31300 2003-04-04  Bruno Haible  <bruno@clisp.org>
31301
31302         * m4/linebreak.m4: New file.
31303
31304 2003-04-04  Bruno Haible  <bruno@clisp.org>
31305
31306         * lib/linebreak.h: New file, from GNU gettext.
31307         * lib/linebreak.c: New file, from GNU gettext with slight
31308         modifications.
31309         * lib/lbrkprop.h: New file, from GNU gettext.
31310
31311 2003-04-03  Bruno Haible  <bruno@clisp.org>
31312
31313         * modules/utf8-ucs4: New file.
31314         * modules/utf16-ucs4: New file.
31315         * modules/ucs4-utf8: New file.
31316         * modules/ucs4-utf16: New file.
31317         * MODULES.html.sh (func_all_modules): Add them.
31318
31319 2003-04-03  Bruno Haible  <bruno@clisp.org>
31320
31321         * m4/utf-ucs4.m4: New file.
31322         * m4/ucs4-utf.m4: New file.
31323
31324 2003-04-03  Bruno Haible  <bruno@clisp.org>
31325
31326         * lib/utf8-ucs4.h: New file, from GNU gettext.
31327         * lib/utf16-ucs4.h: New file, from GNU gettext.
31328         * lib/ucs4-utf8.h: New file, from GNU gettext.
31329         * lib/ucs4-utf16.h: New file, from GNU gettext.
31330
31331 2003-04-02  Bruno Haible  <bruno@clisp.org>
31332
31333         * modules/binary-io: New file.
31334         * MODULES.html.sh (func_all_modules): Add it.
31335
31336 2003-04-02  Bruno Haible  <bruno@clisp.org>
31337
31338         * lib/binary-io.h: New file, from GNU gettext.
31339
31340 2003-04-01  Bruno Haible  <bruno@clisp.org>
31341
31342         * modules/pathname: New file.
31343         * MODULES.html.sh (func_all_modules): Add it.
31344
31345 2003-04-01  Bruno Haible  <bruno@clisp.org>
31346
31347         * lib/pathname.h: New file, from GNU gettext.
31348         * lib/concatpath.c: New file, from GNU gettext.
31349
31350 2003-03-30  Bruno Haible  <bruno@clisp.org>
31351
31352         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
31353
31354 2003-03-30  Bruno Haible  <bruno@clisp.org>
31355
31356         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
31357         function chown() doesn't exist.
31358
31359 2003-03-28  Bruno Haible  <bruno@clisp.org>
31360
31361         * modules/copy-file: New file.
31362         * MODULES.html.sh (func_all_modules): Add it.
31363
31364 2003-03-28  Bruno Haible  <bruno@clisp.org>
31365
31366         * m4/copy-file.m4: New file.
31367
31368 2003-03-28  Bruno Haible  <bruno@clisp.org>
31369
31370         * lib/copy-file.h: New file, from GNU gettext.
31371         * lib/copy-file.c: New file, from GNU gettext.
31372
31373 2003-03-18  Jim Meyering  <jim@meyering.net>
31374
31375         * lib/quote.c (quote_n): Fix typo in comment.
31376
31377 2003-03-18  Bruno Haible  <bruno@clisp.org>
31378
31379         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
31380         checking.
31381         * m4/onceonly_2_57.m4: Likewise.
31382
31383 2003-03-17  Bruno Haible  <bruno@clisp.org>
31384
31385         * m4/onceonly.m4: Require autoconf 2.54 or newer.
31386         (m4_quote): Remove macro.
31387         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
31388
31389 2003-03-14  Jim Meyering  <jim@meyering.net>
31390
31391         Merge changes from Coreutils.
31392         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
31393         to be const, in order to avoid warnings.
31394         (obstack_room): Likewise.
31395         (obstack_empty_p): Likewise.
31396
31397 2003-03-14  Bruno Haible  <bruno@clisp.org>
31398
31399         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
31400         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
31401
31402 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31403
31404         Merge changes from Bison.
31405         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
31406         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
31407         when compiling Bison 1.875's `bitset bset = obstack_alloc
31408         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
31409         * lib/hash.c: Include <stdbool.h> unconditionally.
31410
31411 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31412
31413         * m4/onceonly.m4 (m4_quote): New macro.
31414         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
31415         Quote AC_FOREACH variable-expansions properly.
31416
31417 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31418
31419         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
31420
31421 2003-03-09  Paul Eggert  <eggert@twinsun.com>
31422
31423         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
31424         Reported by Bruce Becker; see:
31425         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
31426
31427 2003-03-03  Paul Eggert  <eggert@twinsun.com>
31428             Bruno Haible  <bruno@clisp.org>
31429
31430         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
31431         Reported by John Hughes, see
31432         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
31433
31434 2003-02-20  Bruno Haible  <bruno@clisp.org>
31435
31436         * MODULES.html.sh (func_all_modules): Add poll.
31437
31438 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31439
31440         * modules/poll: New file.
31441
31442 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31443
31444         * lib/poll_.h: New file.
31445         * lib/poll.c: New file.
31446
31447 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31448
31449         * m4/poll.m4: New file.
31450
31451 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31452
31453         * modules/mathl: New file.
31454
31455 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31456
31457         * lib/mathl.h: New file.
31458         * lib/acosl.c: New file.
31459         * lib/asinl.c: New file.
31460         * lib/atanl.c: New file.
31461         * lib/ceill.c: New file.
31462         * lib/cosl.c: New file.
31463         * lib/expl.c: New file.
31464         * lib/floorl.c: New file.
31465         * lib/frexpl.c: New file.
31466         * lib/ldexpl.c: New file.
31467         * lib/logl.c: New file.
31468         * lib/sincosl.c: New file.
31469         * lib/sinl.c: New file.
31470         * lib/sqrtl.c: New file.
31471         * lib/tanl.c: New file.
31472         * lib/trigl.c: New file.
31473         * lib/trigl.h: New file.
31474
31475 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31476
31477         * m4/mathl.m4: New file.
31478
31479 2003-02-18  Bruno Haible  <bruno@clisp.org>
31480
31481         * MODULES.html.sh (func_all_modules): Add mathl.
31482
31483 2003-02-17  Bruno Haible  <bruno@clisp.org>
31484
31485         * modules/mkdtemp: New module.
31486         * MODULES.html.sh (func_all_modules): Add it.
31487
31488 2003-02-17  Bruno Haible  <bruno@clisp.org>
31489
31490         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
31491
31492 2003-02-17  Bruno Haible  <bruno@clisp.org>
31493
31494         * lib/mkdtemp.h: New file, from GNU gettext.
31495         * lib/mkdtemp.c: New file, from GNU gettext.
31496
31497 2003-02-02  Jim Meyering  <jim@meyering.net>
31498
31499         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
31500         e.g. glibc-2.2.93.
31501
31502 2003-01-31  Bruno Haible  <bruno@clisp.org>
31503
31504         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
31505         'rpl_rename'.
31506         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
31507         'rpl_strnlen'.
31508         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
31509         'rpl_strtod'.
31510         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
31511         'rpl_utime'.
31512
31513 2003-01-31  Bruno Haible  <bruno@clisp.org>
31514
31515         * lib/rename.c: #undef rename before defining rpl_rename.
31516         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
31517
31518 2003-01-30  Bruno Haible  <bruno@clisp.org>
31519
31520         * modules/vasnprintf, modules/vasprintf: New modules.
31521         * MODULES.html.sh (func_all_modules): Add them.
31522
31523 2003-01-30  Bruno Haible  <bruno@clisp.org>
31524
31525         * m4/signed.m4: New file, from GNU gettext.
31526         * m4/longdouble.m4: New file, from GNU gettext.
31527         * m4/wchar_t.m4: New file, from GNU gettext.
31528         * m4/wint_t.m4: New file, from GNU gettext.
31529         * m4/vasnprintf.m4: New file.
31530         * m4/vasprintf.m4: New file.
31531
31532 2003-01-30  Bruno Haible  <bruno@clisp.org>
31533
31534         * lib/printf-args.h: New file, from GNU gettext.
31535         * lib/printf-args.c: New file, from GNU gettext.
31536         * lib/printf-parse.h: New file, from GNU gettext.
31537         * lib/printf-parse.c: New file, from GNU gettext.
31538         * lib/vasnprintf.h: New file, from GNU gettext.
31539         * lib/vasnprintf.c: New file, from GNU gettext.
31540         * lib/asnprintf.c: New file, from GNU gettext.
31541         * lib/vasprintf.h: New file, from GNU gettext with modifications.
31542         * lib/vasprintf.c: New file, from GNU gettext.
31543         * lib/asprintf.c: New file, from GNU gettext.
31544
31545 2003-01-29  Bruno Haible  <bruno@clisp.org>
31546
31547         * modules/stpncpy: New module.
31548         * MODULES.html.sh (func_all_modules): Add it.
31549
31550 2003-01-29  Bruno Haible  <bruno@clisp.org>
31551
31552         * m4/stpncpy.m4: New file.
31553
31554 2003-01-29  Bruno Haible  <bruno@clisp.org>
31555
31556         * lib/stpncpy.h: New file, from GNU gettext with modifications.
31557         * lib/stpncpy.c: New file, from GNU gettext with modifications.
31558
31559 2003-01-28  Bruno Haible  <bruno@clisp.org>
31560
31561         * modules/c-ctype: New module.
31562         * MODULES.html.sh (func_all_modules): Add it.
31563
31564 2003-01-28  Bruno Haible  <bruno@clisp.org>
31565
31566         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
31567         Paul Eggert.
31568         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
31569         Paul Eggert.
31570
31571 2003-01-27  Bruno Haible  <bruno@clisp.org>
31572
31573         * modules/xsetenv: New module.
31574         * MODULES.html.sh (func_all_modules): Add it.
31575
31576 2003-01-27  Bruno Haible  <bruno@clisp.org>
31577
31578         * lib/xsetenv.h: New file, from GNU gettext.
31579         * lib/xsetenv.c: New file, from GNU gettext.
31580
31581 2003-01-23  Jim Meyering  <jim@meyering.net>
31582
31583         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
31584         from working on systems without dirfd (at least Irix and OSF1/Tru64).
31585
31586 2003-01-23  Bruno Haible  <bruno@clisp.org>
31587
31588         * modules/minmax: New module.
31589         * MODULES.html.sh (func_all_modules): Add it.
31590
31591 2003-01-23  Bruno Haible  <bruno@clisp.org>
31592
31593         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
31594         Eggert.
31595
31596 2003-01-22  Bruno Haible  <bruno@clisp.org>
31597
31598         * modules/exit: New module.
31599         * MODULES.html.sh (func_all_modules): Add it.
31600
31601 2003-01-22  Bruno Haible  <bruno@clisp.org>
31602
31603         * lib/exit.h: New file, from GNU gettext.
31604
31605 2003-01-19  Bruno Haible  <bruno@clisp.org>
31606
31607         * gnulib-tool: Recognize option --extract-maintainer.
31608         (func_get_maintainer): New function.
31609         * modules/*: Add Maintainer entry.
31610
31611 2003-01-16  Jim Meyering  <jim@meyering.net>
31612
31613         * m4/regex.m4: The `regex' struct is both input and output.
31614         Initialize it before each use.  Patch by Tim Waugh.
31615
31616 2003-01-16  Bruno Haible  <bruno@clisp.org>
31617
31618         * MODULES.html.sh: Add a table of contents. Add the module name as
31619         leftmost column. Add hyperlinks.
31620
31621 2003-01-15  Bruno Haible  <bruno@clisp.org>
31622
31623         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
31624
31625 2003-01-15  Bruno Haible  <bruno@clisp.org>
31626
31627         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
31628         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
31629         suffix.
31630
31631 2003-01-15  Bruno Haible  <bruno@clisp.org>
31632
31633         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
31634
31635 2003-01-15  Bruno Haible  <bruno@clisp.org>
31636
31637         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
31638         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
31639
31640 2003-01-14  Jim Meyering  <jim@meyering.net>
31641
31642         * lib/same.c (same_name): Tweak a comment.
31643
31644 2003-01-14  Bruno Haible  <bruno@clisp.org>
31645
31646         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
31647         when a string comparison is sufficient.
31648
31649 2003-01-14  Bruno Haible  <bruno@clisp.org>
31650
31651         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
31652         'unsigned int'.
31653
31654 2003-01-14  Bruno Haible  <bruno@clisp.org>
31655
31656         * lib/hash-pjw.c: Add comment about low quality of this function.
31657
31658 2003-01-13  Bruno Haible  <bruno@clisp.org>
31659
31660         * modules/stpcpy: Distribute lib/stpcpy.h.
31661         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
31662
31663 2003-01-13  Bruno Haible  <bruno@clisp.org>
31664
31665         * modules/*: Add a description.
31666         * modules/strpbrk: Fix Makefile.am snippet.
31667         * modules/strtoimax: Fix dependencies.
31668         * modules/strtoumax: Likewise.
31669
31670 2003-01-13  Bruno Haible  <bruno@clisp.org>
31671
31672         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
31673         * modules/alloca (Makefile.am): All object files depend on alloca.h.
31674         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
31675
31676 2003-01-13  Bruno Haible  <bruno@clisp.org>
31677
31678         * gnulib-tool (func_create_testdir): Store config/* files in the main
31679         directory.
31680         * config.rpath: Move to ...
31681         * config/config.rpath: ... here.
31682         * modules/gettext: Contains config/config.rpath, not config.rpath.
31683         * modules/iconv: Likewise.
31684
31685 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31686
31687         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31688         to avoid collisions with libcurses and libreadline.
31689
31690         * m4/getstr.m4: Remove.
31691         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
31692
31693 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31694
31695         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31696         to avoid collisions with libcurses and libreadline.
31697
31698         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
31699         * lib/getstr.h, getstr.c: Remove.
31700         * lib/getline.c: Include "getline.h", to check interface.
31701         Move body of old getstr.c here: this defines MIN_CHUNK and
31702         declares getdelim2, which is renamed from getstr.
31703         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
31704
31705         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
31706         All uses changed.
31707         * lib/linebuffer.h: Likewise.
31708         (readline): Remove backward-compatibility macro.
31709
31710 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31711
31712         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31713         to avoid collisions with libcurses and libreadline.
31714         * getstr: Remove.
31715         * MODULES.html.sh: Remove getstr.
31716         * modules/getline: Depend on unlocked-io, not getstr.
31717
31718 2003-01-12  Jim Meyering  <jim@meyering.net>
31719
31720         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
31721
31722 2003-01-10  Bruno Haible  <bruno@clisp.org>
31723
31724         * modules/alloca: Change Makefile.am requirements. Simplify Include
31725         requirements. Add lib/alloca_.h to file list.
31726
31727 2003-01-10  Bruno Haible  <bruno@clisp.org>
31728
31729         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
31730
31731 2003-01-10  Bruno Haible  <bruno@clisp.org>
31732
31733         * lib/alloca_.h: New file.
31734         * lib/getdate.y: Unconditionally include alloca.h.
31735         * lib/makepath.c: Likewise.
31736         * lib/setenv.c: Likewise.
31737         * lib/userspec.c: Likewise.
31738
31739 2003-01-09  Karl Berry  <karl@gnu.org>
31740
31741         * MODULES.html.sh: include `dirname $0` in PATH, to find
31742         gnulib-tool.
31743
31744 2003-01-09  Bruno Haible  <bruno@clisp.org>
31745
31746         * modules/stdbool: Change configure.ac, Makefile.am requirements.
31747         Simplify Include requirements. Add lib/stdbool.h.in to file list.
31748
31749 2003-01-09  Bruno Haible  <bruno@clisp.org>
31750
31751         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
31752
31753 2003-01-09  Bruno Haible  <bruno@clisp.org>
31754
31755         * lib/stdbool.h.in: New file.
31756
31757 2003-01-09  Bruno Haible  <bruno@clisp.org>
31758
31759         * gnulib-tool (func_all_modules): Ignore files ending in ~.
31760         * MODULES.html.sh: Likewise.
31761
31762 2003-01-08  Jim Meyering  <jim@meyering.net>
31763
31764         * lib/full-write.c: Undefine and define-away `const' after inclusion
31765         of errno.h, not before.  Suggestion from Bruno Haible.
31766
31767 2003-01-08  Bruno Haible  <bruno@clisp.org>
31768
31769         * modules/full-read: Depend on full-write.
31770
31771 2003-01-08  Bruno Haible  <bruno@clisp.org>
31772
31773         * lib/safe-read.c: Include specification header first, to ensure its
31774         selfcontainedness.
31775         * lib/full-write.c: Likewise.
31776
31777 2003-01-07  Jim Meyering  <jim@meyering.net>
31778
31779         * lib/full-write.c: Rework so that it may serve to define full_read,
31780         too.
31781         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
31782
31783 2003-01-07  Bruno Haible  <bruno@clisp.org>
31784
31785         * lib/strtoimax.c: Include <stdint.h> as an alternative to
31786         <inttypes.h>.
31787         * lib/xstrtol.h: Likewise.
31788         * lib/xstrtoimax.c: Likewise.
31789         * lib/xstrtoumax.c: Likewise.
31790         * lib/human.h: Likewise.
31791
31792         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
31793         on systems that have <inttypes.h> but not <stdint.h>.
31794
31795 2003-01-07  Bruno Haible  <bruno@clisp.org>
31796
31797         * MODULES.html.sh: Add copyright notice.
31798         (missed_files): Omit CVS directory entries.
31799         (func_module): Make it work with sed-3.02.
31800         * MODULES.txt: Remove file.
31801
31802 2003-01-06  Jim Meyering  <jim@meyering.net>
31803
31804         * lib/version-etc.c: Update year in translatable copyright string.
31805
31806 2003-01-03  Karl Berry  <karl@gnu.org>
31807
31808         * config/config.{guess,sub}: update from prep.
31809
31810 2003-01-02  Karl Berry  <karl@gnu.org>
31811
31812         * doc/COPYING.DOC: belatedly updated to 1.2.
31813
31814 2003-01-01  Karl Berry  <karl@gnu.org>
31815
31816         * gnulib-tool (func_verify_module): report module name $module in
31817         error message, not $1.
31818         * gnulib-tool (create-testdir): don't complain if destdir couldn't
31819         be created, only if it doesn't exist.
31820         * gnulib-tool (last_checkin_date): don't expand the $Date here.
31821
31822 2002-12-31  Paul Eggert  <eggert@twinsun.com>
31823
31824         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
31825
31826 2002-12-31  Paul Eggert  <eggert@twinsun.com>
31827
31828         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
31829         memcmp if strcoll doesn't work.
31830
31831 2002-12-31  Bruno Haible  <bruno@clisp.org>
31832
31833         * lib/utime.c (utime_null): No need to call ftruncate if the file was
31834         nonempty.
31835
31836 2002-12-31  Bruno Haible  <bruno@clisp.org>
31837
31838         * lib/memcoll.c (STRCOLL): New macro.
31839         (memcoll): Use it.
31840
31841 2002-12-31  Bruno Haible  <bruno@clisp.org>
31842
31843         * lib/localcharset.h: New file.
31844         * lib/localcharset.c: Include it.
31845         * lib/unicodeio.c: Likewise.
31846
31847 2002-12-31  Bruno Haible  <bruno@clisp.org>
31848
31849         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
31850         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
31851
31852 2002-12-31  Bruno Haible  <bruno@clisp.org>
31853
31854         * lib/getline.h: Include <stddef.h>, for size_t.
31855
31856         * lib/unicodeio.h: Include <stddef.h>, for size_t.
31857         * lib/unicodeio.c: Don't include <stddef.h>.
31858
31859 2002-12-31  Bruno Haible  <bruno@clisp.org>
31860
31861         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
31862         HAVE_TM_ZONE.
31863
31864 2002-12-24  Karl Berry  <karl@gnu.org>
31865
31866         * config/config.guess: update from prep.
31867
31868 2002-12-24  Bruno Haible  <bruno@clisp.org>
31869
31870         General infrasructure.
31871         * m4/README: Rewritten.
31872         * m4/onceonly.m4: New file.
31873         * m4/onceonly_2_57.m4: New file.
31874
31875         Module atexit.
31876         * m4/atexit.m4: New file.
31877
31878         Module strtod.
31879         * m4/strtod.m4: New file.
31880
31881         Module strtol.
31882         * m4/strtol.m4: New file.
31883
31884         Module strtoul.
31885         * m4/strtoul.m4: New file.
31886
31887         Module memchr.
31888         * m4/memchr.m4: New file.
31889
31890         Module memcmp.
31891         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
31892         (jm_FUNC_MEMCMP): Invoke it.
31893
31894         Module memcpy.
31895         * m4/memcpy.m4: New file.
31896
31897         Module memmove.
31898         * m4/memmove.m4: New file.
31899
31900         Module memset.
31901         * m4/memset.m4: New file.
31902
31903         Module strcspn.
31904         * m4/strcspn.m4: New file.
31905
31906         Module strpbrk.
31907         * m4/strpbrk.m4: New file.
31908
31909         Module strstr.
31910         * m4/strstr.m4: New file.
31911
31912         Module strerror.
31913         * m4/strerror.m4: New file.
31914
31915         Module mktime.
31916         * m4/mktime.m4: Renamed from jm-mktime.m4.
31917         (gl_PREREQ_MKTIME): New macro.
31918         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
31919
31920         Module malloc.
31921         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
31922         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
31923         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
31924
31925         Module realloc.
31926         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
31927         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
31928         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
31929
31930         Module strftime.
31931         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
31932         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
31933         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
31934         gl_TM_GMTOFF.
31935         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
31936
31937         Module xalloc.
31938         * m4/xalloc.m4: New file.
31939
31940         Module alloca.
31941         * m4/alloca.m4: New file.
31942
31943         Module putenv.
31944         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
31945         (jm_FUNC_PUTENV): Invoke it.
31946
31947         Module setenv.
31948         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
31949         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
31950         when invoked twice.
31951         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
31952         gt_FUNC_SETENV.
31953
31954         Module memrchr.
31955         * m4/memrchr.m4: New file.
31956
31957         Module stpcpy.
31958         * m4/stpcpy.m4: New file.
31959
31960         Module strcase.
31961         * m4/strcase.m4: New file.
31962
31963         Module strdup.
31964         * m4/strdup.m4: New file.
31965
31966         Module strnlen.
31967         * m4/strnlen.m4: New file.
31968
31969         Module strndup.
31970         * m4/strndup.m4: New file.
31971
31972         Module xstrtod.
31973         * m4/xstrtod.m4: New file.
31974
31975         Module xstrtol.
31976         * m4/xstrtol.m4: New file.
31977
31978         Module getdate.
31979         * m4/getdate.m4: New file.
31980
31981         Module unlocked-io.
31982         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
31983         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
31984         * m4/jm-glibc-io.m4n: Remove file.
31985
31986         Module long-options.
31987         * m4/long-options.m4: New file.
31988
31989         Module md5.
31990         * m4/md5.m4: New file.
31991
31992         Module sha.
31993         * m4/sha.m4: New file.
31994
31995         Module getstr.
31996         * m4/getstr.m4: New file.
31997
31998         Module getline.
31999         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
32000         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
32001         <sys/types.h>, for size_t. Use the function name gnu_getline, not
32002         simply getline. Infoke gl_PREREQ_GETLINE.
32003
32004         Module obstack.
32005         * m4/obstack.m4: New file.
32006
32007         Module hash.
32008         * m4/hash.m4: New file.
32009
32010         Module readtokens.
32011         * m4/readtokens.m4: New file.
32012
32013         Module strverscmp.
32014         * m4/strverscmp.m4: New file.
32015
32016         Module stdbool.
32017         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
32018         OSF/1.
32019
32020         Module strtoll.
32021         * m4/strtoll.m4: New file.
32022
32023         Module strtoull.
32024         * m4/strtoull.m4: New file.
32025
32026         Module strtoimax.
32027         * m4/strtoimax.m4: New file.
32028
32029         Module strtoumax.
32030         * m4/strtoumax.m4: New file.
32031
32032         Module xstrtoimax.
32033         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
32034         jm_AC_PREREQ_XSTRTOIMAX.
32035         Moved the strtol prerequisites to strtol.m4.
32036         Moved the strtoll prerequisites to strtoll.m4.
32037         Moved the strtoimax prerequisites to strtoimax.m4.
32038
32039         Module xstrtoumax.
32040         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
32041         jm_AC_PREREQ_XSTRTOUMAX.
32042         Moved the strtoul prerequisites to strtoul.m4.
32043         Moved the strtoull prerequisites to strtoull.m4.
32044         Moved the strtoumax prerequisites to strtoumax.m4.
32045
32046         Module chown.
32047         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
32048         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
32049
32050         Module dup2.
32051         * m4/dup2.m4: New file.
32052
32053         Module ftruncate.
32054         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
32055         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
32056
32057         Module getgroups.
32058         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
32059         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
32060
32061         Module gettimeofday.
32062         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
32063         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
32064         gl_PREREQ_GETTIMEOFDAY.
32065
32066         Module mkdir.
32067         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
32068         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
32069
32070         Module mkstemp.
32071         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
32072         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
32073         jm_AC_TYPE_UINTMAX_T.
32074         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
32075
32076         Module stat.
32077         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
32078         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
32079
32080         Module lstat.
32081         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
32082         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
32083
32084         Module timespec.
32085         * m4/timespec.m4 (gl_TIMESPEC): New macro.
32086         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
32087         * m4/st_mtim.m4: Indentation.
32088
32089         Module nanosleep.
32090         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
32091         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
32092         gl_PREREQ_NANOSLEEP.
32093
32094         Module regex.
32095         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
32096         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
32097         (gl_REGEX): New macro.
32098
32099         Module rename.
32100         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
32101         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
32102
32103         Module rmdir.
32104         * m4/rmdir.m4: New file.
32105
32106         Module utime.
32107         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
32108         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
32109         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
32110
32111         Module dirname.
32112         * m4/dirname.m4: New file.
32113
32114         Module getopt.
32115         * m4/getopt.m4: New file.
32116
32117         Module unistd-safer.
32118         * m4/unistd-safer.m4: New file.
32119
32120         Module fnmatch.
32121         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
32122         declaration.
32123         (gl_PREREQ_FNMATCH_EXTRA): New macro.
32124         (gl_FUNC_FNMATCH_POSIX): New macro.
32125         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
32126         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
32127         simply fnmatch.
32128
32129         Module exclude.
32130         * m4/exclude.m4: New file.
32131
32132         Module human.
32133         * m4/human.m4: New file.
32134
32135         Module acl.
32136         * m4/acl.m4: Nop.
32137
32138         Module backupfile.
32139         * m4/backupfile.m4: New file.
32140         * m4/d-ino.m4: Indentation.
32141
32142         Module fsusage.
32143         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
32144         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
32145         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
32146
32147         Module dirfd.
32148         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
32149         requirements.
32150
32151         Module euidaccess.
32152         * m4/euidaccess.m4: New file.
32153
32154         Module file-type.
32155         * m4/file-type.m4: New file.
32156
32157         Module fileblocks.
32158         * m4/fileblocks.m4: New file.
32159
32160         Module filemode.
32161         * m4/filemode.m4: New file.
32162
32163         Module isdir.
32164         * m4/isdir.m4: New file.
32165
32166         Module lchown.
32167         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
32168         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
32169
32170         Module makepath.
32171         * m4/makepath.m4: New file.
32172
32173         Module modechange.
32174         * m4/modechange.m4: New file.
32175
32176         Module mountlist.
32177         * m4/mountlist.m4: New file.
32178         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
32179         Indentation.
32180
32181         Module path-concat.
32182         * m4/path-concat.m4: New file.
32183
32184         Module pathmax.
32185         * m4/pathmax.m4: New file.
32186
32187         Module same.
32188         * m4/same.m4: New file.
32189
32190         Module save-cwd.
32191         * m4/save-cwd.m4: New file.
32192
32193         Module savedir.
32194         * m4/savedir.m4: New file.
32195
32196         Module xgetcwd.
32197         * m4/xgetcwd.m4: New file.
32198         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
32199
32200         Module xreadlink.
32201         * m4/xreadlink.m4: New file.
32202
32203         Module safe-read.
32204         * m4/safe-read.m4: New file.
32205
32206         Module safe-write.
32207         * m4/safe-write.m4: New file.
32208
32209         Module closeout.
32210         * m4/closeout.m4: New file.
32211
32212         Module stdio-safer.
32213         * m4/stdio-safer.m4: New file.
32214
32215         Module getpass.
32216         * m4/getpass.m4: New file.
32217
32218         Module getugroups.
32219         * m4/getugroups.m4: New file.
32220
32221         Module group-member.
32222         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
32223         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
32224
32225         Module idcache.
32226         * m4/idcache.m4: New file.
32227
32228         Module userspec.
32229         * m4/userspec.m4: New file.
32230
32231         Module gettime.
32232         * m4/clock_time.m4: New file.
32233         * m4/gettime.m4: New file.
32234
32235         Module settime.
32236         * m4/settime.m4: New file.
32237
32238         Module posixtm.
32239         * m4/posixtm.m4: New file.
32240
32241         Module gethostname.
32242         * m4/gethostname.m4: New file.
32243
32244         Module canon-host.
32245         * m4/canon-host.m4: New file.
32246
32247         Module gettext.
32248         * m4/codeset.m4: New file, from gettext-0.11.5.
32249         * m4/gettext.m4: New file, from gettext-0.11.5.
32250         * m4/glibc21.m4: New file, from gettext-0.11.5.
32251         * m4/iconv.m4: New file, from gettext-0.11.5.
32252         * m4/intdiv0.m4: New file, from gettext-0.11.5.
32253         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
32254         * m4/inttypes.m4: New file, from gettext-0.11.5.
32255         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
32256         * m4/isc-posix.m4: New file, from gettext-0.11.5.
32257         * m4/lcmessage.m4: New file, from gettext-0.11.5.
32258         * m4/lib-ld.m4: New file, from gettext-0.11.5.
32259         * m4/lib-link.m4: New file, from gettext-0.11.5.
32260         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
32261         * m4/progtest.m4: New file, from gettext-0.11.5.
32262         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
32263         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
32264         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
32265
32266         Module localcharset.
32267         * m4/localcharset.m4: New file.
32268
32269         Module hard-locale.
32270         * m4/hard-locale.m4: New file.
32271
32272         Module mbswidth.
32273         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
32274         onceonly macros.
32275         * m4/mbrtowc.m4: Add comment.
32276
32277         Module memcasecmp.
32278         * m4/memcasecmp.m4: New file.
32279
32280         Module memcoll.
32281         * m4/memcoll.m4: New file.
32282
32283         Module unicodeio.
32284         * m4/unicodeio.m4: New file.
32285
32286         Module rpmatch.
32287         * m4/rpmatch.m4: New file.
32288
32289         Module yesno.
32290         * m4/yesno.m4: New file.
32291
32292         Module exitfail.
32293         * m4/exitfail.m4: New file.
32294
32295         Module c-stack.
32296         * m4/c-stack.m4 (gl_C_STACK): New macro.
32297         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
32298
32299         Module error.
32300         * m4/error.m4 (gl_ERROR): New macro.
32301         (jm_PREREQ_ERROR): Use onceonly macros.
32302
32303         Module fatal.
32304         * m4/fatal.m4: New file.
32305
32306         Module getloadavg.
32307         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
32308         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
32309
32310         Module getpagesize.
32311         * m4/getpagesize.m4: New file.
32312
32313         Module getusershell.
32314         * m4/getusershell.m4: New file.
32315
32316         Module physmem.
32317         * m4/physmem.m4: New file.
32318
32319         Module posixver.
32320         * m4/posixver.m4: New file.
32321
32322         Module quotearg.
32323         * m4/quotearg.m4: New file.
32324
32325         Module quote.
32326         * m4/quote.m4: New file.
32327
32328         Module readutmp.
32329         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
32330
32331         Module sig2str.
32332         * m4/sig2str.m4: New file.
32333
32334         Other.
32335         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
32336         ulonglong.m4.
32337         * m4/intmax_t.m4: New file.
32338         * m4/d-type.m4: Indentation.
32339         * m4/jm-macros.m4: Update.
32340         * m4/prereq.m4 (jm_PREREQ): Update.
32341         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
32342         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
32343         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
32344         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
32345         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
32346         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
32347         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
32348         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
32349         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
32350         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
32351         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
32352         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
32353         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
32354         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
32355         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
32356         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
32357         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
32358         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
32359         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
32360
32361 2002-12-24  Bruno Haible  <bruno@clisp.org>
32362
32363         * MODULES.txt: Update according to m4/ changes.
32364
32365         Module gettext.
32366         * config.rpath: New file, from gettext-0.11.5.
32367
32368         * modules/*: New module descriptions.
32369         * gnulib-tool: New file.
32370         * MODULES.html.sh: New file.
32371
32372 2002-12-21  Karl Berry  <karl@gnu.org>
32373
32374         * doc/fdl.texi: update to version 1.2.
32375
32376 2002-12-19  Karl Berry  <karl@gnu.org>
32377
32378         * config/config.guess: update from prep.
32379
32380 2002-12-18  Bruno Haible  <bruno@clisp.org>
32381
32382         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
32383         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
32384
32385 2002-12-17  Bruno Haible  <bruno@clisp.org>
32386
32387         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
32388         stdlib.h, string.h.
32389
32390 2002-12-17  Bruno Haible  <bruno@clisp.org>
32391
32392         * lib/canon-host.c (strdup): Remove unused declaration.
32393
32394         * lib/fsusage.c: Include full_read.h.
32395         (get_fs_usage): Use full_read instead of safe_read.
32396
32397         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
32398
32399 2002-12-12  Karl Berry  <karl@gnu.org>
32400
32401         * config/config.guess: update from prep.
32402
32403 2002-12-11  Bruno Haible  <bruno@clisp.org>
32404
32405         * m4/setenv.m4: New file, from gettext-0.11.5.
32406
32407 2002-12-11  Bruno Haible  <bruno@clisp.org>
32408
32409         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
32410         not unsetenv().
32411         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
32412         modifications:
32413
32414         2002-12-11  Bruno Haible  <bruno@clisp.org>
32415
32416                 * setenv.c (alloca): Fall back to malloc.
32417                 (freea): New macro.
32418                 (setenv): Use freea() to free memory allocated with alloca().
32419
32420         2002-11-13  Bruno Haible  <bruno@clisp.org>
32421
32422                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
32423                 function declarations.
32424                 * unsetenv.c (unsetenv): Likewise.
32425
32426         2002-03-04  Bruno Haible  <bruno@clisp.org>
32427
32428                 Portability to AIX 4.3.3.
32429                 * unsetenv.c: New file, extracted from setenv.c.
32430                 * setenv.c: Move the unsetenv() function to unsetenv.c.
32431
32432         2001-12-20  Bruno Haible  <bruno@clisp.org>
32433
32434                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
32435                 use malloc instead. For SunOS 4.
32436
32437         2001-12-11  Bruno Haible  <bruno@clisp.org>
32438
32439                 * setenv.c: Declare alloca.
32440                 (compar_fn_t): New typedef.
32441                 (KNOWN_VALUE, STORE_VALUE): Use it.
32442
32443         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
32444         setenv.h.
32445
32446 2002-12-10  Paul Eggert  <eggert@twinsun.com>
32447
32448         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
32449         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
32450         Choose values that are less likely to collide with system fnmatch
32451         options.
32452         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
32453         defined (e.g., a pure POSIX system).
32454         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
32455         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
32456
32457 2002-12-06  Paul Eggert  <eggert@twinsun.com>
32458
32459         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
32460         a pain in practice to deal with generated m4 files.  This change
32461         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
32462
32463         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
32464         and jm-glibc-io.m4, as they are no longer a special case.
32465         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
32466         kludge and the auto-generation stuff.  Check only whether the
32467         functions are declared, not whether they exist, since older hosts
32468         that don't declare the functions can't use the optimization anyway.
32469
32470 2002-12-06  Jim Meyering  <jim@meyering.net>
32471
32472         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
32473
32474         Merge in changes from libc's misc/error.c, in preparation
32475         for the merge of gnulib's changes back into libc.
32476
32477         * lib/error.c (_): Define only if not already defined.
32478         Move definition to follow all #include directives.
32479         Include unlocked-io.h only if !_LIBC.
32480         [_LIBC]: Include <libio/libioP.h>.
32481         [USE_IN_LIBIO]: Include <libio/iolibio.h>
32482         (fflush): Tweak definition to use INTUSE.
32483         (putc): Define.
32484
32485 2002-12-05  Paul Eggert  <eggert@twinsun.com>
32486
32487         * lib/alloca.c [defined emacs]: Include "lisp.h".
32488         (xalloc_die) [defined emacs]: New macro.
32489         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
32490         [! defined emacs]: Include <xalloc.h>.
32491         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
32492         (pointer): Typedef to POINTER_TYPE *.
32493         (malloc): Remove decl; we now always use xmalloc.
32494         (alloca): Use old-style definition, since Emacs needs this.
32495         Check for arithmetic overflow when computing combined size.
32496
32497 2002-12-04  Paul Eggert  <eggert@twinsun.com>
32498
32499         Do not generate unlocked-io.h automatically, since it's easier to
32500         maintain it by hand.
32501
32502         * lib/unlocked-io.h: New file, from GNU diffutils,
32503         but with proper copyright notice and attribution.
32504         * lib/gen-uio: Remove.
32505         * lib/Makefile.am: Add copyright notice.
32506         (libfetish_a_SOURCES): Add unlocked-io.h.
32507         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
32508         (DISTCLEANFILES, io_functions): Remove macros.
32509         (EXTRA_DIST): Remove gen_uio.
32510         (unlocked-io.h): Remove rule.
32511
32512 2002-12-04  Jim Meyering  <jim@meyering.net>
32513
32514         Reflect the fact that stat.c and lstat.c are no longer generated.
32515         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
32516         (DISTCLEANFILES): Likewise.
32517         (EXTRA_DIST): Likewise.
32518         (all_local): Don't depend on stat.c or lstat.c.
32519         (stat.c, lstat.c): Remove rules.
32520         (EXTRA_DIST): Remove xstat.in.
32521
32522         * lib/xstat.in: Remove file.  Contents moved into stat.c.
32523         * lib/stat.c: New file.  Contents mostly from xstat.in.
32524         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
32525         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
32526
32527         * lib/safe-read.c: Rework so that it may serve to define safe_write,
32528         too.
32529         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
32530
32531 2002-12-03  Jim Meyering  <jim@meyering.net>
32532
32533         * lib/safe-read.c, safe-write.c: Change variable names and comments,
32534         but not semantics, to minimize the differences between these two files.
32535         (safe_read): Change comment to mention SAFE_READ_ERROR.
32536
32537         * lib/safe-read.c (IS_EINTR): Define.
32538         (safe_read): Use IS_EINTR in place of in-function cpp directives.
32539
32540 2002-12-02  Jim Meyering  <jim@meyering.net>
32541
32542         * lib/safe-read.c (EINTR): Define.
32543         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
32544         (INT_MAX): Provide fallback.
32545         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
32546
32547         * lib/safe-read.h (SAFE_READ_ERROR): Define.
32548
32549 2002-12-02  Bruno Haible  <bruno@clisp.org>
32550
32551         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
32552         Define, taken from safe-read.c.
32553         (INT_MAX): Provide fallback.
32554         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
32555         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
32556
32557         * lib/safe-read.c (EINTR): Remove definition.
32558         (safe_read): Don't use EINTR if it is absent.
32559
32560 2002-12-01  Jim Meyering  <jim@meyering.net>
32561
32562         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
32563         zero.
32564         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
32565
32566 2002-11-27  Paul Eggert  <eggert@twinsun.com>
32567
32568         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
32569         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
32570         with `if (! (value < limit)) abort ();', for readability.
32571
32572 2002-11-26  Karl Berry  <karl@gnu.org>
32573
32574         * lib/strdup.c: copy from libc again, with jim's ok.
32575         * lib/.cppi-disable: re-add strdup.c
32576
32577 2002-11-25  Karl Berry  <karl@gnu.org>
32578
32579         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
32580         instead of "strtol.c".
32581
32582 2002-11-25  Karl Berry  <karl@gnu.org>
32583
32584         * config/install-sh: update from automake for variable quoting, $0 in
32585         error msgs, etc.
32586
32587         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
32588         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
32589         entry.
32590
32591 2002-11-25  Jim Meyering  <jim@meyering.net>
32592
32593         * lib/mktime.c: Sync from libc, now that it has the latest fix.
32594
32595 2002-11-24  Karl Berry  <karl@gnu.org>
32596
32597         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
32598         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
32599
32600 2002-11-24  Jim Meyering  <jim@meyering.net>
32601
32602         Update from coreutils:
32603
32604         * lib/mktime.c: Merge in changes from libc.
32605
32606         Avoid a link-time failure on some Linux systems.
32607         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
32608         (otherwise).
32609         (__mon_yday): Declare with the STATIC attribute.
32610         (__mktime_internal): Likewise.
32611         Based on a report from Greg Schafer.
32612
32613 2002-11-23  Jim Meyering  <jim@meyering.net>
32614
32615         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
32616         Use `unsigned', not `int', as type of index.
32617
32618         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
32619
32620         * lib/fsusage.c: Remove unneeded parentheses around operands of
32621         `defined'.
32622
32623 2002-11-22  Paul Eggert  <eggert@twinsun.com>
32624
32625         * lib/quotearg.h: Allow multiple inclusion by surrounding with
32626         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
32627         so that we can be included first.
32628         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
32629         * lib/quotearg.c: Include quotearg.h immediately after config.h.
32630         No need to include stddef.h or sys/types.h any more.
32631         Surround local include files with "", not "<>".
32632         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
32633         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
32634         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
32635         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
32636         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
32637         (ISPRINT): Remove; no longer needed now that we assume C89.
32638
32639         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
32640         Preserve errno.
32641
32642         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
32643         quotearg_char): Use SIZE_MAX rather than
32644         (size_t) -1 when we are talking about "infinity".
32645
32646         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
32647
32648 2002-11-22  Paul Eggert  <eggert@twinsun.com>
32649
32650         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
32651         hint that one should use `if (! x) abort ();' rather than `assert
32652         (x);', and anyway it's one less thing to worry about configuring.
32653         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
32654         hash_rehash, hash_insert): Use abort rather than assert.
32655
32656 2002-11-22  Bruno Haible  <bruno@clisp.org>
32657
32658         * lib/safe-read.h: Assume C89. Add comments.
32659         (safe_read): Change return type to size_t.
32660         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
32661         byte counts > SSIZE_MAX correctly.
32662         * lib/safe-write.h: New file.
32663         * lib/safe-write.c: New file.
32664         * lib/full-read.h: New file.
32665         * lib/full-read.c: New file.
32666         * lib/full-write.h: Assume C89. Add comments.
32667         * lib/full-write.c: Include safe-write.h.
32668         (full_write): Rewritten to use safe_write.
32669         Suggested by Jim Meyering and Paul Eggert.
32670
32671 2002-11-21  Jim Meyering  <jim@meyering.net>
32672
32673         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
32674
32675         Merge in changes from the coreutils.
32676
32677         2002-09-25  Paul Eggert  <eggert@twinsun.com>
32678         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
32679         <stdint.h>.
32680         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
32681         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
32682         int.  Work more efficiently if X is the same width as uintmax_t.
32683         Do not compare X to -1, to avoid bogus compiler warning.
32684         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
32685         Don't assume that f_frsize and f_bsize are the same type.
32686
32687         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
32688         warning on FreeBSD.
32689
32690         * lib/makepath.c (make_path): Restore umask *before* creating the final
32691         component.
32692         (make_path): Minor reformatting.
32693
32694         * lib/xmalloc.c: Adjust to work with new autoconf macros,
32695         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
32696         HAVE_MALLOC/HAVE_REALLOC.
32697
32698         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
32699         dummy ones.  At least on GNU/Linux systems, `auto' means something
32700         else.
32701         From Michael Stone.
32702
32703 2002-11-21  Bruno Haible  <bruno@clisp.org>
32704
32705         Remove case insensitive option matching.
32706         * lib/argmatch.h (argcasematch): Remove declaration.
32707         (ARGCASEMATCH): Remove macro.
32708         (__xargmatch_internal): Remove case_sensitive argument.
32709         (XARGMATCH): Update.
32710         (XARGCASEMATCH): Remove macro.
32711         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
32712         case_sensitive argument.
32713         (argcasematch): Remove function.
32714         (__xargmatch_internal): Remove case_sensitive argument.
32715         (main): Use XARGMATCH instead of XARGCASEMATCH.
32716
32717         * lib/xmalloc.c: Change compile-time error message. Add comment about
32718         required autoconf version.
32719
32720 2002-11-20  Paul Eggert  <eggert@twinsun.com>
32721
32722         Merge argmatch cleanups from Bison.  Assume C89.
32723
32724         * lib/argmatch.c: Include config.h here, not in argmatch.h.
32725         Include stdlib.h, for EXIT_FAILURE.
32726         Always include <string.h>, since we assume C89.
32727         (EXIT_FAILURE): Remove pre-C89 bug workaround.
32728         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
32729         Include <stddef.h> instead, since it's all we need for size_t.
32730         (PARAMS): Remove.  All uses removed.
32731         (ARRAY_CARDINALITY): Do not bother to #undef.
32732         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
32733         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
32734         Remove unnecessary parentheses.
32735         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
32736         Insert necessary parentheses.
32737         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
32738         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
32739
32740 2002-11-19  Bruno Haible  <bruno@clisp.org>
32741
32742         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
32743         * lib/mbswidth.h: Include <stddef.h>, for size_t.
32744
32745         * lib/mbswidth.h (PARAMS): Remove macro.
32746         (mbswidth, mbsnwidth): Use ANSI C function declarations.
32747         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
32748
32749         * lib/gcd.h (PARAMS): Remove macro.
32750         (gcd): Use ANSI C function declarations.
32751         * lib/gcd.c (gcd): Likewise.
32752
32753 2002-11-15  Bruno Haible  <bruno@clisp.org>
32754
32755         * lib/strcspn.c: Include <stddef.h>.
32756         (strcspn): Use ANSI C function declaration. Change return type to
32757         size_t. Use NULL.
32758         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
32759         (strpbrk): Use NULL.
32760         * lib/strpbrk.h (PARAMS): Remove macro.
32761         (strpbrk): Use ANSI C function declaration.
32762         * lib/strstr.c: Don't include <sys/types.h>.
32763         * lib/strstr.h (PARAMS): Remove macro.
32764         (strstr): Use ANSI C function declarations.
32765
32766 2002-11-14  Karl Berry  <karl@gnu.org>
32767
32768         * config/mkinstalldirs: `do' on separate line, instead of
32769         `for var; do'.
32770
32771 2002-11-06  Bruno Haible  <bruno@clisp.org>
32772
32773         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
32774         * lib/gcd.c (gcd): Likewise.
32775
32776 2002-11-05  Bruno Haible  <bruno@clisp.org>
32777
32778         * lib/gcd.h: New file, from gettext-0.11.5.
32779         * lib/gcd.c: New file, from gettext-0.11.5.
32780
32781 2002-11-05  Bruno Haible  <bruno@clisp.org>
32782
32783         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32784         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32785         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32786         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32787
32788         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
32789         <libintl.h>.
32790         * lib/makepath.c: Include gettext.h instead of <locale.h> and
32791         <libintl.h>.
32792
32793         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
32794         * lib/human.c: Include gettext.h instead of <libintl.h>.
32795         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
32796         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
32797         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
32798         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
32799         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
32800         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
32801         (textdomain): Remove definition.
32802         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
32803
32804         * lib/long-options.c: Remove include of <libintl.h> and definition of
32805         _.
32806         * lib/same.c: Remove include of <libintl.h> and definition of _.
32807
32808 2002-11-04  Owen Taylor  <otaylor@redhat.com>
32809
32810         * lib/config.charset: A few additions for Solaris.
32811
32812 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
32813
32814         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
32815         * lib/localcharset.c (locale_charset): Declare as extern "C".
32816
32817 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
32818
32819         * lib/config.charset: msdos in uk_UA uses CP1125.
32820
32821 2002-11-04  Bruno Haible  <bruno@clisp.org>
32822
32823         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
32824         * lib/strcase.h: New file, from GNU gettext-0.11.5.
32825         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
32826         * lib/strstr.h: New file, from GNU gettext-0.11.5.
32827         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
32828
32829 2002-11-04  Bruno Haible  <bruno@clisp.org>
32830
32831         * lib/localcharset.c (locale_charset): Don't return an empty string.
32832
32833 2002-11-04  Bruno Haible  <bruno@clisp.org>
32834
32835         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
32836         aliases.
32837
32838 2002-11-04  Bruno Haible  <bruno@clisp.org>
32839
32840         * lib/config.charset: Update for newest glibc. Add canonical names
32841         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
32842
32843 2002-11-04  Bruno Haible  <bruno@clisp.org>
32844
32845         * lib/config.charset: Add support for NetBSD.
32846
32847 2002-11-04  Bruno Haible  <bruno@clisp.org>
32848
32849         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
32850
32851 2002-11-01  Bruno Haible  <bruno@clisp.org>
32852
32853         * configure.in: Add AC_CONFIG_AUX_DIR call.
32854         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
32855         test/Makefile.
32856         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
32857
32858 2002-09-28  Karl Berry  <karl@gnu.org>
32859
32860         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
32861         installed automake until the next release, since changes have been
32862         made.
32863
32864 2002-09-25  Karl Berry  <karl@gnu.org>
32865
32866         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
32867         * lib/getopt*: copy from libc/posix.
32868         * lib/gettext.h: copy from gettext.
32869         * lib/.cppi-disable: add strdup.c, gettext.h.
32870
32871 2002-09-25  Karl Berry  <karl@gnu.org>
32872
32873         * config/srclist.txt: enable gettext.h check.
32874         * config/config.{guess,sub}: update from prep.
32875         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
32876                 from automake 1.6.3.
32877         See srclist*.
32878
32879 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
32880
32881         * regex.c (PATFETCH): Remove the translating fetch.
32882         (PATFETCH_RAW): Rename to PATFETCH.
32883         (set_image_of_range): New fun.
32884         (SET_RANGE_TABLE_WORK_AREA): Use it.
32885         (regex_compile): Don't translate the pattern chars so eagerly.
32886         Only do it when inserting an `exactn' bytecode or when handling
32887         a char-range.
32888         (mutually_exclusive_p): Avoid empty statement.
32889
32890 2002-07-06  Jim Meyering  <meyering@lucent.com>
32891
32892         * m4/README: Don't mention Makefile.am.in.
32893         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
32894
32895 2002-07-01  Jim Meyering  <meyering@lucent.com>
32896
32897         * lib/c-stack.c: Include sys/time.h.
32898         From Volker Borchert.
32899
32900 2002-06-26  Paul Eggert  <eggert@twinsun.com>
32901
32902         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
32903
32904 2002-06-26  Paul Eggert  <eggert@twinsun.com>
32905
32906         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
32907         New macro.  Use it uniformly instead of
32908         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
32909         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
32910         reported by Vin Shelton.
32911
32912 2002-06-22  Paul Eggert  <eggert@twinsun.com>
32913
32914         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
32915         Do not assume SA_SIGINFO behavior.
32916         Bug reported by Jim Meyering on NetBSD 1.5.2.
32917
32918 2002-06-22  Jim Meyering  <meyering@lucent.com>
32919
32920         * m4/c-stack.m4: New file, from diffutils-2.8.2.
32921         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
32922
32923         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
32924         now that configure.ac uses AC_GNU_SOURCE.
32925         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
32926         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
32927
32928         Update to latest tools.  Suggestions from Paul Eggert.
32929         * m4/stdbool.m4: New file, from diffutils-2.8.2.
32930         * m4/gnu-source.m4: Update from diffutils-2.8.2.
32931         * m4/fnmatch.m4: Likewise.
32932         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
32933         to AC_HEADER_STDBOOL
32934
32935 2002-06-22  Jim Meyering  <meyering@lucent.com>
32936
32937         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
32938         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
32939
32940 2002-06-22  Jim Meyering  <meyering@lucent.com>
32941
32942         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
32943
32944         * lib/exitfail.c, exitfail.h: Likewise.
32945         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
32946
32947         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
32948         of fnmatch.h.
32949         (EXTRA_DIST): Add fnmatch_loop.c.
32950         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
32951
32952         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
32953         * lib/fnmatch.c: Update from diffutils-2.8.2.
32954         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
32955         * lib/fnmatch.h: Remove file.
32956
32957 2002-06-21  Jim Meyering  <meyering@lucent.com>
32958
32959         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
32960         * m4/mbrtowc.m4: Likewise.
32961
32962         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
32963         * m4/mbswidth.m4: Reflect name change:
32964         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
32965         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
32966
32967         * m4/lib-link.m4: Update from gettext-0.11.2.
32968         * m4/gettext.m4: Likewise.
32969
32970         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
32971         From Alfred M. Szmidt.
32972
32973 2002-06-18  Paul Eggert  <eggert@twinsun.com>
32974
32975         * lib/file-type.h: Report an error if neither S_ISREG nor
32976         S_IFREG is defined, instead of using a test specific to glibc
32977         2.2.  This should be safe, since POSIX requires S_ISREG and
32978         Unix Version 7 had S_IFREG.  We don't need to check for
32979         <sys/types.h> since we don't use any symbols that it defines.
32980
32981 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
32982
32983         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
32984         $@-t, so that each temporary file name is unique and valid in the first
32985         8 characters, for operation under DOS.
32986
32987 2002-06-15  Paul Eggert  <eggert@twinsun.com>
32988
32989         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
32990
32991 2002-06-15  Jim Meyering  <meyering@lucent.com>
32992
32993         Work even with DJGPP 2.03, which lacks support for symlinks.
32994         From Richard Dawe.
32995         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
32996         is defined.
32997         * lib/lchown.c (S_ISLNK): Likewise.
32998
32999 2002-06-15  Jim Meyering  <meyering@lucent.com>
33000
33001         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
33002         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
33003         have been included before this file.
33004
33005 2002-06-14  Jim Meyering  <meyering@lucent.com>
33006
33007         * lib/file-type.h: Use the version from diffutils-2.8.2.
33008         * lib/file-type.c: Likewise.
33009
33010 2002-06-07  Jim Meyering  <meyering@lucent.com>
33011
33012         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
33013         They're needed at least for NetBSD 1.5.2.
33014         ($statxfs_includes): Include those same headers.
33015         ($statxfs_includes): Include sys/vfs.h if available.
33016         ($statxfs_includes): Likewise for sys/statvfs.h.
33017         Check for the following members in both structs statfs and statvfs:
33018         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
33019
33020 2002-06-01  Jim Meyering  <meyering@lucent.com>
33021
33022         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
33023         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
33024
33025 2002-05-28  Jim Meyering  <meyering@lucent.com>
33026
33027         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
33028         Reported by Volker Borchert.
33029
33030 2002-05-27  Jim Meyering  <meyering@lucent.com>
33031
33032         Fix a problem seen only on nonconforming systems whereby ls.c's
33033         use of localtime, and then of gettimeofday would cause trouble:
33034         the localtime call used to initialize rpl_gettimeofday's save
33035         mechanism would clobber ls's current local time information so
33036         that in any long listing the first file would always be listed
33037         with date 1970-01-01.  Analysis by Volker Borchert.
33038
33039         * lib/gettimeofday.c (localtime): Undefine.
33040         (rpl_localtime): New function.
33041
33042 2002-05-27  Jim Meyering  <meyering@lucent.com>
33043
33044         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
33045         localtime.
33046
33047         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
33048         use the replacement function; it wouldn't resolve at link time.
33049         Reported by Volker Borchert.
33050
33051 2002-05-22  Jim Meyering  <meyering@lucent.com>
33052
33053         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
33054         file-type.h.
33055         * lib/file-type.h: New file.
33056         * lib/file-type.c (file_type): New file/function.  Extracted from
33057         diffutils.
33058
33059 2002-04-30  Jim Meyering  <meyering@lucent.com>
33060
33061         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
33062
33063 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33064
33065         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
33066
33067 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33068
33069         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
33070         Do not check for alloca.h (no longer used) or stdbool.h (was never
33071         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
33072
33073 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33074
33075         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
33076
33077 2002-04-29  Jim Meyering  <meyering@lucent.com>
33078
33079         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
33080         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
33081         Use AC_FUNC_STRNLEN here instead.
33082
33083         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
33084         With autoconf-2.53a, it's part of AC_PROG_CC.
33085
33086 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33087
33088         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
33089         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
33090
33091 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33092
33093         * lib/sig2str.h, lib/sig2str.c: New files.
33094         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
33095
33096 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33097
33098         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
33099         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
33100         of 127, since 64 is the largest conceivable number for ancient
33101         nonstandard hosts.
33102         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
33103
33104 2002-04-28  Jim Meyering  <meyering@lucent.com>
33105
33106         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
33107
33108 2002-04-24  Jim Meyering  <meyering@lucent.com>
33109
33110         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
33111         (jm_PREREQ): Use it.
33112
33113         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
33114         mach/mach.h fcntl.h.
33115         Check for this function: setlocale.
33116
33117 2002-04-24  Jim Meyering  <meyering@lucent.com>
33118
33119         * lib/gettext.h: New file, from Gettext.
33120         * lib/Makefile.am (INCLUDES): Remove -I../intl.
33121         (libfetish_a_SOURCES): Add gettext.h.
33122
33123 2002-04-16  Jim Meyering  <meyering@lucent.com>
33124
33125         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
33126         ut_pid, ut_id, ut_exit.
33127
33128 2002-04-16  Jim Meyering  <meyering@lucent.com>
33129
33130         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
33131         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
33132         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
33133
33134 2002-04-12  Jim Meyering  <meyering@lucent.com>
33135
33136         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
33137         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
33138         existence of the getmntinfo function.  Needed for Darwin 5.3.
33139
33140         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
33141         This is necessary at least on Darwin 5.3.
33142
33143         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
33144         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
33145         strnlen.o in the library, and that makes some versions of ranlib
33146         object.
33147
33148 2002-04-12  Jim Meyering  <meyering@lucent.com>
33149
33150         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
33151
33152 2002-04-09  Jim Meyering  <meyering@lucent.com>
33153
33154         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
33155         to be more precise.  Rather than saying we're checking whether the
33156         function `works', say what we're testing.
33157         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
33158         Reported by Bruno Haible.
33159
33160 2002-03-10  Jim Meyering  <meyering@lucent.com>
33161
33162         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
33163         Suggestion from Santiago Vila.
33164
33165 2002-03-08  Jim Meyering  <meyering@lucent.com>
33166
33167         * lib/rename.c: Mention that this wrapper is needed also on
33168         mips-dec-ultrix4.4 systems.
33169
33170 2002-03-02  Jim Meyering  <meyering@lucent.com>
33171
33172         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
33173         not HAVE_CLOCK_SETTIME.
33174
33175 2002-02-27  Paul Eggert  <eggert@twinsun.com>
33176
33177         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
33178         Check for clock_settime.
33179
33180 2002-02-27  Paul Eggert  <eggert@twinsun.com>
33181
33182         * lib/nanosleep.h: Rename to....
33183         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
33184
33185         * lib/gettime.c: New file.
33186         * lib/settime.c: New file.
33187         * lib/stime.c: Remove.
33188
33189         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
33190         timespec.h.  Remove nanosleep.h.
33191
33192 2002-02-25  Paul Eggert  <eggert@twinsun.com>
33193
33194         * m4/acl.m4: New file.
33195         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
33196         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
33197
33198 2002-02-25  Paul Eggert  <eggert@twinsun.com>
33199
33200         * lib/acl.c, lib/acl.h: New files.
33201         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
33202
33203 2002-02-24  Jim Meyering  <meyering@lucent.com>
33204
33205         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
33206         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
33207         cause trouble.  Reported by Nelson Beebe.
33208
33209 2002-02-23  Paul Eggert  <eggert@twinsun.com>
33210
33211         * lib/path-concat.c (xpath_concat): Reorder code to pacify
33212         compilers that don't know that xalloc_die never returns.
33213
33214 2002-02-20  Jim Meyering  <meyering@lucent.com>
33215
33216         * lib/getdate.c: Regenerate using bison-1.33.
33217
33218 2002-02-17  Jim Meyering  <meyering@lucent.com>
33219
33220         * config/config.guess (main): Don't use `head -1'; it's no longer
33221         portable. Use `sed 1q' instead.
33222
33223 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
33224
33225         * m4/codeset.m4: Upgrade to gettext-0.11.
33226         * m4/gettext.m4: Upgrade to gettext-0.11.
33227         * m4/glibc21.m4: Upgrade to gettext-0.11.
33228         * m4/iconv.m4: Upgrade to gettext-0.11.
33229         * m4/isc-posix.m4: Upgrade to gettext-0.11.
33230         * m4/lcmessage.m4: Upgrade to gettext-0.11.
33231         * m4/lib-ld.m4: New file, from gettext-0.11.
33232         * m4/lib-link.m4: New file, from gettext-0.11.
33233         * m4/lib-prefix.m4: New file, from gettext-0.11.
33234         * m4/progtest.m4: Upgrade to gettext-0.11.
33235
33236 2002-02-15  Paul Eggert  <eggert@twinsun.com>
33237
33238         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
33239         (jm_PREREQ): Use it.
33240
33241 2002-02-15  Paul Eggert  <eggert@twinsun.com>
33242
33243         * lib/posixver.c, lib/posixver.h: New files.
33244         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
33245
33246 2002-02-02  Paul Eggert  <eggert@twinsun.com>
33247             Bruno Haible  <bruno@clisp.org>
33248
33249         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
33250         (fwrite_success_callback): New declaration.
33251         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
33252         print_unicode_char. Call failure callback instead of error.
33253         (fwrite_success_callback): New function.
33254         (exit_failure_callback): New function.
33255         (fallback_failure_callback): New function.
33256         (print_unicode_char): Call unicode_to_mb.
33257
33258 2002-01-26  Jim Meyering  <meyering@lucent.com>
33259
33260         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
33261         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
33262
33263 2002-01-26  Jim Meyering  <meyering@lucent.com>
33264
33265         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
33266
33267 2002-01-22  Paul Eggert  <eggert@twinsun.com>
33268
33269         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
33270
33271 2002-01-22  Jim Meyering  <meyering@lucent.com>
33272
33273         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
33274         Otherwise, some versions of automake would omit the rule that makes
33275         Makefile from Makefile.in.
33276
33277 2002-01-21  Paul Eggert  <eggert@twinsun.com>
33278
33279         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
33280         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
33281         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
33282         (memcoll): Set errno to zero if there is no error.
33283
33284         * lib/quotearg.c (quotearg_buffer_restyled):
33285         Fix bug with quoting buffers containing NUL when backslashing escapes.
33286         This bug was exposed by the other changes in this patch.
33287         (quotearg_n_options): New arg ARGSIZE.
33288         All callers changed.
33289         (quoting_options_from_style): New function.
33290         (quotearg_n_style): Use it.
33291         (quotearg_n_style_mem): New function.
33292
33293         * lib/quotearg.h (quotearg_n_style_mem): New function.
33294
33295 2002-01-19  Jim Meyering  <meyering@lucent.com>
33296
33297         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
33298         Remove useless quotes: DF_PROG="df".
33299         * m4/strnlen.m4: New file.
33300
33301 2002-01-16  Paul Eggert  <eggert@twinsun.com>
33302
33303         * lib/backupfile.c (ISDIGIT): Comment fix.
33304         * lib/getdate.y (ISDIGIT): Likewise.
33305         * lib/posixtm.c (ISDIGIT, year): Likewise.
33306         * lib/strverscmp.c (ISDIGIT): Likewise.
33307         * lib/userspec.c (ISDIGIT): Likewise.
33308
33309 2002-01-16  Jim Meyering  <meyering@lucent.com>
33310
33311         * lib/getdate.y: Add three semicolons, each just before a closing
33312         brace. Bison (as of version 1.31) no longer papers over that mistake.
33313
33314 2002-01-05  Jim Meyering  <meyering@lucent.com>
33315
33316         * lib/version-etc.c (version_etc_copyright): Update copyright year.
33317
33318 2001-12-19  Paul Eggert  <eggert@twinsun.com>
33319
33320         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
33321         not silently exit merely because the output buffer happens to
33322         have nothing pending.
33323
33324 2001-12-18  Paul Eggert  <eggert@twinsun.com>
33325
33326         See the big note in ../ChangeLog.
33327         * lib/human.c (suffixes): Prefer K to k for 1024.
33328         (generate_suffix_backwards): New function.
33329         (human_readable_inexact): Use it.
33330         * lib/xstrtol.c (__xstrtol): If there is no number but there
33331         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
33332         Accept 'K' as well as 'k'.
33333
33334 2001-12-15  Jim Meyering  <meyering@lucent.com>
33335
33336         * lib/regex.h (__restrict_arr): Update from libc.
33337
33338         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
33339         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
33340         (STREQ): Define.
33341
33342 2001-12-14  Jim Meyering  <meyering@lucent.com>
33343
33344         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
33345         Suggestion from Bruno Haible.
33346
33347 2001-12-10  Jim Meyering  <meyering@lucent.com>
33348
33349         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
33350         xrealloc, Instead, include "xalloc.h".
33351         (initbuffer): Don't cast xmalloc return value to char*.
33352         (readline): Reword comment.
33353         Don't cast xrealloc return value to char*
33354         Return NULL, not 0.
33355
33356 2001-12-09  Jim Meyering  <meyering@lucent.com>
33357
33358         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
33359         about `signed and unsigned type in conditional expression'.
33360         * lib/posixtm.c (posix_time_parse): Likewise.
33361
33362         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
33363
33364         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
33365         to avoid a pedantic warning.
33366
33367         * lib/getstr.c: Don't include assert.h.
33368         (getstr): Remove warning-evoking assertions.
33369         Return -1 if offset parameter is out of bounds.
33370         Change the type of a local from int to size_t.
33371
33372         * lib/strftime.c (my_strftime_localtime_r): Include this function
33373         definition in the `#if ! HAVE_TM_GMTOFF' block.
33374
33375         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
33376         Include xalloc.h instead.
33377
33378 2001-12-02  Jim Meyering  <meyering@lucent.com>
33379
33380         * lib/tempname.c: Don't declare getenv, thus reverting the change of
33381         2001-11-18.  It's no longer necessary, now that stdlib.h is always
33382         included.
33383
33384         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
33385         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
33386
33387 2001-11-30  Akim Demaille  <akim@epita.fr>
33388
33389         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
33390         before being defined.
33391
33392 2001-11-27  Paul Eggert  <eggert@twinsun.com>
33393
33394         * lib/quotearg.h (quotearg_n, quotearg_n_style):
33395         First arg is int, not unsigned.
33396         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
33397         (SIZE_MAX, UINT_MAX): New macros.
33398         (quotearg_n_options): Abort if N is negative.
33399         Avoid overflow check on hosts where size_t is 64 bits and int
33400         is 32 bits, as overflow is impossible there.
33401         Fix off-by-one typo that caused unnecessary reallocation.
33402
33403 2001-11-27  Jim Meyering  <meyering@lucent.com>
33404
33405         * lib/tempname.c: Merge with version from libc.
33406         * lib/regex.c: Likewise.
33407
33408         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
33409         systems for which STDC_HEADERS is 0, it was not included, resulting in
33410         a warning about an integer-to-pointer conversion problem with getenv.
33411         Reported by Volker Borchert.
33412
33413 2001-11-26  Jim Meyering  <meyering@lucent.com>
33414
33415         * lib/gtod.h: Remove file.
33416         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
33417         * lib/gettimeofday.c: Don't include gtod.h.
33418         (GTOD_init): Remove function.
33419         (rpl_gettimeofday): Do its job here instead, rather than aborting.
33420         Suggestion from Volker Borchert.
33421
33422 2001-11-23  Jim Meyering  <meyering@lucent.com>
33423
33424         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
33425         it.
33426         * lib/hash.c (struct hash_table): Define it here instead.
33427
33428 2001-11-22  Jim Meyering  <meyering@lucent.com>
33429
33430         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
33431
33432 2001-11-20  Jim Meyering  <meyering@lucent.com>
33433
33434         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
33435         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
33436
33437 2001-11-19  Jim Meyering  <meyering@lucent.com>
33438
33439         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
33440         directory.  Use "conftestXXXXXX" as the template.
33441         Suggestion from Paul Eggert.
33442
33443         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
33444         immediately, so the test doesn't mistakenly hit the max-open-files
33445         limit.
33446
33447 2001-11-18  Paul Eggert  <eggert@twinsun.com>
33448
33449         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
33450         (TEMPORARIES): New macro.
33451         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
33452         removes an artificial limitation (e.g. HP-UX 10.20, where
33453         TMP_MAX is 17576).
33454
33455 2001-11-18  Jim Meyering  <meyering@lucent.com>
33456
33457         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
33458
33459 2001-11-18  Jim Meyering  <meyering@lucent.com>
33460
33461         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
33462         on SunOS 4.
33463
33464         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
33465         files will be created before anything else.
33466
33467 2001-11-17  Paul Eggert  <eggert@twinsun.com>
33468
33469         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
33470         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
33471
33472 2001-11-17  Jim Meyering  <meyering@lucent.com>
33473
33474         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
33475         Prompted by a report from Bob Proulx.
33476
33477         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
33478         Instead, require UTILS_FUNC_MKSTEMP.
33479
33480 2001-11-17  Jim Meyering  <meyering@lucent.com>
33481
33482         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
33483         Now, that's done as part of AC_FUNC_STRTOD.
33484
33485 2001-11-17  Jim Meyering  <meyering@lucent.com>
33486
33487         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
33488         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
33489         rather than group writable.  Patch by Juan F. Codagnone.
33490
33491         * lib/readtokens.c: Remove explicit declarations of xmalloc and
33492         xrealloc, Instead, include "xalloc.h".
33493
33494         * lib/mountlist.c: Include unlocked-io.h after all system headers.
33495         Remove explicit declarations of xmalloc, xrealloc,
33496         and xstrdup.  Instead, include "xalloc.h".
33497
33498         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
33499         unlocked-io.h.
33500         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
33501         Likewise.
33502         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
33503
33504         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
33505         Reported by Padraig Brady.
33506
33507         * lib/mkstemp.c: #undef mkstemp.
33508         Include config.h.
33509         (rpl_mkstemp): Rename from mkstemp.
33510         Protoize.
33511
33512 2001-11-16  Jim Meyering  <meyering@lucent.com>
33513
33514         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
33515         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
33516         determine the amount of total physical memory, use pstat_getstatic.
33517         HPUX-11 doesn't define _SC_PHYS_PAGES.
33518         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
33519         If sysconf couldn't be used to determine the amount of available
33520         physical memory, use both pstat_getstatic and pstat_getdynamic.
33521         Based on a patch from Bob Proulx.
33522
33523 2001-11-10  Jim Meyering  <meyering@lucent.com>
33524
33525         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
33526         (jm_PREREQ): Use it.
33527
33528 2001-11-09  Jim Meyering  <meyering@lucent.com>
33529
33530         * m4/jm-macros.m4: Require autoconf-2.52f.
33531         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
33532         Use these AC_-prefixed names, not the AM_-prefixed ones.
33533
33534         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
33535
33536 2001-11-05  Jim Meyering  <meyering@lucent.com>
33537
33538         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
33539
33540 2001-11-04  Jim Meyering  <meyering@lucent.com>
33541
33542         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
33543         $DEFS.
33544
33545 2001-11-03  Jim Meyering  <meyering@lucent.com>
33546
33547         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
33548         of AC_DEFUN.
33549
33550         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
33551         know the name of the variable in the macro definition.
33552
33553 2001-11-03  Jim Meyering  <meyering@lucent.com>
33554
33555         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
33556         in argmatch_to_argument call.
33557
33558         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
33559         argument.
33560
33561         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
33562         e.g., a fault due to an attempt to free a NULL pointer.
33563
33564 2001-11-01  Jim Meyering  <meyering@lucent.com>
33565
33566         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
33567         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
33568
33569 2001-11-01  Jim Meyering  <meyering@lucent.com>
33570
33571         * lib/dirfd.c, lib/dirfd.h: New files.
33572         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
33573
33574         * lib/hash.c (hash_print) [TESTING]: Clean up.
33575
33576 2001-10-22  Paul Eggert  <eggert@twinsun.com>
33577
33578         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
33579         to avoid a warning if -Wall.
33580
33581 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
33582
33583         * README: New file
33584         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
33585         (per RMS's instructions, this is now the canonical source)
33586         * lgpl/, gpl/: New directories.
33587
33588 2001-10-21  Paul Eggert  <eggert@twinsun.com>
33589
33590         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
33591
33592 2001-10-21  Jim Meyering  <meyering@lucent.com>
33593
33594         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
33595         this code would end up calling gettext even in packages built
33596         with --disable-nls.
33597         * lib/getopt.c (_): Likewise.
33598         * lib/regex.c (_): Likewise.
33599
33600 2001-10-20  Paul Eggert  <eggert@twinsun.com>
33601
33602         * m4/error.m4 (jm_PREREQ_ERROR):
33603         Do not invoke AC_CHECK_FUNCS with strerror_r, as
33604         AC_FUNC_STRERROR_R does that.
33605         Check for strerror declaration.
33606
33607         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
33608         are supposed to have them these days.
33609         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
33610         Merge changes from latest Autoconf CVS.
33611         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
33612         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
33613         POSIX decided to standardize on the int flavor of strerror_r.
33614
33615 2001-10-20  Paul Eggert  <eggert@twinsun.com>
33616
33617         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
33618         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
33619         Use strerror_r that is only a macro, even if it is not a function.
33620         (strerror): Check for HAVE_DECL_STRERROR before declaring.
33621         (private_strerror): Use prototypes, not old-style function definition.
33622         (print_errno_message): New function.
33623         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
33624         char*-flavored one.
33625         (error_tail, error, error_at_line): Use it.
33626
33627 2001-10-11  Jim Meyering  <meyering@lucent.com>
33628
33629         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
33630         and quote_n (1, ... to avoid clobbering a buffer.
33631
33632 2001-10-05  Jim Meyering  <meyering@lucent.com>
33633
33634         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
33635         hash-pjw.h.
33636         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
33637         * lib/hash-pjw.h: New file.
33638
33639 2001-09-30  Jim Meyering  <meyering@lucent.com>
33640
33641         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
33642         `struct fsstat' has the `f_fstypename' member.
33643         Use that to define FS_TYPE, which is now used to make
33644         the getfsstat link test tighter.
33645
33646 2001-09-30  Jim Meyering  <meyering@lucent.com>
33647
33648         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
33649         Include <sys/ucred.h>, for Apple Darwin.
33650         Include sys/mount.h and sys/fs_types.h only if available.
33651         (FS_TYPE): Define.
33652         (read_filesystem_list): Use FS_TYPE.
33653
33654 2001-09-29  Paul Eggert  <eggert@twinsun.com>
33655
33656         * lib/exclude.c (excluded_filename): 0 -> false, since it's
33657         a boolean context.
33658
33659 2001-09-29  Jim Meyering  <meyering@lucent.com>
33660
33661         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
33662         [one-argument getmntent function]): Include stdio.h before mntent.h.
33663         SunOS 4.1.x needs it for the declaration of `FILE'.
33664         Patch by Volker Borchert.
33665
33666         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
33667         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
33668         sys/fs_types.h, and make the link-test for getfsstat guard #include
33669         directives with appropriate #if HAVE_*_H tests so that we can
33670         detect getfsstat on Apple Darwin1.3.7 systems.
33671         Reported by Nelson Beebe.
33672         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
33673
33674 2001-09-28  Paul Eggert  <eggert@twinsun.com>
33675
33676         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
33677         #defines strtoimax.  Also treat the other strto* functions
33678         like strtoimax.
33679
33680         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
33681         Check for strtoul and strtoumax,
33682         as those declarations are made even in the signed case.
33683         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
33684         Likewise, for strtol and strtoimax.
33685
33686 2001-09-28  Paul Eggert  <eggert@twinsun.com>
33687
33688         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
33689         #defines strtoimax.  Also treat the other strto* functions
33690         like strtoimax.
33691
33692         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
33693         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
33694         (strtoimax, strtoumax): Do not declare if already defined as a macro.
33695
33696 2001-09-26  Jim Meyering  <meyering@lucent.com>
33697
33698         Most macros in unlocked-io.h had the wrong number of arguments.
33699         * lib/gen-uio: New script.
33700         (USE_UNLOCKED_IO): Define to 1 if not already defined.
33701         * lib/unlocked-io.hin: Remove file.
33702         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
33703         rather than trying to embed it here.
33704         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
33705         Reported by Padraig Brady.
33706
33707 2001-09-25  Volker Borchert  <bt@teknon.de>
33708
33709         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
33710         `result'.
33711
33712 2001-09-24  Jim Meyering  <meyering@lucent.com>
33713
33714         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
33715
33716 2001-09-23  Jim Meyering  <meyering@lucent.com>
33717
33718         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
33719         instead of the mere test for existence of mntent.h.  The latter
33720         would get a false-positive on AIX 3.4 systems.
33721         In the outer getmntent if-block, don't die if neither of the getmntent
33722         tests succeeds.  Instead, just fall through and continue with the
33723         remaining tests.
33724
33725 2001-09-23  Jim Meyering  <meyering@lucent.com>
33726
33727         * lib/mountlist.c: Remove useless parentheses in #if directives.
33728         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
33729         the deprecated MOUNTED symbol is no longer defined in mntent.h.
33730
33731 2001-09-22  Jim Meyering  <meyering@lucent.com>
33732
33733         * m4/gettext.m4: New file.  From gettext.
33734         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
33735         * m4/progtest.m4: Likewise
33736         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
33737         * m4/glibc21.m4: Likewise.
33738
33739         * m4/libintl.m4: Remove.  No longer used.
33740
33741 2001-09-22  Jim Meyering  <meyering@lucent.com>
33742
33743         * lib/localcharset.c: Update from latest gettext.
33744         * lib/config.charset: Likewise.
33745
33746 2001-09-20  Jim Meyering  <meyering@lucent.com>
33747
33748         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
33749         strtoimax.
33750         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
33751         strtoumax.
33752
33753 2001-09-20  Jim Meyering  <meyering@lucent.com>
33754
33755         * lib/xstrtol.c (strtoimax): Guard declaration with
33756         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
33757         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
33758         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
33759         (strtoumax): Likewise, for completeness (it wasn't necessary).
33760
33761 2001-09-17  Paul Eggert  <eggert@twinsun.com>
33762
33763         * lib/strtoimax.c (HAVE_LONG_LONG):
33764         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
33765         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
33766         to work around bug in IBM C compiler.
33767
33768 2001-09-17  Jim Meyering  <meyering@lucent.com>
33769
33770         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
33771         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
33772         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
33773         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
33774         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
33775         whenever the right hand side need not be expanded by the shell.
33776
33777 2001-09-16  Paul Eggert  <eggert@twinsun.com>
33778
33779         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
33780         library.  It's not correct, as some older glibcs are buggy.
33781         fnmatch wasn't fixed until glibc 2.2.
33782
33783         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
33784         special shell magic here.
33785
33786 2001-09-16  Jim Meyering  <meyering@lucent.com>
33787
33788         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
33789         * m4/jm-macros.m4: Require it.
33790
33791 2001-09-16  Jim Meyering  <meyering@lucent.com>
33792
33793         * lib/mkdir.c: New file.
33794
33795 2001-09-15  Jim Meyering  <meyering@lucent.com>
33796
33797         * m4/jm-macros.m4: Check for help2man.
33798
33799 2001-09-11  Jim Meyering  <meyering@lucent.com>
33800
33801         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
33802         The body, by Paul Eggert, was moved here from configure.in.
33803         * m4/jm-macros.m4: Require UTILS_HOST_OS.
33804
33805 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33806
33807         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
33808         (jm_PREREQ): Use it.
33809
33810 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33811
33812         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
33813         Use ssize_t, not int, to store result of readlink.
33814         Check for ssize_t overflow as well as size_t overflow,
33815         as POSIX says the result of readlink is implementation-defined
33816         when ssize_t overflows.
33817         Remove unnecessary cast to char*.
33818         Use free+malloc instead of realloc, as the storage doesn't need
33819         to be preserved and it's clearer and can be more efficient that way.
33820         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
33821         * lib/xreadlink.h (xreadlink): Update prototype.
33822
33823 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33824
33825         * lib/xgetcwd.c: Revert some of the previous change; intead,
33826         fix the HAVE_GETCWD_NULL code to behave more like the
33827         !HAVE_GETCWD_NULL code used to.
33828
33829         Include "xalloc.h".
33830         (xgetcwd): Do not return NULL when memory is exhausted; instead,
33831         invoke xalloc_die.
33832
33833 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33834
33835         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
33836         sys/param.h, as pathmax.h includes them.
33837
33838 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33839
33840         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
33841         (jm_PREREQ_XGETCWD): New macro.
33842
33843         * m4/getcwd.m4: New file.
33844
33845 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33846
33847         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
33848         like the HAVE_GETCWD_NULL code.
33849         Include pathmax.h if not HAVE_GETCWD.
33850         Do not include xalloc.h.
33851         (INITIAL_BUFFER_SIZE): New symbol.
33852         Do not use xmalloc / xrealloc, since the caller is responsible for
33853         handling errors.  Preserve errno around `free' during failure.
33854         Do not overrun buffer when using getwd.
33855
33856 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33857
33858         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
33859         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
33860         getcwd (NULL, 0).
33861
33862 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33863
33864         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
33865         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
33866         spotted by Jim Meyering.
33867
33868 2001-09-03  Jim Meyering  <meyering@lucent.com>
33869
33870         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
33871         failure.
33872
33873 2001-09-02  Jim Meyering  <meyering@lucent.com>
33874
33875         * lib/error.c: Update from GNU libc.
33876
33877 2001-09-01  Jim Meyering  <meyering@lucent.com>
33878
33879         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
33880         Used by df.
33881
33882 2001-09-01  Jim Meyering  <meyering@lucent.com>
33883
33884         * lib/xreadlink.c: New file.
33885         * lib/xreadlink.h: New file.
33886         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
33887         xreadlink.h.
33888
33889         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
33890         doesn't conflict with sparc Solaris 7's definition in
33891         /usr/include/sys/int_types.h.
33892
33893         * lib/exclude.c: Use `""', not `<>' to #include non-system header
33894         files.
33895         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
33896         and strncasecmp as r-values.  Unixware didn't have declarations.
33897
33898 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33899
33900         * lib/xstrtol.h: Add copyright notice.
33901         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
33902         LONGINT_INVALID_SUFFIX_CHAR.
33903
33904 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33905
33906         * lib/xstrtol.c (strtoimax): New decl.
33907
33908 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33909
33910         * lib/xgetcwd.c: Don't include pathmax.h.
33911         Include stdlib.h and unistd.h if available.
33912         Include xalloc.h.
33913         (xmalloc, xstrdup, free): Remove decls.
33914         (xgetcwd): Don't assume sizes fit in unsigned.
33915         Check for overflow when computing sizes.
33916         Simplify reallocation code.
33917
33918 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33919
33920         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
33921         a directory's st_size can have an arbitrary value, so the old
33922         usage could waste an arbitrary amount of memory.  All uses
33923         changed.
33924         * lib/savedir.h: Update prototype.
33925
33926 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33927
33928         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
33929
33930         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
33931         old strtoimax.c.
33932
33933         Also, make the following further changes to make this file's
33934         configuration more similar to that of strtol.c:
33935         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
33936         (strtoumax, uintmax_t, strtoull, strtol): Remove.
33937         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
33938         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
33939         changed to signed values.
33940
33941         And make the following changes as well:
33942         Fix copyright notice, as 1999 was missing.
33943         (verify): New macro.
33944         (strtoimax): Check sizes at compile-time, not run-time.
33945         Prefer strtol to strtoll if both work.
33946         (main): Remove; it was not that useful and was a pain to maintain.
33947
33948         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
33949
33950 2001-08-31  Jim Meyering  <meyering@lucent.com>
33951
33952         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
33953         Use an initial, malloc'd, buffer of length 128 rather than
33954         a statically allocated one of length 1024.
33955
33956 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33957
33958         Simplify code, partly by assuming autoconf 2.52 semantics.
33959
33960         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
33961
33962         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
33963         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
33964         All uses removed.
33965         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
33966         Move AC_REQUIRE to next-to-top level, to avoid confusion.
33967         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
33968         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
33969         jm_AC_HEADER_INTTYPES_H.
33970         * m4/jm-macros.m4 (jm_MACROS): Likewise.
33971
33972         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
33973
33974         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
33975         Quote first arg of AC_DEFUN.
33976         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
33977         since they are needed to parse the include file even if we need
33978         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
33979         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
33980         but with opposite signedness.
33981
33982 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33983
33984         Merge 'exclude' changes from tar 1.13.22.
33985         This fixes one or two unlikely storage allocation overflow bugs,
33986         but doesn't change user-visible behavior otherwise.
33987
33988 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33989
33990         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
33991         (jm_PREREQ_EXCLUDE): New macro.
33992
33993 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33994
33995         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
33996         tm to be declared.
33997
33998 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33999
34000         * lib/hash.c: Remove '2001' from copyright notice.
34001
34002 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34003
34004         * lib/full-write.h: New file.
34005         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
34006         * lib/full-write.c: Correct credits, as cccp.c no longer
34007         exists and anyway it was so heavily changed from the old cccp
34008         code as to be unrecognizable.  Include full-write.h.
34009         (full_write) Return size_t, with short writes meaning failure.
34010         All callers changed.  This fixes a bug with large buffers
34011         on 64-bit hosts.
34012         * lib/utime.c: Include full-write.h.
34013
34014 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34015
34016         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
34017         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
34018         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
34019         Include if available.
34020         (<xalloc.h>): Include
34021         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
34022         (verify): New macro.  Use it to verify that EXCLUDE macros do not
34023         collide with FNM macros.
34024         (struct patopts): New struct.
34025         (struct exclude): Use it, as exclude patterns now come with options.
34026         (new_exclude): Support above changes.
34027         (new_exclude, add_exclude_file):
34028         Initial size must now be a power of two to simplify overflow checking.
34029         (free_exclude, fnmatch_no_wildcards): New function.
34030         (excluded_filename): No longer requires options arg, as the options
34031         are determined by add_exclude.  Now returns bool, not int.
34032         (excluded_filename, add_exclude):
34033         Add support for the fancy new exclusion options.
34034         (add_exclude, add_exclude_file): Now takes int options arg.
34035         Check for arithmetic overflow when computing sizes.
34036         (add_exclude_file): xrealloc might modify errno, so don't
34037         realloc until after errno might be used.
34038
34039         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
34040         New macros.
34041         (free_exclude): New decl.
34042         (add_exclude, add_exclude_file): Now takes int options arg.
34043         (excluded_filename): No longer requires options arg, as the options
34044         are determined by add_exclude.  Now returns bool, not int.
34045
34046 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34047
34048         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
34049
34050 2001-08-27  Jim Meyering  <meyering@lucent.com>
34051
34052         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
34053
34054         * lib/version-etc.c (N_): Remove definition.
34055         Revert most of last change.
34056         Instead, simply don't mark the `Copyright...' string for translation.
34057         Based on advice from Paul Eggert.
34058
34059         * lib/strtoxmax.c: Tweak comment.
34060
34061 2001-08-26  Jim Meyering  <meyering@lucent.com>
34062
34063         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
34064
34065         * m4/xstrtoimax.m4: New file.
34066         * m4/xstrtoumax.m4: Add comments explaining why we
34067         AC_REPLACE_FUNCS(strtol).
34068
34069 2001-08-26  Jim Meyering  <meyering@lucent.com>
34070
34071         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
34072         of copyright with `%s' so translators don't get an untranslated
34073         message in 2002.
34074         (COPYRIGHT_YEAR): Define.
34075         (version_etc): Use fprintf rather than fputs.
34076         Suggestion from Ulrich Drepper.
34077
34078         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
34079
34080         * lib/strtoll.c: New file, from GNU libc.
34081         * lib/xstrtoimax.c: New file.
34082
34083         * lib/xstrtol.h: Add xstrtoimax.
34084         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
34085         * lib/strtoimax.c: New file.  Likewise, but first define
34086         STRTOUXMAX_SIGNED.
34087
34088         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
34089         ...
34090         * lib/strtoxmax.c: ... then renamed to this.
34091
34092 2001-08-18  Paul Eggert  <eggert@twinsun.com>
34093
34094         * m4/inttypes.m4: Add AC_PREREQ(2.13).
34095         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
34096         (jm_AC_TYPE_INTMAX_T): New macro.
34097         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
34098
34099         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
34100
34101         * m4/longlong.m4: Renamed from ulonglong.m4.
34102         * m4/inttypes.m4: Renamed from inttypes_h.m4.
34103         * m4/uintmax_t.m4: Removed.
34104
34105 2001-08-13  Paul Eggert  <eggert@twinsun.com>
34106
34107         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
34108         Port to Solaris 8, where 'sed' requires a space after the 'r'
34109         command, and where sh dislikes "$/".  Clean up the spacing a bit.
34110         Redirect output to $tmp just once.
34111
34112 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
34113
34114         * lib/addext.c (<errno.h>): Include.
34115         (errno): Declare if not defined.
34116         (addext): Work correctly when pathconf returns -1 and leaves
34117         errno alone because there is no limit.  Also, work even if
34118         pathconf returns a value greater than SIZE_MAX.
34119
34120 2001-08-12  Jim Meyering  <meyering@lucent.com>
34121
34122         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
34123         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
34124         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
34125         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
34126         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
34127         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
34128         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
34129         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
34130         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
34131         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
34132         utime.m4, utimes.m4, xstrtoumax.m4:
34133         Quote the first argument in each use of AC_DEFUN.
34134
34135 2001-08-12  Jim Meyering  <meyering@lucent.com>
34136
34137         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
34138         Simply `return getcwd (NULL, 0);'.
34139         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
34140         Use 1300 as initial value for length, not PATH_MAX.
34141
34142         * lib/pathmax.h: Clean up cpp syntax.
34143
34144 2001-08-12  Jim Meyering  <meyering@lucent.com>
34145
34146         * lib/gettimeofday.c: New file.
34147         * lib/gtod.h: New file.
34148         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
34149
34150 2001-08-05  Jim Meyering  <meyering@lucent.com>
34151
34152         * m4/jm-macros.m4: Require autoconf-2.52.
34153
34154 2001-08-04  Jim Meyering  <meyering@lucent.com>
34155
34156         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
34157         stmt, to get in sync with glibc.
34158
34159 2001-08-03  Paul Eggert  <eggert@twinsun.com>
34160
34161         The following changes are from gettext 0.10.39 as maintained by
34162         Bruno Haible.
34163
34164         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
34165         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
34166         with inverted sense.  All uses changed.
34167
34168         * lib/mbswidth.c: Don't include <limits.h>.
34169         Include <stdlib.h> and <string.h> unconditionally.
34170         (iswcntrl, mbsinit, ISCNTRL): New macros.
34171         (mbsnwidth): Use K&R style function declarations.
34172         Don't bother checking for MB_LEN_MAX == 1, since the compiler
34173         can optimize it when MB_CUR_MAX == 1.
34174         The width of control characters is zero, not 1.
34175
34176 2001-08-03  Paul Eggert  <eggert@twinsun.com>
34177
34178         The following changes are from gettext 0.10.39 as maintained by
34179         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
34180
34181         * m4/codeset.m4: Upgrade to serial AM1.
34182         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
34183         all uses changed.  Quote first arg of AC_DEFUN.
34184         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
34185
34186         * m4/iconv.m4: Upgrade to serial AM2.
34187         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
34188         Add --with-libconv-prefix.
34189         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
34190         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
34191         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
34192         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
34193         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
34194
34195         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
34196         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
34197         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
34198         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
34199         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
34200         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
34201         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
34202         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
34203         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
34204
34205         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
34206         string.h any more.
34207
34208         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
34209         not the default value.
34210
34211         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
34212         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
34213         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
34214         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
34215         Also check for iswcntrl, used for wcwidth fallback.
34216         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
34217         to Autoconf 2.13.
34218
34219 2001-08-03  Jim Meyering  <meyering@lucent.com>
34220
34221         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
34222         as it was in the original.  Reported by Paul Eggert.
34223
34224 2001-07-16  Jim Meyering  <meyering@lucent.com>
34225
34226         * m4/gettimeofday.m4: New file.
34227         Prompted by a report from Bernhard Baehr.
34228
34229 2001-07-15  Jim Meyering  <meyering@lucent.com>
34230
34231         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
34232         stuff. Now it's in ../Makefile.cfg.
34233
34234 2001-07-15  Jim Meyering  <meyering@lucent.com>
34235
34236         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
34237         (BUILT_SOURCES): Add unlocked-io.h.
34238         (io_functions): Define.
34239         (unlocked-io.h): New rule.
34240         (DISTCLEANFILES): Add unlocked-io.h.
34241         (all-local): Depend on unlocked-io.h, to ensure it is created.
34242
34243         * lib/unlocked-io.hin: New file
34244
34245         * lib/regex.c: Update from glibc.
34246
34247 2001-07-05  Jim Meyering  <meyering@lucent.com>
34248
34249         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
34250         recommendation.
34251         (libfetish_a_SOURCES): Put all .h files here instead.
34252         Remove a thus-exposed (better checks in automake) duplicate and
34253         two unnecessary .h files.
34254
34255 2001-07-04  Jim Meyering  <meyering@lucent.com>
34256
34257         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
34258         that generates jm-glibc-io.m4 so that it doesn't trigger any make
34259         distcheck failure.
34260
34261 2001-07-02  Jim Meyering  <meyering@lucent.com>
34262
34263         The following changes were prompted by suggestions from Bruno Haible.
34264
34265         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
34266         is now generated.
34267         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
34268         definition of EXTRA_DIST.
34269         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
34270         ensure that the generated file is created/updated whenever the list
34271         of $(unlocked_functions) is changed.
34272         (jm-glibc-io.m4): New rule.
34273         (unlocked-io.h): New rule -- currently unused.
34274
34275 2001-06-24  Jim Meyering  <meyering@lucent.com>
34276
34277         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
34278         unmatched right bracket, rather than kludging it with an extra,
34279         falsely-matching quote in a comment.  Patch by Akim Demaille.
34280
34281 2001-06-11  Jim Meyering  <meyering@lucent.com>
34282
34283         * lib/regex.c: Update from GNU libc.
34284
34285 2001-05-27  Jim Meyering  <meyering@lucent.com>
34286
34287         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
34288         Check for ut_type in struct utmp.
34289
34290 2001-05-27  Jim Meyering  <meyering@lucent.com>
34291
34292         * lib/readutmp.h (UT_TYPE): Define.
34293
34294 2001-05-24  Jim Meyering  <meyering@lucent.com>
34295
34296         * lib/argmatch.c: Include "quote.h".
34297         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
34298         quote function.  Reported by Göran Uddeborg.
34299
34300 2001-05-22  Jim Meyering  <meyering@lucent.com>
34301
34302         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
34303         now that we use the package-supplied version unconditionally.
34304         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
34305
34306 2001-05-21  Jim Meyering  <meyering@lucent.com>
34307
34308         * m4/regex.m4: Change a couple backticks to single quotes to avoid
34309         shell syntax errors.
34310
34311 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
34312
34313         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
34314
34315 2001-05-20  Paul Eggert  <eggert@twinsun.com>
34316
34317         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
34318         Don't bother to check library strftime, since
34319         we'll be using our own my_strftime function anyway.
34320         Define my_strftime instead of strftime.
34321
34322 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
34323
34324         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
34325         which is not yet declared.
34326
34327 2001-05-15  Jim Meyering  <meyering@lucent.com>
34328
34329         * m4/regex.m4: Use proper quoting so brackets appear in the test
34330         program.
34331         Reported by, and with help from, Bruno Haible.
34332
34333 2001-05-13  Jim Meyering  <meyering@lucent.com>
34334
34335         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
34336         undefined.
34337
34338 2001-05-11  Paul Eggert  <eggert@twinsun.com>
34339
34340         dirname code cleanup.  base_name now behaves more compatibly
34341         with POSIX basename when given file names that have trailing
34342         slashes, and similarly for dir_name.  Add new primitives
34343         base_len and dir_len.  Put the directory-name-related decls
34344         into dirname.h.
34345
34346         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
34347         * lib/backupfile.c (base_name): Likewise.
34348         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
34349         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
34350         * lib/makepath.c (strip_trailing_slashes): Likewise.
34351         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
34352         ISSLASH): Likewise.
34353         * lib/rename.c (strip_trailing_slashes): Likewise.
34354         * lib/same.c (base_name): Likewise.
34355         * lib/stripslash.c (ISSLASH): Likewise.
34356
34357         * lib/addext.c: Include <dirname.h> after size_t is defined.
34358         * lib/backupfile.c: Likewise.
34359
34360         * lib/addext.c (addext): Use base_len to trim redundant
34361         trailing slashes instead of doing it ourselves.
34362         But do not trim the last slash if it is not redundant.
34363
34364         * lib/backupfile.c (find_backup_file_name,
34365         max_backup_version): Use base_len instead of rolling it ourselves.
34366         Handle the case of "" and (on DOS) "C:" correctly.
34367
34368         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
34369         needed. Include <string.h>, <dirname.h>.
34370         (base_name): Allow file names ending in slashes, other than names
34371         that are all slashes.  In this case, return the basename followed
34372         by the slashes.  This is more general, and can be used in places
34373         where the original base_name purposely had an assertion failure.
34374         (base_len): New function.
34375
34376         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
34377         Do not include <assert.h>; no longer needed.
34378         Include xalloc.h.
34379         (memrchr): Remove decl.
34380         (dir_name_r): Remove.
34381         (dir_len): Renamed from dirlen.  All callers changed.
34382         Rewrite in terms of base_name, for simplicity and consistency.
34383         (dir_name): Never return NULL.  All callers changed.
34384         Do not include <stdlib.h> in test program; no longer needed.
34385         return 0; is fine for test program.
34386
34387         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
34388         New macros.
34389         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
34390
34391         * lib/path-concat.c (path_concat): Use base_len to compute
34392         base length, not strlen; this means we cannot rely on memcpy
34393         to null-terminate.
34394
34395         * lib/same.c (STREQ): Remove.
34396         (same_name): Handle the case where the basename ends in trailing '/'.
34397
34398         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
34399         a slash was stripped.  Do not strip the last slash after a
34400         file system prefix.
34401
34402 2001-05-11  Paul Eggert  <eggert@twinsun.com>
34403
34404         * lib/Makefile.am (libfetish_a_SOURCES):
34405         Add strftime.c, since we now compile it on all hosts.
34406
34407         * lib/strftime.c (my_strftime):
34408         Define to nstrftime if emacs, but only if my_strftime is not defined.
34409         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
34410         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
34411         Add one more extra argument: a nanoseconds value.
34412         All uses changed.
34413         (ns): New macro.
34414         (my_strftime function): Add %N format.
34415         (emacs_strftimeu): Renamed from emacs_strftime,
34416         with extra ut argument.
34417
34418 2001-05-09  Paul Eggert  <eggert@twinsun.com>
34419
34420         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
34421
34422 2001-04-21  Jim Meyering  <meyering@lucent.com>
34423
34424         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
34425         doesn't interfere.
34426
34427 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
34428
34429         * m4/ftruncate.m4: Check for chsize.
34430         Link with ftruncate.o unconditionally if ftruncate is missing.
34431         This was required when cross-compiling to i586-mingw32msvc.
34432
34433 2001-04-08  Jim Meyering  <meyering@lucent.com>
34434
34435         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
34436         recomputed; that's necessary when the offset spans a DST transition.
34437         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
34438
34439 2001-04-02  Jim Meyering  <meyering@lucent.com>
34440
34441         * lib/regex.h, regex.c: Update from GNU libc.
34442
34443 2001-03-24  Jim Meyering  <meyering@lucent.com>
34444
34445         * m4/jm-macros.m4: Require autoconf-2.49d.
34446
34447 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
34448
34449         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
34450
34451 2001-03-19  Paul Eggert  <eggert@twinsun.com>
34452
34453         * lib/version-etc.c (version_etc_copyright): Update to 2001.
34454
34455 2001-03-17  Jim Meyering  <meyering@lucent.com>
34456
34457         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
34458         now that the version in autoconf is equivalent.
34459         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
34460
34461         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
34462         Suggestion from Akim Demaille.
34463
34464         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
34465         (jm_PREREQ_TEMPNAME): New function.
34466
34467 2001-03-16  Paul Eggert  <eggert@twinsun.com>
34468
34469         * lib/tempname.c (uint64_t): Define to uintmax_t if
34470         not defined, and if UINT64_MAX is not defined.
34471         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
34472         Reported by John David Anglin.
34473
34474 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
34475
34476         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
34477         resolve alias if codeset is empty.
34478         * lib/config.charset (BeOS): Use wildcard syntax.
34479
34480 2001-03-13  Jim Meyering  <meyering@lucent.com>
34481
34482         * lib/path-concat.c (path_concat)
34483         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
34484         concatenating e.g., `C:' and `foo'.
34485         From Bruno Haible.
34486
34487 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
34488
34489         * lib/localcharset.c (locale_charset): Don't use
34490         setlocale(LC_CTYPE,NULL). Don't return NULL.
34491         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
34492
34493 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
34494
34495         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
34496         support for DOS/DJGPP.
34497
34498 2001-03-01  Paul Eggert  <eggert@twinsun.com>
34499
34500         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
34501         lacks mkstemp.  Compile our own tempname.c if we compile our own
34502         mkstemp.c, as mkstemp relies on tempname.
34503
34504 2001-03-01  Jim Meyering  <meyering@lucent.com>
34505
34506         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
34507         AH_VERBATIM really does output its argument verbatim.
34508
34509 2001-02-28  Paul Eggert  <eggert@twinsun.com>
34510
34511         * lib/Makefile.am (libfetish_a_SOURCES):
34512         Add dup-safer.c, fopen-safer.c.
34513         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
34514
34515         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
34516         * lib/unistd-safer.h: New files.
34517
34518 2001-02-25  Paul Eggert  <eggert@twinsun.com>
34519
34520         The mkstemp replacement is taken from glibc 2.2.2, with some
34521         portability fixes for use outside glibc, as follows:
34522
34523         * lib/tempname.c (struct_stat64): New macro.
34524         (direxists, __gen_tempname): Use it.
34525         This avoids a portability problem with Solaris 8.
34526
34527         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
34528         (<stddef.h>, <stdint.h>, <string.h>):
34529         Include only if STDC_HEADERS || _LIBC.
34530         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
34531         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
34532         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
34533         (__set_errno): Define this macro if <errno.h> doesn't.
34534         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
34535         Define these macros if <stdio.h> doesn't.
34536         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
34537         Define these macros if <sys/stat.h>
34538         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
34539         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
34540         __xstat64): Define if not _LIBC.
34541         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
34542         (__gen_tempname): Invoke gettimeofday only if
34543         HAVE_GETTIMEOFDAY || _LIBC;
34544         otherwise, fall back on plain "time".
34545         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
34546
34547         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
34548
34549         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
34550
34551 2001-02-18  Paul Eggert  <eggert@twinsun.com>
34552
34553         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
34554
34555 2001-02-17  Paul Eggert  <eggert@twinsun.com>
34556
34557         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
34558         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
34559         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
34560         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
34561
34562 2001-02-17  Paul Eggert  <eggert@twinsun.com>
34563
34564         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
34565         Remove workaround macros for hosts that have mbrtowc but not
34566         mbstate_t, as we now insist on proper declarations for both
34567         before using mbrtowc.
34568
34569 2001-02-17  Jim Meyering  <meyering@lucent.com>
34570
34571         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
34572         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
34573         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
34574         UnixWare 7.1.1.
34575
34576         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
34577         rather than AC_CACHE_VAL.
34578
34579 2001-02-17  Jim Meyering  <meyering@lucent.com>
34580
34581         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
34582         around included file name.
34583
34584         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
34585
34586         * lib/strftime.c: Update from GNU libc (the only changes were to
34587         comments).
34588
34589 2001-02-17  Jim Meyering  <meyering@lucent.com>
34590
34591         * lib/regex.c: Update from libc.
34592
34593 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
34594
34595         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
34596         clash.
34597
34598 2001-02-16  Paul Eggert  <eggert@twinsun.com>
34599
34600         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
34601         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
34602         Reported by Mark Hounschell via Paul Eggert.
34603
34604 2001-02-07  Jim Meyering  <meyering@lucent.com>
34605
34606         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
34607
34608 2001-02-05  Jim Meyering  <meyering@lucent.com>
34609
34610         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
34611         it includes the patch required for `large file' support with at least
34612         HP-UX's 10.20 /bin/cc.
34613
34614 2001-02-03  Jim Meyering  <meyering@lucent.com>
34615
34616         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
34617         AS_IF, now that it works once again (mysteriously).
34618         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
34619
34620 2001-01-30  Jim Meyering  <meyering@lucent.com>
34621
34622         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
34623         * m4/chown.m4: Rename conftestchown to conftest.chown.
34624         * m4/rename.m4: s/conftestdir/conftest.d1/ and
34625         s/conftestdir2/conftest.d2/.
34626         * m4/utimes.m4: s/conftestdata/conftest.data/
34627         Inspired by Pavel Roskin's change in autoconf.
34628
34629 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
34630
34631         * lib/config.charset: Update for FreeBSD 4.2.
34632
34633 2001-01-27  Jim Meyering  <meyering@lucent.com>
34634
34635         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
34636         a use of AS_IF.
34637         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
34638
34639 2001-01-26  Jim Meyering  <meyering@lucent.com>
34640
34641         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
34642         quotearg.c includes it.
34643
34644 2001-01-26  Jim Meyering  <meyering@lucent.com>
34645
34646         * lib/quotearg.c: Include stddef.h.
34647         * lib/quote.c: Include stddef.h.
34648         Reported by Axel Kittenberger.
34649
34650         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
34651         line in double quotes so that it evokes a better diagnostic.
34652         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
34653         Reported by Axel Kittenberger.
34654
34655 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
34656
34657         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
34658         as if it was a `charset'.
34659
34660 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
34661
34662         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
34663         has const.
34664
34665 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
34666
34667         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
34668         to avoid a warning.  Add back 'const' to inptr.
34669
34670 2001-01-20  Jim Meyering  <meyering@lucent.com>
34671
34672         Be sure that headers are checked before used in code compiled
34673         for the type checks.
34674         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
34675         In place of that, invoke jm_CHECK_ALL_TYPES.
34676         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
34677         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
34678         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
34679         The check for ssize_t was mistakenly run before the test for unistd.h.
34680
34681         The configure-time check for stdbool.h was missing.
34682         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
34683         (jm_PREREQ_HASH): New function.
34684
34685 2001-01-17  Jim Meyering  <meyering@lucent.com>
34686
34687         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
34688         for autoconf-2.49c.
34689         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
34690
34691 2001-01-16  Jim Meyering  <meyering@lucent.com>
34692
34693         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
34694         From Bruno Haible.
34695
34696 2001-01-14  Jim Meyering  <meyering@lucent.com>
34697
34698         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
34699         foo and bar.  Create conftestdir/ in the script, not in the C code.
34700         Remove directories in the script, not in the C code.
34701         Remove conftestdir{,2} before trying to create the directory.
34702         Make the entire configure script fail if the mkdir fails.
34703
34704 2001-01-14  Jim Meyering  <meyering@lucent.com>
34705
34706         * lib/rename.c: New file.  From Volker Borchert.
34707         Include stdlib.h, string.h or strings.h, and xalloc.h.
34708         Use strip_trailing_slashes rather than open-coding it.
34709
34710 2001-01-03  Paul Eggert  <eggert@twinsun.com>
34711
34712         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
34713
34714 2001-01-03  Jim Meyering  <meyering@lucent.com>
34715
34716         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
34717         of local `inptr' to avoid warning with some system declarations of
34718         iconv.
34719
34720 2001-01-02  Volker Borchert  <bt@teknon.de>
34721
34722         * m4/rename.m4: New file.
34723         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
34724
34725 2001-01-01  Jim Meyering  <meyering@lucent.com>
34726
34727         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
34728         even on systems with utmpx.h.  It's necessary for the declaration of
34729         utmp's ut_user member.  Reported by Andreas Jaeger.
34730
34731         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
34732         available. They are required for the declarations of getgrgid and
34733         getpwuid resp.
34734         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
34735         Reported by Andreas Jaeger.
34736
34737 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
34738
34739         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
34740         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
34741         so `make install' also works in VPATH builds.
34742
34743 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
34744
34745         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
34746         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
34747         can be used in subdirectories.
34748
34749 2000-12-29  Paul Eggert  <eggert@twinsun.com>
34750
34751         * lib/modechange.c: Do not assume that mode_t uses the
34752         traditional octal encoding.  E.g. "chmod 1 FOO" should set
34753         the other-execute bit of FOO even if S_IXOTH != 1.
34754
34755         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
34756         WOTH, XOTH, ALLM): New macros.
34757         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
34758          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
34759         Use them.
34760         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
34761         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
34762         (mode_compile):
34763         No need to use uintmax_t; unsigned long is long enough.
34764         Don't bother to get suffix since we don't use it.
34765
34766 2000-12-26  Jim Meyering  <meyering@lucent.com>
34767
34768         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
34769         better with autoheader.
34770
34771 2000-12-24  Jim Meyering  <meyering@lucent.com>
34772
34773         * lib/hash.c (is_prime): Return explicit boolean values.
34774         (hash_get_first): Return NULL to appease Irix5.6's 89.
34775         Reported by Nelson Beebe.
34776
34777 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
34778
34779         * lib/localcharset.c (locale_charset): Add support for Win32.
34780
34781 2000-12-18  Paul Eggert  <eggert@twinsun.com>
34782
34783         * lib/physmem.h, lib/physmem.c: New files.
34784
34785         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
34786         (noinst_HEADERS): Add physmem.h.
34787
34788         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
34789         't' for compatibility with Solaris 8 sort.
34790
34791 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
34792
34793         * lib/config.charset: Add support for BeOS.
34794
34795 2000-12-17  Jim Meyering  <meyering@lucent.com>
34796
34797         * m4/dos.m4 (jm_AC_DOS): New file and macro.
34798         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
34799
34800 2000-12-16  Jim Meyering  <meyering@lucent.com>
34801
34802         This bug had a serious impact on chown: `chown N:M FILE' (for integer
34803         N and M) would have treated it like `chown N:N FILE'.
34804
34805         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
34806
34807 2000-12-16  Jim Meyering  <meyering@lucent.com>
34808
34809         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
34810         SHELLS_FILE to a file name that's useful on djgpp systems.
34811         Include stdlib.h.
34812         (ADDITIONAL_DEFAULT_SHELLS): Define.
34813         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
34814         Based mostly on a patch from Prashant TR.
34815
34816 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
34817
34818         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
34819         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
34820         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
34821
34822 2000-12-08  Andreas Schwab  <schwab@suse.de>
34823
34824         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
34825         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
34826
34827 2000-12-07  Jim Meyering  <meyering@lucent.com>
34828
34829         * lib/stripslash.c (ISSLASH): Define.
34830         (strip_trailing_slashes): Use ISSLASH rather than comparing against
34831         `/'.
34832         From Prashant TR.
34833
34834         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
34835         (dir_name_r): Declare this function as static.
34836         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
34837         manifest itself on a name containing a mix of slashes and
34838         backslashes.
34839         Make this function work with names starting with a DOS-style
34840         drive letter and colon prefix.
34841         (dir_name): Append `.' if necessary.
34842         Based mostly on patches from Prashant TR and Eli Zaretskii.
34843
34844         * lib/dirname.h (dir_name_r): Remove prototype.
34845
34846 2000-12-06  Paul Eggert  <eggert@twinsun.com>
34847
34848         * m4/off_t-format.m4: Remove this file.
34849         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
34850
34851 2000-12-06  Jim Meyering  <meyering@lucent.com>
34852
34853         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
34854         replacement strtoull, we may well need the replacement strtoul, too.
34855         Check for declarations of strtoul and strtoull.
34856         Check for strtol.  Mainly as a cue to cause automake to include
34857         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
34858         Check for limits.h -- strtol.c needs it.
34859
34860 2000-12-05  Jim Meyering  <meyering@lucent.com>
34861
34862         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
34863
34864 2000-12-04  Jim Meyering  <meyering@lucent.com>
34865
34866         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
34867         Also include memory.h, stdlib.h, unistd.h if appropriate.
34868         Reported by Andreas Jaeger (conflicting declaration of malloc).
34869
34870 2000-12-02  Jim Meyering  <meyering@lucent.com>
34871
34872         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
34873         * m4/jm-macros.m4 (jm_MACROS): require it.
34874
34875 2000-12-02  Jim Meyering  <meyering@lucent.com>
34876
34877         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
34878
34879 2000-12-01  Paul Eggert  <eggert@twinsun.com>
34880
34881         * lib/memrchr.c: Include <config.h> before any system include file.
34882
34883 2000-11-30  Jim Meyering  <meyering@lucent.com>
34884
34885         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
34886
34887 2000-11-30  Jim Meyering  <meyering@lucent.com>
34888
34889         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
34890
34891 2000-11-29  Paul Eggert  <eggert@twinsun.com>
34892
34893         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
34894
34895 2000-11-26  Jim Meyering  <meyering@lucent.com>
34896
34897         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
34898
34899 2000-11-22  Paul Eggert  <eggert@twinsun.com>
34900
34901         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
34902         size of (size_t) -1; it's not portable.
34903
34904 2000-11-17  Jim Meyering  <meyering@lucent.com>
34905
34906         * lib/strstr.c: Update from GNU libc.
34907
34908 2000-11-17  Akim Demaille  <akim@epita.fr>
34909
34910         * lib/obstack.h: Formatting changes.
34911         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
34912         prevent type checking.
34913         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
34914         cast the value to (void *): assigning a `foo *' to a `void *'
34915         variable is valid.
34916         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
34917
34918 2000-11-16  Jim Meyering  <meyering@lucent.com>
34919
34920         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
34921
34922 2000-11-11  Jim Meyering  <meyering@lucent.com>
34923
34924         * lib/error.c: Add a couple #includes, merging from GNU libc version.
34925
34926 2000-11-10  Jim Meyering  <meyering@lucent.com>
34927
34928         * lib/obstack.h: Update from GNU libc.
34929         * lib/obstack.c: Likewise.
34930
34931 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
34932
34933         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
34934
34935 2000-11-06  Paul Eggert  <eggert@twinsun.com>
34936
34937         * lib/getusershell.c (setusershell): Use rewind rather than
34938         fseek/fseeko, to avoid configuration hassles with fseeko.
34939         Don't bother opening SHELLS_FILE if shellstream is NULL;
34940         it's not necessary.
34941
34942 2000-11-05  Jim Meyering  <meyering@lucent.com>
34943
34944         * lib/makepath.h (make_dir): Declare.
34945         * lib/makepath.c (make_dir): Remove `static' attribute.
34946         Tweak a comment.
34947
34948 2000-11-04  Jim Meyering  <meyering@lucent.com>
34949
34950         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
34951
34952 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
34953
34954         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
34955         last one in a bucket, advance to the next bucket.
34956
34957 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
34958
34959         * lib/fnmatch.c: Do not comment out all the code if we are using
34960         the GNU C library, because in some cases we are replacing buggy
34961         code in the GNU C library itself.
34962
34963 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
34964
34965         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
34966         (regex_compile): Catch bogus \(\1\).
34967
34968 2000-10-30  Paul Eggert  <eggert@twinsun.com>
34969
34970         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
34971         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
34972         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
34973
34974 2000-10-30  Paul Eggert  <eggert@twinsun.com>
34975
34976         * lib/error.h, getline.h, modechange.h:
34977         Remove "2000" from Copyright line, as the file hasn't been
34978         changed this year other than in the copyright notice.
34979
34980         * lib/xalloc.h: Add "2000" to Copyright line, as this file
34981         was changed this year.
34982
34983 2000-10-29  Jim Meyering  <meyering@lucent.com>
34984
34985         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
34986         renaming.
34987         * m4/ls-mntd-fs.m4: Likewise
34988
34989 2000-10-29  Jim Meyering  <meyering@lucent.com>
34990
34991         * lib/xstat.in: Fix grammar in comment.
34992
34993 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
34994
34995         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
34996         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
34997         doesn't define __restrict_arr.
34998
34999 2000-10-28  Jim Meyering  <meyering@lucent.com>
35000
35001         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
35002         (jm_PREREQ_MEMCHR): New function.
35003
35004 2000-10-28  Jim Meyering  <meyering@lucent.com>
35005
35006         * lib/memchr.c: Update from libc.
35007         Adjust for portability:
35008         [HAVE_STDLIB_H]: Include stdlib.h.
35009         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
35010         Undef __memchr, too.
35011         [!weak_alias]: Define __memchr to memchr.
35012
35013         * lib/regex.c: Update from libc.
35014         * lib/regex.h: Likewise.
35015         * lib/getopt1.c: Likewise.
35016         * lib/memcmp.c: Likewise.
35017
35018         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
35019         Avoid using fseek, when possible -- it's broken by design.
35020         Patch by Ulrich Drepper.
35021
35022 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
35023
35024         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
35025         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
35026         Giving in to popular pressure to shut up the compiler with casts.
35027
35028 2000-10-26  Jim Meyering  <meyering@lucent.com>
35029
35030         * lib/strftime.c: Update from libc.
35031
35032 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
35033
35034         * regex.c: More `unsigned char' -> `re_char' changes.
35035         Also change several `int' into `re_wchar_t'.
35036         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
35037         (PUSH_FAILURE_POINTER): Don't cast any more.
35038         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
35039         We want GCC to complain, since this piece of code makes
35040         re_match non-reentrant, which *should* be fixed.
35041         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
35042         (EXTEND_BUFFER): Use RETALLOC.
35043         (SET_LIST_BIT): Don't cast.
35044         (re_wchar_t): New type.
35045         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
35046         that those two functions will always properly return.
35047         (IMMEDIATE_QUIT_CHECK): Cast to void.
35048         (analyse_first): Use recursion rather than an explicit stack.
35049         (re_compile_fastmap): Can't fail anymore.
35050         (re_search_2): Don't check re_compile_fastmap for failure.
35051         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
35052         Now also sets the new value (passed in a new argument).
35053         (re_match_2_internal): Use it.
35054         Also, use a new var `reg' of type size_t when looping through regs
35055         rather than reuse the inappropriate `mcnt'.
35056
35057 2000-10-25  Jim Meyering  <meyering@lucent.com>
35058
35059         * lib/obstack.c: Update from libc.
35060
35061 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
35062
35063         * regex.c (regex_compile): Change the way of handling a range from
35064         a char less than 256 to a char not less than 256.
35065
35066 2000-10-24  Andrew Innes  <andrewi@gnu.org>
35067
35068         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
35069         NT-Emacs only.
35070         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
35071         so that re_search functions only quit when callers expect them to.
35072
35073 2000-10-23  Jim Meyering  <meyering@lucent.com>
35074
35075         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
35076         wrong.  That set_locale call must not have any side effects.
35077         From Paul Eggert.
35078
35079 2000-10-22  Jim Meyering  <meyering@lucent.com>
35080
35081         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
35082         [CYCLIC]: Remove now-unused definition.
35083
35084         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
35085         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
35086         Suggestion from Ulrich Drepper.
35087
35088 2000-10-21  Jim Meyering  <meyering@lucent.com>
35089
35090         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
35091         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
35092         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
35093
35094 2000-10-21  Jim Meyering  <meyering@lucent.com>
35095
35096         * lib/dirname.c (memrchr): Declare if necessary.
35097         (dir_name): Remove the restriction that there be no
35098         trailing slashes.  Now, this code skips past them, effectively
35099         ignoring them.
35100         [TEST_DIRNAME] (main): New unit tests.
35101
35102         * lib/memrchr.c: New file from GNU libc.
35103         Undef __memrchr, too.
35104         [!weak_alias]: Define __memrchr to memrchr.
35105         Guard weak_alias use with `#ifdef weak_alias'.
35106
35107 2000-10-21  Jim Meyering  <meyering@lucent.com>
35108
35109         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
35110         (dir_name): Use dir_name_r.
35111         * lib/dirname.h (dir_name_r): Declare it.
35112
35113 2000-10-17  Jim Meyering  <meyering@lucent.com>
35114
35115         * lib/quote.h (PARAMS): Define and use.
35116         Reported by Akim Demaille.
35117
35118         * lib/getopt.c: Update from libc.
35119
35120 2000-10-16  Jim Meyering  <meyering@lucent.com>
35121
35122         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
35123         setlocale.
35124         From Jan Fedak.
35125
35126 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
35127
35128         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
35129
35130 2000-09-25  Jim Meyering  <meyering@lucent.com>
35131
35132         * lib/md5.h (rol): Define (from GnuPG).
35133
35134         * lib/sha.c: Give credit (GnuPG) where due.
35135         (M): Use rol rather than open-coding it.
35136         Add a FIXME comment.
35137
35138 2000-09-21  Jim Meyering  <meyering@lucent.com>
35139
35140         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
35141         Reported by Michael Stone.
35142
35143 2000-09-20  Jim Meyering  <meyering@lucent.com>
35144
35145         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
35146         (noinst_HEADERS): Add sha.h.
35147         Based on code from Scott G. Miller and from GnuPG.
35148
35149 2000-09-18  Jim Meyering  <meyering@lucent.com>
35150
35151         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
35152         LIBS. Otherwise, everyone ends up linking with -lelf for some
35153         configurations.
35154         Reported by Mike Stone.
35155
35156 2000-09-15  Jim Meyering  <meyering@lucent.com>
35157
35158         * lib/regex.c: Update from libc.
35159
35160 2000-09-10  Jim Meyering  <meyering@lucent.com>
35161
35162         * lib/getopt.c (_getopt_internal): Update from glibc.
35163
35164 2000-09-09  Jim Meyering  <meyering@lucent.com>
35165
35166         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
35167         think it should be used as a general replacement for isascii.
35168         * lib/fnmatch.c: Likewise.
35169         * lib/mbswidth.c: Likewise
35170         * lib/regex.c: Likewise.
35171
35172         Don't use atoi.
35173         * lib/userspec.c: Include sys/param.h and limits.h.
35174         Include xstrtol.h.
35175         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
35176         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
35177         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
35178         UID, GID.  Check range.
35179
35180 2000-09-06  Jim Meyering  <meyering@lucent.com>
35181
35182         * lib/getopt.c (_getopt_internal): Update from glibc.
35183
35184 2000-08-30  Jim Meyering  <meyering@lucent.com>
35185
35186         * lib/strftime.c: Merge in changes from GNU libc.
35187
35188 2000-08-26  Jim Meyering  <meyering@lucent.com>
35189
35190         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
35191         * m4/fpending.m4: New file.
35192
35193 2000-08-26  Jim Meyering  <meyering@lucent.com>
35194
35195         * lib/closeout.c: Include "__fpending.h".
35196         (close_stdout_status): Return right away if there's nothing to flush.
35197
35198         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
35199         * lib/__fpending.c: New file.
35200         * lib/__fpending.h: New file.
35201
35202 2000-08-20  Jim Meyering  <meyering@lucent.com>
35203
35204         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
35205         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
35206         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
35207
35208 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
35209
35210         Improve fileutils installation on systems where running
35211         programs (like install) can't be unlinked.
35212         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
35213         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
35214
35215 2000-08-07  Paul Eggert  <eggert@twinsun.com>
35216
35217         Standardize on "memory exhausted" instead of "Memory exhausted"
35218         or "virtual memory exhausted".
35219         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
35220         "virtual memory exhausted".
35221         * lib/same.c (same_name): Invoke xalloc_die instead of printing
35222         our own message.
35223         * lib/userspec.c (parse_user_spec): Likewise.
35224         * lib/bumpalloc.h: comment fix
35225         * lib/same.c, userspec.c: Include xalloc.h.
35226
35227         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
35228         not char *const and pointing to a constant array.
35229         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
35230         (xrealloc): Comment fix.
35231
35232         * lib/userspec.c (parse_user_spec):
35233         Don't translate a message until just before returning,
35234         to avoid unnecessary translation.
35235
35236 2000-08-07  Jim Meyering  <meyering@lucent.com>
35237
35238         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
35239         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
35240         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
35241         getgroups.c, gethostname.c, getopt.h, group-member.c,
35242         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
35243         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
35244         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
35245         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
35246         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
35247         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
35248         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
35249         yesno.c: Back out Copyright date changes for each file with no change
35250         this year.  This eases coordination with other programs using the same
35251         source code modules.  From Paul Eggert.
35252
35253 2000-08-06  Paul Eggert  <eggert@twinsun.com>
35254
35255         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
35256         not char, for compatibility with glibc 2.1.3 strftime.c.
35257
35258 2000-08-03  Greg McGary  <greg@mcgary.org>
35259
35260         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
35261         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
35262         (EXTEND_BUFFER): Use them.
35263
35264 2000-08-01  Jim Meyering  <meyering@lucent.com>
35265
35266         * lib/dirname.c (ISSLASH): Define.
35267         (BACKSLASH_IS_PATH_SEPARATOR): Define.
35268         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
35269         both `\' and `/' may be use as path separators.
35270         Based on a patch from Prashant TR.
35271
35272 2000-07-31  Paul Eggert  <eggert@twinsun.com>
35273
35274         * lib/quotearg.c (quotearg_n_options): Don't make the initial
35275         slot vector a constant, since it might get modified.
35276
35277 2000-07-31  Jim Meyering  <meyering@lucent.com>
35278
35279         * lib/xmalloc.c: Use `virtual memory exhausted', not
35280         `Memory exhausted'.
35281         * lib/obstack.c (print_and_abort): Likewise.
35282
35283 2000-07-30  Paul Eggert  <eggert@twinsun.com>
35284
35285         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
35286         buffer, so that the caller can always quote one small
35287         component of a "memory exhausted" message in slot 0.
35288         From a suggestion by Jim Meyering.
35289
35290 2000-07-30  Jim Meyering  <meyering@lucent.com>
35291
35292         * lib/makepath.c (make_path): Quote the other instance, too.
35293
35294         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
35295         (STATIC_BUF_SIZE): Define.
35296         (quotearg_n_options): Use only statically allocated storage when
35297         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
35298         than STATIC_BUF_SIZE.
35299
35300 2000-07-29  Jim Meyering  <meyering@lucent.com>
35301
35302         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
35303         * lib/dirname.c (dir_name): Likewise.
35304
35305         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
35306         `/'.
35307
35308         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
35309         (dir_name): Assert that there are no trailing slashes.
35310
35311 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
35312
35313         * lib/mbswidth.h (mbswidth): Add a flags argument.
35314         (mbswidth): New declaration.
35315         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
35316         * lib/mbswidth.c (mbswidth): Add a flags argument.
35317         (mbsnwidth): New function.
35318
35319 2000-07-24  Jim Meyering  <meyering@lucent.com>
35320
35321         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
35322
35323 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35324
35325         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
35326
35327 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35328
35329         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
35330         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
35331         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
35332         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
35333         invoke multibyte primitives.
35334
35335 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35336
35337         * lib/quotearg.c:
35338         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
35339         so that mbstate_t is always defined.
35340
35341         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
35342         be 1 in at least one GCC installation, and this configuration
35343         error is likely to be common.  Ignoring MB_LEN_MAX hurts
35344         performance on hosts that have mbrtowc but have only unibyte
35345         locales, but I assume these hosts are rare.
35346
35347 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35348
35349         * lib/mbswidth.c (_XOPEN_SOURCE):
35350         Don't define; this causes problems on Solaris 7.
35351         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
35352
35353 2000-07-23  Jim Meyering  <meyering@lucent.com>
35354
35355         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
35356         too: getgrgid, getpwuid, getuid.
35357
35358 2000-07-23  Jim Meyering  <meyering@lucent.com>
35359
35360         * lib/basename.c (base_name): Add an assertion.
35361
35362 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
35363
35364         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
35365         shadow its mbsinit function.
35366
35367 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
35368
35369         * lib/mbswidth.h: New file.
35370         * lib/mbswidth.c: New file.
35371         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
35372         (noinst_HEADERS): Add mbswidth.h.
35373
35374 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
35375
35376         * lib/config.charset: Add support for FreeBSD. Improve support for
35377         HP-UX and IRIX 6.
35378
35379 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
35380
35381         * m4/mbswidth.m4: New file.
35382         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
35383
35384 2000-07-15  Jim Meyering  <meyering@lucent.com>
35385
35386         * lib/makepath.c: Include quote.h.
35387         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
35388         corresponding argument in a `quote (...)' call.
35389         Give better diagnostics.
35390
35391         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
35392         (noinst_HEADERS): Add quote.h.
35393
35394         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
35395         from tar's src/misc.c.
35396         * lib/quote.h: New file.  Prototypes for same.
35397
35398 2000-07-14  Paul Eggert  <eggert@twinsun.com>
35399
35400         From a suggestion by Bruno Haible.
35401         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
35402         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
35403         to decide whether to define the BeOS workaround macro;
35404         this adjusts to the change to AC_MBSTATE_T.
35405
35406 2000-07-14  Jim Meyering  <meyering@lucent.com>
35407
35408         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
35409         jm_AC_TYPE_UINTMAX_T.
35410
35411 2000-07-13  Paul Eggert  <eggert@twinsun.com>
35412
35413         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
35414
35415         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
35416         quotearg_buffer_restyled): Add support for
35417         clocale_quoting_style.  Undo previous change to
35418         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
35419         and "{RIGHT QUOTATION MARK}" msgids.
35420
35421 2000-07-10  Paul Eggert  <eggert@twinsun.com>
35422
35423         From a suggestion by Bruno Haible.
35424         * m4/mbstate_t.m4 (AC_MBSTATE_T):
35425         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
35426         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
35427         and mbstate_t, to a single-part test that simply defines mbstate_t.
35428         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
35429         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
35430
35431 2000-07-10  Jim Meyering  <meyering@lucent.com>
35432
35433         * m4/strerror_r.m4: Mirror the correction made in autoconf.
35434
35435         * m4/gnu-source.m4: Output to confdefs.h directly.
35436         Suggestion from Akim Demaille.
35437
35438 2000-07-09  Paul Eggert  <eggert@twinsun.com>
35439
35440         The old behavior of quoting `like this' doesn't look good with
35441         newer, ISO-style fonts.  See:
35442         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
35443
35444         Instead, quote "like this" by default.  Let the translator
35445         tailor the locale-specific quoting behavior by providing
35446         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
35447
35448         * lib/quotearg.c (N_): New macro.
35449         (gettext_default): New function.
35450         (quotearg_buffer_restyled): Use
35451         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
35452         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
35453
35454 2000-07-09  Jim Meyering  <meyering@lucent.com>
35455
35456         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
35457         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
35458
35459         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
35460         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
35461
35462 2000-07-09  Jim Meyering  <meyering@lucent.com>
35463
35464         * lib/Most files: Update copyright dates to include 2000.
35465
35466 2000-07-08  Jim Meyering  <meyering@lucent.com>
35467
35468         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
35469         if not defined.
35470         (xgethostname): Remove now-unnecessary #ifdef.
35471         Move declaration of `err' into loop where it's used.
35472
35473 2000-07-05  Paul Eggert  <eggert@twinsun.com>
35474         and Bruno Haible  <haible@clisp.cons.org>
35475
35476         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
35477         only if the test for an object-type mbstate_t fails.  This
35478         prevents us from mistakenly reporting that mbstate_t is a
35479         system object type after we "#define mbstate_t int" to work
35480         around its lack.
35481
35482 2000-07-05  Paul Eggert  <eggert@twinsun.com>
35483         and Bruno Haible  <haible@clisp.cons.org>
35484
35485         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
35486
35487 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35488
35489         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
35490         to strerror_r.
35491         Include <ctype.h> for use of isalpha.
35492
35493 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35494
35495         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
35496         by allocating a larger buffer. Test the gethostname return value for
35497         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
35498         returns an error and ENAMETOOLONG isn't defined.
35499
35500 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35501
35502         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
35503         dimension.
35504
35505 2000-07-04  Jim Meyering  <meyering@lucent.com>
35506
35507         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
35508         of the deprecated AC_CHECKING.
35509
35510 2000-07-04  Jim Meyering  <meyering@lucent.com>
35511
35512         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
35513         Reported by Bruno Haible.
35514
35515 2000-07-04  Jim Meyering  <meyering@lucent.com>
35516
35517         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
35518         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
35519         lacks mbrtowc.
35520
35521 2000-07-03  Paul Eggert  <eggert@twinsun.com>
35522
35523         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
35524         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
35525
35526 2000-07-03  Paul Eggert  <eggert@twinsun.com>
35527         and Bruno Haible  <haible@clisp.cons.org>
35528
35529         * lib/quotearg.c (mbrtowc):
35530         Assign to *pwc, and return 1 only if result is nonzero.
35531         (iswprint): Use ISPRINT when substituting our own mbrtowc.
35532
35533 2000-07-03  Jim Meyering  <meyering@lucent.com>
35534
35535         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
35536
35537 2000-07-03  Jim Meyering  <meyering@lucent.com>
35538
35539         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
35540         This is necessary to get a definition of e.g., UTMP_FILE on
35541         HP-UX 10.20.
35542         From Bob Proulx.
35543
35544 2000-07-02  Jim Meyering  <meyering@lucent.com>
35545
35546         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
35547
35548         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
35549         AC_LIBOBJ(function_name).
35550         * m4/chown.m4: Likewise.
35551         * m4/fnmatch.m4: Likewise.
35552         * m4/ftruncate.m4: Likewise.
35553         * m4/getgroups.m4: Likewise.
35554         * m4/getline.m4: Likewise.
35555         * m4/group-member.m4: Likewise.
35556         * m4/jm-macros.m4: Likewise.
35557         * m4/lstat.m4: Likewise.
35558         * m4/malloc.m4: Likewise.
35559         * m4/memcmp.m4: Likewise.
35560         * m4/nanosleep.m4: Likewise.
35561         * m4/putenv.m4: Likewise.
35562         * m4/realloc.m4: Likewise.
35563         * m4/regex.m4: Likewise.
35564         * m4/stat.m4: Likewise.
35565         * m4/strftime.m4: Likewise.
35566
35567 2000-07-02  Jim Meyering  <meyering@lucent.com>
35568
35569         * lib/quotearg.c (mbstate_t): Don't define here.
35570
35571 2000-07-02  Jim Meyering  <meyering@lucent.com>
35572
35573         * lib/nanosleep.c (SIGCONT): Define if not already defined.
35574
35575 2000-07-01  Jim Meyering  <meyering@lucent.com>
35576
35577         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
35578
35579 2000-07-01  Jim Meyering  <meyering@lucent.com>
35580
35581         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
35582         problem.
35583
35584 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
35585
35586         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
35587         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
35588
35589 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
35590
35591         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
35592         per change in ../m4/ls-mntd-fs.m4.
35593         (read_filesystem_list): Ignore symbolic links.
35594
35595 2000-06-29  Jim Meyering  <meyering@lucent.com>
35596
35597         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
35598         for declaration of strcmp.
35599
35600         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
35601
35602         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
35603         Avoid warning by casting result to `char *' to remove `const'.
35604
35605 2000-06-28  Jim Meyering  <meyering@lucent.com>
35606
35607         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
35608         included by quotearg.c, for which we perform this test.  From
35609         Bruno Haible.
35610
35611 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
35612
35613         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
35614         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
35615         <utmpx.h> exists, put readutmp.o into LIBOBJS.
35616
35617 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
35618
35619         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
35620
35621 2000-06-26  Paul Eggert  <eggert@twinsun.com>
35622
35623         savedir now sets errno on failure and invokes xmalloc to get memory.
35624         Fix a couple of other minor bugs while we're at it.
35625
35626         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
35627         (NAMLEN): Remove macro.
35628         (malloc, realloc): Remove decls.
35629         (stpcpy): Likewise.
35630         ("xalloc.h"): Include.
35631         (NAME_SIZE_DEFAULT): New macro.
35632         (savedir): Use xmalloc / xrealloc to allocate memory.
35633         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
35634         Skip "" directory entries.
35635         Use strlen to calculate directory entry length, since the old method
35636         is rarely used these days and isn't worth supporting.
35637         Don't use a pointer after freeing it.
35638         Check for integer overflow when calculating allocation size.
35639         Use memcpy to copy entries, instead of stpcpy.
35640         Set errno properly when returning NULL.
35641         Check for readdir error.
35642
35643 2000-06-26  Jim Meyering  <meyering@lucent.com>
35644
35645         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
35646
35647 2000-06-25  Jim Meyering  <meyering@lucent.com>
35648
35649         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
35650         Linux header bug when _XOPEN_SOURCE is defined to 500.
35651
35652 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
35653
35654         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
35655         deficiency.
35656
35657 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
35658
35659         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
35660         Include xalloc.h.
35661         Don't include <stdlib.h>.  Don't declare malloc, realloc.
35662
35663 2000-06-24  Jim Meyering  <meyering@lucent.com>
35664
35665         * m4/strerror_r.m4: Revive this file -- to try out an experimental
35666         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
35667         for which strerror does return char*, but which lacks a conveniently
35668         accessible declaration of the function.  If the compile-test says
35669         strerror_r doesn't work, then resort to a `run'-test that works on
35670         BeOS and segfaults on DEC Unix.
35671
35672 2000-06-24  Jim Meyering  <meyering@lucent.com>
35673
35674         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
35675
35676 2000-06-23  Paul Eggert  <eggert@twinsun.com>
35677
35678         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
35679         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
35680
35681 2000-06-23  Paul Eggert  <eggert@twinsun.com>
35682
35683         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
35684         (mbrtowc, mbstate_t): Define substitutes if
35685         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
35686         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
35687         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
35688
35689 2000-06-23  Jim Meyering  <meyering@lucent.com>
35690
35691         * m4/afs.m4: Add missing AC_MSG_RESULT.
35692         Reported by Bruno Haible.
35693
35694         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
35695         Suggestion from Bruno Haible.
35696
35697 2000-06-23  Jim Meyering  <meyering@lucent.com>
35698
35699         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
35700
35701 2000-06-21  Jim Meyering  <meyering@lucent.com>
35702
35703         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
35704
35705 2000-06-21  Jim Meyering  <meyering@lucent.com>
35706
35707         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
35708         (noinst_HEADERS): Add getstr.h.
35709
35710         * lib/getline.c (getstr): Move into a separate file.
35711         * lib/getstr.c (getstr): New file, extracted from getline.c, with
35712         the following changes: new parameter, delim2; both delim[12]
35713         parameters have type `int', not `char'.  The latter would lose
35714         with 8-bit delimiters.
35715         * lib/getstr.h: New file.
35716
35717 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35718
35719         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
35720         than 1024, return a memory chunk of least possible size, instead
35721         of size PATH_MAX + 2. In the loop, increment the size proportionally.
35722         Use free/xmalloc instead of xrealloc to avoid copying for very long
35723         paths.
35724
35725 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35726
35727         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
35728         the empty string.
35729
35730 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35731
35732         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
35733         address, not strdup.  Include <stdlib.h> and don't declare free().
35734
35735 2000-06-19  Jim Meyering  <meyering@lucent.com>
35736
35737         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
35738
35739 2000-06-18  Jim Meyering  <meyering@lucent.com>
35740
35741         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
35742
35743         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
35744         `checking whether...' message to be consistent with that of the
35745         lstat test.
35746
35747 2000-06-18  Jim Meyering  <meyering@lucent.com>
35748
35749         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
35750         Besides, these days every porting target provides a mkdir function.
35751
35752         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
35753         needed. (this snippet comes from src/system.h).
35754
35755 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
35756
35757         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
35758
35759 2000-06-15  Paul Eggert  <eggert@twinsun.com>
35760
35761         * lib/human.c (adjust_value): New function.
35762         (human_readable_inexact): Apply rounding style even when
35763         printing approximate values.
35764
35765 2000-06-14  Paul Eggert  <eggert@twinsun.com>
35766
35767         * lib/human.c (human_readable_inexact): Allow an input block
35768         size that is not a multiple of the output block size, and vice versa.
35769         Reported by Piergiorgio Sartor.
35770
35771 2000-06-14  Paul Eggert  <eggert@twinsun.com>
35772
35773         * lib/getdate.y (get_date): Apply relative times after time
35774         zone indicator, not before.  Reported by Todd A. Jacobs.
35775
35776 2000-06-13  Jim Meyering  <meyering@lucent.com>
35777
35778         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
35779
35780         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
35781
35782 2000-06-12  Paul Eggert  <eggert@twinsun.com>
35783
35784         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
35785
35786 2000-06-12  Jim Meyering  <meyering@lucent.com>
35787
35788         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
35789         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
35790         optional argument.
35791         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
35792         the optional argument, `lib'.
35793
35794 2000-06-08  Jim Meyering  <meyering@lucent.com>
35795
35796         * m4/largefile.m4: Remove file (now that it's part of autoconf).
35797
35798 2000-06-04  Paul Eggert  <eggert@twinsun.com>
35799
35800         Rewrite largefile configuration so that we don't need to run
35801         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
35802         AC_CANONICAL_HOST in configure.in -- jmm]
35803
35804         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
35805         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
35806         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
35807         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
35808         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
35809         All uses changed.
35810         Instead of inspecting the output of getconf, try to compile the
35811         test program without and with the macro definition.
35812         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
35813         for getconf.  Instead, check for the needed flags by compiling
35814         test programs.
35815
35816 2000-06-04  Paul Eggert  <eggert@twinsun.com>
35817
35818         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
35819
35820 2000-06-04  Jim Meyering  <meyering@lucent.com>
35821
35822         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
35823         SunOS 4.1.4 for which gid_t is an unsigned type.
35824
35825 2000-06-03  Jim Meyering  <meyering@lucent.com>
35826
35827         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
35828         now that autoconf requires that.
35829
35830         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
35831         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
35832         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
35833
35834 2000-06-03  Jim Meyering  <meyering@lucent.com>
35835
35836         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
35837
35838 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
35839
35840         * m4/glibc21.m4: New file.
35841         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
35842
35843 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
35844
35845         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
35846         newer, don't install charset.alias.
35847         * lib/config.charset: Change the Linux/glibc rules so they become empty
35848         on glibc-2.1 or newer.
35849
35850 2000-06-02  Jim Meyering  <meyering@lucent.com>
35851
35852         * lib/mountlist.c: Back out last change.  Instead, do this...
35853         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
35854         me_dummy member using the same `ignore'-testing code.
35855         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
35856         fs_type strings.
35857         From Mark D. Roth.
35858
35859 2000-05-29  Jim Meyering  <meyering@lucent.com>
35860
35861         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
35862         mounts with the `ignore' attribute.  Based on a patch from
35863         Mark D. Roth.
35864
35865 2000-05-28  Jim Meyering  <meyering@lucent.com>
35866
35867         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
35868         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35869         * m4/stat.m4: Likewise.
35870         * m4/lstat.m4: Likewise.
35871         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
35872
35873         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
35874         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
35875
35876 2000-05-26  Jim Meyering  <meyering@lucent.com>
35877
35878         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
35879
35880 2000-05-24  Jim Meyering  <meyering@lucent.com>
35881
35882         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
35883         autoconf requires that.
35884         * m4/lib-check.m4: Likewise.
35885         * m4/jm-macros.m4: Likewise.
35886         * m4/strftime.m4: Likewise.
35887
35888         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
35889         AC_CHECK_DECLS, now that autoconf requires that.
35890
35891 2000-05-22  Jim Meyering  <meyering@lucent.com>
35892
35893         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35894         * m4/lstat.m4: Likewise.
35895
35896 2000-05-22  Jim Meyering  <meyering@lucent.com>
35897
35898         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
35899
35900 2000-05-20  Jim Meyering  <meyering@lucent.com>
35901
35902         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
35903         (jm_PREREQ): Use it.
35904
35905 2000-05-18  Jim Meyering  <meyering@lucent.com>
35906
35907         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
35908         back, too, since it may have been modified by allocate_entry.
35909         (hash_delete): Rewrite to use neither the assignment operator
35910         nor the comma operator in an if-expression.
35911
35912 2000-05-15  Paul Eggert  <eggert@twinsun.com>
35913
35914         * lib/closeout.c:
35915         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
35916         Remove; no longer needed.
35917         "quotearg.h": Add include.
35918         (file_name): Do not bother to explicitly initialize to NULL; it's less
35919         efficient on some hosts.
35920         (close_stdout_status): Remove test as to whether stdout was already
35921         closed; it breaks for the case "echo x | sort >&-".
35922         Quote file name colons.
35923         Do not assume that _("write error") lacks format strings.
35924
35925 2000-05-15  Jim Meyering  <meyering@lucent.com>
35926
35927         * lib/version-etc.c (version_etc_copyright): Update the copyright
35928         string used in all --version output.
35929
35930 2000-05-14  Jim Meyering  <meyering@lucent.com>
35931
35932         * lib/closeout.c (close_stdout_set_file_name): New function.
35933         (close_stdout_status): Use new file-scoped global.
35934         Return right away if fstat says the stdout file descriptor is invalid.
35935         * lib/closeout.h (close_stdout_set_file_name): Declare.
35936
35937 2000-05-10  Jim Meyering  <meyering@lucent.com>
35938
35939         * lib/closeout.c [default_exit_status]: New file-scoped variable.
35940         (close_stdout_set_status): New function.
35941         * lib/closeout.h (close_stdout_set_status): Declare.
35942
35943 2000-05-09  Jim Meyering  <meyering@lucent.com>
35944
35945         * m4/gettext.m4: Rename this...
35946         * m4/libintl.m4: ...to this.
35947
35948 2000-05-08  Jim Meyering  <meyering@lucent.com>
35949
35950         * lib/long-options.c: Don't include closeout.h.
35951         (parse_long_options): Don't call close_stdout for --version.
35952
35953 2000-05-06  Paul Eggert  <eggert@twinsun.com>
35954
35955         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
35956         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
35957         2.1.3 bug.  This avoids a clash when files like regex.c define
35958         _GNU_SOURCE.
35959
35960 2000-05-06  Jim Meyering  <meyering@lucent.com>
35961
35962         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
35963         (AC_REPLACE_FUNCS): Add strnlen.
35964
35965         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
35966         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
35967
35968         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
35969         AC_SEARCH_LIBS call for nanosleep.
35970         (LIB_NANOSLEEP): Set and AC_SUBST.
35971
35972 2000-05-06  Jim Meyering  <meyering@lucent.com>
35973
35974         * lib/strnlen.c: Undefine __strnlen and strnlen.
35975         [!weak_alias]: Define __strnlen to strnlen.
35976
35977         * lib/atexit.c: New file, from libiberty.
35978
35979 2000-05-06  Jim Meyering  <meyering@lucent.com>
35980
35981         * lib/closeout.c (close_stdout_status): Also check for errors on the
35982         stderr stream.
35983
35984 2000-05-05  Jim Meyering  <meyering@lucent.com>
35985
35986         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
35987         AC_SEARCH_LIBS call for clock_gettime.
35988         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
35989
35990         * m4/search-libs.m4: Update from autoconf.
35991
35992         su doesn't work on Solaris 2.6.
35993         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
35994         <shadow.h>.  Reported by Dragos Harabor.
35995
35996 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
35997
35998         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
35999         memcpy instead of xmalloc, xrealloc, path_concat.
36000         (locale_charset): Treat empty environment variables as absent.
36001         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
36002
36003 2000-05-04  Jim Meyering  <meyering@lucent.com>
36004
36005         * lib/getopt.c: Update from glibc.
36006         * lib/obstack.c: Likewise.
36007         * lib/obstack.h: Likewise.
36008         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
36009         file
36010
36011         * lib/regex.h: Likewise.
36012         * lib/strndup.c: Likewise.
36013         * lib/strnlen.c: New file, from glibc.
36014
36015 2000-05-03  Jim Meyering  <meyering@lucent.com>
36016
36017         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
36018
36019 2000-05-02  Paul Eggert  <eggert@twinsun.com>
36020
36021         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
36022         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
36023         compile-time test, rather than inspecting host and OS, to
36024         decide whether to define _LARGEFILE_SOURCE.
36025
36026 2000-05-01  Jim Meyering  <meyering@lucent.com>
36027
36028         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
36029
36030         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
36031         Based on a patch from Bruno Haible.
36032
36033 2000-05-01  Jim Meyering  <meyering@lucent.com>
36034
36035         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
36036
36037 2000-04-29  Jim Meyering  <meyering@lucent.com>
36038
36039         * lib/path-concat.c: Declare strdup only if it's not defined.
36040         * lib/canon-host.c: Likewise.
36041
36042 2000-04-28  Jim Meyering  <meyering@lucent.com>
36043
36044         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
36045         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
36046         is included first, then limits.h is included by locale.h by libintl.h.
36047         From John David Anglin.
36048
36049 2000-04-25  Jim Meyering  <meyering@lucent.com>
36050
36051         * lib/makepath.c (S_IRWXUGO): Define.
36052         (make_path): Always perform explicit chmod if MODE specifies any
36053         of the `special' permission bits.  Prompted by a bug report against
36054         install from Mate Wierdl and Joost van Baal.
36055
36056 2000-04-18  Jim Meyering  <meyering@lucent.com>
36057
36058         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
36059         (jm_PREREQ): Use it.
36060
36061 2000-04-18  Jim Meyering  <meyering@lucent.com>
36062
36063         * lib/README: New file.
36064
36065         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
36066         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
36067
36068 2000-04-17  Jim Meyering  <meyering@lucent.com>
36069
36070         Get it right :-)
36071         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
36072         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
36073         Suggestion from Akim Demaille.
36074
36075 2000-04-17  Jim Meyering  <meyering@lucent.com>
36076
36077         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
36078         the definition of it to rpl_strftime also defined-away the system's
36079         declaration.
36080
36081 2000-04-15  Jim Meyering  <meyering@lucent.com>
36082
36083         Use `C' to denote so-called `contiguous' files, the same way
36084         that tar does.
36085         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
36086         (ftypelet): Use S_ISCTG.
36087         From Michael Deutschmann.
36088
36089 2000-04-14  Jim Meyering  <meyering@lucent.com>
36090
36091         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
36092         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
36093         clobbered.
36094
36095 2000-04-14  Jim Meyering  <meyering@lucent.com>
36096
36097         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
36098
36099 2000-04-13  Jim Meyering  <meyering@lucent.com>
36100
36101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
36102         AH_VERBATIM to insert required #ifndef into config.h.in.
36103         Suggestion from Akim Demaille.
36104
36105 2000-04-12  Jim Meyering  <meyering@lucent.com>
36106
36107         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
36108         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
36109         Christian Krackowizer.
36110
36111         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
36112         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
36113         (AC_SYS_LARGEFILE): Require.
36114         (AM_C_PROTOTYPES): Require.
36115
36116 2000-04-08  Jim Meyering  <meyering@lucent.com>
36117
36118         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
36119         names don't conflict.  Reported by Eli Zaretskii.
36120
36121 2000-04-07  Jim Meyering  <meyering@lucent.com>
36122
36123         * lib/putenv.c: Move inclusion of errno.h so it follows that of
36124         sys/types.h, to work around system header problems on AIX 3.2.5.
36125         From Bruno Haible.
36126
36127 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
36128
36129         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
36130         bug.  Deal with the different error behavior of Irix iconv.
36131
36132 2000-04-05  Paul Eggert  <eggert@twinsun.com>
36133
36134         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
36135         IRIX if the installer said otherwise.
36136
36137 2000-04-05  Jim Meyering  <meyering@lucent.com>
36138
36139         Portability tweaks required for ultrix4.3.
36140         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
36141         (jm_CHECK_DECLS): Add getutent to the list of functions.
36142         (_jm_DECL_HEADERS): Add utmpx.h.
36143         From John David Anglin.
36144
36145         * m4/strftime.m4: Back out the 2000-04-02 change.
36146         Instead of that change, simply undefine putenv in the test program.
36147
36148 2000-04-05  Jim Meyering  <meyering@lucent.com>
36149
36150         Portability tweaks required for ultrix4.3.
36151         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
36152         getutent.
36153         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
36154         * lib/canon-host.c: Declare strdup.
36155         * lib/path-concat.c: Likewise.
36156         From John David Anglin.
36157
36158 2000-04-04  Jim Meyering  <meyering@lucent.com>
36159
36160         Be more DOS 8.3-friendly.
36161         * lib/ref-add.sin: Renamed from ref-add.sed.in.
36162         * lib/ref-del.sin: Renamed from ref-del.sed.in.
36163         * lib/Makefile.am: Reflect renaming.
36164         Reported by Eli Zaretskii.
36165
36166         Use a temporary file name that won't clash with `charset.alias'
36167         in the DOS 8.3 name space.
36168         * lib/Makefile.am (charset_tmp): Define.
36169         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
36170         (uninstall-local): Likewise.
36171         Reported by Eli Zaretskii.
36172
36173 2000-04-03  Jim Meyering  <meyering@lucent.com>
36174
36175         * m4/gettext.m4: Fix typo in comment.
36176
36177         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
36178         textutils/configure.in).  Suggestion from Paul Eggert.
36179         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
36180
36181 2000-04-02  Paul Eggert  <eggert@twinsun.com>
36182
36183         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
36184         variable in the shell rather than using putenv, which isn't
36185         portable.  This avoids the configure-time inter-test dependency
36186         on the potentially-renamed putenv function.
36187
36188 2000-03-30  Paul Eggert  <eggert@twinsun.com>
36189
36190         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
36191         before checking struct stat.st_blksize, so that
36192         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
36193
36194 2000-03-29  Paul Eggert  <eggert@twinsun.com>
36195
36196         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
36197         since strftime.c uses HAVE_STRFTIME to decide whether to use
36198         the underlying strftime.
36199
36200 2000-03-29  Paul Eggert  <eggert@twinsun.com>
36201
36202         * lib/time/strftime.c (my_strftime): Make sure we call the system
36203         strftime, not ourselves, when invoking the underlying strftime.
36204
36205 2000-03-24  Jim Meyering  <meyering@lucent.com>
36206
36207         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
36208         (charset_alias): Define.
36209         (install-exec-local): Factor out common code.
36210         (uninstall-local): Split lines longer than 80.
36211         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
36212         (SUFFIXES): Define.
36213         (.sed.in.sed): New rule.  Don't redirect directly to $@.
36214         (CLEANFILES): Add ref-add.sed and ref-del.sed.
36215
36216 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
36217
36218         * lib/config.charset: Output a line containing "Packages using this
36219         file".
36220         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
36221         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
36222         ref-del.sed): New rules.
36223
36224 2000-03-17  Jim Meyering  <meyering@lucent.com>
36225
36226         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
36227         Otherwise, include <strings.h>
36228
36229 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
36230
36231         * lib/unicodeio.c (utf8_wctomb): New function.
36232         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
36233         format instead of in UCS-4 with platform dependent endianness.
36234
36235 2000-03-10  Jim Meyering  <meyering@lucent.com>
36236
36237         * m4/lib-check.m4: Look for getspnam in -lgen, too.
36238         From Marco Franzen.
36239
36240 2000-03-07  Paul Eggert  <eggert@twinsun.com>
36241
36242         * lib/savedir.c (savedir): Work even if directory size is
36243         negative; this can happen with some screwy NFS configurations.
36244
36245 2000-03-06  Jim Meyering  <meyering@lucent.com>
36246
36247         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
36248         if it's NULL (because we ran out of memory).  From Bruno Haible.
36249
36250 2000-03-05  Jim Meyering  <meyering@lucent.com>
36251
36252         * lib/localcharset.c ("path-concat.h"): Include.
36253         (get_charset_aliases): Use path_concat instead of ANSI string
36254         concatenation.
36255
36256         * lib/unicodeio.h (PARAMS): Define.
36257         Use it to guard prototype.
36258
36259 2000-03-04  Jim Meyering  <meyering@lucent.com>
36260
36261         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
36262         for lib/localcharset.c.
36263
36264 2000-03-04  Jim Meyering  <meyering@lucent.com>
36265
36266         * lib/Makefile.am (install-exec-local): Create $(libdir) before
36267         installing into it.
36268         (uninstall-local): Uncomment this rule so `make distcheck' works
36269         once again.
36270
36271         * lib/unicodeio.c (<errno.h>): Include it.
36272         (errno): Declare if not defined.
36273
36274         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
36275
36276         * lib/config.charset: New version, incorporating remarks from a linux
36277         i18n mailing list.  From Bruno Haible.
36278
36279 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
36280
36281         * m4/codeset.m4: New file.
36282         * m4/iconv.m4: New file.
36283         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
36284
36285 2000-03-03  Jim Meyering  <meyering@lucent.com>
36286
36287         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
36288
36289 2000-03-02  Jim Meyering  <meyering@lucent.com>
36290
36291         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
36292         the messages come out on separate lines.
36293
36294         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
36295         rather than jm_CHECK_DECLARATIONS.
36296         * m4/decl.m4: Remove now-unused file.
36297
36298         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
36299         geteuid.
36300
36301 2000-03-02  Jim Meyering  <meyering@lucent.com>
36302
36303         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
36304
36305 2000-03-01  Jim Meyering  <meyering@lucent.com>
36306
36307         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
36308         * lib/unicodeio.c: Likewise.
36309
36310 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
36311
36312         * lib/config.charset: New file.
36313         * lib/localcharset.c: New file.
36314         * lib/unicodeio.h, lib/unicodeio.c: New files.
36315         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
36316         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
36317         (noinst_HEADERS): Add unicodeio.h.
36318         (all-local, install-exec-local, charset.alias): New targets.
36319
36320 2000-02-28  Paul Eggert  <eggert@twinsun.com>
36321
36322         * lib/quotearg.c (ALERT_CHAR): New macro.
36323         (quotearg_buffer_restyled): Use it.
36324
36325 2000-02-27  Jim Meyering  <meyering@lucent.com>
36326
36327         * m4/check-decl.m4: Add getenv to the list.
36328
36329 2000-02-27  Jim Meyering  <meyering@lucent.com>
36330
36331         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
36332         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
36333
36334         * lib/backupfile.c: Guard inclusion of stdlib.h with
36335         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
36336         Declare malloc if needed.
36337
36338         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
36339         `#ifndef HAVE_DECL..'
36340         now that autoconf always defines the HAVE_DECL_ symbols.
36341         * lib/human.c: Likewise.
36342         * lib/same.c: Likewise.
36343         * lib/strtoumax.c: Likewise.
36344
36345         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
36346         declaration check was not run.
36347         * lib/hash.c: Likewise.
36348         * lib/human.c: Likewise.
36349         * lib/same.c: Likewise.
36350         * lib/strtoumax.c: Likewise.
36351
36352         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
36353         `.', then first look up the entire `.'-containing string as a login
36354         name.
36355
36356 2000-02-23  Jim Meyering  <meyering@lucent.com>
36357
36358         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
36359         in place of my hack.
36360
36361 2000-02-18  Paul Eggert  <eggert@twinsun.com>
36362
36363         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
36364         (textint): New typedef.
36365         (parser_control): Member year changed from int to textint.
36366         All uses changed.
36367         (YYSTYPE): Removed; replaced by %union with int and textint members.
36368         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
36369         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
36370         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
36371         (tSNUMBER, tUNUMBER): Now of type <textintval>.
36372         (date, number, to_year): Use width of number in digits, not its value,
36373         to determine whether it's a 2-digit year, or a 2-digit time.
36374         (yylex): Store number of digits of numeric tokens.
36375         Reported by John Kendall.
36376
36377         (parser_control): Changed from struct parser_control to typedef (for
36378         consistency).  All uses changed.
36379
36380         (tID): Removed; not used.
36381         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
36382
36383 2000-02-14  Paul Eggert  <eggert@twinsun.com>
36384
36385         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
36386         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
36387
36388 2000-02-12  Jim Meyering  <meyering@lucent.com>
36389
36390         * lib/userspec.c (ISDIGIT): Define it.
36391         (isdigit): Remove definition.
36392         (is_number): Use ISDIGIT, not isdigit.
36393         <libintl.h>: Include.
36394         (_ and N_): Define.
36395         (parse_user_spec): Mark translatable strings.
36396
36397 2000-02-10  Jim Meyering  <meyering@lucent.com>
36398
36399         With these changes, nanosleep.[ch] are finally enough like the other
36400         lib/* replacement files to compile on a few more losing systems.
36401
36402         * lib/nanosleep.h: Don't include config.h.
36403         Remove prototype from declaration of nanosleep.
36404         (PARAMS): Remove now-unneeded definition.
36405         * lib/nanosleep.c: #undef nanosleep.
36406         (rpl_nanosleep): Rename from nanosleep.
36407
36408 2000-02-10  Jim Meyering  <meyering@lucent.com>
36409
36410         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
36411         gnu_nanosleep to rpl_nanosleep.
36412
36413 2000-02-09  Jim Meyering  <meyering@lucent.com>
36414
36415         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
36416         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
36417
36418 2000-02-08  Akim Demaille  <akim@epita.fr>
36419
36420         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
36421         `[' and `]' and remove uses of `changequote'.
36422         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
36423         (AC_SYS_LARGEFILE): Likewise.
36424         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
36425         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
36426         of changequote.
36427         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
36428         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
36429         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
36430         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
36431
36432 2000-02-05  Jim Meyering  <meyering@lucent.com>
36433
36434         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
36435         Remove explicit use of AC_HEADER_TIME.  It is required by
36436         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
36437         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
36438         in autoconf whereby the expansion of the latter ended up preceding
36439         the expansion of its prerequisite, AC_HEADER_TIME.
36440         Reported by Volker Borchert.
36441
36442 2000-02-03  Jim Meyering  <meyering@lucent.com>
36443
36444         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
36445
36446 2000-02-03  Jim Meyering  <meyering@lucent.com>
36447
36448         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
36449         rather than with `#if HAVE_UTMPNAME'.
36450
36451 2000-02-02  Jim Meyering  <meyering@lucent.com>
36452
36453         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
36454         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
36455         Reported by Eli Zaretskii.
36456
36457 2000-02-01  Jim Meyering  <meyering@lucent.com>
36458
36459         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
36460
36461 2000-01-31  Jim Meyering  <meyering@lucent.com>
36462
36463         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
36464         functions.  Add the time.h and sys/time.h headers along with the
36465         AC_REQUIRE'ment of AC_HEADER_TIME.
36466
36467 2000-01-31  Jim Meyering  <meyering@lucent.com>
36468
36469         * lib/nanosleep.h (nanosleep): Guard declaration with
36470         `#if ! HAVE_DECL_NANOSLEEP'.
36471         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
36472         the declaration in that vendor's sys/timers.h.
36473         Reported by Christian Krackowizer.
36474
36475         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
36476         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
36477         (ISPRINT): Likewise.
36478         Reported by Tom Tromey.
36479
36480 2000-01-30  Jim Meyering  <meyering@lucent.com>
36481
36482         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
36483
36484         * m4/prereq.m4 (utmp_includes): Define.
36485         Check for ut_user and ut_name members in both struct utmpx
36486         and struct utmp.
36487
36488 2000-01-30  Jim Meyering  <meyering@lucent.com>
36489
36490         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
36491         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
36492         header files where only utmpx.ut_user is declared.
36493
36494         * lib/readutmp.h (UT_USER): Define.
36495
36496 2000-01-29  Jim Meyering  <meyering@lucent.com>
36497
36498         * m4/lib-check.m4: New file containing library-related checks from
36499         fileutils and sh-utils (textutils had none).
36500
36501 2000-01-28  Jim Meyering  <meyering@lucent.com>
36502
36503         * m4/perl.m4: Change format of warning message to look more like that
36504         from the missing script.  Suggestion from François Pinard.
36505
36506 2000-01-25  Jim Meyering  <meyering@lucent.com>
36507
36508         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
36509         well as time.h in the compile check.
36510         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
36511         Fix typo in cross-compiling case: s/yes/no/.
36512
36513 2000-01-23  Jim Meyering  <meyering@lucent.com>
36514
36515         * m4/jm-macros.m4: Move df-related tests here from
36516         fileutils/configure.in
36517
36518         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
36519         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
36520
36521         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
36522         s/space/ac_fsusage_space/.
36523         (jm_FILE_SYSTEM_USAGE): Take two parameters.
36524
36525         * m4/ftruncate.m4: New file (derived from part of
36526         fileutils/configure.in).
36527         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
36528         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
36529
36530         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
36531         AC_SUBST these here, rather than just in sh-util/configure.in, so
36532         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
36533         all the same.
36534         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
36535         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
36536         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
36537         (AC_SUBST(POW_LIBM)): Likewise.
36538         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
36539
36540 2000-01-23  Jim Meyering  <meyering@lucent.com>
36541
36542         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
36543         obstack.c.
36544
36545 2000-01-22  Jim Meyering  <meyering@lucent.com>
36546
36547         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
36548
36549         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
36550
36551         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
36552         configure.in
36553         (AC_CHECK_HEADERS): Likewise for sh-utils.
36554         (AC_CHECK_HEADERS): Likewise for textutils.
36555         Merge the three lists of headers.
36556
36557         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
36558         from fileutils' configure.in.
36559
36560         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
36561         code. Moved tests into their own function (_jm_DECL_HEADERS) in
36562         check-decl.m4.
36563
36564         * m4/check-decl.m4: Use #if rather than #ifdef.
36565         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
36566         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
36567         (_jm_DECL_HEADERS): Define new function.
36568         (jm_CHECK_DECLARATIONS): Require it.
36569
36570 2000-01-22  Jim Meyering  <meyering@lucent.com>
36571
36572         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
36573         [! HAVE_DECL_STRTOULL]: Declare strtoull.
36574         Required for some AIX systems.  Reported by Christian Krackowizer.
36575         [TESTING] (main): New function.
36576
36577         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
36578         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
36579         letters.
36580
36581         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
36582         iswprint.
36583
36584         * lib/strverscmp.c (ISDIGIT): Define.
36585         (strverscmp): Use ISDIGIT, not isdigit.
36586
36587 2000-01-19  Jim Meyering  <meyering@lucent.com>
36588
36589         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
36590         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
36591         defines `struct timespec' in <sys/time.h>
36592
36593         * m4/c-bs-a.m4: Remove uses of changequote altogether.
36594         Thanks to Akim for explaining.
36595
36596 2000-01-17  Paul Eggert  <eggert@twinsun.com>
36597
36598         * lib/nanosleep.c (nanosleep):
36599         Don't use SA_INTERRUPT to decide whether to call sigaction, as
36600         POSIX.1 doesn't require SA_INTERRUPT and some systems
36601         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
36602         it's been part of POSIX.1 since day 1 (in 1988).
36603
36604 2000-01-17  Jim Meyering  <meyering@lucent.com>
36605
36606         * lib/interlock: Remove unused file.  Reported by François Pinard.
36607
36608 2000-01-16  Paul Eggert  <eggert@twinsun.com>
36609
36610         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
36611         alert, backslash, formfeed, and vertical tab unnecessarily in
36612         shell quoting style.
36613
36614 2000-01-16  Jim Meyering  <meyering@lucent.com>
36615
36616         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
36617         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
36618         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
36619         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
36620
36621 2000-01-16  Jim Meyering  <meyering@lucent.com>
36622
36623         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
36624         because the latter didn't work.
36625
36626 2000-01-15  Jim Meyering  <meyering@lucent.com>
36627
36628         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
36629         (AC_REPLACE_FUNCS): Add memcpy and memset.
36630         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
36631         Add strpbrk.
36632         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
36633
36634 2000-01-12  Jim Meyering  <meyering@lucent.com>
36635
36636         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
36637         (jm_PREREQ): Use it.
36638         (jm_PREREQ_READUTMP): New macro.
36639         (jm_PREREQ): Use it.
36640
36641 2000-01-11  Paul Eggert  <eggert@twinsun.com>
36642
36643         Quote multibyte characters correctly.
36644         * m4/c-bs-a.m4: New file.
36645         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
36646         (jm_PREREQ): Use it.
36647
36648 2000-01-11  Paul Eggert  <eggert@twinsun.com>
36649
36650         * m4/uintmax_t.m4: Port to autoconf 2.13.
36651
36652 2000-01-08  Jim Meyering  <meyering@ascend.com>
36653
36654         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
36655         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
36656
36657 2000-01-04  Jim Meyering  <meyering@ascend.com>
36658
36659         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
36660         jm_STRUCT_DIRENT_D_TYPE.
36661         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
36662         jm_STRUCT_DIRENT_D_INO.
36663         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
36664         jm_STRUCT_UTIMBUF.
36665         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
36666         renamings.
36667         * m4/utime.m4: Likewise.
36668
36669         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
36670         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
36671
36672 2000-01-03  Paul Eggert  <eggert@twinsun.com>
36673
36674         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
36675         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
36676
36677 2000-01-02  Jim Meyering  <meyering@ascend.com>
36678
36679         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
36680         remember if this is necessary.
36681
36682 1999-12-26  Jim Meyering  <meyering@ascend.com>
36683
36684         * m4/jm-macros.m4: Use it here.
36685         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
36686
36687 1999-12-23  Jim Meyering  <meyering@ascend.com>
36688
36689         * m4/jm-macros.m4: Check for clock_gettime (moved from
36690         fileutils/configure.in)
36691         Check for gettimeofday.
36692
36693 1999-12-20  Jim Meyering  <meyering@ascend.com>
36694
36695         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
36696         autoconf-2.14a-1999-12-20.
36697
36698 1999-12-19  Jim Meyering  <meyering@ascend.com>
36699
36700         * m4/lstat-slash.m4: New file.
36701         * m4/jm-macros.m4: Use the new macro:
36702         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
36703
36704 1999-12-07  Jim Meyering  <meyering@ascend.com>
36705
36706         * m4/perl.m4: Require that File::Compare be available, too.
36707         Too many systems seem to lack it.
36708
36709         * m4/strftime.m4: Add checks for most of the cpp macros tested in
36710         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
36711
36712 1999-11-18  Paul Eggert  <eggert@twinsun.com>
36713
36714         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
36715         problem with the QNX 4.25 shell, which doesn't propagate exit
36716         status of failed commands inside shell assignments.
36717
36718 1999-11-17  Jim Meyering  <meyering@ascend.com>
36719
36720         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
36721
36722 1999-11-07  Jim Meyering  <meyering@ascend.com>
36723
36724         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
36725
36726 1999-11-06  Jim Meyering  <meyering@ascend.com>
36727
36728         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
36729         * m4/jm-macros.m4 (jm_MACROS): Use it here.
36730
36731 1999-11-05  Jim Meyering  <meyering@ascend.com>
36732
36733         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
36734         configure.in of textutils, fileutils, and sh-utils into this one
36735         (shared between those packages) file.
36736         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
36737         AC_STRUCT_ST_BLKSIZE.
36738
36739 1999-11-03  Jim Meyering  <meyering@ascend.com>
36740
36741         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
36742         of AC_CHECK_TYPE checks includes unistd.h.
36743         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
36744         Suggestion from Akim Demaille.
36745
36746 1999-10-30  Jim Meyering  <meyering@ascend.com>
36747
36748         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
36749         m4-quoted string.
36750         * m4/ls-mntd-fs.m4: Likewise.
36751         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
36752         * m4/jm-winsz1.m4: Likewise.
36753
36754         * m4/const.m4: Remove file, since the fix made it into the experimental
36755         version of autoconf.
36756         * m4/mktime.m4: Likewise.
36757
36758         * m4/check-type.m4: Remove file, now that the latest version of
36759         AC_CHECK_TYPE takes a third arg to specify additional #includes.
36760
36761         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
36762         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
36763         AC_CHECK_TYPE.
36764
36765 1999-10-04  Jim Meyering  <meyering@ascend.com>
36766
36767         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
36768
36769 1999-09-22  Paul Eggert  <eggert@twinsun.com>
36770
36771         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
36772         2.95.1 bug with HP-UX 10.20.
36773
36774 1999-09-17  Jim Meyering  <meyering@ascend.com>
36775
36776         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
36777         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
36778         due to missing strdup (against sh-utils-2.0).
36779
36780 1999-08-29  Jim Meyering  <meyering@ascend.com>
36781
36782         * m4/jm-macros.m4: Require jm_BISON.
36783         * m4/bison.m4: New file.
36784
36785 1999-08-17  Paul Eggert  <eggert@twinsun.com>
36786
36787         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
36788         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
36789
36790 1999-08-05  Jim Meyering  <meyering@ascend.com>
36791
36792         * m4/getline.m4: Rename test file from conftestdata to conftest.data
36793         to avoid conflicts with `conftest' on 8+3 filesystems.
36794         Suggestion from Eli Zaretskii.
36795
36796 1999-08-04  Jim Meyering  <meyering@ascend.com>
36797
36798         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
36799         fileutils and sh-utils (textutils's getline test was inadequate).
36800         (AM_FUNC_GETLINE): Run this test.
36801         (AC_CHECK_FUNCS): Check for getdelim.
36802         Reported by Bob Proulx.
36803
36804 1999-08-02  Jim Meyering  <meyering@ascend.com>
36805
36806         * m4/jm-macros.m4: Add a comment.
36807
36808 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36809
36810         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
36811         <inttypes.h> defines strtoumax as a macro (and not as a
36812         function).
36813
36814 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36815
36816         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
36817         that we can shift, multiply and divide unsigned long long
36818         values; Ultrix cc can't do it.
36819
36820 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36821
36822         * m4/mktime.m4: New file, which is a preview of what should appear
36823         in the next public autoconf release.
36824
36825 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36826
36827         * m4/lfs.m4: Remove this file.
36828         * m4/largefile.m4: New file.  It contains the old contents of
36829         lfs.m4, except that all names with prefix AC_LFS have been
36830         changed to use the prefix AC_SYS_LARGEFILE instead, to be
36831         compatible with future autoconf versions.  Also, some minor m4
36832         quoting problems have been fixed.
36833
36834 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36835
36836         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
36837         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
36838         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
36839         and simplify the shell code.
36840
36841 1999-08-01  Jim Meyering  <meyering@ascend.com>
36842
36843         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
36844         m4.
36845
36846 1999-07-20  Jim Meyering  <meyering@ascend.com>
36847
36848         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
36849
36850 1999-07-15  Jim Meyering  <meyering@ascend.com>
36851
36852         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
36853
36854 1999-05-22  Jim Meyering  <meyering@ascend.com>
36855
36856         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
36857
36858 1999-05-20  Jim Meyering  <meyering@ascend.com>
36859
36860         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
36861         Add a colon after each `then' in case $4 is empty.
36862
36863 1999-05-16  Jim Meyering  <meyering@ascend.com>
36864
36865         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
36866
36867 1999-05-10  Jim Meyering  <meyering@ascend.com>
36868
36869         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
36870
36871         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
36872         AC_FUNC_MKTIME.
36873
36874 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
36875
36876         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
36877
36878 1999-05-04  Paul Eggert  <eggert@twinsun.com>
36879
36880         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
36881         not CPPFLAGS, so that linking works correctly in IRIX.
36882
36883 1999-04-30  Paul Eggert  <eggert@twinsun.com>
36884
36885         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
36886
36887 1999-04-20  Paul Eggert  <eggert@twinsun.com>
36888
36889         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
36890         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
36891         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
36892         jm_AC_TYPE_UNSIGNED_LONG_LONG.
36893         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
36894
36895         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
36896
36897 1999-04-20  Jim Meyering  <meyering@ascend.com>
36898
36899         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
36900         AC_REPLACE xstroull if necessary.  From Paul Eggert.
36901         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
36902
36903 1999-04-18  Jim Meyering  <meyering@ascend.com>
36904
36905         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
36906         * m4/jm-macros.m4: Use it.
36907
36908 1999-04-06  Jim Meyering  <meyering@ascend.com>
36909
36910         * m4/strftime.m4: Remove test for %f.
36911
36912 1999-03-29  Jim Meyering  <meyering@ascend.com>
36913
36914         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
36915         superset of the AC_TYPE_* checks in the textutils, fileutils,
36916         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
36917         AC_TYPE_PID_T.
36918
36919 1999-03-28  Jim Meyering  <meyering@ascend.com>
36920
36921         * m4/jm-macros.m4: Define GNU_PACKAGE here.
36922         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
36923         replaced e.g., in the *.sh files of the sh-utils.
36924
36925 1999-03-20  Jim Meyering  <meyering@ascend.com>
36926
36927         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
36928         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
36929         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
36930
36931 1999-03-19  Jim Meyering  <meyering@ascend.com>
36932
36933         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
36934
36935 1999-03-12  Jim Meyering  <meyering@ascend.com>
36936
36937         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
36938
36939 1999-03-07  Jim Meyering  <meyering@ascend.com>
36940
36941         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
36942         declared.
36943
36944 1999-02-17  Jim Meyering  <meyering@ascend.com>
36945
36946         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
36947         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
36948
36949 1999-02-07  Jim Meyering  <meyering@ascend.com>
36950
36951         * m4/group-member.m4: New file -- extracted from sh-utils'
36952         configure.in.
36953
36954         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
36955         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
36956
36957 1999-02-06  Jim Meyering  <meyering@ascend.com>
36958
36959         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
36960         * m4/fnmatch.m4: Likewise.
36961         * m4/getgroups.m4: Likewise.
36962         * m4/lstat.m4: Likewise.
36963         * m4/malloc.m4: Likewise.
36964         * m4/putenv.m4: Likewise.
36965         * m4/realloc.m4: Likewise.
36966         * m4/regex.m4: Likewise.
36967         * m4/stat.m4: Likewise.
36968         * m4/strftime.m4: Likewise.
36969         Suggestion from Alain Magloire.
36970
36971         * m4/chown.m4: Use `.$ac_objext', not `.o'.
36972         * m4/fnmatch.m4: Likewise.
36973         * m4/getgroups.m4: Likewise.
36974         * m4/getline.m4: Likewise.
36975         * m4/lstat.m4: Likewise.
36976         * m4/malloc.m4: Likewise.
36977         * m4/memcmp.m4: Likewise.
36978         * m4/putenv.m4: Likewise.
36979         * m4/realloc.m4: Likewise.
36980         * m4/regex.m4: Likewise.
36981         * m4/stat.m4: Likewise.
36982         * m4/strftime.m4: Likewise.
36983         Suggestion from Alain Magloire.
36984
36985         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
36986         an argument.
36987
36988         * m4/regex.m4: Add a run-time Test for proper operation of
36989         re_compile_pattern.
36990
36991 1999-01-31  Jim Meyering  <meyering@ascend.com>
36992
36993         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
36994
36995 1999-01-30  Jim Meyering  <meyering@ascend.com>
36996
36997         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
36998
36999         * m4/jm-mktime.m4: Make this a wrapper around the official
37000         AM_FUNC_MKTIME rather than my private copy, now that the official one
37001         is up to date.
37002         * m4/mktime.m4: Remove file.
37003
37004         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
37005         * m4/uptime.m4: Likewise.
37006         * m4/uintmax_t.m4: Likewise.
37007
37008 1999-01-28  Jim Meyering  <meyering@ascend.com>
37009
37010         * m4/jm-macros.m4: Use jm_AFS.
37011         * m4/afs.m4: New file (from fileutils' configure.in).
37012
37013         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
37014         * m4/chown.m4: Likewise.
37015         * m4/d-ino.m4: Likewise.
37016         * m4/d-type.m4: Likewise.
37017         * m4/fnmatch.m4: Likewise.
37018         * m4/getgroups.m4: Likewise.
37019         * m4/gettext.m4: Likewise.
37020         * m4/jm-mktime.m4: Likewise.
37021         * m4/jm-winsz2.m4: Likewise.
37022         * m4/lcmessage.m4: Likewise.
37023         * m4/ls-mntd-fs.m4: Likewise.
37024         * m4/malloc.m4: Likewise.
37025         * m4/memcmp.m4: Likewise.
37026         * m4/putenv.m4: Likewise.
37027         * m4/realloc.m4: Likewise.
37028         * m4/st_mtim.m4: Likewise.
37029         * m4/strftime.m4: Likewise.
37030
37031 1999-01-16  Jim Meyering  <meyering@ascend.com>
37032
37033         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
37034         (ARGMATCH_DIE_DECL): Define.
37035
37036 1999-01-12  Jim Meyering  <meyering@ascend.com>
37037
37038         * m4/Makefile.am.in: Rewrite to avoid using fmt.
37039         Reported by Lars Hecking.
37040
37041 1999-01-10  Jim Meyering  <meyering@ascend.com>
37042
37043         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
37044         gross kludge.
37045         * m4/inttypes_h.m4: Likewise.
37046         * m4/lstat.m4: Likewise.
37047         * m4/malloc.m4: Likewise.
37048         * m4/readdir.m4: Likewise.
37049         * m4/realloc.m4: Likewise.
37050         * m4/st_dm_mode.m4: Likewise.
37051         * m4/stat.m4: Likewise.
37052         * m4/utimbuf.m4: Likewise.
37053         * m4/utimes.m4: Likewise.
37054
37055         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
37056         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
37057         comments in config.h.in are meaningful.
37058
37059         * m4/jm-macros.m4: Require autoconf-2.13 here.
37060
37061         * m4/regex.m4: By default, don't use the included regex.c on systems
37062         with glibc 2.  Suggestion from Uli Drepper.
37063
37064 1999-01-02  Jim Meyering  <meyering@ascend.com>
37065
37066         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
37067
37068 1998-12-18  Jim Meyering  <meyering@ascend.com>
37069
37070         * m4/Makefile.am.in (Makefile.am): Simplify rule.
37071         Based on a suggestion from Lars Hecking.
37072
37073 1998-11-16  Paul Eggert  <eggert@twinsun.com>
37074
37075         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
37076
37077 1998-11-16  Jim Meyering  <meyering@ascend.com>
37078
37079         * m4/lfs.m4: Double-quote the `uname...` expression.
37080
37081 1998-11-14  Jim Meyering  <meyering@ascend.com>
37082
37083         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
37084         * m4/stat.m4: Likewise.
37085
37086 1998-11-03  Jim Meyering  <meyering@ascend.com>
37087
37088         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
37089         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
37090
37091 1998-10-18  Jim Meyering  <meyering@ascend.com>
37092
37093         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
37094
37095 1998-10-17  Jim Meyering  <meyering@ascend.com>
37096
37097         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
37098         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
37099         calls for those previously hard-coded headers.  Instead, take a new
37100         parameter.
37101         (jm_CHECK_DECLARATIONS): Reflect interface change.
37102         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
37103         (jm_CHECK_DECL_LOCALTIME_R): New macro.
37104
37105         * m4/mktime.m4: Test for spring-forward gap before long-running test.
37106
37107 1998-10-14  Jim Meyering  <meyering@ascend.com>
37108
37109         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
37110         instead of "TZ=America/Vancouver".  From Paul Eggert.
37111
37112 1998-10-11  Jim Meyering  <meyering@ascend.com>
37113
37114         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
37115         This adds a test for a recently added compatibility fix for mktime.c.
37116         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
37117
37118 1998-09-27  Jim Meyering  <meyering@ascend.com>
37119
37120         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
37121
37122         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
37123         ../configure.in, including a change from Gordon Matzigkeit to allow
37124         cross-compiling for the Hurd.
37125
37126         * m4/glibc.m4: New file/macro to test for the GNU C Library
37127         versions 1 and 2.  From Gordon Matzigkeit.
37128         Indent.
37129
37130 1998-09-21  Jim Meyering  <meyering@ascend.com>
37131
37132         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
37133
37134 1998-08-18  Paul Eggert  <eggert@twinsun.com>
37135
37136         Port nanosecond-resolution times to UnixWare 2.1.2 and
37137         pedantic Solaris 2.6.
37138
37139         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
37140         AC_STRUCT_ST_MTIM.
37141         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
37142         Generate name of ns member, instead of just 1 or undef.
37143         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
37144
37145 1998-08-15  Jim Meyering  <meyering@ascend.com>
37146
37147         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
37148         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
37149         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
37150         instead of jm_TYPE_SSIZE_T.
37151
37152 1998-08-12  Jim Meyering  <meyering@ascend.com>
37153
37154         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
37155
37156 1998-08-02  Jim Meyering  <meyering@ascend.com>
37157
37158         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
37159         in acconfig.h manually.
37160
37161 1998-07-31  Paul Eggert  <eggert@twinsun.com>
37162
37163         * m4/st_mtim.m4: New file.
37164
37165 1998-07-28  Jim Meyering  <meyering@ascend.com>
37166
37167         * m4/utimes.m4: Undef stat.
37168
37169 1998-07-25  Jim Meyering  <meyering@ascend.com>
37170
37171         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
37172         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
37173
37174 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
37175
37176         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
37177         uid and gid actually remain unchanged.
37178
37179 1998-07-07  Jim Meyering  <meyering@ascend.com>
37180
37181         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
37182
37183 1998-07-04  Jim Meyering  <meyering@ascend.com>
37184
37185         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
37186         to prove that this macro can be used in packages without regex.c.
37187
37188 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
37189
37190         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
37191         is to be used.
37192
37193 1998-07-03  Jim Meyering  <meyering@ascend.com>
37194
37195         * m4/gettext.m4: Add -lintl if it's found to be necessary.
37196
37197         * m4/gettext.m4: New file -- from gettext-0.10.35.
37198         * m4/lcmessage.m4: Likewise.
37199         * m4/progtest.m4: Likewise.
37200
37201         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
37202         * m4/jm-macros.m4: Require the new macro.
37203
37204 1998-06-29  Jim Meyering  <meyering@ascend.com>
37205
37206         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
37207         for the definition of NGROUPS (used in a system header included
37208         by sys/mount.h).
37209
37210 1998-06-28  Jim Meyering  <meyering@ascend.com>
37211
37212         * m4/ls-mntd-fs.m4: New file.
37213         * m4/fstypename.m4: New file.
37214
37215         * m4/jm-macros.m4: Require the new macro.
37216         * m4/jm-glibc-io.m4: New file.
37217
37218 1998-05-19  Jim Meyering  <meyering@ascend.com>
37219
37220         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
37221         * m4/lchown.m4: New file.
37222
37223         * m4/Makefile.am.in: New file.
37224         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
37225
37226 1998-05-14  Jim Meyering  <meyering@ascend.com>
37227
37228         * m4/Makefile.am (EXTRA_DIST): Add them.
37229         * m4/jm-macros.m4: New file.
37230         * m4/utimbuf.m4: New file.
37231
37232 1998-05-12  Jim Meyering  <meyering@ascend.com>
37233
37234         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
37235
37236 1998-05-11  Jim Meyering  <meyering@ascend.com>
37237
37238         * m4/isc-posix.m4: New file.
37239
37240 1998-05-10  Jim Meyering  <meyering@ascend.com>
37241
37242         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
37243
37244 1998-05-09  Jim Meyering  <meyering@ascend.com>
37245
37246         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
37247         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
37248         with automake.
37249
37250         * m4/ssize_t.m4: New file.
37251         * m4/mktime.m4: Remove file -- the new automake has this now.
37252
37253 1998-04-26  Jim Meyering  <meyering@ascend.com>
37254
37255         * m4/assert.m4: New file.
37256         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
37257
37258 1998-04-05  Jim Meyering  <meyering@ascend.com>
37259
37260         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
37261         (jm_PREREQ): Use it here.
37262
37263 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
37264
37265         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
37266         in acconfig.h.
37267
37268 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
37269
37270         * m4/prereq.m4: New file.
37271         * m4/error.m4: New file.
37272         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
37273
37274 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
37275
37276         * m4/getline.m4: Don't set am_cv_func_working_getline before the
37277         cache-check for the same variable -- that defeated the purpose of
37278         the test; the test program was never run.  This was a problem only
37279         on systems with losing getline functions -- HP-UX 10.20 is one.
37280         Reported by Bjorn Helgaas.
37281
37282 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
37283
37284         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
37285
37286 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
37287
37288         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
37289
37290         * m4/const.m4: New file.  Use an initializer in this declaration
37291         typedef int charset[2]; const charset x;
37292         Reported by Bob Glickstein.
37293
37294 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
37295
37296         * m4/chown.m4: Fix reversed types on -1 args to chown.
37297         From Kaveh Ghazi.
37298
37299 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
37300
37301         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
37302         Add lseek and memchr.
37303
37304         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
37305         T.E.Dickey <dickey@clark.net> said that some older preprocessors
37306         have a 20-character limit on names.
37307
37308 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
37309
37310         * m4/inttypes_h.m4: New file.
37311         * m4/uintmax_t.m4: New file.
37312         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
37313
37314 Copyright (C) 1997-2008 Free Software Foundation, Inc.
37315 Copying and distribution of this file, with or without modification,
37316 are permitted provided the copyright notice and this notice are preserved.