Improve memory cleanup in 'relocatable' module.
[gnulib.git] / ChangeLog
1 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
2             Bruno Haible  <bruno@clisp.org>
3
4         Improve memory cleanup in 'relocatable' module.
5         * lib/relocatable.h (compute_curr_prefix): Change return type to
6         'char *'.
7         * lib/relocatable.c (compute_curr_prefix): Change return type to
8         'char *'. Free curr_installdir after use.
9         (relocate): Free curr_prefix_better after use.
10         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
11
12 2008-01-01  Bruno Haible  <bruno@clisp.org>
13
14         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
15         failure on older glibc systems.
16         Reported by Peter Fales <psfales@alcatel-lucent.com>.
17
18 2008-01-05  Eric Blake  <ebb9@byu.net>
19
20         Avoid quadratic system memmem.
21         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
22         Reported by Ralf Wildenhues.
23
24         Fix memmem test for mingw.
25         * modules/memmem-tests (configure.ac): Check for alarm.
26         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
27         it.
28         * doc/functions/memmem.texi: New file.
29         * doc/gnulib.texi (Function Substitutes): Add memmem.
30         Reported by Bruno Haible.
31
32 2008-01-04  Bruno Haible  <bruno@clisp.org>
33
34         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
35         Require gl_HEADER_STRINGS_H_DEFAULTS, not
36         gl_HEADER_STRING_H_DEFAULTS.
37
38 2008-01-04  Eric Blake  <ebb9@byu.net>
39
40         Shorten duration of memmem test.
41         * tests/test-memmem.c (main): Use alarm to declare failure if test
42         is taking too long.
43         Reported by Ralf Wildenhues.
44
45 2007-12-21  Simon Josefsson  <simon@josefsson.org>
46
47         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
48         string, needed by strerror.
49
50 2008-01-03  Colin Watson  <cjwatson@debian.org>
51             Bruno Haible  <bruno@clisp.org>
52
53         * doc/gnulib-tool.texi (Localization): New section.
54
55 2008-01-02  Bruno Haible  <bruno@clisp.org>
56
57         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
58         variables to 'unsigned char *' type.
59         Reported by Paul Eggert.
60
61 2008-01-02  Jim Meyering  <jim@meyering.net>
62
63         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
64
65 2007-12-31  Jim Meyering  <jim@meyering.net>
66
67         Avoid use of private FTS type name.
68         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
69
70 2007-12-30  Karl Berry  <karl@gnu.org>
71
72         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
73         work around defect in Texinfo and/or the standalone Info browser.
74
75 2007-12-30  Bruno Haible  <bruno@clisp.org>
76
77         Unify 5 copies of the KMP code.
78         * lib/str-kmp.h: New file.
79         * lib/c-strcasestr.c: Include str-kmp.h.
80         (knuth_morris_pratt): Remove function.
81         (c_strcasestr): Update.
82         * lib/c-strstr.c: Include str-kmp.h.
83         (knuth_morris_pratt): Remove function.
84         (c_strcasestr): Update.
85         * lib/mbscasestr.c: Include str-kmp.h.
86         (knuth_morris_pratt_unibyte): Remove function.
87         * lib/mbsstr.c: Include str-kmp.h.
88         (knuth_morris_pratt_unibyte): Remove function.
89         * lib/strcasestr.c: Include str-kmp.h.
90         (knuth_morris_pratt): Remove function.
91         (strcasestr): Update.
92         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
93         * modules/c-strstr (Files): Likewise.
94         * modules/mbscasestr (Files): Likewise.
95         * modules/mbsstr (Files): Likewise.
96         * modules/strcasestr (Files): Likewise.
97         Suggested by Paul Eggert.
98
99 2007-12-30  Bruno Haible  <bruno@clisp.org>
100
101         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
102         defined.
103
104 2007-12-30  Bruno Haible  <bruno@clisp.org>
105
106         * lib/xmalloca.h: Include xalloc.h.
107         (xnmalloca): New macro.
108
109 2007-12-30  Bruno Haible  <bruno@clisp.org>
110
111         * lib/malloca.h (nmalloca): New macro.
112         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
113         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
114         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
115         knuth_morris_pratt_multibyte): Likewise.
116         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
117         knuth_morris_pratt_multibyte): Likewise.
118         * lib/memmem.c (knuth_morris_pratt): Likewise.
119         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
120
121 2007-12-25  Bruno Haible  <bruno@clisp.org>
122
123         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
124         * lib/glob.c: Don't include openat.h.
125         (link_exists2_p): Add back the code that deals with the
126         !GLOB_ALTDIRFUNC case.
127         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
128         let it do the filename concatenation.
129         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
130         * modules/glob (Depends-on): Remove openat.
131
132 2007-12-31  Bruno Haible  <bruno@clisp.org>
133
134         * modules/dirfd (License): Change to LGPLv2+.
135         Approved by Jim Meyering.
136
137 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
138
139         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
140         when multiplying M by sizeof (size_t).
141
142 2007-12-10  Martin Lambers  <marlam@marlam.de>
143
144         Override getpagesize on mingw.
145         * lib/getpagesize.c: New file.
146         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
147         * modules/getpagesize (Files): Add lib/getpagesize.c.
148         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
149         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
150         REPLACE_GETPAGESIZE.
151         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
152
153 2007-12-25  Bruno Haible  <bruno@clisp.org>
154
155         * modules/localcharset (Notice): New field.
156         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
157         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
158
159 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
160             Bruno Haible  <bruno@clisp.org>
161
162         Avoid using the syntax symbol() in formatted documentation.
163         * MODULES.html.sh (func_module): When replacing symbol() with a
164         hyperlink, remove the parentheses. Show an error if some remain.
165         Recognize and render the '...' syntax.
166         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
167         Rework. Add paragraph about GCC's inlining.
168         * doc/alloca.texi: Likewise.
169         * doc/error.texi: Remove parentheses from symbol reference.
170         * doc/gnulib-intro.texi: Likewise.
171         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
172         * modules/fnmatch (Description): Reword to say "the ... function".
173         * modules/full-read (Description): Likewise.
174         * modules/full-write (Description): Likewise.
175         * modules/safe-read (Description): Likewise.
176         * modules/safe-write (Description): Likewise.
177         * modules/strchrnul (Description): Likewise.
178         * modules/trim (Description): Likewise.
179         * modules/error (Description): Remove parentheses from symbol
180         references.
181         * modules/verror (Description): Likewise.
182         Reported by Karl Berry.
183
184 2007-12-25  Bruno Haible  <bruno@clisp.org>
185
186         Fixup after 2007-10-16 commit.
187         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
188
189 2007-12-24  Bruno Haible  <bruno@clisp.org>
190
191         Make --enable-relocatable work with DESTDIR.
192         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
193         to compute installdir from destprog.
194         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
195         also set the RELOC_DESTDIR variable.
196         Reported by Левашев Иван <octagram@bluebottle.com>.
197
198 2007-12-24  Bruno Haible  <bruno@clisp.org>
199
200         Fix link error due to xalloc_die().
201         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
202         of xreadlink.
203         * lib/relocwrapper.c: Update comments.
204         * build-aux/install-reloc: Remove xreadlink.c from file list.
205         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
206         xreadlink.c.
207         Reported by Левашев Иван <octagram@bluebottle.com>.
208
209 2007-12-24  Bruno Haible  <bruno@clisp.org>
210
211         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
212         * lib/setenv.h: Remove file.
213         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
214         lib/setenv.h.
215         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
216         (Depends-on): Add stdlib.
217         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
218         gl_FUNC_UNSETENV.
219         (Include): Replace setenv.h with <stdlib.h>.
220         * modules/unsetenv: New file.
221         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
222         * lib/unsetenv.c: Include <stdlib.h> first.
223         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
224         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
225         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
226         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
227         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
228         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
229         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
230         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
231         * doc/functions/unsetenv.texi: Update.
232         * modules/xsetenv (Depends-on): Add unsetenv.
233         * modules/getdate (Depends-on): Likewise.
234         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
235         * lib/xsetenv.c: Don't include setenv.h.
236         * lib/getdate.y: Likewise.
237         * lib/relocwrapper.c: Likewise.
238         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
239         (Depends-on): Add stdlib.
240         * NEWS: Mention the changes.
241         Reported by Левашев Иван <octagram@bluebottle.com>.
242
243 2007-12-23  Bruno Haible  <bruno@clisp.org>
244
245         * lib/memmem.c (memmem): Use lowercase variable names. Tab
246         indentation.
247
248 2007-12-23  Bruno Haible  <bruno@clisp.org>
249
250         * lib/c-strcasestr.c: Add more comments.
251         * lib/c-strstr.c: Likewise.
252         * lib/mbscasestr.c: Likewise.
253         * lib/mbsstr.c: Likewise.
254         * lib/strcasestr.c: Likewise.
255         * lib/memmem.c: Likewise.
256
257 2007-12-23  Bruno Haible  <bruno@clisp.org>
258
259         * tests/test-memmem.c: Include <string.h> first.
260
261 2007-12-22  Bruno Haible  <bruno@clisp.org>
262
263         * gnulib-tool (func_create_testdir): Change $auxdir while generating
264         the contents of $testsbase.
265         Reported by Ralf Wildenhues.
266
267 2007-12-22  Bruno Haible  <bruno@clisp.org>
268
269         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
270         two variables local_ldadd_before, local_ldadd_last.
271
272 2007-12-20  Eric Blake  <ebb9@byu.net>
273
274         Work around circular library issue when cross-compiling.
275         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
276         that progname.o does not need to pull in rpl_memcmp.
277
278 2007-12-19  Eric Blake  <ebb9@byu.net>
279
280         Fix memmem to avoid O(n^2) worst-case complexity.
281         * lib/memmem.c (knuth_morris_pratt): New function.
282         (memmem): Use it if first few naive iterations fail.
283         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
284         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
285         * modules/memchr (License): Likewise.
286         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
287         malloca.
288         * tests/test-memmem.c: Rewrite, borrowing ideas from
289         test-mbsstr1.c; the old version wouldn't even compile!
290         * modules/memmem-tests: New file.
291         * lib/string.in.h (rpl_memmem): Add declaration.
292         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
294         REPLACE_MEMMEM.
295
296 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
297
298         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
299         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
300         before any system include files, and undef after them all.  This
301         should fix a problem on VMS reported by John E. Malmberg in
302         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
303
304 2007-12-17  Eric Blake  <ebb9@byu.net>
305
306         Revert addition of verify, for BSD/OS.
307         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
308         can't handle large files, for the sake of obsolete platforms.
309         * modules/fseeko (Depends-on): Remove verify.
310         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
311         * doc/functions/ftello.texi (ftello): Likewise.
312         * doc/functions/fgetpos.texi (fgetpos): Likewise.
313         Reported by Larry Jones.
314
315 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
316
317         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
318         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
319
320 2007-12-17  Jim Meyering  <meyering@redhat.com>
321
322         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
323         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
324         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
325         * modules/getcwd (Depends-on): Add openat.
326         Reported by Petr Salinger.
327
328 2007-12-17  Bruno Haible  <bruno@clisp.org>
329
330         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
331         avoid a segmentation fault of the configure test on x86_64 systems.
332
333 2007-12-15  Jim Meyering  <meyering@redhat.com>
334
335         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
336
337 2007-12-13  Eric Blake  <ebb9@byu.net>
338
339         Another fseek test.
340         * tests/test-fseek.c (main): Also test ungetc handling.
341         * tests/test-fseeko.c (main): Likewise.
342         * modules/fseeko (Depends-on): Add verify.
343         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
344         large.
345         Reported by Larry Jones.
346
347         Fix fseeko on mingw.
348         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
349         seek.
350
351         Beef up fseek tests.
352         * tests/test-fseek.c (main): Also test eof handling.
353         * tests/test-fseeko.c (main): Likewise.
354         Reported by Larry Jones.
355
356 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
357
358         Fix fseeko on BSD-based platforms.
359         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
360         successful seek.
361
362 2007-12-12  Eric Blake  <ebb9@byu.net>
363
364         Allow circular dependency of separate libtests.a
365         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
366         when use_libtests.
367
368 2007-12-11  Eric Blake  <ebb9@byu.net>
369
370         Fix bug with -0.0L in previous patch.
371         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
372         * tests/test-isnan.c (main): Also test on zeroes.
373         * tests/test-isnanf.c (main): Likewise.
374         * tests/test-isnanl.h (main): Likewise.
375
376         Detect pseudo-denormals on x86 even when cross-compiling.
377         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
378         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
379         invalid bit patterns that happen to satisfy ==.
380
381         Avoid link failures with separate libtests.a.
382         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
383         last, to satisfy circular dependencies.
384
385 2007-12-11  Eric Blake  <ebb9@byu.net>
386         and Bruno Haible  <bruno@clisp.org>
387
388         Fix OpenBSD 4.0 <float.h> handling of long double.
389         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
390         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
391         * doc/headers/float.texi (float.h): Document OpenBSD bug.
392
393 2007-12-11  Jim Meyering  <meyering@redhat.com>
394
395         * users.txt: Add libvirt.
396
397         Support versions of autoconf prior to 2.59c.
398         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
399         if it is not already defined.
400
401 2007-12-09  Bruno Haible  <bruno@clisp.org>
402
403         Let 'gnulib-tool --import' collect sources needed for the tests in
404         tests/ rather than in lib/.
405         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
406         argument. If true, add rules to generate libtests.a, and put libtests.a
407         into $(LDADD). Consider source files in subdirectories and set
408         uses_subdirs.
409         (func_emit_initmacro_start, func_emit_initmacro_end,
410         func_emit_initmacro_done): Pass all arguments explicitly.
411         (func_import): Determine two module lists main_modules,
412         testsrelated_modules. Determine use_libtests. Determine two variables
413         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
414         instead of just sed_transform_lib_file. Determine two variables
415         main_files and testsrelated_files. Compute 'files' as the union of
416         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
417         func_add_or_update. In the generated gnulib-comp.m4, collect the
418         object files for tests/ in different variables than those for lib/.
419         Substitute LIBTESTS_LIBDEPS.
420         (func_create_testdir): Combine the uses_subdirs results from
421         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
422
423 2007-12-09  Bruno Haible  <bruno@clisp.org>
424
425         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
426         the build-aux directory.
427
428 2007-12-09  Bruno Haible  <bruno@clisp.org>
429
430         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
431         introduced on 2006-09-09.
432
433 2007-12-07  Jim Meyering  <meyering@redhat.com>
434
435         Let these macros work also with autoconf-2.59.
436         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
437         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
438         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
439
440 2007-12-06  Jim Meyering  <meyering@redhat.com>
441
442         Avoid a configure-time syntax error in gl_FUNC_ACL.
443         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
444         function in each branch, before testing the cache variable.
445
446 2007-12-04  Eric Blake  <ebb9@byu.net>
447
448         Make scripts executable.
449         * build-aux/config.guess: Add execute permissions.
450         * build-aux/config.sub: Likewise.
451         * build-aux/gendocs.sh: Likewise.
452
453         Fix frexp on mingw.
454         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
455         cross-compiling.
456         * doc/functions/frexp.texi (frexp): Document the bug.
457
458         Make cygwin fseeko check more reliable.
459         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
460         version numbers, rather than unrelated feature check.
461         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
462         * doc/functions/ftello.texi (ftello): Likewise.
463         Reported by Bruno Haible.
464
465         * m4/strerror.m4: Bump version number.
466
467 2007-12-03  Bruno Haible  <bruno@clisp.org>
468
469         * doc/functions/mprotect.texi: Mention the mingw problem.
470
471 2007-12-03  Eric Blake  <ebb9@byu.net>
472
473         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
474         REPLACE_STRERROR is initialized before this macro.
475
476 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
477
478         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
479         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
480         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
481         put -lsec in even for programs other than 'ls'.  This fixes a problem
482         for gettext reported by Bruno Haible in
483         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
484         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
485         Add support for Solaris 10.  This isn't efficient, but should get the
486         job done for now.
487
488 2007-12-03  James Youngman  <jay@gnu.org>
489
490         * doc/regexprops-generic.texi: change "an close-group" to "a
491         close-group" and "illegal" to "not allowed".
492
493 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
494
495         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
496         pr_byname.h. Needed for the rare case when the maintainer has done
497         "make maintainer-clean" in the source directory and then attempts a
498         build outside the source directory.
499         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
500         scripts_byname.h.
501
502 2007-12-02  Martin Lambers <marlam@marlam.de>
503             Bruno Haible  <bruno@clisp.org>
504
505         * lib/getpagesize.h: Remove file.
506         * lib/unistd.in.h: Include declaration of getpagesize here.
507         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
508         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
509         HAVE_SYS_PARAM_H.
510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
511         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
512         * modules/getpagesize (Files): Remove lib/getpagesize.h.
513         (Depends-on): Add unistd.
514         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
515         (Include): Use <unistd.h> instead of getpagesize.h.
516         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
517         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
518         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
519         gl_GETPAGESIZE invocation, already handled by module dependency.
520         * lib/pagealign_alloc.c: Don't include getpagesize.h.
521
522 2007-12-02  Bruno Haible  <bruno@clisp.org>
523
524         * modules/strings-tests: New file.
525         * tests/test-strings.c: New file.
526
527         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
528         * lib/strings.in.h: New file.
529         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
530         * m4/strings_h.m4: New file.
531         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
532         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
533         * modules/strings: New file.
534         * modules/string (Makefile.am): Update.
535         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
536         Reported by Karl Berry.
537
538 2007-12-01  Eric Blake  <ebb9@byu.net>
539
540         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
541         accomodate fix in cygwin 1.5.25.
542
543 2007-12-01  Jim Meyering  <meyering@redhat.com>
544
545         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
546         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
547         that would inhibit utf8-optimization of a regexp containing line-
548         or buffer-anchors, e.g., `^', `$'.
549
550 2007-11-30  Bruno Haible  <bruno@clisp.org>
551
552         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
553         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
554         glthread_recursive_lock_init.
555         * lib/lock.c (glthread_recursive_lock_init)
556         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
557         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
558
559 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
560
561         New function qset_acl, like set_acl but with syscall semantics.
562         * lib/acl.h (qset_acl): New decl.
563         * lib/acl.c (qset_acl): New function.
564         (set_acl): Use new function.  Use more-consistent diagnostics.
565
566 2007-11-28  Jim Meyering  <meyering@redhat.com>
567
568         * modules/physmem (License): Change from GPL to LGPLv2+.
569
570 2007-11-26  Bruno Haible  <bruno@clisp.org>
571
572         * lib/vasnprintf.c (decode_long_double): Don't abort if the
573         'long double' type has excess precision.
574         Reported by Jim Meyering in
575         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
576
577 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
578
579         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
580         Sync from <http://gnu.org/licenses>.
581         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
582         with license text from same location.
583         * doc/maintain.texi, doc/standards.texi:  Sync from
584         <http://savannah.gnu.org/projects/gnustandards>.
585
586 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
587         and Jim Meyering  <meyering@redhat.com>
588
589         Adjust getdate' grammar to accept a slightly more regular language.
590         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
591         Before, the former was rejected.
592         * lib/getdate.y (digits_to_date_time): New function, factored
593         out of ...
594         (number): ...here.  Just call digits_to_date_time.
595         (hybrid): New non-terminal to handle an <unsigned number,
596         signed relative offset> sequence consistently.
597
598 2007-11-18  Jim Meyering  <meyering@redhat.com>
599
600         Pull my changes from coreutils:
601         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
602         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
603         use of $gnulib_tool_option_extras, so that it's separated from the
604         preceding argument.
605
606         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
607         * build-aux/bootstrap (cp_mark_as_generated): Create any required
608         parent destination directories before copying a file into place.
609
610 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
611
612         bootstrap: work also with 4-argument variant of AC_INIT
613         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
614
615 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
616
617         Port test-getaddrinfo to Solaris.
618         Problem reported by Bruno Haible in
619         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
620         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
621         explanation of setting 'hints'.
622         Don't reject an implementation merely because it returns EAI_SERVICE.
623         (EAI_SERVICE): Define to 0 if not defined.
624
625 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
626
627         The license of gnu-make and posix-shell is now "GPLed build tool".
628         * modules/gnu-make (License): Likewise.
629         * modules/posix-shell (License): Likewise.
630
631         New module posix-shell, for determining a POSIX shell
632         or perhaps something that is close enough to a POSIX shell.
633         * m4/posix-shell.m4: New file.
634         * modules/posix-shell: New file.
635
636         * MODULES.html.sh: Mention new module.
637
638         New module gnu-make, for determining whether we're using GNU Make.
639         * m4/gnu-make.m4: New file.
640         * modules/gnu-make: New file.
641         * MODULES.html.sh: Mention new module.
642
643 2007-11-14  Jim Meyering  <meyering@redhat.com>
644
645         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
646         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
647         use this macro to create a function _definition_.
648         Remove useless "#undef ARGMATCH_DIE".
649
650 2007-11-14  Bruno Haible  <bruno@clisp.org>
651
652         * lib/config.charset: Update for OpenBSD 4.1.
653         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
654
655 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
656
657         Document 64-bit #if problems in stdint.texi.
658         * doc/headers/stdint.texi (stdint.h): Mention problems with
659         64-bit-#if, and how to work around them.
660
661         Don't insist on 'long long int' support in the preprocessor.  It
662         breaks too many things.  For example, PRIdMAX still uses a 'long
663         long int' format with the latest Sun compiler, even though
664         HAVE_LONG_LONG_INT isn't defined due to that compiler's
665         preprocessor problem.  This causes the latest coreutils to dump
666         core on Solaris 10 sparc with the Sun C compiler.
667         Instead, fix the 2007-10-16 problem in a different way, by evaluating
668         the troublesome expressions at configure-time, not at #if-time.
669         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
670         preprocessor.
671         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
672         compile-time C checks, done at 'configure'-time.
673         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
674         * modules/inttypes (Makefile): Substitute the new symbols that
675         gl_INTTYPES_H now generates.
676         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
677
678 2007-11-12  Bruno Haible  <bruno@clisp.org>
679
680         Tests for Unicode character classification functions.
681
682         * modules/unictype/bidicategory-byname-tests: New file.
683         * modules/unictype/bidicategory-name-tests: New file.
684         * modules/unictype/bidicategory-of-tests: New file.
685         * modules/unictype/bidicategory-test-tests: New file.
686         * modules/unictype/block-list-tests: New file.
687         * modules/unictype/block-of-tests: New file.
688         * modules/unictype/block-test-tests: New file.
689         * modules/unictype/category-C-tests: New file.
690         * modules/unictype/category-Cc-tests: New file.
691         * modules/unictype/category-Cf-tests: New file.
692         * modules/unictype/category-Cn-tests: New file.
693         * modules/unictype/category-Co-tests: New file.
694         * modules/unictype/category-Cs-tests: New file.
695         * modules/unictype/category-L-tests: New file.
696         * modules/unictype/category-Ll-tests: New file.
697         * modules/unictype/category-Lm-tests: New file.
698         * modules/unictype/category-Lo-tests: New file.
699         * modules/unictype/category-Lt-tests: New file.
700         * modules/unictype/category-Lu-tests: New file.
701         * modules/unictype/category-M-tests: New file.
702         * modules/unictype/category-Mc-tests: New file.
703         * modules/unictype/category-Me-tests: New file.
704         * modules/unictype/category-Mn-tests: New file.
705         * modules/unictype/category-N-tests: New file.
706         * modules/unictype/category-Nd-tests: New file.
707         * modules/unictype/category-Nl-tests: New file.
708         * modules/unictype/category-No-tests: New file.
709         * modules/unictype/category-P-tests: New file.
710         * modules/unictype/category-Pc-tests: New file.
711         * modules/unictype/category-Pd-tests: New file.
712         * modules/unictype/category-Pe-tests: New file.
713         * modules/unictype/category-Pf-tests: New file.
714         * modules/unictype/category-Pi-tests: New file.
715         * modules/unictype/category-Po-tests: New file.
716         * modules/unictype/category-Ps-tests: New file.
717         * modules/unictype/category-S-tests: New file.
718         * modules/unictype/category-Sc-tests: New file.
719         * modules/unictype/category-Sk-tests: New file.
720         * modules/unictype/category-Sm-tests: New file.
721         * modules/unictype/category-So-tests: New file.
722         * modules/unictype/category-Z-tests: New file.
723         * modules/unictype/category-Zl-tests: New file.
724         * modules/unictype/category-Zp-tests: New file.
725         * modules/unictype/category-Zs-tests: New file.
726         * modules/unictype/category-and-not-tests: New file.
727         * modules/unictype/category-and-tests: New file.
728         * modules/unictype/category-byname-tests: New file.
729         * modules/unictype/category-name-tests: New file.
730         * modules/unictype/category-none-tests: New file.
731         * modules/unictype/category-of-tests: New file.
732         * modules/unictype/category-or-tests: New file.
733         * modules/unictype/category-test-withtable-tests: New file.
734         * modules/unictype/combining-class-tests: New file.
735         * modules/unictype/ctype-alnum-tests: New file.
736         * modules/unictype/ctype-alpha-tests: New file.
737         * modules/unictype/ctype-blank-tests: New file.
738         * modules/unictype/ctype-cntrl-tests: New file.
739         * modules/unictype/ctype-digit-tests: New file.
740         * modules/unictype/ctype-graph-tests: New file.
741         * modules/unictype/ctype-lower-tests: New file.
742         * modules/unictype/ctype-print-tests: New file.
743         * modules/unictype/ctype-punct-tests: New file.
744         * modules/unictype/ctype-space-tests: New file.
745         * modules/unictype/ctype-upper-tests: New file.
746         * modules/unictype/ctype-xdigit-tests: New file.
747         * modules/unictype/decimal-digit-tests: New file.
748         * modules/unictype/digit-tests: New file.
749         * modules/unictype/mirror-tests: New file.
750         * modules/unictype/numeric-tests: New file.
751         * modules/unictype/property-alphabetic-tests: New file.
752         * modules/unictype/property-ascii-hex-digit-tests: New file.
753         * modules/unictype/property-bidi-arabic-digit-tests: New file.
754         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
755         * modules/unictype/property-bidi-block-separator-tests: New file.
756         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
757         * modules/unictype/property-bidi-common-separator-tests: New file.
758         * modules/unictype/property-bidi-control-tests: New file.
759         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
760         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
761         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
762         * modules/unictype/property-bidi-european-digit-tests: New file.
763         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
764         * modules/unictype/property-bidi-left-to-right-tests: New file.
765         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
766         * modules/unictype/property-bidi-other-neutral-tests: New file.
767         * modules/unictype/property-bidi-pdf-tests: New file.
768         * modules/unictype/property-bidi-segment-separator-tests: New file.
769         * modules/unictype/property-bidi-whitespace-tests: New file.
770         * modules/unictype/property-byname-tests: New file.
771         * modules/unictype/property-combining-tests: New file.
772         * modules/unictype/property-composite-tests: New file.
773         * modules/unictype/property-currency-symbol-tests: New file.
774         * modules/unictype/property-dash-tests: New file.
775         * modules/unictype/property-decimal-digit-tests: New file.
776         * modules/unictype/property-default-ignorable-code-point-tests: New file.
777         * modules/unictype/property-deprecated-tests: New file.
778         * modules/unictype/property-diacritic-tests: New file.
779         * modules/unictype/property-extender-tests: New file.
780         * modules/unictype/property-format-control-tests: New file.
781         * modules/unictype/property-grapheme-base-tests: New file.
782         * modules/unictype/property-grapheme-extend-tests: New file.
783         * modules/unictype/property-grapheme-link-tests: New file.
784         * modules/unictype/property-hex-digit-tests: New file.
785         * modules/unictype/property-hyphen-tests: New file.
786         * modules/unictype/property-id-continue-tests: New file.
787         * modules/unictype/property-id-start-tests: New file.
788         * modules/unictype/property-ideographic-tests: New file.
789         * modules/unictype/property-ids-binary-operator-tests: New file.
790         * modules/unictype/property-ids-trinary-operator-tests: New file.
791         * modules/unictype/property-ignorable-control-tests: New file.
792         * modules/unictype/property-iso-control-tests: New file.
793         * modules/unictype/property-join-control-tests: New file.
794         * modules/unictype/property-left-of-pair-tests: New file.
795         * modules/unictype/property-line-separator-tests: New file.
796         * modules/unictype/property-logical-order-exception-tests: New file.
797         * modules/unictype/property-lowercase-tests: New file.
798         * modules/unictype/property-math-tests: New file.
799         * modules/unictype/property-non-break-tests: New file.
800         * modules/unictype/property-not-a-character-tests: New file.
801         * modules/unictype/property-numeric-tests: New file.
802         * modules/unictype/property-other-alphabetic-tests: New file.
803         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
804         * modules/unictype/property-other-grapheme-extend-tests: New file.
805         * modules/unictype/property-other-id-continue-tests: New file.
806         * modules/unictype/property-other-id-start-tests: New file.
807         * modules/unictype/property-other-lowercase-tests: New file.
808         * modules/unictype/property-other-math-tests: New file.
809         * modules/unictype/property-other-uppercase-tests: New file.
810         * modules/unictype/property-paired-punctuation-tests: New file.
811         * modules/unictype/property-paragraph-separator-tests: New file.
812         * modules/unictype/property-pattern-syntax-tests: New file.
813         * modules/unictype/property-pattern-white-space-tests: New file.
814         * modules/unictype/property-private-use-tests: New file.
815         * modules/unictype/property-punctuation-tests: New file.
816         * modules/unictype/property-quotation-mark-tests: New file.
817         * modules/unictype/property-radical-tests: New file.
818         * modules/unictype/property-sentence-terminal-tests: New file.
819         * modules/unictype/property-soft-dotted-tests: New file.
820         * modules/unictype/property-space-tests: New file.
821         * modules/unictype/property-terminal-punctuation-tests: New file.
822         * modules/unictype/property-test-tests: New file.
823         * modules/unictype/property-titlecase-tests: New file.
824         * modules/unictype/property-unassigned-code-value-tests: New file.
825         * modules/unictype/property-unified-ideograph-tests: New file.
826         * modules/unictype/property-uppercase-tests: New file.
827         * modules/unictype/property-variation-selector-tests: New file.
828         * modules/unictype/property-white-space-tests: New file.
829         * modules/unictype/property-xid-continue-tests: New file.
830         * modules/unictype/property-xid-start-tests: New file.
831         * modules/unictype/property-zero-width-tests: New file.
832         * modules/unictype/scripts-tests: New file.
833         * modules/unictype/syntax-c-ident-tests: New file.
834         * modules/unictype/syntax-c-whitespace-tests: New file.
835         * modules/unictype/syntax-java-ident-tests: New file.
836         * modules/unictype/syntax-java-whitespace-tests: New file.
837         * tests/unictype/test-bidi_byname.c: New file.
838         * tests/unictype/test-bidi_name.c: New file.
839         * tests/unictype/test-bidi_of.c: New file.
840         * tests/unictype/test-bidi_test.c: New file.
841         * tests/unictype/test-block_list.c: New file.
842         * tests/unictype/test-block_of.c: New file.
843         * tests/unictype/test-block_test.c: New file.
844         * tests/unictype/test-categ_and.c: New file.
845         * tests/unictype/test-categ_and_not.c: New file.
846         * tests/unictype/test-categ_byname.c: New file.
847         * tests/unictype/test-categ_name.c: New file.
848         * tests/unictype/test-categ_none.c: New file.
849         * tests/unictype/test-categ_of.c: New file.
850         * tests/unictype/test-categ_or.c: New file.
851         * tests/unictype/test-categ_test_withtable.c: New file.
852         * tests/unictype/test-combining.c: New file.
853         * tests/unictype/test-decdigit.c: New file.
854         * tests/unictype/test-digit.c: New file.
855         * tests/unictype/test-mirror.c: New file.
856         * tests/unictype/test-numeric.c: New file.
857         * tests/unictype/test-pr_byname.c: New file.
858         * tests/unictype/test-pr_test.c: New file.
859         * tests/unictype/test-predicate-part1.h: New file.
860         * tests/unictype/test-predicate-part2.h: New file.
861         * tests/unictype/test-scripts.c: New file.
862         * tests/unictype/test-sy_c_ident.c: New file.
863         * tests/unictype/test-sy_java_ident.c: New file.
864
865         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
866         for Unicode 5.0.0.
867         * tests/unictype/test-categ_Cc.c: Likewise.
868         * tests/unictype/test-categ_Cf.c: Likewise.
869         * tests/unictype/test-categ_Cn.c: Likewise.
870         * tests/unictype/test-categ_Co.c: Likewise.
871         * tests/unictype/test-categ_Cs.c: Likewise.
872         * tests/unictype/test-categ_L.c: Likewise.
873         * tests/unictype/test-categ_Ll.c: Likewise.
874         * tests/unictype/test-categ_Lm.c: Likewise.
875         * tests/unictype/test-categ_Lo.c: Likewise.
876         * tests/unictype/test-categ_Lt.c: Likewise.
877         * tests/unictype/test-categ_Lu.c: Likewise.
878         * tests/unictype/test-categ_M.c: Likewise.
879         * tests/unictype/test-categ_Mc.c: Likewise.
880         * tests/unictype/test-categ_Me.c: Likewise.
881         * tests/unictype/test-categ_Mn.c: Likewise.
882         * tests/unictype/test-categ_N.c: Likewise.
883         * tests/unictype/test-categ_Nd.c: Likewise.
884         * tests/unictype/test-categ_Nl.c: Likewise.
885         * tests/unictype/test-categ_No.c: Likewise.
886         * tests/unictype/test-categ_P.c: Likewise.
887         * tests/unictype/test-categ_Pc.c: Likewise.
888         * tests/unictype/test-categ_Pd.c: Likewise.
889         * tests/unictype/test-categ_Pe.c: Likewise.
890         * tests/unictype/test-categ_Pf.c: Likewise.
891         * tests/unictype/test-categ_Pi.c: Likewise.
892         * tests/unictype/test-categ_Po.c: Likewise.
893         * tests/unictype/test-categ_Ps.c: Likewise.
894         * tests/unictype/test-categ_S.c: Likewise.
895         * tests/unictype/test-categ_Sc.c: Likewise.
896         * tests/unictype/test-categ_Sk.c: Likewise.
897         * tests/unictype/test-categ_Sm.c: Likewise.
898         * tests/unictype/test-categ_So.c: Likewise.
899         * tests/unictype/test-categ_Z.c: Likewise.
900         * tests/unictype/test-categ_Zl.c: Likewise.
901         * tests/unictype/test-categ_Zp.c: Likewise.
902         * tests/unictype/test-categ_Zs.c: Likewise.
903         * tests/unictype/test-ctype_alnum.c: Likewise.
904         * tests/unictype/test-ctype_alpha.c: Likewise.
905         * tests/unictype/test-ctype_blank.c: Likewise.
906         * tests/unictype/test-ctype_cntrl.c: Likewise.
907         * tests/unictype/test-ctype_digit.c: Likewise.
908         * tests/unictype/test-ctype_graph.c: Likewise.
909         * tests/unictype/test-ctype_lower.c: Likewise.
910         * tests/unictype/test-ctype_print.c: Likewise.
911         * tests/unictype/test-ctype_punct.c: Likewise.
912         * tests/unictype/test-ctype_space.c: Likewise.
913         * tests/unictype/test-ctype_upper.c: Likewise.
914         * tests/unictype/test-ctype_xdigit.c: Likewise.
915         * tests/unictype/test-decdigit.h: Likewise.
916         * tests/unictype/test-digit.h: Likewise.
917         * tests/unictype/test-numeric.h: Likewise.
918         * tests/unictype/test-pr_alphabetic.c: Likewise.
919         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
920         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
921         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
922         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
923         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
924         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
925         * tests/unictype/test-pr_bidi_control.c: Likewise.
926         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
927         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
928         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
929         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
930         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
931         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
932         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
933         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
934         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
935         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
936         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
937         * tests/unictype/test-pr_combining.c: Likewise.
938         * tests/unictype/test-pr_composite.c: Likewise.
939         * tests/unictype/test-pr_currency_symbol.c: Likewise.
940         * tests/unictype/test-pr_dash.c: Likewise.
941         * tests/unictype/test-pr_decimal_digit.c: Likewise.
942         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
943         * tests/unictype/test-pr_deprecated.c: Likewise.
944         * tests/unictype/test-pr_diacritic.c: Likewise.
945         * tests/unictype/test-pr_extender.c: Likewise.
946         * tests/unictype/test-pr_format_control.c: Likewise.
947         * tests/unictype/test-pr_grapheme_base.c: Likewise.
948         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
949         * tests/unictype/test-pr_grapheme_link.c: Likewise.
950         * tests/unictype/test-pr_hex_digit.c: Likewise.
951         * tests/unictype/test-pr_hyphen.c: Likewise.
952         * tests/unictype/test-pr_id_continue.c: Likewise.
953         * tests/unictype/test-pr_id_start.c: Likewise.
954         * tests/unictype/test-pr_ideographic.c: Likewise.
955         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
956         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
957         * tests/unictype/test-pr_ignorable_control.c: Likewise.
958         * tests/unictype/test-pr_iso_control.c: Likewise.
959         * tests/unictype/test-pr_join_control.c: Likewise.
960         * tests/unictype/test-pr_left_of_pair.c: Likewise.
961         * tests/unictype/test-pr_line_separator.c: Likewise.
962         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
963         * tests/unictype/test-pr_lowercase.c: Likewise.
964         * tests/unictype/test-pr_math.c: Likewise.
965         * tests/unictype/test-pr_non_break.c: Likewise.
966         * tests/unictype/test-pr_not_a_character.c: Likewise.
967         * tests/unictype/test-pr_numeric.c: Likewise.
968         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
969         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
970         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
971         * tests/unictype/test-pr_other_id_continue.c: Likewise.
972         * tests/unictype/test-pr_other_id_start.c: Likewise.
973         * tests/unictype/test-pr_other_lowercase.c: Likewise.
974         * tests/unictype/test-pr_other_math.c: Likewise.
975         * tests/unictype/test-pr_other_uppercase.c: Likewise.
976         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
977         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
978         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
979         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
980         * tests/unictype/test-pr_private_use.c: Likewise.
981         * tests/unictype/test-pr_punctuation.c: Likewise.
982         * tests/unictype/test-pr_quotation_mark.c: Likewise.
983         * tests/unictype/test-pr_radical.c: Likewise.
984         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
985         * tests/unictype/test-pr_soft_dotted.c: Likewise.
986         * tests/unictype/test-pr_space.c: Likewise.
987         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
988         * tests/unictype/test-pr_titlecase.c: Likewise.
989         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
990         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
991         * tests/unictype/test-pr_uppercase.c: Likewise.
992         * tests/unictype/test-pr_variation_selector.c: Likewise.
993         * tests/unictype/test-pr_white_space.c: Likewise.
994         * tests/unictype/test-pr_xid_continue.c: Likewise.
995         * tests/unictype/test-pr_xid_start.c: Likewise.
996         * tests/unictype/test-pr_zero_width.c: Likewise.
997         * tests/unictype/test-sy_c_whitespace.c: Likewise.
998         * tests/unictype/test-sy_java_whitespace.c: Likewise.
999
1000 2007-11-12  Bruno Haible  <bruno@clisp.org>
1001
1002         Unicode character classification functions.
1003         * lib/unictype.h: New file.
1004         * modules/unictype/base: New file.
1005         * modules/unictype/category-L: New file.
1006         * modules/unictype/category-Lu: New file.
1007         * modules/unictype/category-Ll: New file.
1008         * modules/unictype/category-Lt: New file.
1009         * modules/unictype/category-Lm: New file.
1010         * modules/unictype/category-Lo: New file.
1011         * modules/unictype/category-M: New file.
1012         * modules/unictype/category-Mn: New file.
1013         * modules/unictype/category-Mc: New file.
1014         * modules/unictype/category-Me: New file.
1015         * modules/unictype/category-N: New file.
1016         * modules/unictype/category-Nd: New file.
1017         * modules/unictype/category-Nl: New file.
1018         * modules/unictype/category-No: New file.
1019         * modules/unictype/category-P: New file.
1020         * modules/unictype/category-Pc: New file.
1021         * modules/unictype/category-Pd: New file.
1022         * modules/unictype/category-Ps: New file.
1023         * modules/unictype/category-Pe: New file.
1024         * modules/unictype/category-Pi: New file.
1025         * modules/unictype/category-Pf: New file.
1026         * modules/unictype/category-Po: New file.
1027         * modules/unictype/category-S: New file.
1028         * modules/unictype/category-Sm: New file.
1029         * modules/unictype/category-Sc: New file.
1030         * modules/unictype/category-Sk: New file.
1031         * modules/unictype/category-So: New file.
1032         * modules/unictype/category-Z: New file.
1033         * modules/unictype/category-Zs: New file.
1034         * modules/unictype/category-Zl: New file.
1035         * modules/unictype/category-Zp: New file.
1036         * modules/unictype/category-C: New file.
1037         * modules/unictype/category-Cc: New file.
1038         * modules/unictype/category-Cf: New file.
1039         * modules/unictype/category-Cs: New file.
1040         * modules/unictype/category-Co: New file.
1041         * modules/unictype/category-Cn: New file.
1042         * modules/unictype/category-or: New file.
1043         * modules/unictype/category-of: New file.
1044         * modules/unictype/category-test: New file.
1045         * modules/unictype/category-test-withtable: New file.
1046         * modules/unictype/category-byname: New file.
1047         * modules/unictype/category-none: New file.
1048         * modules/unictype/category-and: New file.
1049         * modules/unictype/category-and-not: New file.
1050         * modules/unictype/category-name: New file.
1051         * modules/unictype/combining-class: New file.
1052         * modules/unictype/category-all: New file.
1053         * modules/unictype/bidicategory-all: New file.
1054         * modules/unictype/bidicategory-byname: New file.
1055         * modules/unictype/bidicategory-name: New file.
1056         * modules/unictype/bidicategory-of: New file.
1057         * modules/unictype/bidicategory-test: New file.
1058         * modules/unictype/decimal-digit: New file.
1059         * modules/unictype/digit: New file.
1060         * modules/unictype/numeric: New file.
1061         * modules/unictype/mirror: New file.
1062         * modules/unictype/property-white-space: New file.
1063         * modules/unictype/property-alphabetic: New file.
1064         * modules/unictype/property-other-alphabetic: New file.
1065         * modules/unictype/property-not-a-character: New file.
1066         * modules/unictype/property-default-ignorable-code-point: New file.
1067         * modules/unictype/property-other-default-ignorable-code-point: New
1068         file.
1069         * modules/unictype/property-deprecated: New file.
1070         * modules/unictype/property-logical-order-exception: New file.
1071         * modules/unictype/property-variation-selector: New file.
1072         * modules/unictype/property-private-use: New file.
1073         * modules/unictype/property-unassigned-code-value: New file.
1074         * modules/unictype/property-uppercase: New file.
1075         * modules/unictype/property-other-uppercase: New file.
1076         * modules/unictype/property-lowercase: New file.
1077         * modules/unictype/property-other-lowercase: New file.
1078         * modules/unictype/property-titlecase: New file.
1079         * modules/unictype/property-soft-dotted: New file.
1080         * modules/unictype/property-id-start: New file.
1081         * modules/unictype/property-other-id-start: New file.
1082         * modules/unictype/property-id-continue: New file.
1083         * modules/unictype/property-other-id-continue: New file.
1084         * modules/unictype/property-xid-start: New file.
1085         * modules/unictype/property-xid-continue: New file.
1086         * modules/unictype/property-pattern-white-space: New file.
1087         * modules/unictype/property-pattern-syntax: New file.
1088         * modules/unictype/property-join-control: New file.
1089         * modules/unictype/property-grapheme-base: New file.
1090         * modules/unictype/property-grapheme-extend: New file.
1091         * modules/unictype/property-other-grapheme-extend: New file.
1092         * modules/unictype/property-grapheme-link: New file.
1093         * modules/unictype/property-bidi-control: New file.
1094         * modules/unictype/property-bidi-left-to-right: New file.
1095         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
1096         * modules/unictype/property-bidi-arabic-right-to-left: New file.
1097         * modules/unictype/property-bidi-european-digit: New file.
1098         * modules/unictype/property-bidi-eur-num-separator: New file.
1099         * modules/unictype/property-bidi-eur-num-terminator: New file.
1100         * modules/unictype/property-bidi-arabic-digit: New file.
1101         * modules/unictype/property-bidi-common-separator: New file.
1102         * modules/unictype/property-bidi-block-separator: New file.
1103         * modules/unictype/property-bidi-segment-separator: New file.
1104         * modules/unictype/property-bidi-whitespace: New file.
1105         * modules/unictype/property-bidi-non-spacing-mark: New file.
1106         * modules/unictype/property-bidi-boundary-neutral: New file.
1107         * modules/unictype/property-bidi-pdf: New file.
1108         * modules/unictype/property-bidi-embedding-or-override: New file.
1109         * modules/unictype/property-bidi-other-neutral: New file.
1110         * modules/unictype/property-hex-digit: New file.
1111         * modules/unictype/property-ascii-hex-digit: New file.
1112         * modules/unictype/property-ideographic: New file.
1113         * modules/unictype/property-unified-ideograph: New file.
1114         * modules/unictype/property-radical: New file.
1115         * modules/unictype/property-ids-binary-operator: New file.
1116         * modules/unictype/property-ids-trinary-operator: New file.
1117         * modules/unictype/property-zero-width: New file.
1118         * modules/unictype/property-space: New file.
1119         * modules/unictype/property-non-break: New file.
1120         * modules/unictype/property-iso-control: New file.
1121         * modules/unictype/property-format-control: New file.
1122         * modules/unictype/property-dash: New file.
1123         * modules/unictype/property-hyphen: New file.
1124         * modules/unictype/property-punctuation: New file.
1125         * modules/unictype/property-line-separator: New file.
1126         * modules/unictype/property-paragraph-separator: New file.
1127         * modules/unictype/property-quotation-mark: New file.
1128         * modules/unictype/property-sentence-terminal: New file.
1129         * modules/unictype/property-terminal-punctuation: New file.
1130         * modules/unictype/property-currency-symbol: New file.
1131         * modules/unictype/property-math: New file.
1132         * modules/unictype/property-other-math: New file.
1133         * modules/unictype/property-paired-punctuation: New file.
1134         * modules/unictype/property-left-of-pair: New file.
1135         * modules/unictype/property-combining: New file.
1136         * modules/unictype/property-composite: New file.
1137         * modules/unictype/property-decimal-digit: New file.
1138         * modules/unictype/property-numeric: New file.
1139         * modules/unictype/property-diacritic: New file.
1140         * modules/unictype/property-extender: New file.
1141         * modules/unictype/property-ignorable-control: New file.
1142         * modules/unictype/property-test: New file.
1143         * modules/unictype/property-byname: New file.
1144         * modules/unictype/property-all: New file.
1145         * modules/unictype/scripts: New file.
1146         * modules/unictype/scripts-all: New file.
1147         * modules/unictype/block-of: New file.
1148         * modules/unictype/block-test: New file.
1149         * modules/unictype/block-list: New file.
1150         * modules/unictype/block-all: New file.
1151         * modules/unictype/syntax-c-whitespace: New file.
1152         * modules/unictype/syntax-java-whitespace: New file.
1153         * modules/unictype/syntax-c-ident: New file.
1154         * modules/unictype/syntax-java-ident: New file.
1155         * modules/unictype/ctype-alnum: New file.
1156         * modules/unictype/ctype-alpha: New file.
1157         * modules/unictype/ctype-cntrl: New file.
1158         * modules/unictype/ctype-digit: New file.
1159         * modules/unictype/ctype-graph: New file.
1160         * modules/unictype/ctype-lower: New file.
1161         * modules/unictype/ctype-print: New file.
1162         * modules/unictype/ctype-punct: New file.
1163         * modules/unictype/ctype-space: New file.
1164         * modules/unictype/ctype-upper: New file.
1165         * modules/unictype/ctype-xdigit: New file.
1166         * modules/unictype/ctype-blank: New file.
1167         * lib/unictype/bidi_byname.c: New file.
1168         * lib/unictype/bidi_name.c: New file.
1169         * lib/unictype/bidi_of.c: New file.
1170         * lib/unictype/bidi_test.c: New file.
1171         * lib/unictype/bitmap.h: New file.
1172         * lib/unictype/block_test.c: New file.
1173         * lib/unictype/blocks.c: New file.
1174         * lib/unictype/categ_C.c: New file.
1175         * lib/unictype/categ_Cc.c: New file.
1176         * lib/unictype/categ_Cf.c: New file.
1177         * lib/unictype/categ_Cn.c: New file.
1178         * lib/unictype/categ_Co.c: New file.
1179         * lib/unictype/categ_Cs.c: New file.
1180         * lib/unictype/categ_L.c: New file.
1181         * lib/unictype/categ_Ll.c: New file.
1182         * lib/unictype/categ_Lm.c: New file.
1183         * lib/unictype/categ_Lo.c: New file.
1184         * lib/unictype/categ_Lt.c: New file.
1185         * lib/unictype/categ_Lu.c: New file.
1186         * lib/unictype/categ_M.c: New file.
1187         * lib/unictype/categ_Mc.c: New file.
1188         * lib/unictype/categ_Me.c: New file.
1189         * lib/unictype/categ_Mn.c: New file.
1190         * lib/unictype/categ_N.c: New file.
1191         * lib/unictype/categ_Nd.c: New file.
1192         * lib/unictype/categ_Nl.c: New file.
1193         * lib/unictype/categ_No.c: New file.
1194         * lib/unictype/categ_P.c: New file.
1195         * lib/unictype/categ_Pc.c: New file.
1196         * lib/unictype/categ_Pd.c: New file.
1197         * lib/unictype/categ_Pe.c: New file.
1198         * lib/unictype/categ_Pf.c: New file.
1199         * lib/unictype/categ_Pi.c: New file.
1200         * lib/unictype/categ_Po.c: New file.
1201         * lib/unictype/categ_Ps.c: New file.
1202         * lib/unictype/categ_S.c: New file.
1203         * lib/unictype/categ_Sc.c: New file.
1204         * lib/unictype/categ_Sk.c: New file.
1205         * lib/unictype/categ_Sm.c: New file.
1206         * lib/unictype/categ_So.c: New file.
1207         * lib/unictype/categ_Z.c: New file.
1208         * lib/unictype/categ_Zl.c: New file.
1209         * lib/unictype/categ_Zp.c: New file.
1210         * lib/unictype/categ_Zs.c: New file.
1211         * lib/unictype/categ_and.c: New file.
1212         * lib/unictype/categ_and_not.c: New file.
1213         * lib/unictype/categ_byname.c: New file.
1214         * lib/unictype/categ_name.c: New file.
1215         * lib/unictype/categ_none.c: New file.
1216         * lib/unictype/categ_of.c: New file.
1217         * lib/unictype/categ_or.c: New file.
1218         * lib/unictype/categ_test.c: New file.
1219         * lib/unictype/combining.c: New file.
1220         * lib/unictype/ctype_alnum.c: New file.
1221         * lib/unictype/ctype_alpha.c: New file.
1222         * lib/unictype/ctype_blank.c: New file.
1223         * lib/unictype/ctype_cntrl.c: New file.
1224         * lib/unictype/ctype_digit.c: New file.
1225         * lib/unictype/ctype_graph.c: New file.
1226         * lib/unictype/ctype_lower.c: New file.
1227         * lib/unictype/ctype_print.c: New file.
1228         * lib/unictype/ctype_punct.c: New file.
1229         * lib/unictype/ctype_space.c: New file.
1230         * lib/unictype/ctype_upper.c: New file.
1231         * lib/unictype/ctype_xdigit.c: New file.
1232         * lib/unictype/decdigit.c: New file.
1233         * lib/unictype/digit.c: New file.
1234         * lib/unictype/identsyntaxmap.h: New file.
1235         * lib/unictype/mirror.c: New file.
1236         * lib/unictype/numeric.c: New file.
1237         * lib/unictype/pr_alphabetic.c: New file.
1238         * lib/unictype/pr_ascii_hex_digit.c: New file.
1239         * lib/unictype/pr_bidi_arabic_digit.c: New file.
1240         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
1241         * lib/unictype/pr_bidi_block_separator.c: New file.
1242         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
1243         * lib/unictype/pr_bidi_common_separator.c: New file.
1244         * lib/unictype/pr_bidi_control.c: New file.
1245         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
1246         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
1247         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
1248         * lib/unictype/pr_bidi_european_digit.c: New file.
1249         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
1250         * lib/unictype/pr_bidi_left_to_right.c: New file.
1251         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
1252         * lib/unictype/pr_bidi_other_neutral.c: New file.
1253         * lib/unictype/pr_bidi_pdf.c: New file.
1254         * lib/unictype/pr_bidi_segment_separator.c: New file.
1255         * lib/unictype/pr_bidi_whitespace.c: New file.
1256         * lib/unictype/pr_byname.c: New file.
1257         * lib/unictype/pr_byname.gperf: New file.
1258         * lib/unictype/pr_combining.c: New file.
1259         * lib/unictype/pr_composite.c: New file.
1260         * lib/unictype/pr_currency_symbol.c: New file.
1261         * lib/unictype/pr_dash.c: New file.
1262         * lib/unictype/pr_decimal_digit.c: New file.
1263         * lib/unictype/pr_default_ignorable_code_point.c: New file.
1264         * lib/unictype/pr_deprecated.c: New file.
1265         * lib/unictype/pr_diacritic.c: New file.
1266         * lib/unictype/pr_extender.c: New file.
1267         * lib/unictype/pr_format_control.c: New file.
1268         * lib/unictype/pr_grapheme_base.c: New file.
1269         * lib/unictype/pr_grapheme_extend.c: New file.
1270         * lib/unictype/pr_grapheme_link.c: New file.
1271         * lib/unictype/pr_hex_digit.c: New file.
1272         * lib/unictype/pr_hyphen.c: New file.
1273         * lib/unictype/pr_id_continue.c: New file.
1274         * lib/unictype/pr_id_start.c: New file.
1275         * lib/unictype/pr_ideographic.c: New file.
1276         * lib/unictype/pr_ids_binary_operator.c: New file.
1277         * lib/unictype/pr_ids_trinary_operator.c: New file.
1278         * lib/unictype/pr_ignorable_control.c: New file.
1279         * lib/unictype/pr_iso_control.c: New file.
1280         * lib/unictype/pr_join_control.c: New file.
1281         * lib/unictype/pr_left_of_pair.c: New file.
1282         * lib/unictype/pr_line_separator.c: New file.
1283         * lib/unictype/pr_logical_order_exception.c: New file.
1284         * lib/unictype/pr_lowercase.c: New file.
1285         * lib/unictype/pr_math.c: New file.
1286         * lib/unictype/pr_non_break.c: New file.
1287         * lib/unictype/pr_not_a_character.c: New file.
1288         * lib/unictype/pr_numeric.c: New file.
1289         * lib/unictype/pr_other_alphabetic.c: New file.
1290         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
1291         * lib/unictype/pr_other_grapheme_extend.c: New file.
1292         * lib/unictype/pr_other_id_continue.c: New file.
1293         * lib/unictype/pr_other_id_start.c: New file.
1294         * lib/unictype/pr_other_lowercase.c: New file.
1295         * lib/unictype/pr_other_math.c: New file.
1296         * lib/unictype/pr_other_uppercase.c: New file.
1297         * lib/unictype/pr_paired_punctuation.c: New file.
1298         * lib/unictype/pr_paragraph_separator.c: New file.
1299         * lib/unictype/pr_pattern_syntax.c: New file.
1300         * lib/unictype/pr_pattern_white_space.c: New file.
1301         * lib/unictype/pr_private_use.c: New file.
1302         * lib/unictype/pr_punctuation.c: New file.
1303         * lib/unictype/pr_quotation_mark.c: New file.
1304         * lib/unictype/pr_radical.c: New file.
1305         * lib/unictype/pr_sentence_terminal.c: New file.
1306         * lib/unictype/pr_soft_dotted.c: New file.
1307         * lib/unictype/pr_space.c: New file.
1308         * lib/unictype/pr_terminal_punctuation.c: New file.
1309         * lib/unictype/pr_test.c: New file.
1310         * lib/unictype/pr_titlecase.c: New file.
1311         * lib/unictype/pr_unassigned_code_value.c: New file.
1312         * lib/unictype/pr_unified_ideograph.c: New file.
1313         * lib/unictype/pr_uppercase.c: New file.
1314         * lib/unictype/pr_variation_selector.c: New file.
1315         * lib/unictype/pr_white_space.c: New file.
1316         * lib/unictype/pr_xid_continue.c: New file.
1317         * lib/unictype/pr_xid_start.c: New file.
1318         * lib/unictype/pr_zero_width.c: New file.
1319         * lib/unictype/scripts.c: New file.
1320         * lib/unictype/sy_c_ident.c: New file.
1321         * lib/unictype/sy_c_whitespace.c: New file.
1322         * lib/unictype/sy_java_ident.c: New file.
1323         * lib/unictype/sy_java_whitespace.c: New file.
1324
1325         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
1326         Unicode 5.0.0.
1327         * lib/unictype/blocks.h: Likewise.
1328         * lib/unictype/categ_C.h: Likewise.
1329         * lib/unictype/categ_Cc.h: Likewise.
1330         * lib/unictype/categ_Cf.h: Likewise.
1331         * lib/unictype/categ_Cn.h: Likewise.
1332         * lib/unictype/categ_Co.h: Likewise.
1333         * lib/unictype/categ_Cs.h: Likewise.
1334         * lib/unictype/categ_L.h: Likewise.
1335         * lib/unictype/categ_Ll.h: Likewise.
1336         * lib/unictype/categ_Lm.h: Likewise.
1337         * lib/unictype/categ_Lo.h: Likewise.
1338         * lib/unictype/categ_Lt.h: Likewise.
1339         * lib/unictype/categ_Lu.h: Likewise.
1340         * lib/unictype/categ_M.h: Likewise.
1341         * lib/unictype/categ_Mc.h: Likewise.
1342         * lib/unictype/categ_Me.h: Likewise.
1343         * lib/unictype/categ_Mn.h: Likewise.
1344         * lib/unictype/categ_N.h: Likewise.
1345         * lib/unictype/categ_Nd.h: Likewise.
1346         * lib/unictype/categ_Nl.h: Likewise.
1347         * lib/unictype/categ_No.h: Likewise.
1348         * lib/unictype/categ_P.h: Likewise.
1349         * lib/unictype/categ_Pc.h: Likewise.
1350         * lib/unictype/categ_Pd.h: Likewise.
1351         * lib/unictype/categ_Pe.h: Likewise.
1352         * lib/unictype/categ_Pf.h: Likewise.
1353         * lib/unictype/categ_Pi.h: Likewise.
1354         * lib/unictype/categ_Po.h: Likewise.
1355         * lib/unictype/categ_Ps.h: Likewise.
1356         * lib/unictype/categ_S.h: Likewise.
1357         * lib/unictype/categ_Sc.h: Likewise.
1358         * lib/unictype/categ_Sk.h: Likewise.
1359         * lib/unictype/categ_Sm.h: Likewise.
1360         * lib/unictype/categ_So.h: Likewise.
1361         * lib/unictype/categ_Z.h: Likewise.
1362         * lib/unictype/categ_Zl.h: Likewise.
1363         * lib/unictype/categ_Zp.h: Likewise.
1364         * lib/unictype/categ_Zs.h: Likewise.
1365         * lib/unictype/categ_of.h: Likewise.
1366         * lib/unictype/combining.h: Likewise.
1367         * lib/unictype/ctype_alnum.h: Likewise.
1368         * lib/unictype/ctype_alpha.h: Likewise.
1369         * lib/unictype/ctype_blank.h: Likewise.
1370         * lib/unictype/ctype_cntrl.h: Likewise.
1371         * lib/unictype/ctype_digit.h: Likewise.
1372         * lib/unictype/ctype_graph.h: Likewise.
1373         * lib/unictype/ctype_lower.h: Likewise.
1374         * lib/unictype/ctype_print.h: Likewise.
1375         * lib/unictype/ctype_punct.h: Likewise.
1376         * lib/unictype/ctype_space.h: Likewise.
1377         * lib/unictype/ctype_upper.h: Likewise.
1378         * lib/unictype/ctype_xdigit.h: Likewise.
1379         * lib/unictype/decdigit.h: Likewise.
1380         * lib/unictype/digit.h: Likewise.
1381         * lib/unictype/mirror.h: Likewise.
1382         * lib/unictype/numeric.h: Likewise.
1383         * lib/unictype/pr_alphabetic.h: Likewise.
1384         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
1385         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
1386         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
1387         * lib/unictype/pr_bidi_block_separator.h: Likewise.
1388         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
1389         * lib/unictype/pr_bidi_common_separator.h: Likewise.
1390         * lib/unictype/pr_bidi_control.h: Likewise.
1391         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
1392         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
1393         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
1394         * lib/unictype/pr_bidi_european_digit.h: Likewise.
1395         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
1396         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
1397         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
1398         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
1399         * lib/unictype/pr_bidi_pdf.h: Likewise.
1400         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
1401         * lib/unictype/pr_bidi_whitespace.h: Likewise.
1402         * lib/unictype/pr_combining.h: Likewise.
1403         * lib/unictype/pr_composite.h: Likewise.
1404         * lib/unictype/pr_currency_symbol.h: Likewise.
1405         * lib/unictype/pr_dash.h: Likewise.
1406         * lib/unictype/pr_decimal_digit.h: Likewise.
1407         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
1408         * lib/unictype/pr_deprecated.h: Likewise.
1409         * lib/unictype/pr_diacritic.h: Likewise.
1410         * lib/unictype/pr_extender.h: Likewise.
1411         * lib/unictype/pr_format_control.h: Likewise.
1412         * lib/unictype/pr_grapheme_base.h: Likewise.
1413         * lib/unictype/pr_grapheme_extend.h: Likewise.
1414         * lib/unictype/pr_grapheme_link.h: Likewise.
1415         * lib/unictype/pr_hex_digit.h: Likewise.
1416         * lib/unictype/pr_hyphen.h: Likewise.
1417         * lib/unictype/pr_id_continue.h: Likewise.
1418         * lib/unictype/pr_id_start.h: Likewise.
1419         * lib/unictype/pr_ideographic.h: Likewise.
1420         * lib/unictype/pr_ids_binary_operator.h: Likewise.
1421         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
1422         * lib/unictype/pr_ignorable_control.h: Likewise.
1423         * lib/unictype/pr_iso_control.h: Likewise.
1424         * lib/unictype/pr_join_control.h: Likewise.
1425         * lib/unictype/pr_left_of_pair.h: Likewise.
1426         * lib/unictype/pr_line_separator.h: Likewise.
1427         * lib/unictype/pr_logical_order_exception.h: Likewise.
1428         * lib/unictype/pr_lowercase.h: Likewise.
1429         * lib/unictype/pr_math.h: Likewise.
1430         * lib/unictype/pr_non_break.h: Likewise.
1431         * lib/unictype/pr_not_a_character.h: Likewise.
1432         * lib/unictype/pr_numeric.h: Likewise.
1433         * lib/unictype/pr_other_alphabetic.h: Likewise.
1434         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
1435         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
1436         * lib/unictype/pr_other_id_continue.h: Likewise.
1437         * lib/unictype/pr_other_id_start.h: Likewise.
1438         * lib/unictype/pr_other_lowercase.h: Likewise.
1439         * lib/unictype/pr_other_math.h: Likewise.
1440         * lib/unictype/pr_other_uppercase.h: Likewise.
1441         * lib/unictype/pr_paired_punctuation.h: Likewise.
1442         * lib/unictype/pr_paragraph_separator.h: Likewise.
1443         * lib/unictype/pr_pattern_syntax.h: Likewise.
1444         * lib/unictype/pr_pattern_white_space.h: Likewise.
1445         * lib/unictype/pr_private_use.h: Likewise.
1446         * lib/unictype/pr_punctuation.h: Likewise.
1447         * lib/unictype/pr_quotation_mark.h: Likewise.
1448         * lib/unictype/pr_radical.h: Likewise.
1449         * lib/unictype/pr_sentence_terminal.h: Likewise.
1450         * lib/unictype/pr_soft_dotted.h: Likewise.
1451         * lib/unictype/pr_space.h: Likewise.
1452         * lib/unictype/pr_terminal_punctuation.h: Likewise.
1453         * lib/unictype/pr_titlecase.h: Likewise.
1454         * lib/unictype/pr_unassigned_code_value.h: Likewise.
1455         * lib/unictype/pr_unified_ideograph.h: Likewise.
1456         * lib/unictype/pr_uppercase.h: Likewise.
1457         * lib/unictype/pr_variation_selector.h: Likewise.
1458         * lib/unictype/pr_white_space.h: Likewise.
1459         * lib/unictype/pr_xid_continue.h: Likewise.
1460         * lib/unictype/pr_xid_start.h: Likewise.
1461         * lib/unictype/pr_zero_width.h: Likewise.
1462         * lib/unictype/scripts.h: Likewise.
1463         * lib/unictype/scripts_byname.gperf: Likewise.
1464         * lib/unictype/sy_c_ident.h: Likewise.
1465         * lib/unictype/sy_c_whitespace.h: Likewise.
1466         * lib/unictype/sy_java_ident.h: Likewise.
1467         * lib/unictype/sy_java_whitespace.h: Likewise.
1468
1469         * lib/unictype/Makefile: New file.
1470         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
1471         glibc.
1472         * lib/unictype/3level.h: New file, copied from glibc.
1473         * lib/unictype/3levelbit.h: New file.
1474
1475 2007-11-11  Bruno Haible  <bruno@clisp.org>
1476
1477         * modules/gperf: New file.
1478         * modules/iconv_open (Depends-on): Add it.
1479         (Makefile.am): Remove the GPERF definition.
1480
1481 2007-11-11  Bruno Haible  <bruno@clisp.org>
1482
1483         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
1484         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
1485
1486 2007-11-11  Bruno Haible  <bruno@clisp.org>
1487
1488         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
1489         (usage): Remove function.
1490
1491 2007-11-11  Bruno Haible  <bruno@clisp.org>
1492
1493         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
1494         gl_FUNC_CEILF_LIBS.
1495         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
1496         gl_FUNC_CEIL_LIBS.
1497         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
1498         gl_FUNC_CEILL_LIBS.
1499         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
1500         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
1501         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
1502
1503 2007-11-11  Bruno Haible  <bruno@clisp.org>
1504
1505         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
1506         roundf were declared but do not exist on functions.
1507         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
1508         roundl were declared but do not exist on functions.
1509         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
1510         HAVE_FLOORL_AND_CEILL, respectively.
1511         Needed for Sun C on Solaris 10.
1512
1513 2007-11-11  Bruno Haible  <bruno@clisp.org>
1514
1515         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
1516         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
1517         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
1518         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
1519         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
1520         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
1521         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
1522         HAVE_DECL_ROUNDF.
1523         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
1524         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
1525         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
1526         of HAVE_DECL_ROUND*.
1527         * modules/math (Makefile.am): Update.
1528
1529 2007-11-10  Bruno Haible  <bruno@clisp.org>
1530
1531         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
1532         ptrdiff_t as m4/intl.m4.
1533
1534 2007-11-10  Jim Meyering  <meyering@redhat.com>
1535
1536         Avoid link failure for the argmatch test.
1537         * tests/test-argmatch.c (usage): Define function to avoid a link
1538         failure: argmatch_die requires a usage function.
1539
1540 2007-11-09  Bruno Haible  <bruno@clisp.org>
1541
1542         * doc/functions/snprintf.texi: Mention BeOS deficiency.
1543         * doc/functions/vsnprintf.texi: Likewise.
1544         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
1545         with a size argument < 2.
1546
1547 2007-11-09  Bruno Haible  <bruno@clisp.org>
1548
1549         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
1550         buffer. Fixes an inefficiency introduced on 2007-11-03.
1551
1552 2007-11-09  Bruno Haible  <bruno@clisp.org>
1553
1554         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
1555         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
1556
1557 2007-11-08  Jim Meyering  <meyering@redhat.com>
1558
1559         Change cache variable name prefix "jm_" to "gl_" everywhere.
1560         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
1561         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
1562         * m4/uptime.m4: s/gl_/jm_/
1563
1564 2007-11-07  Bruno Haible  <bruno@clisp.org>
1565
1566         Update to GNU gettext 0.17.
1567         * m4/intl.m4: Update to GNU gettext 0.17.
1568         * m4/po.m4: Likewise.
1569         * modules/gettext (Files): Remove m4/ulonglong.m4.
1570         (configure.ac): Require gettext infrastructure from version 0.17.
1571
1572 2007-11-06  Bruno Haible  <bruno@clisp.org>
1573
1574         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
1575         symbolic values are not defined in a public header.
1576         * lib/freadable.c (freadable) [QNX]: Likewise.
1577         * lib/freadahead.c (freadahead) [QNX]: Likewise.
1578         * lib/freading.c (freading) [QNX]: Likewise.
1579         * lib/fseterr.c (fseterr) [QNX]: Likewise.
1580         * lib/fwritable.c (fwritable) [QNX]: Likewise.
1581         * lib/fwriting.c (fwriting) [QNX]: Likewise.
1582         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
1583         Reported by Alain Magloire.
1584
1585         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
1586
1587 2007-11-05  Bruno Haible  <bruno@clisp.org>
1588
1589         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
1590         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
1591         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
1592         Reported by Eric Blake.
1593
1594 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1595             Bruno Haible  <bruno@clisp.org>
1596
1597         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
1598         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
1599         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
1600         (malloc): Undefine also before including <stdlib.h>.
1601         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
1602         Needed on OSF/1 4.0.
1603
1604 2007-11-05  Jim Meyering  <meyering@redhat.com>
1605
1606         git-version-gen: sync from coreutils.
1607         * build-aux/git-version-gen: Add comments.
1608         Change the first '-' to '.' in the snapshot version string,
1609         e.g., 6.9-377-08144 -> 6.9.377-08144
1610         Remove first parameter.
1611         Don't declare a version "-dirty" merely because a time
1612         stamp has changed.
1613
1614 2007-11-04  Bruno Haible  <bruno@clisp.org>
1615
1616         * lib/lock.h: Protect all macro definitions containing an 'if'
1617         statement through a "do { ... } while (0)".
1618         * lib/tls.h: Likewise.
1619
1620 2007-11-04  Bruno Haible  <bruno@clisp.org>
1621
1622         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
1623
1624 2007-11-04  Bruno Haible  <bruno@clisp.org>
1625
1626         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
1627         * modules/fprintf-posix (Depends-on): Add nocrash.
1628         * modules/snprintf-posix (Depends-on): Likewise.
1629         * modules/sprintf-posix (Depends-on): Likewise.
1630         * modules/vasnprintf-posix (Depends-on): Likewise.
1631         * modules/vasprintf-posix (Depends-on): Likewise.
1632         * modules/vfprintf-posix (Depends-on): Likewise.
1633         * modules/vsnprintf-posix (Depends-on): Likewise.
1634         * modules/vsprintf-posix (Depends-on): Likewise.
1635         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
1636         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
1637         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
1638         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
1639         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
1640         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
1641         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
1642
1643 2007-11-04  Bruno Haible  <bruno@clisp.org>
1644
1645         * modules/nocrash: New file.
1646         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
1647         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
1648
1649 2007-11-04  Bruno Haible  <bruno@clisp.org>
1650
1651         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
1652         precision handling.
1653         * tests/test-vasprintf-posix.c (test_function): Likewise.
1654         * tests/test-snprintf-posix.h (test_function): Likewise.
1655         * tests/test-sprintf-posix.h (test_function): Likewise.
1656
1657         Fix *printf behaviour for large precisions on mingw and BeOS.
1658         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
1659         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
1660         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
1661         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
1662         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1663         gl_PRINTF_PRECISION and test its result. Invoke
1664         gl_PREREQ_VASNPRINTF_PRECISION.
1665         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1666         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1667         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1668         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1669         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1670         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1671         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1672         * doc/functions/fprintf.texi: Update.
1673         * doc/functions/printf.texi: Update.
1674         * doc/functions/snprintf.texi: Update.
1675         * doc/functions/sprintf.texi: Update.
1676         * doc/functions/vfprintf.texi: Update.
1677         * doc/functions/vprintf.texi: Update.
1678         * doc/functions/vsnprintf.texi: Update.
1679         * doc/functions/vsprintf.texi: Update.
1680
1681 2007-11-04  Bruno Haible  <bruno@clisp.org>
1682
1683         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
1684
1685 2007-11-04  Bruno Haible  <bruno@clisp.org>
1686
1687         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
1688         Reported by Sylvain Beucler <beuc@gnu.org>.
1689
1690 2007-11-03  Bruno Haible  <bruno@clisp.org>
1691
1692         * tests/test-fprintf-posix2.sh: New file.
1693         * tests/test-fprintf-posix2.c: New file.
1694         * modules/fprintf-posix-tests (Files): Add them.
1695         (TESTS): Add test-fprintf-posix2.sh.
1696         (configure.ac): Check for getrlimit and setrlimit.
1697         (check_PROGRAMS): Add test-fprintf-posix2.
1698
1699         * tests/test-printf-posix2.sh: New file.
1700         * tests/test-printf-posix2.c: New file.
1701         * modules/printf-posix-tests (Files): Add them.
1702         (TESTS): Add test-printf-posix2.sh.
1703         (configure.ac): Check for getrlimit and setrlimit.
1704         (check_PROGRAMS): Add test-printf-posix2.
1705
1706         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
1707         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
1708         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
1709         (decode_double): New function, copied from decode_long_double.
1710         (scale10_round_decimal_decoded): New function, extracted from
1711         scale10_round_decimal_long_double.
1712         (scale10_round_decimal_long_double): Use it.
1713         (scale10_round_decimal_double): New function.
1714         (floorlog10): New function.
1715         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
1716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
1717         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
1718         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1719         gl_PRINTF_ENOMEM and test its result. Invoke
1720         gl_PREREQ_VASNPRINTF_ENOMEM.
1721         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1722         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1723         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1724         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1725         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1726         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1727         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1728         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
1729         * modules/snprintf-posix (Depends-on): Likewise.
1730         * modules/sprintf-posix (Depends-on): Likewise.
1731         * modules/vasnprintf-posix (Depends-on): Likewise.
1732         * modules/vasprintf-posix (Depends-on): Likewise.
1733         * modules/vfprintf-posix (Depends-on): Likewise.
1734         * modules/vsnprintf-posix (Depends-on): Likewise.
1735         * modules/vsprintf-posix (Depends-on): Likewise.
1736         * doc/functions/fprintf.texi: Update.
1737         * doc/functions/printf.texi: Update.
1738         * doc/functions/snprintf.texi: Update.
1739         * doc/functions/sprintf.texi: Update.
1740         * doc/functions/vfprintf.texi: Update.
1741         * doc/functions/vprintf.texi: Update.
1742         * doc/functions/vsnprintf.texi: Update.
1743         * doc/functions/vsprintf.texi: Update.
1744
1745 2007-11-03  Bruno Haible  <bruno@clisp.org>
1746
1747         * modules/frexp-nolibm-tests: New file.
1748
1749         * modules/frexp-nolibm: New file.
1750         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
1751
1752 2007-11-03  Bruno Haible  <bruno@clisp.org>
1753
1754         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
1755         value is C99 compliant.
1756         Needed for OSF/1 5.1.
1757
1758 2007-11-03  Bruno Haible  <bruno@clisp.org>
1759
1760         Fix out-of-memory handling of vasnprintf.
1761         * lib/printf-parse.c: Include <errno.h>.
1762         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
1763         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
1764         is already set.
1765
1766 2007-11-02  Eric Blake  <ebb9@byu.net>
1767
1768         Fix tests on cygwin.
1769         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
1770
1771 2007-11-01  Bruno Haible  <bruno@clisp.org>
1772
1773         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
1774         warning.
1775         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
1776         needed for POSIX compatibility.
1777
1778 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
1779
1780         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
1781         for compatibility with GNU.
1782
1783 2007-11-01  Bruno Haible  <bruno@clisp.org>
1784
1785         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
1786         (putenv): Renamed from rpl_putenv. Change argument type from
1787         'const char *' to 'char *'.
1788         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
1789         of defining putenv in config.h, just set REPLACE_PUTENV.
1790         * modules/putenv (Depends-on): Add stdlib.
1791         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
1792         (Include): Use <stdlib.h>.
1793         * lib/stdlib.in.h (putenv): New declaration.
1794         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
1795         REPLACE_PUTENV.
1796         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
1797         REPLACE_PUTENV.
1798         Needed for MacOS X 10.5.0.
1799         Reported by Peter O'Gorman <peter@pogma.com>.
1800
1801 2007-11-01  Jim Meyering  <meyering@redhat.com>
1802
1803         Treat an empty date string exactly like "0".
1804         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
1805         if the remaining date string (to be parsed) is empty, use "0".
1806         Reported by Mischa Molhoek and discussed in this thread:
1807         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
1808
1809 2007-10-31  Bruno Haible  <bruno@clisp.org>
1810
1811         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
1812         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
1813         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
1814         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
1815         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
1816         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
1817
1818 2007-10-31  Bruno Haible  <bruno@clisp.org>
1819
1820         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
1821         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
1822         (AC_TYPE_LONG_LONG_INT): Use it.
1823         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
1824         it as well.
1825         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
1826         to m4/longlong.m4.
1827         * modules/stdint (Files): Remove m4/ulonglong.m4.
1828         * modules/strtoull (Files): Use m4/longlong.m4 instead of
1829         m4/ulonglong.m4.
1830         * modules/strtoumax (Files): Likewise.
1831
1832 2007-10-30  Bruno Haible  <bruno@clisp.org>
1833
1834         * modules/xvasprintf-posix: New file.
1835         Suggested by Eric Blake.
1836
1837 2007-10-30  Bruno Haible  <bruno@clisp.org>
1838
1839         * modules/xprintf-posix-tests: New file.
1840         * tests/test-xprintf-posix.sh: New file.
1841         * tests/test-xprintf-posix.c: New file.
1842         * tests/test-xfprintf-posix.c: New file.
1843
1844         * modules/xprintf-posix: New file.
1845
1846 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1847
1848         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
1849         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
1850         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
1851
1852 2007-10-29  Bruno Haible  <bruno@clisp.org>
1853
1854         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
1855         contain the special marker '_cv_'.
1856         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
1857         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
1858         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
1859         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
1860         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
1861         Reported by Ralf Wildenhues.
1862
1863 2007-10-29  Bruno Haible  <bruno@clisp.org>
1864
1865         * gnulib-tool (func_import): When --lgpl is not specified, set
1866         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
1867         GPLv3.
1868         Reported by Simon Josefsson.
1869
1870 2007-10-28  Bruno Haible  <bruno@clisp.org>
1871
1872         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
1873         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
1874         HAVE_DECL_ISFINITE.
1875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
1876         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
1877         HAVE_DECL_ISFINITE.
1878
1879 2007-10-28  Bruno Haible  <bruno@clisp.org>
1880
1881         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
1882         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
1883
1884 2007-10-28  Bruno Haible  <bruno@clisp.org>
1885
1886         Fix link errors with Sun C 5.0 on Solaris 10.
1887         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
1888         function is declared but not present in the compiler's libm.
1889         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
1890         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1891         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
1892         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
1893         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
1894         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
1895         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
1896         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
1897         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
1898         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
1899         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
1900         HAVE_DECL_FLOORL.
1901
1902 2007-10-28  Bruno Haible  <bruno@clisp.org>
1903
1904         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
1905         gl_FUNC_FLOORL. Cache the result.
1906         (gl_FUNC_FLOORL): Use it.
1907         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
1908         gl_FUNC_CEILL. Cache the result.
1909         (gl_FUNC_CEILL): Use it.
1910
1911         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
1912         gl_FUNC_FLOOR. Cache the result.
1913         (gl_FUNC_FLOOR): Use it.
1914         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
1915         gl_FUNC_CEIL. Cache the result.
1916         (gl_FUNC_CEIL): Use it.
1917
1918         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
1919         gl_FUNC_FLOORF. Cache the result.
1920         (gl_FUNC_FLOORF): Use it.
1921         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
1922         gl_FUNC_CEILF. Cache the result.
1923         (gl_FUNC_CEILF): Use it.
1924
1925 2007-10-28  Bruno Haible  <bruno@clisp.org>
1926
1927         * gnulib-tool: Allow specifying the LGPL version number through
1928         --lgpl=2 or --lgpl=3.
1929         (func_usage): Document --lgpl with argument.
1930         Handle --lgpl=... arguments.
1931         (func_import): Recognize also gl_LGPL calls with an argument. When
1932         --lgpl=2 is used and the module's license is just LGPL, report an
1933         error. Set sed_transform_lib_file according to the lgpl variable. In
1934         the generated files, use --lgpl or gl_LGPL invocations with argument,
1935         if necessary.
1936         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
1937         an LGPv2+ license.
1938         * doc/gnulib-tool.texi (Modified imports): Update explanation of
1939         gl_LGPL macro.
1940
1941 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1942             Bruno Haible  <bruno@clisp.org>
1943
1944         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
1945         (u16_uctomb_aux): Likewise.
1946         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
1947         !HAVE_INLINE.
1948         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
1949
1950 2007-10-28  Bruno Haible  <bruno@clisp.org>
1951
1952         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
1953         Invoke AM_GETTEXT_OPTION if it exists.
1954         * modules/vasprintf: Likewise.
1955         * modules/verror: Likewise.
1956         * modules/xprintf: Likewise.
1957         * modules/xvasprintf: Likewise.
1958
1959 2007-10-27  Ben Pfaff  <blp@gnu.org>
1960
1961         * lib/math.in.h: Define isfinite macro and prototypes for
1962         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
1963         implementations.
1964         * m4/math_h.m4: New substitutions for isfinite module.
1965         * lib/isfinite.c: New file.
1966         * m4/isfinite.m4: New file.
1967         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
1968         * modules/isfinite: New file.
1969         * modules/isfinite-tests: New file.
1970         * tests/tests-isfinite.c: New file.
1971         * doc/functions/isfinite.texi: Mention isfinite module.
1972         * MODULES.html.sh: Mention new module.
1973
1974 2007-10-27  Ben Pfaff  <blp@gnu.org>
1975
1976         Ralf Wildenhues reported that Tru64 4.0D declares the round
1977         functions but does not have definitions.
1978         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
1979         cannot be found in any library, set the output variable to
1980         "missing" instead of "".
1981         * m4/round.m4: Also use our substitute if we cannot find round in
1982         any library, even if it is declared.
1983         * m4/roundf.m4: Likewise for roundf.
1984         * m4/roundl.m4: Likewise for roundl.
1985         * lib/math.in.h: Undefine roundf, round, roundl before defining
1986         their replacements, to allow for hypothetical systems where these
1987         may be defined as macros but not available in libraries.
1988
1989 2007-10-27  Bruno Haible  <bruno@clisp.org>
1990
1991         * doc/gnulib.texi: Invoke @firstparagraphindent.
1992         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
1993         changes in gnulib.
1994         (Source changes): New section.
1995
1996 2007-10-26  Bruno Haible  <bruno@clisp.org>
1997
1998         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
1999         borrowed from autoconf.
2000
2001 2007-10-26  Bruno Haible  <bruno@clisp.org>
2002
2003         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
2004         strerror returned the empty string. Needed on HP-UX 11.00.
2005
2006 2007-10-24  Micah Cowan  <micah@cowan.name>
2007
2008         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
2009         * build-aux/bootstrap: Remove support for now-unnecessary option,
2010         --cvs-user, and envvars CVS_USER, CVS_RSH.
2011
2012 2007-10-24  Jim Meyering  <meyering@redhat.com>
2013
2014         Avoid diagnostics from sha1sum when there is no cached checksum.
2015         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
2016         if the po.s1 file hasn't been created yet.
2017
2018         * build-aux/bootstrap: Sync from coreutils:
2019         2007-10-24  Jim Meyering  <meyering@redhat.com>
2020         Get gnulib from the git repository, not from an obsolete cvs one.
2021         * build-aux/bootstrap: Suggestion from Micah Cowan.
2022         2007-10-04  Jim Meyering  <jim@meyering.net>
2023         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
2024         (update_po_files): Work also when there are no .po files in po/.
2025
2026 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2027
2028         * README: Append ".git" to git and cg examples.
2029         Problem reported by Benoit Sigoure.
2030
2031 2007-10-23  Micah Cowan  <micah@cowan.name>
2032
2033         * users.txt: Add wget.
2034
2035 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2036
2037         Fix linking of some unistdio tests on FreeBSD.
2038         * modules/unistdio/u16-vsnprintf-tests
2039         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
2040         * modules/unistdio/u16-vsprintf-tests
2041         (test_u16_vsnprintf1_LDADD): Likewise.
2042         * modules/unistdio/u32-vsnprintf-tests
2043         (test_u32_vsnprintf1_LDADD): Likewise.
2044         * modules/unistdio/u32-vsprintf-tests
2045         (test_u32_vsprintf1_LDADD): Likewise.
2046         * modules/unistdio/u8-vsnprintf-tests
2047         (test_u8_vsnprintf1_LDADD): Likewise.
2048         * modules/unistdio/u8-vsprintf-tests
2049         (test_u8_vsprintf1_LDADD): Likewise.
2050         * modules/unistdio/ulc-vsnprintf-tests
2051         (test_ulc_vsnprintf1_LDADD): Likewise.
2052         * modules/unistdio/ulc-vsprintf-tests
2053         (test_ulc_vsprintf1_LDADD): Likewise.
2054
2055         Fix linking of some uniconv tests on FreeBSD.
2056         * modules/uniconv/u16-conv-from-enc-tests
2057         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
2058         * modules/uniconv/u16-conv-to-enc-tests
2059         (test_u16_conv_to_enc_LDADD): Likewise.
2060         * modules/uniconv/u16-strconv-from-enc-tests
2061         (test_u16_strconv_from_enc_LDADD): Likewise.
2062         * modules/uniconv/u16-strconv-to-enc-tests
2063         (test_u16_strconv_to_enc_LDADD): Likewise.
2064         * modules/uniconv/u32-conv-from-enc-tests
2065         (test_u32_conv_from_enc_LDADD): Likewise.
2066         * modules/uniconv/u32-conv-to-enc-tests
2067         (test_u32_conv_to_enc_LDADD): Likewise.
2068         * modules/uniconv/u32-strconv-from-enc-tests
2069         (test_u32_strconv_from_enc_LDADD): Likewise.
2070         * modules/uniconv/u32-strconv-to-enc-tests
2071         (test_u32_strconv_to_enc_LDADD): Likewise.
2072         * modules/uniconv/u8-conv-from-enc-tests
2073         (test_u8_conv_from_enc_LDADD): Likewise.
2074         * modules/uniconv/u8-conv-to-enc-tests
2075         (test_u8_conv_to_enc_LDADD): Likewise.
2076         * modules/uniconv/u8-strconv-from-enc-tests
2077         (test_u8_strconv_from_enc_LDADD): Likewise.
2078         * modules/uniconv/u8-strconv-to-enc-tests
2079         (test_u8_strconv_to_enc_LDADD): Likewise.
2080
2081 2007-10-22  Bruno Haible  <bruno@clisp.org>
2082
2083         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
2084         size.
2085
2086 2007-10-22  Eric Blake  <ebb9@byu.net>
2087
2088         Tweak x*printf documentation.
2089         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
2090         variable name and comments.
2091         Suggested by Bruno Haible.
2092
2093 2007-10-22  Bruno Haible  <bruno@clisp.org>
2094
2095         * lib/acl.c (copy_acl): Fix file name in comment.
2096
2097 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2098
2099         Fix Tru64 problem with stdbool.h.
2100         * lib/stdbool.in.h (false, true):
2101         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
2102         Don't declare as an enum in this situation; it runs afoul of Tru64.
2103         Problem reported by Steven M. Schweda in
2104         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
2105
2106 2007-10-22  Eric Blake  <ebb9@byu.net>
2107
2108         Also wrap vf?printf.
2109         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
2110         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
2111         (xvprintf, xvfprintf): New functions.
2112
2113 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2114
2115         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
2116         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
2117
2118         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
2119         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
2120
2121 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
2122
2123         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
2124         by Bruno Haible.
2125
2126 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2127
2128         * lib/getloadavg.c
2129         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
2130         Undef `sys' after including sys/table.h, for Tru64 4.0D.
2131
2132         * tests/test-i-ring.c: Work for C89.
2133
2134 2007-10-22  Bruno Haible  <bruno@clisp.org>
2135
2136         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
2137         -1u, in preprocessor expression, so that we don't test for the bug
2138         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
2139         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
2140
2141 2007-10-22  Eric Blake  <ebb9@byu.net>
2142
2143         * tests/test-yesno.sh: Silence stderr during test.
2144
2145 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2146
2147         * modules/crypto/gc-camellia: New file.
2148
2149         * m4/gc-camellia.m4: New file.
2150
2151         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
2152
2153         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
2154
2155 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2156
2157         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
2158         --help to stdout.  Reported by sms@antinode.org (Steven
2159         M. Schweda).
2160
2161 2007-10-22  Simon Josefsson  <simon@josefsson.org>
2162
2163         * users.txt: Fix link to libksba.
2164
2165 2007-10-21  Ben Pfaff  <blp@gnu.org>
2166
2167         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
2168         round.c roundf implementation that depends on floorf and ceilf to
2169         be tested unconditionally.
2170
2171 2007-10-21  Ben Pfaff  <blp@gnu.org>
2172
2173         * m4/check-libm-func.m4: Removed.
2174         * m4/check-math-lib.m4: New file.
2175         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
2176         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
2177         definition and lack of AC_LIBOBJ([roundf]).
2178         * m4/roundl.m4: Ditto, and similarly for roundl.
2179         * modules/round: Reference new m4 file.
2180         * modules/roundf: Ditto.
2181         * modules/roundl: Ditto.
2182         * tests/test-round2.c (main): Use ROUND instead of round.
2183         Bug report from Bruno Haible.
2184
2185 2007-10-21  Bruno Haible  <bruno@clisp.org>
2186
2187         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
2188         context.
2189
2190 2007-10-21  Bruno Haible  <bruno@clisp.org>
2191
2192         * tests/test-wcwidth.c (main): Allow negative result for some control
2193         characters.
2194
2195         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
2196         Needed on OSF/1 5.1.
2197
2198 2007-10-21  Bruno Haible  <bruno@clisp.org>
2199
2200         * tests/test-floorf1.c: Include isnanf.h.
2201         (main): Use isnanf() instead of isnan().
2202         * tests/test-ceilf1.c: Include isnanf.h.
2203         (main): Use isnanf() instead of isnan().
2204         * tests/test-truncf1.c: Include isnanf.h.
2205         (main): Use isnanf() instead of isnan().
2206         * tests/test-roundf1.c: Include isnanf.h.
2207         (main): Use isnanf() instead of isnan().
2208
2209 2007-10-21  Eric Blake  <ebb9@byu.net>
2210
2211         * users.txt: Update URL for m4.
2212
2213 2007-10-21  Bruno Haible  <bruno@clisp.org>
2214
2215         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
2216
2217 2007-10-21  Bruno Haible  <bruno@clisp.org>
2218
2219         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
2220         Git's management files if the CVS files are not present.
2221
2222 2007-10-20  Bruno Haible  <bruno@clisp.org>
2223
2224         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
2225         gcc-3.4.x.
2226
2227 2007-10-20  Ben Pfaff  <blp@gnu.org>
2228
2229         * lib/math.in.h: Declare round, roundf, roundl if we are providing
2230         implementations.
2231         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
2232         * lib/round.c: New file.
2233         * lib/roundf.c: New file.
2234         * lib/roundl.c: New file.
2235         * m4/round.m4: New file.
2236         * m4/roundf.m4: New file.
2237         * m4/roundl.m4: New file.
2238         * m4/check-libm-func-m4: New file.
2239         * modules/math: Replace round, roundf, roundl related @VARS@ in
2240         math.in.h.
2241         * modules/round: New file.
2242         * modules/round-tests: New file.
2243         * modules/roundf: New file.
2244         * modules/roundf-tests: New file.
2245         * modules/roundl: New file.
2246         * modules/roundl-tests: New file.
2247         * tests/test-round1.c: New file.
2248         * tests/test-round2.c: New file.
2249         * tests/test-roundf1.c: New file.
2250         * tests/test-roundf2.c: New file.
2251         * tests/test-roundl.c: New file.
2252         * doc/functions/round.texi: Mention round module.
2253         * doc/functions/roundf.texi: Mention roundf module.
2254         * doc/functions/roundl.texi: Mention roundl module.
2255         * MODULES.html.sh: Mention new modules.
2256         Thanks to Bruno Haible for suggestions.
2257
2258 2007-10-20  Jim Meyering  <meyering@redhat.com>
2259
2260         * lib/xprintf.c: Include <config.h> unconditionally.
2261
2262         Change xprintf's license to GPL.
2263         * modules/xprintf (License): s/LGPL/GPL/, since this module
2264         depends on modules (exit and exitfail) which are GPL.
2265         Suggestion from Bruno Haible.
2266
2267         xprintf fixes.
2268         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
2269         Use a clearer diagnostic.
2270         Patch from Bruno Haible.
2271
2272 2007-10-20  Bruno Haible  <bruno@clisp.org>
2273
2274         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
2275         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
2276         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2277
2278 2007-10-20  Bruno Haible  <bruno@clisp.org>
2279
2280         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
2281         precision in the comparison result > x - 1 or similar.
2282         * tests/test-ceilf2.c (correct_result_p): Likewise.
2283         * tests/test-truncf2.c (correct_result_p): Likewise.
2284         * tests/test-trunc2.c (correct_result_p): Likewise.
2285         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2286
2287 2007-10-20  Bruno Haible  <bruno@clisp.org>
2288
2289         * modules/ceil: New file.
2290         * m4/ceil.m4: New file.
2291         * doc/functions/ceil.texi: Mention the 'ceil' module.
2292
2293 2007-10-20  Bruno Haible  <bruno@clisp.org>
2294
2295         * modules/floor: New file.
2296         * m4/floor.m4: New file.
2297         * doc/functions/floor.texi: Mention the 'floor' module.
2298
2299 2007-10-20  Bruno Haible  <bruno@clisp.org>
2300
2301         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
2302         of %a.
2303         * modules/floorf-tests (Depends-on): Likewise.
2304         * modules/truncf-tests (Depends-on): Likewise.
2305         * modules/trunc-tests (Depends-on): Likewise.
2306         Reported by Ben Pfaff.
2307
2308 2007-10-19  Jim Meyering  <meyering@redhat.com>
2309
2310         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
2311         Don't bother testing specific errno values.  Just test ferror.
2312
2313         New module: xprintf
2314         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
2315
2316 2007-10-19  Bruno Haible  <bruno@clisp.org>
2317
2318         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
2319         syntax.
2320         * modules/javaexec (Makefile.am): Likewise.
2321         * modules/relocatable-prog (Makefile.am): Likewise.
2322         Suggested by Jim Meyering.
2323
2324 2007-10-18  Bruno Haible  <bruno@clisp.org>
2325
2326         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
2327         Reported by Jim Meyering.
2328
2329 2007-10-18  Eric Blake  <ebb9@byu.net>
2330
2331         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
2332
2333 2007-10-18  Bruno Haible  <bruno@clisp.org>
2334
2335         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
2336         the format string into writable memory. Needed in Fortify conditions.
2337
2338 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
2339             Bruno Haible  <bruno@clisp.org>
2340
2341         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
2342         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
2343         * modules/trim (Depends-on): Add mbchar.
2344         (configure.ac): Add gl_FUNC_MBRTOWC.
2345         (Makefile.am): Augment lib_SOURCES.
2346
2347 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
2348
2349         Modify glob.c to use fstatat and dirfd, to simplify it.
2350         Suggested by Eric Blake.
2351         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
2352         Don't include <stdbool.h>; not used.
2353         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
2354         (link_exists_p): Simplify implementation, since we can now assume
2355         dirfd and fstatat.
2356         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
2357
2358 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2359
2360         * gnulib-tool (func_get_dependencies): Fix sed script to
2361         match only tests.
2362
2363 2007-10-17  Bruno Haible  <bruno@clisp.org>
2364
2365         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
2366         allow locale names without encoding suffix.
2367         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2368         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2369
2370 2007-10-16  Bruno Haible  <bruno@clisp.org>
2371
2372         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
2373         * lib/getgroups.c (getgroups): Likewise.
2374         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
2375
2376 2007-10-16  Bruno Haible  <bruno@clisp.org>
2377
2378         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
2379         * modules/malloc-posix (License): Likewise.
2380         * modules/realloc-posix (License): Likewise.
2381         * modules/calloc-posix (License): Likewise.
2382         * modules/intprops (License): Change from GPL to LGPL, with
2383         Paul Eggert's approval.
2384
2385 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2386
2387         Merge glibc changes into lib/glob.c.
2388
2389         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
2390         2007-10-15 04:59:03 UTC.  Here are the changes:
2391
2392         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
2393
2394         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
2395
2396         * lib/glob.c: Add some branch prediction throughout.
2397
2398         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
2399
2400         [BZ #5103]
2401         * lib/glob.c (glob): Recognize patterns starting \/.
2402
2403         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
2404
2405         [BZ #3996]
2406         * lib/glob.c (attribute_hidden): Define if not defined.
2407         (glob): Unescape dirname, filename or username when needed and not
2408         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
2409         is NULL.  Handle unescaped [ in pattern without closing ].
2410         Don't pass GLOB_CHECK down to recursive glob for directories.
2411         (__glob_pattern_type): New function.
2412         (__glob_pattern_p): Implement using __glob_pattern_type.
2413         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
2414         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
2415         Remove unreachable code.
2416
2417         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
2418
2419         * lib/glob.c (glob_in_dir): Add some comments and asserts to
2420         explain why there are no leaks.
2421
2422         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
2423
2424         [BZ #3253]
2425         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
2426         time, rather allocate increasingly bigger arrays of pointers, if
2427         possible with alloca, if too large with malloc.
2428
2429 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2430
2431         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
2432         Problem reported by H.Merijn Brand in
2433         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
2434         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
2435         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
2436
2437 2007-10-15  Bruno Haible  <bruno@clisp.org>
2438
2439         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
2440         with explicit rpl_ prefix.
2441         * lib/fopen.c (fopen): Likewise.
2442         * lib/freopen.c (freopen): Likewise.
2443         * lib/iconv.c (iconv): Likewise.
2444         * lib/iconv_close.c (iconv_close): Likewise.
2445
2446 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2447
2448         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
2449
2450 2007-10-15  Bruno Haible  <bruno@clisp.org>
2451
2452         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
2453         <stddef.h> instead of <stdlib.h> since we only need NULL.
2454         Reported by Ben Pfaff <blp@cs.stanford.edu>.
2455
2456 2007-10-15  Bruno Haible  <bruno@clisp.org>
2457
2458         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
2459         Replace paragraph talking about LIBOBJS.
2460         Reported by Colin Watson <cjwatson@debian.org>.
2461
2462 2007-10-15  Bruno Haible  <bruno@clisp.org>
2463
2464         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
2465         <stdlib.h> before using NULL.
2466
2467 2007-10-15  Simon Josefsson  <simon@josefsson.org>
2468
2469         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
2470         Reported by Albert Chin <china@thewrittenword.com>.
2471
2472 2007-10-14  Bruno Haible  <bruno@clisp.org>
2473
2474         * modules/iconv_open-utf-tests: New file.
2475         * tests/test-iconv-utf.c: New file.
2476
2477         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
2478         * modules/iconv_open-utf: New file.
2479         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
2480         (iconv, iconv_close): New declarations.
2481         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
2482         be defined.
2483         (iconv_open): Add special handling of conversion between UTF-8 and
2484         UTF-{16,32}{BE,LE}.
2485         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
2486         * lib/iconv_close.c: New file.
2487         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
2488         gl_FUNC_ICONV_OPEN.
2489         (gl_FUNC_ICONV_OPEN): Use it.
2490         (gl_FUNC_ICONV_OPEN_UTF): New macro.
2491         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
2492         and REPLACE_ICONV_UTF.
2493         * modules/iconv_open (Depends-on): Add c-strcase.
2494         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
2495         ICONV_CONST.
2496         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
2497
2498 2007-10-13  Albert Chin  <china@thewrittenword.com>
2499             Bruno Haible  <bruno@clisp.org>
2500
2501         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
2502         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
2503
2504 2007-10-13  Bruno Haible  <bruno@clisp.org>
2505
2506         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
2507         defined, use the ISO C99 inline semantics.
2508         * lib/argp.h (ARGP_EI): Likewise.
2509
2510 2007-10-13  Bruno Haible  <bruno@clisp.org>
2511
2512         Handle 'inline' change in gcc 4.3.0.
2513         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
2514         argp_fmtstream_write, argp_fmtstream_set_lmargin,
2515         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
2516         argp_fmtstream_point): Disable 'extern' declaration if the function
2517         definition is going to be provided inline.
2518         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
2519         semantics, not the ISO C99 inline semantics.
2520         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
2521         'extern' declaration if the function definition is going to be provided
2522         inline.
2523         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
2524         the GNU C inline semantics, not the ISO C99 inline semantics. With
2525         GCC 4.2, avoid a warning.
2526
2527 2007-10-13  Bruno Haible  <bruno@clisp.org>
2528
2529         * lib/freading.h (freading): Enable the use of __freading for
2530         glibc >= 2.7.
2531         * lib/freading.c (freading): Likewise.
2532
2533 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2534
2535         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
2536         "warning: C99 inline functions are not supported; using GNU89".
2537
2538 2007-10-12  Bruno Haible  <bruno@clisp.org>
2539
2540         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
2541         of 2.
2542         * tests/test-ceilf2.c: New file.
2543         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
2544
2545         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
2546         * modules/ceilf-tests: Update.
2547
2548 2007-10-12  Bruno Haible  <bruno@clisp.org>
2549
2550         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
2551         of 2.
2552         * tests/test-floorf2.c: New file.
2553         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
2554
2555         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
2556         * modules/floorf-tests: Update.
2557
2558 2007-10-12  Bruno Haible  <bruno@clisp.org>
2559
2560         * tests/test-trunc2.c: New file.
2561         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
2562
2563         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
2564         * modules/trunc-tests: Update.
2565
2566 2007-10-12  Bruno Haible  <bruno@clisp.org>
2567
2568         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
2569         of 2.
2570         * tests/test-truncf2.c: New file.
2571         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
2572
2573         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
2574         * modules/truncf-tests: Update.
2575
2576 2007-10-11  Eric Blake  <ebb9@byu.net>
2577
2578         Don't claim strerror is broken on Interix.
2579         * doc/functions/strerror.texi (strerror): Known broken systems are
2580         now Solaris 8, and not Interix.
2581         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
2582         Interix on cross-compile.
2583         Reported by Martin Koeppe in
2584         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
2585
2586 2007-10-11  Bruno Haible  <bruno@clisp.org>
2587
2588         * modules/i-ring-tests: New file.
2589         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
2590         instead of assert.
2591
2592 2007-10-11  Bruno Haible  <bruno@clisp.org>
2593
2594         * modules/filenamecat-tests: New file.
2595         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
2596         * lib/filenamecat.c: Remove test code.
2597
2598 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2599
2600         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
2601
2602         * lib/strerror.c: Include <string.h> always, to test interface,
2603         and to remove the need for the dummy.
2604         Include intprops.h to compute width instead of doing it ourselves
2605         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
2606         (strerror): Define it to return NULL if there's no system strerror.
2607         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
2608         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
2609         ancient pre-strerror Unix systems well any more.  Saying "unknown
2610         system error" is enough.
2611         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
2612         simpler strerror.c implementation.
2613         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
2614         Simplify the tests to reflect the simpler strerror implementation.
2615         * modules/strerror (Depends-on): Add intprops.
2616
2617 2007-10-09  Eric Blake  <ebb9@byu.net>
2618
2619         Silence test-fpending.
2620         * modules/fpending-tests (Files): Add wrapper script.
2621         * tests/test-fpending.sh: New file.
2622
2623 2007-10-09  Bruno Haible  <bruno@clisp.org>
2624
2625         * MODULES.html.sh (func_module): Don't create a hyperlink for
2626         function names like 'printf_frexp'.
2627         (Misc): Add crc, memxor.
2628         (Characteristics of floating types): New section.
2629         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
2630         isnanf-nolibm, signbit, trunc, truncf, truncl.
2631         (Enhancements for ISO C 99 functions): New subsection Input/output.
2632         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
2633         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
2634         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
2635         (Compatibility checks for POSIX:2001 functions): Add clock-time.
2636         (Enhancements for POSIX:2001 functions): Add chdir-long.
2637         (File system functions): Add areadlink, chdir-safer, read-file.
2638         Remove cycle-check.
2639         (File system as inode set): New section.
2640         (Date and time): Add gethrxtime.
2641         (Multithreading): Add openmp.
2642         (Internationalization functions): Add localename.
2643         (Unicode string functions): Add unistr/u*-mbsnlen.
2644         (Support for maintaining and releasing projects): Add git-version-gen.
2645         (Lone files): Remove directories.
2646
2647 2007-10-08  Ben Pfaff  <blp@gnu.org>
2648
2649         * lib/xmalloca.h: Fix typo in comment.
2650
2651 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2652
2653         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
2654         when avoiding problems with integer overflow.  Use a portable test
2655         instead.
2656
2657 2007-10-08  Simon Josefsson  <simon@josefsson.org>
2658
2659         * modules/dummy (License): Change to LGPLv2+.
2660         * modules/float (License): Likewise
2661         * modules/realloc (License): Likewise
2662         * modules/stdlib (License): Likewise
2663
2664 2007-10-07  Bruno Haible  <bruno@clisp.org>
2665
2666         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
2667         * floor.c (TWO_MANT_DIG): Likewise.
2668         * ceil.c (TWO_MANT_DIG): Likewise.
2669         Reported by Ben Pfaff.
2670
2671 2007-10-07  Bruno Haible  <bruno@clisp.org>
2672
2673         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
2674         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
2675         * lib/frexp.c (FUNC): Likewise.
2676         * lib/printf-frexp.h (printf_frexp): Likewise.
2677         * lib/printf-frexpl.h (printf_frexpl): Likewise.
2678         * lib/printf-frexp.c (FUNC): Likewise.
2679         Suggested by Jim Meyering.
2680
2681 2007-10-07  Jim Meyering  <meyering@redhat.com>
2682
2683         Make xnanosleep's integer overflow test more robust.
2684         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
2685         so that gcc-4.3.0 doesn't optimize away this test for overflow.
2686
2687 2007-10-07  Bruno Haible  <bruno@clisp.org>
2688
2689         * NEWS: Mention the license change.
2690
2691         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
2692         abbreviations in the modules files.
2693
2694         Change copyright notice from GPLv2+ to GPLv3+.
2695         * README: Change copyright notice.
2696         * MODULES.html.sh: Likewise.
2697         * build-aux/bootstrap.conf: Likewise.
2698         * build-aux/config.libpath: Likewise.
2699         * build-aux/csharpcomp.sh.in: Likewise.
2700         * build-aux/csharpexec.sh.in: Likewise.
2701         * build-aux/install-reloc: Likewise.
2702         * build-aux/javacomp.sh.in: Likewise.
2703         * build-aux/javaexec.sh.in: Likewise.
2704         * build-aux/ldd.sh.in: Likewise.
2705         * build-aux/reloc-ldflags: Likewise.
2706         * build-aux/relocatable.sh.in: Likewise.
2707         * build-aux/x-to-1.in: Likewise.
2708         * check-module: Likewise.
2709         * config/srclistvars.sh: Likewise.
2710         * gnulib-tool: Likewise.
2711         * lib/acl-internal.h: Likewise.
2712         * lib/acl.c: Likewise.
2713         * lib/acl.h: Likewise.
2714         * lib/acl_entries.c: Likewise.
2715         * lib/areadlink-with-size.c: Likewise.
2716         * lib/areadlink.c: Likewise.
2717         * lib/areadlink.h: Likewise.
2718         * lib/argmatch.c: Likewise.
2719         * lib/argmatch.h: Likewise.
2720         * lib/argp-ba.c: Likewise.
2721         * lib/argp-eexst.c: Likewise.
2722         * lib/argp-fmtstream.c: Likewise.
2723         * lib/argp-fmtstream.h: Likewise.
2724         * lib/argp-fs-xinl.c: Likewise.
2725         * lib/argp-help.c: Likewise.
2726         * lib/argp-namefrob.h: Likewise.
2727         * lib/argp-parse.c: Likewise.
2728         * lib/argp-pin.c: Likewise.
2729         * lib/argp-pv.c: Likewise.
2730         * lib/argp-pvh.c: Likewise.
2731         * lib/argp-xinl.c: Likewise.
2732         * lib/argp.h: Likewise.
2733         * lib/at-func.c: Likewise.
2734         * lib/atanl.c: Likewise.
2735         * lib/backupfile.c: Likewise.
2736         * lib/backupfile.h: Likewise.
2737         * lib/basename.c: Likewise.
2738         * lib/binary-io.h: Likewise.
2739         * lib/byteswap.in.h: Likewise.
2740         * lib/c-stack.c: Likewise.
2741         * lib/c-stack.h: Likewise.
2742         * lib/c-strcasestr.c: Likewise.
2743         * lib/c-strcasestr.h: Likewise.
2744         * lib/c-strstr.c: Likewise.
2745         * lib/c-strstr.h: Likewise.
2746         * lib/c-strtod.c: Likewise.
2747         * lib/calloc.c: Likewise.
2748         * lib/canon-host.c: Likewise.
2749         * lib/canon-host.h: Likewise.
2750         * lib/canonicalize-lgpl.c: Likewise.
2751         * lib/canonicalize.c: Likewise.
2752         * lib/canonicalize.h: Likewise.
2753         * lib/ceil.c: Likewise.
2754         * lib/ceilf.c: Likewise.
2755         * lib/ceill.c: Likewise.
2756         * lib/chdir-long.c: Likewise.
2757         * lib/chdir-long.h: Likewise.
2758         * lib/chdir-safer.c: Likewise.
2759         * lib/chdir-safer.h: Likewise.
2760         * lib/chown.c: Likewise.
2761         * lib/classpath.c: Likewise.
2762         * lib/classpath.h: Likewise.
2763         * lib/clean-temp.c: Likewise.
2764         * lib/clean-temp.h: Likewise.
2765         * lib/cloexec.c: Likewise.
2766         * lib/close-stream.c: Likewise.
2767         * lib/closein.c: Likewise.
2768         * lib/closein.h: Likewise.
2769         * lib/closeout.c: Likewise.
2770         * lib/closeout.h: Likewise.
2771         * lib/concat-filename.c: Likewise.
2772         * lib/copy-file.c: Likewise.
2773         * lib/copy-file.h: Likewise.
2774         * lib/count-one-bits.h: Likewise.
2775         * lib/crc.c: Likewise.
2776         * lib/crc.h: Likewise.
2777         * lib/creat-safer.c: Likewise.
2778         * lib/csharpcomp.c: Likewise.
2779         * lib/csharpcomp.h: Likewise.
2780         * lib/csharpexec.c: Likewise.
2781         * lib/csharpexec.h: Likewise.
2782         * lib/cycle-check.c: Likewise.
2783         * lib/cycle-check.h: Likewise.
2784         * lib/diacrit.c: Likewise.
2785         * lib/diacrit.h: Likewise.
2786         * lib/diffseq.h: Likewise.
2787         * lib/dirchownmod.c: Likewise.
2788         * lib/dirent.in.h: Likewise.
2789         * lib/dirfd.c: Likewise.
2790         * lib/dirfd.h: Likewise.
2791         * lib/dirname.c: Likewise.
2792         * lib/dirname.h: Likewise.
2793         * lib/dummy.c: Likewise.
2794         * lib/dup-safer.c: Likewise.
2795         * lib/dup2.c: Likewise.
2796         * lib/eealloc.h: Likewise.
2797         * lib/error.c: Likewise.
2798         * lib/error.h: Likewise.
2799         * lib/euidaccess.c: Likewise.
2800         * lib/exclude.c: Likewise.
2801         * lib/exclude.h: Likewise.
2802         * lib/execute.c: Likewise.
2803         * lib/execute.h: Likewise.
2804         * lib/exitfail.c: Likewise.
2805         * lib/exitfail.h: Likewise.
2806         * lib/expl.c: Likewise.
2807         * lib/fatal-signal.c: Likewise.
2808         * lib/fatal-signal.h: Likewise.
2809         * lib/fbufmode.c: Likewise.
2810         * lib/fbufmode.h: Likewise.
2811         * lib/fchdir.c: Likewise.
2812         * lib/fchmodat.c: Likewise.
2813         * lib/fchownat.c: Likewise.
2814         * lib/fcntl--.h: Likewise.
2815         * lib/fcntl-safer.h: Likewise.
2816         * lib/fcntl.in.h: Likewise.
2817         * lib/fd-safer.c: Likewise.
2818         * lib/fflush.c: Likewise.
2819         * lib/file-has-acl.c: Likewise.
2820         * lib/file-set.c: Likewise.
2821         * lib/file-type.c: Likewise.
2822         * lib/file-type.h: Likewise.
2823         * lib/fileblocks.c: Likewise.
2824         * lib/filemode.c: Likewise.
2825         * lib/filemode.h: Likewise.
2826         * lib/filename.h: Likewise.
2827         * lib/filenamecat.c: Likewise.
2828         * lib/filenamecat.h: Likewise.
2829         * lib/findprog.c: Likewise.
2830         * lib/findprog.h: Likewise.
2831         * lib/float.in.h: Likewise.
2832         * lib/floor.c: Likewise.
2833         * lib/floorf.c: Likewise.
2834         * lib/floorl.c: Likewise.
2835         * lib/fopen-safer.c: Likewise.
2836         * lib/fopen.c: Likewise.
2837         * lib/fpending.c: Likewise.
2838         * lib/fpending.h: Likewise.
2839         * lib/fprintf.c: Likewise.
2840         * lib/fprintftime.h: Likewise.
2841         * lib/fpucw.h: Likewise.
2842         * lib/fpurge.c: Likewise.
2843         * lib/fpurge.h: Likewise.
2844         * lib/freadable.c: Likewise.
2845         * lib/freadable.h: Likewise.
2846         * lib/freadahead.c: Likewise.
2847         * lib/freadahead.h: Likewise.
2848         * lib/freading.c: Likewise.
2849         * lib/freading.h: Likewise.
2850         * lib/free.c: Likewise.
2851         * lib/freopen.c: Likewise.
2852         * lib/frexp.c: Likewise.
2853         * lib/frexpl.c: Likewise.
2854         * lib/fseek.c: Likewise.
2855         * lib/fseterr.c: Likewise.
2856         * lib/fseterr.h: Likewise.
2857         * lib/fstatat.c: Likewise.
2858         * lib/fstrcmp.c: Likewise.
2859         * lib/fstrcmp.h: Likewise.
2860         * lib/fsusage.c: Likewise.
2861         * lib/fsusage.h: Likewise.
2862         * lib/ftell.c: Likewise.
2863         * lib/ftello.c: Likewise.
2864         * lib/fts-cycle.c: Likewise.
2865         * lib/fts.c: Likewise.
2866         * lib/fts_.h: Likewise.
2867         * lib/full-read.c: Likewise.
2868         * lib/full-read.h: Likewise.
2869         * lib/full-write.c: Likewise.
2870         * lib/full-write.h: Likewise.
2871         * lib/fwritable.c: Likewise.
2872         * lib/fwritable.h: Likewise.
2873         * lib/fwriteerror.c: Likewise.
2874         * lib/fwriteerror.h: Likewise.
2875         * lib/fwriting.c: Likewise.
2876         * lib/fwriting.h: Likewise.
2877         * lib/gcd.c: Likewise.
2878         * lib/gcd.h: Likewise.
2879         * lib/getcwd.c: Likewise.
2880         * lib/getdate.h: Likewise.
2881         * lib/getdate.y: Likewise.
2882         * lib/getdomainname.c: Likewise.
2883         * lib/getdomainname.h: Likewise.
2884         * lib/getgroups.c: Likewise.
2885         * lib/gethostname.c: Likewise.
2886         * lib/gethrxtime.c: Likewise.
2887         * lib/gethrxtime.h: Likewise.
2888         * lib/getloadavg.c: Likewise.
2889         * lib/getndelim2.c: Likewise.
2890         * lib/getndelim2.h: Likewise.
2891         * lib/getnline.c: Likewise.
2892         * lib/getnline.h: Likewise.
2893         * lib/getopt.c: Likewise.
2894         * lib/getopt.in.h: Likewise.
2895         * lib/getopt1.c: Likewise.
2896         * lib/getopt_int.h: Likewise.
2897         * lib/getpagesize.h: Likewise.
2898         * lib/getsubopt.c: Likewise.
2899         * lib/gettime.c: Likewise.
2900         * lib/getugroups.c: Likewise.
2901         * lib/getugroups.h: Likewise.
2902         * lib/getusershell.c: Likewise.
2903         * lib/gl_anyavltree_list1.h: Likewise.
2904         * lib/gl_anyavltree_list2.h: Likewise.
2905         * lib/gl_anyhash_list1.h: Likewise.
2906         * lib/gl_anyhash_list2.h: Likewise.
2907         * lib/gl_anylinked_list1.h: Likewise.
2908         * lib/gl_anylinked_list2.h: Likewise.
2909         * lib/gl_anyrbtree_list1.h: Likewise.
2910         * lib/gl_anyrbtree_list2.h: Likewise.
2911         * lib/gl_anytree_list1.h: Likewise.
2912         * lib/gl_anytree_list2.h: Likewise.
2913         * lib/gl_anytree_oset.h: Likewise.
2914         * lib/gl_anytreehash_list1.h: Likewise.
2915         * lib/gl_anytreehash_list2.h: Likewise.
2916         * lib/gl_array_list.c: Likewise.
2917         * lib/gl_array_list.h: Likewise.
2918         * lib/gl_array_oset.c: Likewise.
2919         * lib/gl_array_oset.h: Likewise.
2920         * lib/gl_avltree_list.c: Likewise.
2921         * lib/gl_avltree_list.h: Likewise.
2922         * lib/gl_avltree_oset.c: Likewise.
2923         * lib/gl_avltree_oset.h: Likewise.
2924         * lib/gl_avltreehash_list.c: Likewise.
2925         * lib/gl_avltreehash_list.h: Likewise.
2926         * lib/gl_carray_list.c: Likewise.
2927         * lib/gl_carray_list.h: Likewise.
2928         * lib/gl_linked_list.c: Likewise.
2929         * lib/gl_linked_list.h: Likewise.
2930         * lib/gl_linkedhash_list.c: Likewise.
2931         * lib/gl_linkedhash_list.h: Likewise.
2932         * lib/gl_list.c: Likewise.
2933         * lib/gl_list.h: Likewise.
2934         * lib/gl_oset.c: Likewise.
2935         * lib/gl_oset.h: Likewise.
2936         * lib/gl_rbtree_list.c: Likewise.
2937         * lib/gl_rbtree_list.h: Likewise.
2938         * lib/gl_rbtree_oset.c: Likewise.
2939         * lib/gl_rbtree_oset.h: Likewise.
2940         * lib/gl_rbtreehash_list.c: Likewise.
2941         * lib/gl_rbtreehash_list.h: Likewise.
2942         * lib/gl_sublist.c: Likewise.
2943         * lib/gl_sublist.h: Likewise.
2944         * lib/group-member.c: Likewise.
2945         * lib/group-member.h: Likewise.
2946         * lib/hard-locale.c: Likewise.
2947         * lib/hard-locale.h: Likewise.
2948         * lib/hash-pjw.c: Likewise.
2949         * lib/hash-pjw.h: Likewise.
2950         * lib/hash-triple.c: Likewise.
2951         * lib/hash.c: Likewise.
2952         * lib/hash.h: Likewise.
2953         * lib/human.c: Likewise.
2954         * lib/human.h: Likewise.
2955         * lib/i-ring.c: Likewise.
2956         * lib/i-ring.h: Likewise.
2957         * lib/idcache.c: Likewise.
2958         * lib/imaxabs.c: Likewise.
2959         * lib/imaxdiv.c: Likewise.
2960         * lib/inet_pton.c: Likewise.
2961         * lib/inet_pton.h: Likewise.
2962         * lib/intprops.h: Likewise.
2963         * lib/inttostr.c: Likewise.
2964         * lib/inttostr.h: Likewise.
2965         * lib/inttypes.in.h: Likewise.
2966         * lib/isapipe.c: Likewise.
2967         * lib/isdir.c: Likewise.
2968         * lib/isnan.c: Likewise.
2969         * lib/isnan.h: Likewise.
2970         * lib/isnanf.c: Likewise.
2971         * lib/isnanf.h: Likewise.
2972         * lib/isnanl-nolibm.h: Likewise.
2973         * lib/isnanl.c: Likewise.
2974         * lib/isnanl.h: Likewise.
2975         * lib/javacomp.c: Likewise.
2976         * lib/javacomp.h: Likewise.
2977         * lib/javaexec.c: Likewise.
2978         * lib/javaexec.h: Likewise.
2979         * lib/javaversion.c: Likewise.
2980         * lib/javaversion.h: Likewise.
2981         * lib/javaversion.java: Likewise.
2982         * lib/lbrkprop.h: Likewise.
2983         * lib/lchmod.h: Likewise.
2984         * lib/lchown.c: Likewise.
2985         * lib/ldexpl.c: Likewise.
2986         * lib/linebreak.c: Likewise.
2987         * lib/linebreak.h: Likewise.
2988         * lib/linebuffer.c: Likewise.
2989         * lib/linebuffer.h: Likewise.
2990         * lib/locale.in.h: Likewise.
2991         * lib/logl.c: Likewise.
2992         * lib/long-options.c: Likewise.
2993         * lib/long-options.h: Likewise.
2994         * lib/lstat.c: Likewise.
2995         * lib/lstat.h: Likewise.
2996         * lib/math.in.h: Likewise.
2997         * lib/mbchar.c: Likewise.
2998         * lib/mbchar.h: Likewise.
2999         * lib/mbfile.h: Likewise.
3000         * lib/mbiter.h: Likewise.
3001         * lib/mbscasecmp.c: Likewise.
3002         * lib/mbscasestr.c: Likewise.
3003         * lib/mbschr.c: Likewise.
3004         * lib/mbscspn.c: Likewise.
3005         * lib/mbslen.c: Likewise.
3006         * lib/mbsncasecmp.c: Likewise.
3007         * lib/mbsnlen.c: Likewise.
3008         * lib/mbspbrk.c: Likewise.
3009         * lib/mbspcasecmp.c: Likewise.
3010         * lib/mbsrchr.c: Likewise.
3011         * lib/mbssep.c: Likewise.
3012         * lib/mbsspn.c: Likewise.
3013         * lib/mbsstr.c: Likewise.
3014         * lib/mbstok_r.c: Likewise.
3015         * lib/mbswidth.c: Likewise.
3016         * lib/mbswidth.h: Likewise.
3017         * lib/mbuiter.h: Likewise.
3018         * lib/memcasecmp.c: Likewise.
3019         * lib/memcasecmp.h: Likewise.
3020         * lib/memchr.c: Likewise.
3021         * lib/memcmp.c: Likewise.
3022         * lib/memcoll.c: Likewise.
3023         * lib/memcoll.h: Likewise.
3024         * lib/memcpy.c: Likewise.
3025         * lib/memrchr.c: Likewise.
3026         * lib/mkancesdirs.c: Likewise.
3027         * lib/mkdir-p.c: Likewise.
3028         * lib/mkdir-p.h: Likewise.
3029         * lib/mkdir.c: Likewise.
3030         * lib/mkdirat.c: Likewise.
3031         * lib/mkdtemp.c: Likewise.
3032         * lib/mkstemp-safer.c: Likewise.
3033         * lib/mkstemp.c: Likewise.
3034         * lib/modechange.c: Likewise.
3035         * lib/modechange.h: Likewise.
3036         * lib/mountlist.c: Likewise.
3037         * lib/mountlist.h: Likewise.
3038         * lib/mpsort.c: Likewise.
3039         * lib/nanosleep.c: Likewise.
3040         * lib/obstack.c: Likewise.
3041         * lib/obstack.h: Likewise.
3042         * lib/open-safer.c: Likewise.
3043         * lib/open.c: Likewise.
3044         * lib/openat-die.c: Likewise.
3045         * lib/openat-priv.h: Likewise.
3046         * lib/openat-proc.c: Likewise.
3047         * lib/openat.c: Likewise.
3048         * lib/openat.h: Likewise.
3049         * lib/pagealign_alloc.c: Likewise.
3050         * lib/pagealign_alloc.h: Likewise.
3051         * lib/physmem.c: Likewise.
3052         * lib/physmem.h: Likewise.
3053         * lib/pipe-safer.c: Likewise.
3054         * lib/pipe.c: Likewise.
3055         * lib/pipe.h: Likewise.
3056         * lib/posixtm.c: Likewise.
3057         * lib/posixtm.h: Likewise.
3058         * lib/posixver.c: Likewise.
3059         * lib/printf-frexp.c: Likewise.
3060         * lib/printf-frexp.h: Likewise.
3061         * lib/printf-frexpl.c: Likewise.
3062         * lib/printf-frexpl.h: Likewise.
3063         * lib/printf.c: Likewise.
3064         * lib/progname.c: Likewise.
3065         * lib/progname.h: Likewise.
3066         * lib/progreloc.c: Likewise.
3067         * lib/putenv.c: Likewise.
3068         * lib/quote.c: Likewise.
3069         * lib/quote.h: Likewise.
3070         * lib/quotearg.c: Likewise.
3071         * lib/quotearg.h: Likewise.
3072         * lib/raise.c: Likewise.
3073         * lib/readline.c: Likewise.
3074         * lib/readline.h: Likewise.
3075         * lib/readlink.c: Likewise.
3076         * lib/readtokens.c: Likewise.
3077         * lib/readtokens.h: Likewise.
3078         * lib/readtokens0.c: Likewise.
3079         * lib/readtokens0.h: Likewise.
3080         * lib/readutmp.c: Likewise.
3081         * lib/readutmp.h: Likewise.
3082         * lib/realloc.c: Likewise.
3083         * lib/relocwrapper.c: Likewise.
3084         * lib/rename-dest-slash.c: Likewise.
3085         * lib/rename.c: Likewise.
3086         * lib/rmdir.c: Likewise.
3087         * lib/rpmatch.c: Likewise.
3088         * lib/safe-read.c: Likewise.
3089         * lib/safe-read.h: Likewise.
3090         * lib/safe-write.c: Likewise.
3091         * lib/safe-write.h: Likewise.
3092         * lib/same-inode.h: Likewise.
3093         * lib/same.c: Likewise.
3094         * lib/same.h: Likewise.
3095         * lib/save-cwd.c: Likewise.
3096         * lib/save-cwd.h: Likewise.
3097         * lib/savedir.c: Likewise.
3098         * lib/savedir.h: Likewise.
3099         * lib/savewd.c: Likewise.
3100         * lib/savewd.h: Likewise.
3101         * lib/search.in.h: Likewise.
3102         * lib/setenv.c: Likewise.
3103         * lib/setenv.h: Likewise.
3104         * lib/settime.c: Likewise.
3105         * lib/sh-quote.c: Likewise.
3106         * lib/sh-quote.h: Likewise.
3107         * lib/sig2str.c: Likewise.
3108         * lib/sig2str.h: Likewise.
3109         * lib/signal.in.h: Likewise.
3110         * lib/signbitd.c: Likewise.
3111         * lib/signbitf.c: Likewise.
3112         * lib/signbitl.c: Likewise.
3113         * lib/sigprocmask.c: Likewise.
3114         * lib/sincosl.c: Likewise.
3115         * lib/sleep.c: Likewise.
3116         * lib/sprintf.c: Likewise.
3117         * lib/sqrtl.c: Likewise.
3118         * lib/stat-time.h: Likewise.
3119         * lib/stdio--.h: Likewise.
3120         * lib/stdio-safer.h: Likewise.
3121         * lib/stdlib--.h: Likewise.
3122         * lib/stdlib-safer.h: Likewise.
3123         * lib/stdlib.in.h: Likewise.
3124         * lib/stpcpy.c: Likewise.
3125         * lib/stpncpy.c: Likewise.
3126         * lib/strchrnul.c: Likewise.
3127         * lib/strcspn.c: Likewise.
3128         * lib/strerror.c: Likewise.
3129         * lib/strftime.c: Likewise.
3130         * lib/strftime.h: Likewise.
3131         * lib/striconveh.c: Likewise.
3132         * lib/striconveh.h: Likewise.
3133         * lib/striconveha.c: Likewise.
3134         * lib/striconveha.h: Likewise.
3135         * lib/stripslash.c: Likewise.
3136         * lib/strnlen1.c: Likewise.
3137         * lib/strnlen1.h: Likewise.
3138         * lib/strtod.c: Likewise.
3139         * lib/strtoimax.c: Likewise.
3140         * lib/strtok_r.c: Likewise.
3141         * lib/strtol.c: Likewise.
3142         * lib/strtoll.c: Likewise.
3143         * lib/strtoul.c: Likewise.
3144         * lib/strtoull.c: Likewise.
3145         * lib/sysexits.in.h: Likewise.
3146         * lib/tempname.c: Likewise.
3147         * lib/tempname.h: Likewise.
3148         * lib/timespec.h: Likewise.
3149         * lib/tls.c: Likewise.
3150         * lib/tls.h: Likewise.
3151         * lib/tmpdir.c: Likewise.
3152         * lib/tmpdir.h: Likewise.
3153         * lib/tmpfile-safer.c: Likewise.
3154         * lib/tmpfile.c: Likewise.
3155         * lib/trigl.c: Likewise.
3156         * lib/trigl.h: Likewise.
3157         * lib/trim.c: Likewise.
3158         * lib/trim.h: Likewise.
3159         * lib/trunc.c: Likewise.
3160         * lib/truncf.c: Likewise.
3161         * lib/truncl.c: Likewise.
3162         * lib/tsearch.c: Likewise.
3163         * lib/unicodeio.c: Likewise.
3164         * lib/unicodeio.h: Likewise.
3165         * lib/unistd--.h: Likewise.
3166         * lib/unistd-safer.h: Likewise.
3167         * lib/unistdio/ulc-fprintf.c: Likewise.
3168         * lib/unistdio/ulc-vfprintf.c: Likewise.
3169         * lib/unlinkdir.c: Likewise.
3170         * lib/unlinkdir.h: Likewise.
3171         * lib/unlocked-io.h: Likewise.
3172         * lib/unsetenv.c: Likewise.
3173         * lib/userspec.c: Likewise.
3174         * lib/utime.c: Likewise.
3175         * lib/utimecmp.c: Likewise.
3176         * lib/utimecmp.h: Likewise.
3177         * lib/utimens.c: Likewise.
3178         * lib/verify.h: Likewise.
3179         * lib/verror.c: Likewise.
3180         * lib/verror.h: Likewise.
3181         * lib/version-etc-fsf.c: Likewise.
3182         * lib/version-etc.c: Likewise.
3183         * lib/version-etc.h: Likewise.
3184         * lib/vfprintf.c: Likewise.
3185         * lib/vprintf.c: Likewise.
3186         * lib/vsprintf.c: Likewise.
3187         * lib/w32spawn.h: Likewise.
3188         * lib/wait-process.c: Likewise.
3189         * lib/wait-process.h: Likewise.
3190         * lib/wcwidth.c: Likewise.
3191         * lib/write-any-file.c: Likewise.
3192         * lib/xalloc-die.c: Likewise.
3193         * lib/xalloc.h: Likewise.
3194         * lib/xasprintf.c: Likewise.
3195         * lib/xgetcwd.c: Likewise.
3196         * lib/xgetcwd.h: Likewise.
3197         * lib/xgetdomainname.c: Likewise.
3198         * lib/xgetdomainname.h: Likewise.
3199         * lib/xgethostname.c: Likewise.
3200         * lib/xmalloc.c: Likewise.
3201         * lib/xmalloca.c: Likewise.
3202         * lib/xmalloca.h: Likewise.
3203         * lib/xmemcoll.c: Likewise.
3204         * lib/xnanosleep.c: Likewise.
3205         * lib/xreadlink.c: Likewise.
3206         * lib/xreadlink.h: Likewise.
3207         * lib/xsetenv.c: Likewise.
3208         * lib/xsetenv.h: Likewise.
3209         * lib/xstriconv.c: Likewise.
3210         * lib/xstriconv.h: Likewise.
3211         * lib/xstrndup.c: Likewise.
3212         * lib/xstrndup.h: Likewise.
3213         * lib/xstrtod.c: Likewise.
3214         * lib/xstrtod.h: Likewise.
3215         * lib/xstrtol-error.c: Likewise.
3216         * lib/xstrtol.c: Likewise.
3217         * lib/xstrtol.h: Likewise.
3218         * lib/xtime.h: Likewise.
3219         * lib/xvasprintf.c: Likewise.
3220         * lib/xvasprintf.h: Likewise.
3221         * lib/yesno.c: Likewise.
3222         * lib/yesno.h: Likewise.
3223         * posix-modules: Likewise.
3224         * tests/test-alloca-opt.c: Likewise.
3225         * tests/test-arcfour.c: Likewise.
3226         * tests/test-arctwo.c: Likewise.
3227         * tests/test-argmatch.c: Likewise.
3228         * tests/test-argp-2.sh: Likewise.
3229         * tests/test-argp.c: Likewise.
3230         * tests/test-arpa_inet.c: Likewise.
3231         * tests/test-array_list.c: Likewise.
3232         * tests/test-array_oset.c: Likewise.
3233         * tests/test-atexit.c: Likewise.
3234         * tests/test-avltree_list.c: Likewise.
3235         * tests/test-avltree_oset.c: Likewise.
3236         * tests/test-avltreehash_list.c: Likewise.
3237         * tests/test-base64.c: Likewise.
3238         * tests/test-binary-io.c: Likewise.
3239         * tests/test-byteswap.c: Likewise.
3240         * tests/test-c-ctype.c: Likewise.
3241         * tests/test-c-strcasecmp.c: Likewise.
3242         * tests/test-c-strcasestr.c: Likewise.
3243         * tests/test-c-strncasecmp.c: Likewise.
3244         * tests/test-c-strstr.c: Likewise.
3245         * tests/test-canonicalize-lgpl.c: Likewise.
3246         * tests/test-canonicalize.c: Likewise.
3247         * tests/test-carray_list.c: Likewise.
3248         * tests/test-ceilf.c: Likewise.
3249         * tests/test-ceill.c: Likewise.
3250         * tests/test-count-one-bits.c: Likewise.
3251         * tests/test-crc.c: Likewise.
3252         * tests/test-dirname.c: Likewise.
3253         * tests/test-fbufmode.c: Likewise.
3254         * tests/test-fcntl.c: Likewise.
3255         * tests/test-fflush.c: Likewise.
3256         * tests/test-floorf.c: Likewise.
3257         * tests/test-floorl.c: Likewise.
3258         * tests/test-fopen.c: Likewise.
3259         * tests/test-fprintf-posix.c: Likewise.
3260         * tests/test-fprintf-posix.h: Likewise.
3261         * tests/test-fpurge.c: Likewise.
3262         * tests/test-freadable.c: Likewise.
3263         * tests/test-freadahead.c: Likewise.
3264         * tests/test-freading.c: Likewise.
3265         * tests/test-freopen.c: Likewise.
3266         * tests/test-frexp.c: Likewise.
3267         * tests/test-frexpl.c: Likewise.
3268         * tests/test-fseek.c: Likewise.
3269         * tests/test-fseeko.c: Likewise.
3270         * tests/test-fseterr.c: Likewise.
3271         * tests/test-fstrcmp.c: Likewise.
3272         * tests/test-ftell.c: Likewise.
3273         * tests/test-ftello.c: Likewise.
3274         * tests/test-fwritable.c: Likewise.
3275         * tests/test-fwriting.c: Likewise.
3276         * tests/test-getaddrinfo.c: Likewise.
3277         * tests/test-getpass.c: Likewise.
3278         * tests/test-gettimeofday.c: Likewise.
3279         * tests/test-hmac-md5.c: Likewise.
3280         * tests/test-hmac-sha1.c: Likewise.
3281         * tests/test-iconv.c: Likewise.
3282         * tests/test-iconvme.c: Likewise.
3283         * tests/test-inttypes.c: Likewise.
3284         * tests/test-isnan.c: Likewise.
3285         * tests/test-isnanf.c: Likewise.
3286         * tests/test-isnanl-nolibm.c: Likewise.
3287         * tests/test-isnanl.c: Likewise.
3288         * tests/test-isnanl.h: Likewise.
3289         * tests/test-ldexpl.c: Likewise.
3290         * tests/test-linked_list.c: Likewise.
3291         * tests/test-linkedhash_list.c: Likewise.
3292         * tests/test-locale.c: Likewise.
3293         * tests/test-localename.c: Likewise.
3294         * tests/test-lock.c: Likewise.
3295         * tests/test-lseek.c: Likewise.
3296         * tests/test-malloca.c: Likewise.
3297         * tests/test-math.c: Likewise.
3298         * tests/test-mbscasecmp.c: Likewise.
3299         * tests/test-mbscasestr1.c: Likewise.
3300         * tests/test-mbscasestr2.c: Likewise.
3301         * tests/test-mbscasestr3.c: Likewise.
3302         * tests/test-mbscasestr4.c: Likewise.
3303         * tests/test-mbschr.c: Likewise.
3304         * tests/test-mbscspn.c: Likewise.
3305         * tests/test-mbsncasecmp.c: Likewise.
3306         * tests/test-mbspbrk.c: Likewise.
3307         * tests/test-mbspcasecmp.c: Likewise.
3308         * tests/test-mbsrchr.c: Likewise.
3309         * tests/test-mbsspn.c: Likewise.
3310         * tests/test-mbsstr1.c: Likewise.
3311         * tests/test-mbsstr2.c: Likewise.
3312         * tests/test-mbsstr3.c: Likewise.
3313         * tests/test-md5.c: Likewise.
3314         * tests/test-memmem.c: Likewise.
3315         * tests/test-netinet_in.c: Likewise.
3316         * tests/test-open.c: Likewise.
3317         * tests/test-printf-frexp.c: Likewise.
3318         * tests/test-printf-frexpl.c: Likewise.
3319         * tests/test-printf-posix.c: Likewise.
3320         * tests/test-printf-posix.h: Likewise.
3321         * tests/test-rbtree_list.c: Likewise.
3322         * tests/test-rbtree_oset.c: Likewise.
3323         * tests/test-rbtreehash_list.c: Likewise.
3324         * tests/test-read-file.c: Likewise.
3325         * tests/test-rijndael.c: Likewise.
3326         * tests/test-search.c: Likewise.
3327         * tests/test-signbit.c: Likewise.
3328         * tests/test-sleep.c: Likewise.
3329         * tests/test-snprintf-posix.c: Likewise.
3330         * tests/test-snprintf-posix.h: Likewise.
3331         * tests/test-snprintf.c: Likewise.
3332         * tests/test-sprintf-posix.c: Likewise.
3333         * tests/test-sprintf-posix.h: Likewise.
3334         * tests/test-stat-time.c: Likewise.
3335         * tests/test-stdbool.c: Likewise.
3336         * tests/test-stdint.c: Likewise.
3337         * tests/test-stdio.c: Likewise.
3338         * tests/test-stdlib.c: Likewise.
3339         * tests/test-stpncpy.c: Likewise.
3340         * tests/test-strcasestr.c: Likewise.
3341         * tests/test-striconv.c: Likewise.
3342         * tests/test-striconveh.c: Likewise.
3343         * tests/test-striconveha.c: Likewise.
3344         * tests/test-string.c: Likewise.
3345         * tests/test-sys_select.c: Likewise.
3346         * tests/test-sys_socket.c: Likewise.
3347         * tests/test-sys_stat.c: Likewise.
3348         * tests/test-sys_time.c: Likewise.
3349         * tests/test-sysexits.c: Likewise.
3350         * tests/test-time.c: Likewise.
3351         * tests/test-tls.c: Likewise.
3352         * tests/test-trunc.c: Likewise.
3353         * tests/test-truncf.c: Likewise.
3354         * tests/test-truncl.c: Likewise.
3355         * tests/test-unistd.c: Likewise.
3356         * tests/test-vasnprintf-posix.c: Likewise.
3357         * tests/test-vasnprintf-posix2.c: Likewise.
3358         * tests/test-vasnprintf.c: Likewise.
3359         * tests/test-vasprintf-posix.c: Likewise.
3360         * tests/test-vasprintf.c: Likewise.
3361         * tests/test-verify.c: Likewise.
3362         * tests/test-vfprintf-posix.c: Likewise.
3363         * tests/test-vprintf-posix.c: Likewise.
3364         * tests/test-vsnprintf-posix.c: Likewise.
3365         * tests/test-vsnprintf.c: Likewise.
3366         * tests/test-vsprintf-posix.c: Likewise.
3367         * tests/test-wchar.c: Likewise.
3368         * tests/test-wctype.c: Likewise.
3369         * tests/test-wcwidth.c: Likewise.
3370         * tests/test-xstrtol.c: Likewise.
3371         * tests/test-xvasprintf.c: Likewise.
3372         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
3373         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
3374         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
3375         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
3376         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
3377         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
3378         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
3379         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
3380         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
3381         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
3382         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
3383         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
3384         * tests/uniname/test-uninames.c: Likewise.
3385         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
3386         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
3387         * tests/unistdio/test-u16-printf1.h: Likewise.
3388         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
3389         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
3390         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
3391         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
3392         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
3393         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
3394         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
3395         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
3396         * tests/unistdio/test-u32-printf1.h: Likewise.
3397         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
3398         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
3399         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
3400         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
3401         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
3402         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
3403         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
3404         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
3405         * tests/unistdio/test-u8-printf1.h: Likewise.
3406         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
3407         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
3408         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
3409         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
3410         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
3411         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
3412         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
3413         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
3414         * tests/unistdio/test-ulc-printf1.h: Likewise.
3415         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
3416         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
3417         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
3418         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
3419         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
3420         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
3421         * tests/uniwidth/test-u16-strwidth.c: Likewise.
3422         * tests/uniwidth/test-u16-width.c: Likewise.
3423         * tests/uniwidth/test-u32-strwidth.c: Likewise.
3424         * tests/uniwidth/test-u32-width.c: Likewise.
3425         * tests/uniwidth/test-u8-strwidth.c: Likewise.
3426         * tests/uniwidth/test-u8-width.c: Likewise.
3427         * tests/uniwidth/test-uc_width.c: Likewise.
3428         * config/srclist-update: Likewise.
3429         (fixlicense): Update to GPLv3+.
3430
3431         Change copyright notice from LGPLv2.1+ to LGPLv3+.
3432         * tests/test-tsearch.c: Change copyright notice.
3433
3434         Change copyright notice from LGPLv2.0+ to LGPLv3+.
3435         * lib/c-strcaseeq.h: Change copyright notice.
3436         * lib/streq.h: Likewise.
3437         * lib/uniconv.h: Likewise.
3438         * lib/uniconv/u-conv-from-enc.h: Likewise.
3439         * lib/uniconv/u-conv-to-enc.h: Likewise.
3440         * lib/uniconv/u-strconv-from-enc.h: Likewise.
3441         * lib/uniconv/u-strconv-to-enc.h: Likewise.
3442         * lib/uniconv/u16-conv-from-enc.c: Likewise.
3443         * lib/uniconv/u16-conv-to-enc.c: Likewise.
3444         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
3445         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
3446         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
3447         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
3448         * lib/uniconv/u32-conv-from-enc.c: Likewise.
3449         * lib/uniconv/u32-conv-to-enc.c: Likewise.
3450         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
3451         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
3452         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
3453         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
3454         * lib/uniconv/u8-conv-from-enc.c: Likewise.
3455         * lib/uniconv/u8-conv-to-enc.c: Likewise.
3456         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
3457         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
3458         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
3459         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
3460         * lib/uniname.h: Likewise.
3461         * lib/uniname/uniname.c: Likewise.
3462         * lib/unistdio.h: Likewise.
3463         * lib/unistdio/u-asnprintf.h: Likewise.
3464         * lib/unistdio/u-asprintf.h: Likewise.
3465         * lib/unistdio/u-printf-args.c: Likewise.
3466         * lib/unistdio/u-printf-args.h: Likewise.
3467         * lib/unistdio/u-printf-parse.h: Likewise.
3468         * lib/unistdio/u-snprintf.h: Likewise.
3469         * lib/unistdio/u-sprintf.h: Likewise.
3470         * lib/unistdio/u-vasprintf.h: Likewise.
3471         * lib/unistdio/u-vsnprintf.h: Likewise.
3472         * lib/unistdio/u-vsprintf.h: Likewise.
3473         * lib/unistdio/u16-asnprintf.c: Likewise.
3474         * lib/unistdio/u16-asprintf.c: Likewise.
3475         * lib/unistdio/u16-printf-parse.c: Likewise.
3476         * lib/unistdio/u16-snprintf.c: Likewise.
3477         * lib/unistdio/u16-sprintf.c: Likewise.
3478         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
3479         * lib/unistdio/u16-u16-asprintf.c: Likewise.
3480         * lib/unistdio/u16-u16-snprintf.c: Likewise.
3481         * lib/unistdio/u16-u16-sprintf.c: Likewise.
3482         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
3483         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
3484         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
3485         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
3486         * lib/unistdio/u16-vasnprintf.c: Likewise.
3487         * lib/unistdio/u16-vasprintf.c: Likewise.
3488         * lib/unistdio/u16-vsnprintf.c: Likewise.
3489         * lib/unistdio/u16-vsprintf.c: Likewise.
3490         * lib/unistdio/u32-asnprintf.c: Likewise.
3491         * lib/unistdio/u32-asprintf.c: Likewise.
3492         * lib/unistdio/u32-printf-parse.c: Likewise.
3493         * lib/unistdio/u32-snprintf.c: Likewise.
3494         * lib/unistdio/u32-sprintf.c: Likewise.
3495         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
3496         * lib/unistdio/u32-u32-asprintf.c: Likewise.
3497         * lib/unistdio/u32-u32-snprintf.c: Likewise.
3498         * lib/unistdio/u32-u32-sprintf.c: Likewise.
3499         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
3500         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
3501         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
3502         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
3503         * lib/unistdio/u32-vasnprintf.c: Likewise.
3504         * lib/unistdio/u32-vasprintf.c: Likewise.
3505         * lib/unistdio/u32-vsnprintf.c: Likewise.
3506         * lib/unistdio/u32-vsprintf.c: Likewise.
3507         * lib/unistdio/u8-asnprintf.c: Likewise.
3508         * lib/unistdio/u8-asprintf.c: Likewise.
3509         * lib/unistdio/u8-printf-parse.c: Likewise.
3510         * lib/unistdio/u8-snprintf.c: Likewise.
3511         * lib/unistdio/u8-sprintf.c: Likewise.
3512         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
3513         * lib/unistdio/u8-u8-asprintf.c: Likewise.
3514         * lib/unistdio/u8-u8-snprintf.c: Likewise.
3515         * lib/unistdio/u8-u8-sprintf.c: Likewise.
3516         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
3517         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
3518         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
3519         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
3520         * lib/unistdio/u8-vasnprintf.c: Likewise.
3521         * lib/unistdio/u8-vasprintf.c: Likewise.
3522         * lib/unistdio/u8-vsnprintf.c: Likewise.
3523         * lib/unistdio/u8-vsprintf.c: Likewise.
3524         * lib/unistdio/ulc-asnprintf.c: Likewise.
3525         * lib/unistdio/ulc-asprintf.c: Likewise.
3526         * lib/unistdio/ulc-printf-parse.c: Likewise.
3527         * lib/unistdio/ulc-snprintf.c: Likewise.
3528         * lib/unistdio/ulc-sprintf.c: Likewise.
3529         * lib/unistdio/ulc-vasnprintf.c: Likewise.
3530         * lib/unistdio/ulc-vasprintf.c: Likewise.
3531         * lib/unistdio/ulc-vsnprintf.c: Likewise.
3532         * lib/unistdio/ulc-vsprintf.c: Likewise.
3533         * lib/unistr.h: Likewise.
3534         * lib/unistr/u-cpy-alloc.h: Likewise.
3535         * lib/unistr/u-cpy.h: Likewise.
3536         * lib/unistr/u-endswith.h: Likewise.
3537         * lib/unistr/u-move.h: Likewise.
3538         * lib/unistr/u-set.h: Likewise.
3539         * lib/unistr/u-startswith.h: Likewise.
3540         * lib/unistr/u-stpcpy.h: Likewise.
3541         * lib/unistr/u-stpncpy.h: Likewise.
3542         * lib/unistr/u-strcat.h: Likewise.
3543         * lib/unistr/u-strcpy.h: Likewise.
3544         * lib/unistr/u-strcspn.h: Likewise.
3545         * lib/unistr/u-strdup.h: Likewise.
3546         * lib/unistr/u-strlen.h: Likewise.
3547         * lib/unistr/u-strncat.h: Likewise.
3548         * lib/unistr/u-strncpy.h: Likewise.
3549         * lib/unistr/u-strnlen.h: Likewise.
3550         * lib/unistr/u-strpbrk.h: Likewise.
3551         * lib/unistr/u-strspn.h: Likewise.
3552         * lib/unistr/u-strstr.h: Likewise.
3553         * lib/unistr/u-strtok.h: Likewise.
3554         * lib/unistr/u16-check.c: Likewise.
3555         * lib/unistr/u16-chr.c: Likewise.
3556         * lib/unistr/u16-cmp.c: Likewise.
3557         * lib/unistr/u16-cpy-alloc.c: Likewise.
3558         * lib/unistr/u16-cpy.c: Likewise.
3559         * lib/unistr/u16-endswith.c: Likewise.
3560         * lib/unistr/u16-mblen.c: Likewise.
3561         * lib/unistr/u16-mbsnlen.c: Likewise.
3562         * lib/unistr/u16-mbtouc-aux.c: Likewise.
3563         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
3564         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
3565         * lib/unistr/u16-mbtouc.c: Likewise.
3566         * lib/unistr/u16-mbtoucr.c: Likewise.
3567         * lib/unistr/u16-move.c: Likewise.
3568         * lib/unistr/u16-next.c: Likewise.
3569         * lib/unistr/u16-prev.c: Likewise.
3570         * lib/unistr/u16-set.c: Likewise.
3571         * lib/unistr/u16-startswith.c: Likewise.
3572         * lib/unistr/u16-stpcpy.c: Likewise.
3573         * lib/unistr/u16-stpncpy.c: Likewise.
3574         * lib/unistr/u16-strcat.c: Likewise.
3575         * lib/unistr/u16-strchr.c: Likewise.
3576         * lib/unistr/u16-strcmp.c: Likewise.
3577         * lib/unistr/u16-strcpy.c: Likewise.
3578         * lib/unistr/u16-strcspn.c: Likewise.
3579         * lib/unistr/u16-strdup.c: Likewise.
3580         * lib/unistr/u16-strlen.c: Likewise.
3581         * lib/unistr/u16-strmblen.c: Likewise.
3582         * lib/unistr/u16-strmbtouc.c: Likewise.
3583         * lib/unistr/u16-strncat.c: Likewise.
3584         * lib/unistr/u16-strncmp.c: Likewise.
3585         * lib/unistr/u16-strncpy.c: Likewise.
3586         * lib/unistr/u16-strnlen.c: Likewise.
3587         * lib/unistr/u16-strpbrk.c: Likewise.
3588         * lib/unistr/u16-strrchr.c: Likewise.
3589         * lib/unistr/u16-strspn.c: Likewise.
3590         * lib/unistr/u16-strstr.c: Likewise.
3591         * lib/unistr/u16-strtok.c: Likewise.
3592         * lib/unistr/u16-to-u32.c: Likewise.
3593         * lib/unistr/u16-to-u8.c: Likewise.
3594         * lib/unistr/u16-uctomb-aux.c: Likewise.
3595         * lib/unistr/u16-uctomb.c: Likewise.
3596         * lib/unistr/u32-check.c: Likewise.
3597         * lib/unistr/u32-chr.c: Likewise.
3598         * lib/unistr/u32-cmp.c: Likewise.
3599         * lib/unistr/u32-cpy-alloc.c: Likewise.
3600         * lib/unistr/u32-cpy.c: Likewise.
3601         * lib/unistr/u32-endswith.c: Likewise.
3602         * lib/unistr/u32-mblen.c: Likewise.
3603         * lib/unistr/u32-mbsnlen.c: Likewise.
3604         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
3605         * lib/unistr/u32-mbtouc.c: Likewise.
3606         * lib/unistr/u32-mbtoucr.c: Likewise.
3607         * lib/unistr/u32-move.c: Likewise.
3608         * lib/unistr/u32-next.c: Likewise.
3609         * lib/unistr/u32-prev.c: Likewise.
3610         * lib/unistr/u32-set.c: Likewise.
3611         * lib/unistr/u32-startswith.c: Likewise.
3612         * lib/unistr/u32-stpcpy.c: Likewise.
3613         * lib/unistr/u32-stpncpy.c: Likewise.
3614         * lib/unistr/u32-strcat.c: Likewise.
3615         * lib/unistr/u32-strchr.c: Likewise.
3616         * lib/unistr/u32-strcmp.c: Likewise.
3617         * lib/unistr/u32-strcpy.c: Likewise.
3618         * lib/unistr/u32-strcspn.c: Likewise.
3619         * lib/unistr/u32-strdup.c: Likewise.
3620         * lib/unistr/u32-strlen.c: Likewise.
3621         * lib/unistr/u32-strmblen.c: Likewise.
3622         * lib/unistr/u32-strmbtouc.c: Likewise.
3623         * lib/unistr/u32-strncat.c: Likewise.
3624         * lib/unistr/u32-strncmp.c: Likewise.
3625         * lib/unistr/u32-strncpy.c: Likewise.
3626         * lib/unistr/u32-strnlen.c: Likewise.
3627         * lib/unistr/u32-strpbrk.c: Likewise.
3628         * lib/unistr/u32-strrchr.c: Likewise.
3629         * lib/unistr/u32-strspn.c: Likewise.
3630         * lib/unistr/u32-strstr.c: Likewise.
3631         * lib/unistr/u32-strtok.c: Likewise.
3632         * lib/unistr/u32-to-u16.c: Likewise.
3633         * lib/unistr/u32-to-u8.c: Likewise.
3634         * lib/unistr/u32-uctomb.c: Likewise.
3635         * lib/unistr/u8-check.c: Likewise.
3636         * lib/unistr/u8-chr.c: Likewise.
3637         * lib/unistr/u8-cmp.c: Likewise.
3638         * lib/unistr/u8-cpy-alloc.c: Likewise.
3639         * lib/unistr/u8-cpy.c: Likewise.
3640         * lib/unistr/u8-endswith.c: Likewise.
3641         * lib/unistr/u8-mblen.c: Likewise.
3642         * lib/unistr/u8-mbsnlen.c: Likewise.
3643         * lib/unistr/u8-mbtouc-aux.c: Likewise.
3644         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
3645         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
3646         * lib/unistr/u8-mbtouc.c: Likewise.
3647         * lib/unistr/u8-mbtoucr.c: Likewise.
3648         * lib/unistr/u8-move.c: Likewise.
3649         * lib/unistr/u8-next.c: Likewise.
3650         * lib/unistr/u8-prev.c: Likewise.
3651         * lib/unistr/u8-set.c: Likewise.
3652         * lib/unistr/u8-startswith.c: Likewise.
3653         * lib/unistr/u8-stpcpy.c: Likewise.
3654         * lib/unistr/u8-stpncpy.c: Likewise.
3655         * lib/unistr/u8-strcat.c: Likewise.
3656         * lib/unistr/u8-strchr.c: Likewise.
3657         * lib/unistr/u8-strcmp.c: Likewise.
3658         * lib/unistr/u8-strcpy.c: Likewise.
3659         * lib/unistr/u8-strcspn.c: Likewise.
3660         * lib/unistr/u8-strdup.c: Likewise.
3661         * lib/unistr/u8-strlen.c: Likewise.
3662         * lib/unistr/u8-strmblen.c: Likewise.
3663         * lib/unistr/u8-strmbtouc.c: Likewise.
3664         * lib/unistr/u8-strncat.c: Likewise.
3665         * lib/unistr/u8-strncmp.c: Likewise.
3666         * lib/unistr/u8-strncpy.c: Likewise.
3667         * lib/unistr/u8-strnlen.c: Likewise.
3668         * lib/unistr/u8-strpbrk.c: Likewise.
3669         * lib/unistr/u8-strrchr.c: Likewise.
3670         * lib/unistr/u8-strspn.c: Likewise.
3671         * lib/unistr/u8-strstr.c: Likewise.
3672         * lib/unistr/u8-strtok.c: Likewise.
3673         * lib/unistr/u8-to-u16.c: Likewise.
3674         * lib/unistr/u8-to-u32.c: Likewise.
3675         * lib/unistr/u8-uctomb-aux.c: Likewise.
3676         * lib/unistr/u8-uctomb.c: Likewise.
3677         * lib/unitypes.h: Likewise.
3678         * lib/uniwidth.h: Likewise.
3679         * lib/uniwidth/cjk.h: Likewise.
3680         * lib/uniwidth/u16-strwidth.c: Likewise.
3681         * lib/uniwidth/u16-width.c: Likewise.
3682         * lib/uniwidth/u32-strwidth.c: Likewise.
3683         * lib/uniwidth/u32-width.c: Likewise.
3684         * lib/uniwidth/u8-strwidth.c: Likewise.
3685         * lib/uniwidth/u8-width.c: Likewise.
3686         * lib/uniwidth/width.c: Likewise.
3687
3688 2007-10-07  Bruno Haible  <bruno@clisp.org>
3689
3690         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
3691         The file is still under LGPL (see modules/inttypes).
3692
3693 2007-10-06  Bruno Haible  <bruno@clisp.org>
3694
3695         * modules/trunc (Dependencies): Add 'extensions'.
3696         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
3697         Reported by Ben Pfaff <blp@gnu.org>.
3698
3699 2007-10-06  Bruno Haible  <bruno@clisp.org>
3700
3701         * modules/freopen-tests: New file.
3702         * tests/test-freopen.c: New file.
3703
3704         * modules/fopen-tests: New file.
3705         * tests/test-fopen.c: New file.
3706
3707         * modules/fopen: New file.
3708         * lib/fopen.c: New file.
3709         * m4/fopen.m4: New file.
3710         * modules/freopen: New file.
3711         * lib/freopen.c: New file.
3712         * m4/freopen.m4: New file.
3713         * lib/stdio.in.h (fopen, freopen): New declarations.
3714         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
3715         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
3716         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
3717         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
3718         * doc/functions/fopen.texi: Mention the 'fopen' module.
3719         * doc/functions/freopen.texi: Mention the 'freopen' module.
3720
3721 2007-10-06  Bruno Haible  <bruno@clisp.org>
3722
3723         * modules/open-tests: New file.
3724         * tests/test-open.c: New file.
3725
3726         * modules/open: New file.
3727         * lib/open.c: New file.
3728         * m4/open.m4: New file.
3729         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
3730         lib/open.c does.
3731         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
3732         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
3733         macros.
3734         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
3735         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
3736         REPLACE_OPEN.
3737         * doc/functions/open.texi: Mention the 'open' module.
3738
3739 2007-10-04  Bruno Haible  <bruno@clisp.org>
3740
3741         * modules/ceill-tests: New file.
3742         * tests/test-ceill.c: New file.
3743
3744         * modules/ceill: New file.
3745         * lib/ceill.c: Replace entire file.
3746         * m4/ceill.m4: New file.
3747         * lib/math.in.h (ceill): Replace declaration.
3748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
3749         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
3750         * doc/functions/ceill.texi: Mention the 'ceill' module.
3751         * modules/mathl (Files): Remove lib/ceill.c.
3752         (Depends-on): Add ceill.
3753
3754 2007-10-04  Bruno Haible  <bruno@clisp.org>
3755
3756         * modules/ceilf-tests: New file.
3757         * tests/test-ceilf.c: New file.
3758
3759         * modules/ceilf: New file.
3760         * lib/ceil.c: New file.
3761         * lib/ceilf.c: New file.
3762         * m4/ceilf.m4: New file.
3763         * lib/math.in.h (ceilf): New declaration.
3764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
3765         HAVE_DECL_CEILF.
3766         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
3767         HAVE_DECL_CEILF.
3768         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
3769
3770 2007-10-04  Bruno Haible  <bruno@clisp.org>
3771
3772         * modules/floorl-tests: New file.
3773         * tests/test-floorl.c: New file.
3774
3775         * modules/floorl: New file.
3776         * lib/floorl.c: Replace entire file.
3777         * m4/floorl.m4: New file.
3778         * lib/math.in.h (floorl): Replace declaration.
3779         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
3780         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
3781         * doc/functions/floorl.texi: Mention the 'floorl' module.
3782         * modules/mathl (Files): Remove lib/floorl.c.
3783         (Depends-on): Add floorl.
3784
3785 2007-10-04  Bruno Haible  <bruno@clisp.org>
3786
3787         * modules/floorf-tests: New file.
3788         * tests/test-floorf.c: New file.
3789
3790         * modules/floorf: New file.
3791         * lib/floor.c: New file.
3792         * lib/floorf.c: New file.
3793         * m4/floorf.m4: New file.
3794         * lib/math.in.h (floorf): New declaration.
3795         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
3796         HAVE_DECL_FLOORF.
3797         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
3798         HAVE_DECL_FLOORF.
3799         * doc/functions/floorf.texi: Mention the 'floorf' module.
3800
3801 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
3802             Bruno Haible  <bruno@clisp.org>
3803
3804         Advertise for the Git server instead of the CVS server.
3805         * doc/gnulib-intro.texi (Steady Development): Mention the Git
3806         repository instead of the CVS one.
3807         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
3808         about all VCS systems generically.
3809         * doc/gnulib.texi (Introduction): Capitalize `Git'.
3810
3811 2007-10-04  Bruno Haible  <bruno@clisp.org>
3812
3813         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
3814         means.
3815         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
3816
3817 2007-10-04  Bruno Haible  <bruno@clisp.org>
3818
3819         * modules/truncl-tests: New file.
3820         * tests/test-truncl.c: New file.
3821
3822         * modules/truncl: New file.
3823         * lib/truncl.c: New file.
3824         * m4/truncl.m4: New file.
3825         * lib/math.in.h (truncl): New declaration.
3826         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
3827         HAVE_DECL_TRUNCL.
3828         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
3829         HAVE_DECL_TRUNCL.
3830         * doc/functions/truncl.texi: Mention the 'truncl' module.
3831
3832 2007-10-04  Bruno Haible  <bruno@clisp.org>
3833
3834         * modules/truncf-tests: New file.
3835         * tests/test-truncf.c: New file.
3836
3837         * modules/truncf: New file.
3838         * lib/trunc.c: Make paramerizable through USE_* macros.
3839         * lib/truncf.c: New file.
3840         * m4/truncf.m4: New file.
3841         * lib/math.in.h (truncf): New declaration.
3842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
3843         HAVE_DECL_TRUNCF.
3844         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
3845         HAVE_DECL_TRUNCF.
3846         * doc/functions/truncf.texi: Mention the 'truncf' module.
3847
3848 2007-10-03  Bruno Haible  <bruno@clisp.org>
3849
3850         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
3851         augmentation also for tests modules.
3852         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
3853         * modules/atexit-tests (Makefile.am): Likewise.
3854         * modules/binary-io-tests (Makefile.am): Likewise.
3855         * modules/c-strcase-tests (Makefile.am): Likewise.
3856         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
3857         * modules/canonicalize-tests (Makefile.am): Likewise.
3858         * modules/closein-tests (Makefile.am): Likewise.
3859         * modules/fprintf-posix-tests (Makefile.am): Likewise.
3860         * modules/freadahead-tests (Makefile.am): Likewise.
3861         * modules/fseek-tests (Makefile.am): Likewise.
3862         * modules/fseeko-tests (Makefile.am): Likewise.
3863         * modules/ftell-tests (Makefile.am): Likewise.
3864         * modules/ftello-tests (Makefile.am): Likewise.
3865         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
3866         * modules/isnanl-tests (Makefile.am): Likewise.
3867         * modules/lseek-tests (Makefile.am): Likewise.
3868         * modules/mbscasecmp-tests (Makefile.am): Likewise.
3869         * modules/mbscasestr-tests (Makefile.am): Likewise.
3870         * modules/mbschr-tests (Makefile.am): Likewise.
3871         * modules/mbscspn-tests (Makefile.am): Likewise.
3872         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
3873         * modules/mbspbrk-tests (Makefile.am): Likewise.
3874         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
3875         * modules/mbsrchr-tests (Makefile.am): Likewise.
3876         * modules/mbsspn-tests (Makefile.am): Likewise.
3877         * modules/mbsstr-tests (Makefile.am): Likewise.
3878         * modules/printf-posix-tests (Makefile.am): Likewise.
3879         * modules/snprintf-posix-tests (Makefile.am): Likewise.
3880         * modules/sprintf-posix-tests (Makefile.am): Likewise.
3881         * modules/tsearch-tests (Makefile.am): Likewise.
3882         * modules/uniname/uniname-tests (Makefile.am): Likewise.
3883         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
3884         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
3885         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
3886         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
3887         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
3888         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
3889         * modules/vprintf-posix-tests (Makefile.am): Likewise.
3890         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
3891         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
3892         * modules/xstrtoimax-tests (Makefile.am): Likewise.
3893         * modules/xstrtol-tests (Makefile.am): Likewise.
3894         * modules/xstrtoumax-tests (Makefile.am): Likewise.
3895         * modules/yesno-tests (Makefile.am): Likewise.
3896
3897 2007-10-03  Bruno Haible  <bruno@clisp.org>
3898
3899         * modules/trunc-tests: New file.
3900         * tests/test-trunc.c: New file.
3901
3902         * modules/trunc: New file.
3903         * lib/trunc.c: New file.
3904         * m4/trunc.m4: New file.
3905         * lib/math.in.h (trunc): New declaration.
3906         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
3907         HAVE_DECL_TRUNC.
3908         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
3909         HAVE_DECL_TRUNC.
3910         * doc/functions/trunc.texi: Mention the 'trunc' module.
3911
3912 2007-10-03  Bruno Haible  <bruno@clisp.org>
3913
3914         * tests/test-fpending.c: New file, mostly copied
3915         from coreutils/lib/t-fpending.c.
3916         * modules/fpending-tests: New file.
3917
3918 2007-10-03  Bruno Haible  <bruno@clisp.org>
3919
3920         Port the stdio extensions to QNX (untested).
3921         * lib/fseterr.c (fseterr): Add support for QNX.
3922         * lib/fbufmode.c (fbufmode): Likewise.
3923         * lib/freadable.c (freadable): Likewise.
3924         * lib/fwritable.c (fwritable): Likewise.
3925         * lib/freading.c (freading): Likewise.
3926         * lib/fwriting.c (fwriting): Likewise.
3927         * lib/freadahead.c (freadahed): Likewise.
3928         * lib/fpurge.c (fpurge): Likewise.
3929         * lib/fseeko.c (rpl_fseeko): Likewise.
3930
3931 2007-10-03  Bruno Haible  <bruno@clisp.org>
3932             Jim Meyering  <jim@meyering.net>
3933             Eric Blake  <ebb9@byu.net>
3934
3935         * doc/relocatable.texi: Use @command instead of @program.
3936
3937 2007-10-02  Jim Meyering  <jim@meyering.net>
3938
3939         Perform one more "_.h" -> ".in.h" substitution.
3940         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
3941         instead of unistd_.h here, too.
3942
3943 2007-10-01  Bruno Haible  <bruno@clisp.org>
3944
3945         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
3946         Needed for the alloca-opt module.
3947
3948 2007-09-30  Bruno Haible  <bruno@clisp.org>
3949
3950         * lib/alloca.in.h: Renamed from lib/alloca_.h.
3951         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
3952         alloca_.h.
3953         * lib/argz.in.h: Renamed from lib/argz_.h.
3954         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
3955         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
3956         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
3957         byteswap_.h.
3958         * lib/dirent.in.h: Renamed from lib/dirent_.h.
3959         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
3960         dirent_.h.
3961         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
3962         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
3963         fcntl_.h.
3964         * lib/float.in.h: Renamed from lib/float_.h.
3965         * modules/float (Files, Makefile.am): Use float.in.h instead of
3966         float_.h.
3967         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
3968         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
3969         fnmatch_.h.
3970         * lib/getopt.in.h: Renamed from lib/getopt_.h.
3971         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
3972         getopt_.h.
3973         * lib/glob.in.h: Renamed from lib/glob_.h.
3974         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
3975         * lib/iconv.in.h: Renamed from lib/iconv_.h.
3976         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
3977         iconv_.h.
3978         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
3979         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
3980         inttypes_.h.
3981         * lib/locale.in.h: Renamed from lib/locale_.h.
3982         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
3983         locale_.h.
3984         * lib/math.in.h: Renamed from lib/math_.h.
3985         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
3986         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
3987         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
3988         of netinet_in_.h. Add dependency.
3989         * lib/poll.in.h: Renamed from lib/poll_.h.
3990         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
3991         * lib/search.in.h: Renamed from lib/search_.h.
3992         * modules/search (Files, Makefile.am): Use search.in.h instead of
3993         search_.h.
3994         * lib/signal.in.h: Renamed from lib/signal_.h.
3995         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
3996         _signal.h.
3997         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
3998         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
3999         stdbool_.h.
4000         * lib/stdint.in.h: Renamed from lib/stdint_.h.
4001         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
4002         stdint_.h.
4003         * lib/stdio.in.h: Renamed from lib/stdio_.h.
4004         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
4005         stdio_.h.
4006         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
4007         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
4008         stdlib_.h.
4009         * lib/string.in.h: Renamed from lib/string_.h.
4010         * modules/string (Files, Makefile.am): Use string.in.h instead of
4011         string_.h.
4012         * doc/gnulib-tool.texi (Initial import): Update.
4013         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
4014         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
4015         of sys_select_.h. Add dependency.
4016         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
4017         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
4018         of sys_socket_.h.
4019         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
4020         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
4021         sys_stat_.h.
4022         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
4023         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
4024         sys_time_.h.
4025         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
4026         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
4027         sysexits_.h.
4028         * lib/time.in.h: Renamed from lib/time_.h.
4029         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
4030         * lib/unistd.in.h: Renamed from lib/unistd_.h.
4031         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
4032         unistd_.h.
4033         * lib/wchar.in.h: Renamed from lib/wchar_.h.
4034         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
4035         wchar_.h.
4036         * lib/wctype.in.h: Renamed from lib/wctype_.h.
4037         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
4038         wctype_.h.
4039         * build-aux/bootstrap (slurp): Update.
4040         * lib/.cppi-disable: Update.
4041
4042 2007-09-30  Bruno Haible  <bruno@clisp.org>
4043
4044         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
4045         Needed on BeOS.
4046
4047 2007-09-30  Bruno Haible  <bruno@clisp.org>
4048
4049         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
4050
4051 2007-09-29  Bruno Haible  <bruno@clisp.org>
4052
4053         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
4054
4055 2007-09-29  Bruno Haible  <bruno@clisp.org>
4056
4057         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
4058         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
4059         * build-aux/install-reloc: Compile also areadlink.c.
4060         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
4061
4062 2007-09-29  Bruno Haible  <bruno@clisp.org>
4063
4064         * gnulib-tool (func_emit_initmacro_done): Indentation.
4065
4066 2007-09-29  Bruno Haible  <bruno@clisp.org>
4067
4068         * README: Add CVS checkout update instructions.
4069         Info from Bob Proulx <bob@proulx.com>.
4070
4071 2007-09-28  Eric Blake  <ebb9@byu.net>
4072
4073         Provide move-if-change.
4074         * build-aux/move-if-change: New file, based on best practice
4075         rather than any canonical upstream location.
4076
4077 2007-09-28  Jim Meyering  <jim@meyering.net>
4078
4079         Fix canonicalize loop-detection corner case.
4080         Do not attempt to stat the symlink values stored via seen_triple.
4081         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
4082         on linux-2.6.18, (but not 2.6.22).
4083         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
4084         triple_compare.  The former compares dev,ino,filename, while the latter
4085         would actually stat dirname(filename) when dev and ino were equal.
4086         * lib/hash-triple.c: Install <string.h>.
4087         (STREQ): Define.
4088         (triple_compare_ino_str): New function.
4089         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
4090
4091 2007-09-28  Eric Blake  <ebb9@byu.net>
4092
4093         Enforce that AC_REPLACE_FUNCS files exist.
4094         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
4095         override check for typos.
4096
4097         Fix test-closein on Solaris 10.
4098         * tests/test-closein.c (main): Don't assume stdin can be inherited
4099         closed on all systems.
4100         * tests/test-closein.sh: Likewise.
4101         Reported by Piotr Tarnowski.
4102
4103 2007-09-28  Jim Meyering  <jim@meyering.net>
4104
4105         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
4106
4107 2007-09-27  Jim Meyering  <jim@meyering.net>
4108
4109         canonicalize: Avoid a false-positive cycle failure.
4110         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
4111         Sort.  Remove cycle-check.
4112         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
4113         not cycle-check.h.
4114         (seen_triple): New function.
4115         (canonicalize_filename_mode): Use it instead of cycle-check.
4116         * tests/test-canonicalize.c: Add a test for this bug.
4117         * tests/test-canonicalize.sh: Set up and run the test.
4118
4119         New module, file-set, from coreutils.
4120         * modules/file-set: Define it.
4121         * lib/file-set.c, lib/file-set.h: Implement.
4122
4123         New module, hash-triple, from coreutils.
4124         * modules/hash-triple: Define it.
4125         * lib/hash-triple.c, lib/hash-triple.h: Implement.
4126
4127 2007-09-25  Eric Blake  <ebb9@byu.net>
4128
4129         Fix strerror on Interix.
4130         * lib/string_.h (strerror): Declare replacement.
4131         * doc/functions/strerror.texi (strerror): Document the Interix
4132         shortcoming.
4133         * modules/string (Makefile.am): Support new hooks.
4134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
4135         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
4136         gl_FUNC_STRERROR_SEPARATE.
4137         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
4138         * lib/strerror.c (rpl_strerror): Provide replacement.
4139         * modules/strerror (Depends-on): Add string.
4140         (configure.ac): Detect use of module.
4141         * tests/test-strerror.c: New file.
4142         * modules/strerror-tests: New test module.
4143         * modules/argp (Depends-on): Add strerror.
4144         * modules/error (Depends-on): Likewise.
4145         Reported by Martin Koeppe.
4146
4147 2007-09-24  Bruno Haible  <bruno@clisp.org>
4148
4149         * README: Update git instructions.
4150
4151 2007-09-24  Eric Blake  <ebb9@byu.net>
4152
4153         Revert fpending breakage from 2007-09-08.
4154         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
4155         __fpending.c.
4156
4157 2007-09-24  Jim Meyering  <jim@meyering.net>
4158
4159         filenamecat.c: Add a test.
4160         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
4161         showing how the function works when DIR is the empty string.
4162
4163 2007-09-21  Simon Josefsson  <simon@josefsson.org>
4164
4165         * tests/test-canonicalize.sh: Turn on executable bit.
4166
4167 2007-09-19  Eric Blake  <ebb9@byu.net>
4168
4169         * README: Update CVS instructions.
4170
4171 2007-09-18  Bruno Haible  <bruno@clisp.org>
4172
4173         * modules/areadlink: New file.
4174         * lib/areadlink.h (areadlink): New declaration.
4175         * lib/areadlink.c: New file, based on lib/xreadlink.c.
4176
4177 2007-09-17  Jim Meyering  <jim@meyering.net>
4178
4179         * lib/savewd.c (ESTALE) [!defined]: Define.
4180         Reported to be required on Interix by Martin Koeppe.
4181
4182 2007-09-17  Bruno Haible  <bruno@clisp.org>
4183
4184         * gnulib-tool (func_version): Use $version.
4185
4186 2007-09-16  Bruno Haible  <bruno@clisp.org>
4187
4188         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
4189         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
4190         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
4191         Reported by Greg Schafer <gschafer@zip.com.au>.
4192
4193 2007-09-15  Bruno Haible  <bruno@clisp.org>
4194
4195         * gnulib-tool (sed): Try a little harder to make bash understand the
4196         alias.
4197         Reported by Bruce Korb <bruce.korb@gmail.com>.
4198
4199 2007-09-13  Eric Blake  <ebb9@byu.net>
4200
4201         * ChangeLog: Remove conflict markers.
4202
4203 2007-09-13  Simon Josefsson  <simon@josefsson.org>
4204
4205         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
4206         Reported by Bruno Haible <bruno@clisp.org>.
4207
4208 2007-09-12  Bruno Haible  <bruno@clisp.org>
4209
4210         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
4211         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
4212         is not defined.
4213
4214 2007-09-12  Eric Blake  <ebb9@byu.net>
4215
4216         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
4217         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
4218         Autoconf definition.
4219         * modules/euidaccess (Depends-on): Add extensions, for
4220         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
4221         * modules/fnmatch (Depends-on): Likewise.
4222         * modules/getaddrinfo (Depends-on): Likewise.
4223         * modules/getdelim (Depends-on): Likewise.
4224         * modules/getline (Depends-on): Likewise.
4225         * modules/getsubopt (Depends-on): Likewise.
4226         * modules/gettext (Depends-on): Likewise.
4227         * modules/group-member (Depends-on): Likewise.
4228         * modules/mbchar (Depends-on): Likewise.
4229         * modules/memmem (Depends-on): Likewise.
4230         * modules/mempcpy (Depends-on): Likewise.
4231         * modules/memrchr (Depends-on): Likewise.
4232         * modules/pagealign_alloc (Depends-on): Likewise.
4233         * modules/readutmp (Depends-on): Likewise.
4234         * modules/stpcpy (Depends-on): Likewise.
4235         * modules/stpncpy (Depends-on): Likewise.
4236         * modules/strchrnul (Depends-on): Likewise.
4237         * modules/strndup (Depends-on): Likewise.
4238         * modules/strsep (Depends-on): Likewise.
4239         * modules/strverscmp (Depends-on): Likewise.
4240         * modules/vasprintf (Depends-on): Likewise.
4241         * modules/wcwidth (Depends-on): Likewise.
4242         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
4243         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
4244         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
4245         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
4246         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
4247         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4248         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
4249         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4250         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
4251         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
4252         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
4253         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
4254         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
4255         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4256         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
4257         * m4/readutmp.m4 (gl_READUTMP): Likewise.
4258         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
4259         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
4260         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
4261         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
4262         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
4263         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
4264         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
4265         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
4266         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
4267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4268         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
4269         so that lock.m4 can be used in gettext without extensions module.
4270
4271 2007-09-11  Bruno Haible  <bruno@clisp.org>
4272
4273         * m4/isc-posix.m4: Remove file.
4274         Suggested by Eric Blake.
4275
4276 2007-09-11  Eric Blake  <ebb9@byu.net>
4277
4278         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
4279
4280 2007-09-10  Bruno Haible  <bruno@clisp.org>
4281
4282         * posix-modules: Fix typo in error message.
4283         Reported by Matt <mkraai@beckman.com>.
4284
4285 2007-09-09  Bruno Haible  <bruno@clisp.org>
4286
4287         * doc/functions/getdelim.texi: Update list of platforms lacking the
4288         function.
4289         * doc/functions/getline.texi: Likewise.
4290
4291 2007-09-09  Jim Meyering  <jim@meyering.net>
4292
4293         * lib/hash.c (hash_initialize): Detect calloc failure.
4294         Reported by Bruno Haible.
4295
4296 2007-09-09  Bruno Haible  <bruno@clisp.org>
4297
4298         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
4299         malloc or realloc fails.
4300
4301 2007-09-09  Bruno Haible  <bruno@clisp.org>
4302
4303         * modules/getcwd (Depends-on): Add malloc-posix.
4304         * modules/glob (Depends-on): Likewise.
4305         * modules/putenv (Depends-on): Likewise.
4306         * modules/strdup (Depends-on): Likewise.
4307         * modules/getdelim (Depends-on): Add realloc-posix.
4308         * modules/read-file (Depends-on): Likewise.
4309
4310 2007-09-09  Bruno Haible  <bruno@clisp.org>
4311
4312         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
4313         (gl_FUNC_MALLOC_POSIX): Require it.
4314         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
4315         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
4316         * modules/realloc (Files): Add m4/malloc.m4.
4317         * modules/calloc (Files): Likewise.
4318
4319 2007-09-09  Bruno Haible  <bruno@clisp.org>
4320
4321         * modules/malloc-posix: New file.
4322         * modules/malloc (Depends-on): Add malloc-posix.
4323         * lib/malloc.c: Include errno.h.
4324         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
4325         and a POSIX-compatible malloc into a single function. Set ENOMEM
4326         when returning NULL.
4327         * m4/malloc.m4: New file.
4328         * doc/functions/malloc.texi: Mention the malloc-posix module.
4329         * lib/stdlib_.h (malloc): New declaration.
4330         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4331         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
4332         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
4333         and HAVE_MALLOC_POSIX.
4334
4335 2007-09-09  Bruno Haible  <bruno@clisp.org>
4336
4337         * modules/realloc-posix: New file.
4338         * modules/realloc (Depends-on): Add realloc-posix.
4339         * lib/realloc.c: Include errno.h.
4340         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
4341         and a POSIX-compatible realloc into a single function. Set ENOMEM
4342         when returning NULL.
4343         * m4/realloc.m4: New file.
4344         * doc/functions/realloc.texi: Mention the realloc-posix module.
4345         * lib/stdlib_.h (realloc): New declaration.
4346         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4347         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
4348         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
4349         and HAVE_REALLOC_POSIX.
4350
4351 2007-09-09  Bruno Haible  <bruno@clisp.org>
4352
4353         * modules/calloc-posix: New file.
4354         * modules/calloc (Depends-on): Add calloc-posix.
4355         * lib/calloc.c: Include errno.h.
4356         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
4357         and a POSIX-compatible calloc into a single function. Set ENOMEM
4358         when returning NULL.
4359         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
4360         * doc/functions/calloc.texi: Mention the calloc-posix module.
4361         * lib/stdlib_.h (calloc): New declaration.
4362         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
4363         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
4364         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
4365         and HAVE_CALLOC_POSIX.
4366
4367 2007-09-09  Bruno Haible  <bruno@clisp.org>
4368
4369         Allow for modules to show an arbitrary notice.
4370         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
4371         * gnulib-tool: New option --extract-notice.
4372         (func_usage): Document it.
4373         (sed_extract_prog): Update.
4374         (func_get_notice): New function.
4375         (func_modules_notice): New function.
4376         (func_import, func_create_testdir): Invoke it.
4377         Suggested by Jim Meyering.
4378
4379 2007-09-09  Bruno Haible  <bruno@clisp.org>
4380
4381         * gnulib-tool: New options --verbose, --quiet.
4382         (func_usage): Document them.
4383         (verbose): New variable.
4384         (func_execute_command): New function.
4385         (func_import): Don't show the module list and the file list if
4386         $verbose < 0.
4387         (func_create_testdir): Likewise. Use func_execute_command.
4388         (func_create_megatestdir): Use func_execute_command.
4389
4390 2007-09-08  Bruno Haible  <bruno@clisp.org>
4391
4392         * gnulib-tool (func_import): Prefer rsync over wget when available,
4393         for fetching the PO files.
4394
4395 2007-09-08  Bruno Haible  <bruno@clisp.org>
4396
4397         * posix-modules: New file. Portions copied from gnulib-tool.
4398         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
4399
4400 2007-09-08  Jim Meyering  <jim@meyering.net>
4401
4402         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
4403         * lib/fpending.h: Rename from __fpending.h.
4404         * lib/fpending.c: Rename from __fpending.c.
4405         Include "fpending.h", not "__fpending.h".
4406         * lib/__fpending.h, lib/__fpending.c: Remove files.
4407         * modules/fpending (Files): Reflect new file names.
4408         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
4409
4410 2007-09-08  Bruno Haible  <bruno@clisp.org>
4411
4412         * m4/inttypes-h.m4: Remove stub file.
4413
4414 2007-09-07  Simon Josefsson  <simon@josefsson.org>
4415
4416         * doc/headers/stdint.texi: Discuss #include_next issue.
4417
4418 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
4419
4420         * build-aux/bootstrap: Remove obsolete comment about wget --help.
4421
4422 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4423
4424         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
4425         in variable name.
4426
4427 2007-09-03  Jim Meyering  <jim@meyering.net>
4428
4429         New module: git-version-gen.
4430         * modules/git-version-gen: New file.
4431
4432         Import changes from coreutils for bootstrap script.
4433
4434         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
4435
4436         bootstrap: uses rsync to download the .po files
4437         * build-aux/bootstrap (po_download_command_format): New global.
4438         (download_po_files): Use rsync.
4439         (update_po_files): Don't remove .po files after download,
4440         so future rsync runs can take advantage of the copies.
4441
4442         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
4443
4444         Solve the unnecessary-.po-file-regeneration problem once and for all.
4445         * build-aux/bootstrap (download_po_files): New function, renamed from
4446         get_translations.  Now, downloads, but doesn't update LINGUAS.
4447         (update_po_files): New function.
4448
4449         bootstrap: Ignore more.
4450         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
4451         uniwidth to e.g., lib/.gitignore.
4452         (slurp): Handle the sys_stat_.h -> sys mapping, too.
4453
4454         * build-aux/bootstrap: New setting: vc_ignore.
4455         (insert_sorted_if_absent): Create $file if absent.
4456         Adapt to new, possibly empty, list: $vc_ignore.
4457
4458         bootstrap: generate more ignorable names
4459         * build-aux/bootstrap (slurp): When generating ignorable names,
4460         also map .sin to .sed, .gperf to .c, and .y to .c.
4461
4462 2007-09-03  Jim Meyering  <jim@meyering.net>
4463
4464         * build-aux/git-version-gen: New file, from coreutils.  For details, see
4465         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
4466
4467 2007-09-02  Bruno Haible  <bruno@clisp.org>
4468
4469         Fix mis-recognition of 'mcs' on QNX 6.
4470         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
4471         output contains the string "Mono".
4472         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
4473         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
4474
4475 2007-09-01  Bruno Haible  <bruno@clisp.org>
4476
4477         Fix collision between uniwidth/* and linebreak modules.
4478         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
4479         u32_width): Remove declarations.
4480         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
4481         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
4482         streq3, streq2, streq1, streq0): Remove functions.
4483         (STREQ): Remove macro.
4484         (is_cjk_encoding): Remove function.
4485         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
4486         (uc_width, u8_width, u16_width, u32_width): Remove functions.
4487         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
4488         * NEWS: Document the change.
4489
4490 2007-09-01  Bruno Haible  <bruno@clisp.org>
4491
4492         * lib/streq.h: Add double-inclusion guard.
4493
4494 2007-09-01  Karl Berry  <karl@gnu.org>
4495
4496         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
4497
4498 2007-08-28  Jim Meyering  <jim@meyering.net>
4499
4500         Rename mreadlink_with_size to areadlink_with_size.
4501         * NEWS: Document the change.
4502         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
4503         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
4504         * lib/mreadlink.h: Rename this to...
4505         * lib/areadlink.h: ...this.
4506         * modules/mreadlink-with-size: Rename this to...
4507         * modules/areadlink-with-size: ...this.
4508         * lib/canonicalize.c: Reflect the renaming.
4509         * modules/canonicalize: Likewise.
4510
4511 2007-08-26  Bruno Haible  <bruno@clisp.org>
4512
4513         * gnulib-tool (func_import): When deciding which files to remove,
4514         consider also dangling symbolic links.
4515         Reported by Eric Blake.
4516
4517 2007-08-26  Bruno Haible  <bruno@clisp.org>
4518
4519         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
4520
4521 2007-08-23  Simon Josefsson  <simon@josefsson.org>
4522
4523         * lib/readline.c: Don't include getline.h, the prototype is now
4524         found in stdio.h.
4525
4526 2007-08-23  Jim Meyering  <jim@meyering.net>
4527
4528         Getdelim touchup.
4529         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
4530         around the funlockfile call, since funlockfile never sets errno.
4531         Don't set errno upon failed realloc.
4532
4533 2007-08-22  Eric Blake  <ebb9@byu.net>
4534
4535         Getline touchups.
4536         * lib/getdelim.c (getdelim): Revert regression that required *n to
4537         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
4538         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
4539         getdelim, rather than whether implementation is missing.
4540         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
4541         * lib/stdio_.h (getline): Also declare if replacement is
4542         required.
4543         * doc/functions/getdelim.texi: New file.
4544         * doc/functions/getline.texi: Likewise.
4545         * doc/gnulib.texi (Function Substitutes): Add new files.
4546         Reported by Bruno Haible.
4547
4548 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
4549
4550         * users.txt: Add Guile.
4551
4552 2007-08-22  Eric Blake  <ebb9@byu.net>
4553
4554         * tests/test-getdelim.c (main): Use remove, not unlink.
4555         * tests/test-getline.c (main): Likewise.
4556
4557         Move getline and getdelim into stdio.h, per POSIX 200x.
4558         * modules/getline (Files): Remove getline.h.
4559         (Depends-on): Add stdio.
4560         (configure.ac): Add module indicator.
4561         * modules/getdelim (Files): Remove getdelim.h.
4562         (Depends-on): Add stdio.
4563         (configure.ac): Add module indicator.
4564         * modules/stdio (Makefile.am): Work with new indicators.
4565         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
4566         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
4567         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4568         * lib/getdelim.h: Delete.
4569         * lib/getline.h: Delete.
4570         * lib/stdio_.h (getdelim, getline): Declare.
4571         * modules/getdelim-tests: New module.
4572         * modules/getline-tests: Likewise.
4573         * tests/test-getdelim.c: New file.
4574         * tests/test-getline.c: Likewise.
4575         * NEWS: Document the change.
4576         * lib/getline.c: Update choice of header.
4577         * lib/csharpcomp.c: Likewise.
4578         * lib/getpass.c: Likewise.
4579         * lib/javacomp.c: Likewise.
4580         * lib/javaversion.c: Likewise.
4581         * lib/yesno.c: Likewise.
4582         * lib/getdelim.c: Likewise.
4583         (getdelim): Set errno on failure, and avoid memory leak.
4584
4585 2007-08-19  Bruno Haible  <bruno@clisp.org>
4586
4587         * modules/closein (Depends-on): Add freadahead.
4588         * lib/closein.c: Include freadahead.h.
4589         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
4590         is zero.
4591
4592 2007-08-19  Bruno Haible  <bruno@clisp.org>
4593
4594         * modules/freadahead-tests: New file.
4595         * tests/test-freadahead.sh: New file.
4596         * tests/test-freadahead.c: New file.
4597
4598         * modules/freadahead: New file.
4599         * lib/freadahead.h: New file.
4600         * lib/freadahead.c: New file.
4601         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
4602         fbufmode, fpurge, freadable, fwritable.
4603
4604 2007-08-19  Eric Blake  <ebb9@byu.net>
4605
4606         Test yesno in combination with closein.
4607         * lib/yesno.c (yesno): Document use of stdin.
4608         * modules/yesno-tests (Files): New module.
4609         * tests/test-yesno.c (main): New file.
4610         * tests/test-yesno.sh: Likewise.
4611
4612 2007-08-19  Bruno Haible  <bruno@clisp.org>
4613
4614         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
4615         * lib/fseeko.c (rpl_fseeko): Likewise.
4616         * lib/fseterr.c (fseterr): Likewise.
4617
4618 2007-08-19  Bruno Haible  <bruno@clisp.org>
4619
4620         * tests/test-lseek.c (main): Disable a test for BeOS.
4621         * doc/functions/lseek.texi: Document the BeOS bug.
4622
4623 2007-08-19  Bruno Haible  <bruno@clisp.org>
4624             Eric Blake  <ebb9@byu.net>
4625
4626         * lib/lseek.c: Include <sys/stat.h>.
4627         (rpl_lseek): Add workaround code also for Unix platforms.
4628         Needed for BeOS.
4629         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
4630         * doc/functions/lseek.texi: Document BeOS definiency.
4631
4632 2007-08-18  Bruno Haible  <bruno@clisp.org>
4633
4634         * modules/fstrcmp-tests: New file.
4635         * tests/test-fstrcmp.c: New file.
4636
4637 2007-08-18  Bruno Haible  <bruno@clisp.org>
4638
4639         * modules/fstrcmp: New file, from GNU gettext with modifications.
4640         * lib/fstrcmp.h: New file, from GNU gettext.
4641         * lib/fstrcmp.c: New file, from GNU gettext.
4642         * MODULES.html.sh (String handling): Add fstrcmp.
4643
4644 2007-08-18  Bruno Haible  <bruno@clisp.org>
4645
4646         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
4647         'bool'.
4648         (diag, compareseq): Remove const from the ctxt argument.
4649         (USE_HEURISTIC): Undefine at the end.
4650
4651 2007-08-18  Jim Meyering  <jim@meyering.net>
4652
4653         New file: lib/idcache.h
4654         * NEWS: Mention the addition.
4655         * modules/idcache (Files): Add lib/idcache.h
4656         * lib/idcache.c: Include "idcache.h".
4657         Don't include <sys/types.h>.
4658         Add a FIXME comment.
4659         Move file-scoped "static" declarations to the top.
4660         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
4661
4662 2007-08-17  Bruno Haible  <bruno@clisp.org>
4663         and Paul Eggert  <eggert@cs.ucla.edu>
4664
4665         * MODULES.html.sh: Add diffseq.
4666         * modules/diffseq: New file.
4667         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
4668         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
4669
4670 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4671
4672         Import changes from coreutils for bootstrap script.
4673
4674         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
4675
4676         * build-aux/bootstrap (slurp): Work even in environments where
4677         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
4678         current code does not slurp files whose names start with ".", and
4679         this looks like it might be a troublesome area.
4680
4681         2007-07-11  Jim Meyering  <jim@meyering.net>
4682
4683         If there's a GPL vN copyright comment, require that N == 3.
4684
4685         2007-07-08  Jim Meyering  <jim@meyering.net>
4686
4687         Run the coreutils-specific code only if tests/Makefile.am.in exists.
4688         * build-aux/bootstrap (mam_template): Move definition out of loop.
4689
4690         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
4691
4692         * build-aux/bootstrap (symlink_to_dir): Rename function from
4693         symlink_to_gnulib.  Add a directory parameter.  Update all
4694         callers.
4695         (cp_mark_as_generated): Also check for -- and link to -- files in
4696         gl/.
4697
4698         2007-07-08  Jim Meyering  <jim@meyering.net>
4699
4700         Adapt to deeper hierarchy in gnulib.
4701         * build-aux/bootstrap (symlink_to_dir): If the destination
4702         directory doesn't exist, create it. This is required at least for
4703         "lib/uniwidth/cjk.h".
4704
4705         2007-05-15  Jim Meyering  <jim@meyering.net>
4706
4707         * build-aux/bootstrap: Now that generated Makefile.am files
4708         are no longer under version control, they must be created at
4709         bootstrap time.
4710
4711 2007-08-14  Ben Pfaff  <blp@gnu.org>
4712
4713         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
4714
4715 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
4716
4717         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
4718         given the changes below.
4719         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
4720         even on hosts that have padding bits beyond the supported 64.
4721
4722 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4723
4724         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
4725         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
4726         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
4727         depends on it.
4728         (xstrtol_error): Remove.
4729         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
4730         but with a different signature.
4731         (ATTRIBUTE_NORETURN, __attribute__): New macros.
4732         * lib/xstrtol-error.c: Include exitfail.h.
4733         (xstrtol_fatal): New function, with a different signature from the
4734         old xstrtol_error, so that the caller need not worry about passing
4735         in an exit status, or about storage management of the option argument.
4736         (xstrtol_error): Now a static function.  Redo signature to
4737         implement xstrtol_fatal.  Output the correct number of hyphens in
4738         front of the option so that the caller need not worry about
4739         storage management.
4740         (N_): New macro.
4741         (_): Remove; not used now.
4742         * modules/xstrtol: Depend on getopt.
4743         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
4744         of old STRTOL_FATAL_ERROR macro.
4745         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
4746         of test program.
4747         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
4748         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
4749
4750 2007-08-08  Eric Blake  <ebb9@byu.net>
4751
4752         * lib/xstrtol-error.c: Add missing include.
4753
4754         Move xstrtol messages into gnulib domain, when --pobase is used.
4755         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
4756         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
4757         * modules/xstrtol (Files): Distribute new file.
4758         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
4759         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
4760         * tests/test-xstrtol.c: ...into new file.
4761         * tests/test-xstrtoul.c: Also test xstrtoul.
4762         * tests/test-xstrtoimax.c: Also test xstrtoimax.
4763         * tests/test-xstrtoumax.c: Also test xstrtoumax.
4764         * tests/test-xstrtol.sh: Drive the tests.
4765         * tests/test-xstrtoimax.sh: Likewise.
4766         * tests/test-xstrtoumax.sh: Likewise.
4767         * modules/xstrtol-tests: New module.
4768         * modules/xstrtoimax-tests: Likewise.
4769         * modules/xstrtoumax-tests: Likewise.
4770
4771 2007-08-08  Jim Meyering  <jim@meyering.net>
4772
4773         New function: mfile_name_concat.
4774         * lib/filenamecat.c (mfile_name_concat): New function, just like
4775         file_name_concat, but return NULL upon failure rather than exiting
4776         with a diagnostic.
4777         * lib/filenamecat.h: Declare it.
4778
4779 2007-08-07  Bruno Haible  <bruno@clisp.org>
4780
4781         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
4782         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
4783         warning from gcc.
4784         Reported by Eric Blake.
4785
4786 2007-08-07  Simon Josefsson  <simon@josefsson.org>
4787
4788         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
4789         * modules/crypto/arcfour (License): Likewise.
4790         * modules/crypto/des-tests (License): Likewise.
4791         * modules/crypto/gc-arctwo-tests (License): Likewise.
4792         * modules/crypto/gc-des-tests (License): Likewise.
4793         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
4794         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
4795         * modules/crypto/gc-md2-tests (License): Likewise.
4796         * modules/crypto/gc-md4-tests (License): Likewise.
4797         * modules/crypto/gc-md5-tests (License): Likewise.
4798         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
4799         * modules/crypto/gc-rijndael-tests (License): Likewise.
4800         * modules/crypto/gc-sha1-tests (License): Likewise.
4801         * modules/crypto/gc-tests (License): Likewise.
4802         * modules/crypto/hmac-md5 (License): Likewise.
4803         * modules/crypto/hmac-sha1 (License): Likewise.
4804         * modules/crypto/md2-tests (License): Likewise.
4805         * modules/crypto/md4-tests (License): Likewise.
4806         * modules/crypto/md5 (License): Likewise.
4807         * modules/crypto/rijndael (License): Likewise.
4808         * modules/crypto/sha1 (License): Likewise.
4809         * modules/memxor (License): Likewise.
4810
4811 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4812         and Bruno Haible  <bruno@clisp.org>
4813
4814         * NEWS: Describe interface changes to human, xstrtol.
4815         * lib/human.h: Include <xstrtol.h>.
4816         (human_options): Return enum strtol_error, not int.  Remove
4817         bool arg; take int * instead.
4818         * lib/human.c: Don't include "gettext.h".
4819         (_): Remove; no longer used.
4820         Don't include <xstrtol.h>, since human.h does it.
4821         (human_options): Adjust to abovementioned interface changes.
4822         Do not report error to stderr; that's now the caller's
4823         responsibility.
4824         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
4825         interface change.
4826         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
4827         Str, Argument_type_string.  All uses changed.  Put " argument"
4828         in diagnostics to make them clearer.  Change wording of suffix
4829         message for clarity.
4830         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
4831         Argument_type_string.
4832         (STRTOL_FATAL_WARN): Remove; no longer used.
4833         * modules/human (Depends-on): Remove gettext-h.
4834
4835 2007-08-06  Simon Josefsson  <simon@josefsson.org>
4836
4837         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
4838
4839 2007-07-31  Bruno Haible  <bruno@clisp.org>
4840
4841         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
4842         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
4843         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
4844
4845 2007-07-31  Bruno Haible  <bruno@clisp.org>
4846
4847         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
4848         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
4849
4850 2007-07-30  Bruno Haible  <bruno@clisp.org>
4851
4852         * modules/base64 (License): Use the synonymous term "LGPLv2+".
4853         * modules/c-ctype (License): Likewise.
4854         * modules/c-strcase (License): Likewise.
4855         * modules/check-version (License): Likewise.
4856         * modules/iconv (License): Likewise.
4857         * modules/iconv_open (License): Likewise.
4858         * modules/read-file (License): Likewise.
4859         * modules/striconv (License): Likewise.
4860         * modules/strverscmp (License): Likewise.
4861         * modules/vasprintf (License): Likewise.
4862         * modules/crypto/des (License): Likewise.
4863         * modules/crypto/gc (License): Likewise.
4864         * modules/crypto/gc-arcfour (License): Likewise.
4865         * modules/crypto/gc-arctwo (License): Likewise.
4866         * modules/crypto/gc-des (License): Likewise.
4867         * modules/crypto/gc-hmac-md5 (License): Likewise.
4868         * modules/crypto/gc-hmac-sha1 (License): Likewise.
4869         * modules/crypto/gc-md2 (License): Likewise.
4870         * modules/crypto/gc-md4 (License): Likewise.
4871         * modules/crypto/gc-md5 (License): Likewise.
4872         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
4873         * modules/crypto/gc-random (License): Likewise.
4874         * modules/crypto/gc-rijndael (License): Likewise.
4875         * modules/crypto/gc-sha1 (License): Likewise.
4876         * modules/crypto/md2 (License): Likewise.
4877         * modules/crypto/md4 (License): Likewise.
4878
4879 2007-07-30  Jim Meyering  <jim@meyering.net>
4880
4881         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
4882         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
4883         it has valid stat data.  This bug would cause du not to count the
4884         sizes of inaccessible directories.
4885         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
4886         in <http://bugzilla.redhat.com/250077>.
4887
4888 2007-07-25  Peter O'Gorman  <peter@pogma.com>
4889             Bruno Haible  <bruno@clisp.org>
4890
4891         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
4892         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
4893         #include_next, gives a diagnostic about it, but reports no error in
4894         the exit code.
4895         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
4896
4897 2007-07-24  Ben Pfaff  <blp@gnu.org>
4898
4899         Improve name: "count-one-bits" is better than "popcount".
4900         * MODULES.html.sh: Update name.
4901         * lib/popcount.h: Renamed lib/count-one-bits.h.
4902         (popcount): Renamed count_one_bits.
4903         (popcountl): Renamed count_one_bits_l.
4904         (popcountll): Renamed count_one_bits_ll.
4905         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
4906         * modules/popcount: Renamed module/count-one-bits.
4907         * modules/popcount-tests: Renamed module/count-one-bits-tests.
4908         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
4909
4910 2007-07-23  Ben Pfaff  <blp@gnu.org>
4911
4912         * lib/popcount.h (popcount32): Reduce size of constants, to allow
4913         better code generation, and add U to large constants to avoid
4914         warnings, in non-GCC case.
4915         Suggested by Bruno Haible.
4916
4917 2007-07-23  Ben Pfaff  <blp@gnu.org>
4918
4919         * lib/popcount.h: Use verify_true instead of if...abort.
4920         * modules/popcount: Depend on verify module.
4921         Suggested by Jim Meyering.
4922
4923 2007-07-23  Bruno Haible  <bruno@clisp.org>
4924
4925         * gnulib-tool (func_import): Create a .cvsignore file also when the
4926         directory is not yet in CVS but the toplevel directory is. When
4927         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
4928         Reported by Karl Berry.
4929
4930 2007-07-22  Ben Pfaff  <blp@gnu.org>
4931
4932         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
4933         case.
4934         Suggested by Eric Blake.
4935
4936 2007-07-22  Ben Pfaff  <blp@gnu.org>
4937
4938         New module: popcount.
4939         * MODULES.html.sh: Add popcount.
4940         * modules/popcount: New file.
4941         * modules/popcount-tests: New file.
4942         * tests/test-popcount.c: New file.
4943         * lib/popcount.h: New file.
4944         * m4/popcount.m4: New file.
4945
4946 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
4947
4948         * build-aux/announce-gen: Update to GPLv3.
4949
4950         * build-aux/config.guess: Update from config.
4951
4952 2007-07-21  Bruno Haible  <bruno@clisp.org>
4953
4954         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
4955         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
4956
4957 2007-07-20  Jim Meyering  <jim@meyering.net>
4958
4959         * check-module: Diagnose a self-dependency.
4960
4961 2007-07-19  Bruno Haible  <bruno@clisp.org>
4962
4963         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
4964         empty.
4965         Reported by Eric Blake.
4966
4967 2007-07-18  Bruno Haible  <bruno@clisp.org>
4968
4969         * gnulib-tool: New options --po-base, --po-domain.
4970         (func_usage): Document them.
4971         (pobase, po_domain): New variables.
4972         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
4973         DEFAULT_TEXT_DOMAIN.
4974         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
4975         (func_import): Consider pobase and po_domain. Create a po/ directory.
4976         (func_create_testdir): Set pobase and po_domain to empty.
4977         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
4978         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
4979
4980 2007-07-18  Bruno Haible  <bruno@clisp.org>
4981
4982         * gnulib-tool (func_get_automake_snippet): Synthesize also an
4983         EXTRA_DIST augmentation for files in build-aux/.
4984
4985 2007-07-16  Bruno Haible  <bruno@clisp.org>
4986
4987         * modules/lseek (License): Use the synonymous term "LGPLv2+".
4988         * modules/getdelim (License): Likewise.
4989
4990 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
4991
4992         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
4993         * modules/d-type (License): Likewise.
4994         * modules/extensions (License): Likewise.
4995         * modules/fnmatch (License): Likewise.
4996         * modules/fseeko (License): Likewise.
4997         * modules/getaddrinfo (License): Likewise.
4998         * modules/getline (License): Likewise.
4999         * modules/getlogin_r (License): Likewise.
5000         * modules/getpass (License): Likewise.
5001         * modules/gettimeofday (License): Likewise.
5002         * modules/glob (License): Likewise.
5003         * modules/inet_ntop (License): Likewise.
5004         * modules/malloc (License): Likewise.
5005         * modules/malloca (License): Likewise.
5006         * modules/memmem (License): Likewise.
5007         * modules/mempcpy (License): Likewise.
5008         * modules/memset (License): Likewise.
5009         * modules/minmax (License): Likewise.
5010         * modules/mktime (License): Likewise.
5011         * modules/netinet_in (License): Likewise.
5012         * modules/pathmax (License): Likewise.
5013         * modules/poll (License): Likewise.
5014         * modules/regex (License): Likewise.
5015         * modules/snprintf (License): Likewise.
5016         * modules/stdbool (License): Likewise.
5017         * modules/stdint (License): Likewise.
5018         * modules/stdio (License): Likewise.
5019         * modules/strcase (License): Likewise.
5020         * modules/strcasestr (License): Likewise.
5021         * modules/strdup (License): Likewise.
5022         * modules/string (License): Likewise.
5023         * modules/strndup (License): Likewise.
5024         * modules/strnlen (License): Likewise.
5025         * modules/strpbrk (License): Likewise.
5026         * modules/strptime (License): Likewise.
5027         * modules/strsep (License): Likewise.
5028         * modules/sys_select (License): Likewise.
5029         * modules/sys_socket (License): Likewise.
5030         * modules/sys_stat (License): Likewise.
5031         * modules/sys_time (License): Likewise.
5032         * modules/time (License): Likewise.
5033         * modules/time_r (License): Likewise.
5034         * modules/timegm (License): Likewise.
5035         * modules/unistd (License): Likewise.
5036         * modules/vsnprintf (License): Likewise.
5037         * modules/wctype (License): Likewise.
5038
5039 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5040
5041         * modules/argz (License): LGPLv2+.
5042
5043 2007-07-15  Karl Berry  <karl@gnu.org>
5044
5045         * doc/gnulib.texi: revise node structure per new fdl.texi.
5046
5047 2007-07-14  Bruno Haible  <bruno@clisp.org>
5048
5049         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
5050         the output file.
5051         * lib/uniname/uninames.h: Regenerated.
5052
5053 2007-07-14  Karl Berry  <karl@gnu.org>
5054
5055         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
5056         omitting sectioning and index commands.
5057
5058 2007-07-13  Bruno Haible  <bruno@clisp.org>
5059
5060         New gnulib-tool option --more-symlinks.
5061         * gnulib-tool (func_usage): Document --more-symlinks.
5062         (do_copyrights): New variable.
5063         Recognize option --more-symlinks.
5064         (func_import): Don't add a copyright notice transform to
5065         sed_transform_lib_file if do_copyrights is empty.
5066
5067 2007-07-13  Bruno Haible  <bruno@clisp.org>
5068
5069         * lib/vasnprintf.c (decimal_point_char): Define also if
5070         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
5071         && !NEED_PRINTF_DIRECTIVE_A.
5072         Reported by Clemens Koller <clemens.koller@anagramm.de> via
5073         Gary V. Vaughan <gary@gnu.org>.
5074
5075 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
5076
5077         * lib/inttypes_.h: Undo previous change, since it was fixed
5078         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
5079
5080 2007-07-13  Bruno Haible  <bruno@clisp.org>
5081
5082         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
5083         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
5084
5085 2007-07-13  Jim Meyering  <jim@meyering.net>
5086
5087         df: Don't fail for Tru64's "file-on-file mount".
5088         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
5089         so we fall through and use statfs instead.  Details here:
5090         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
5091         Reported by Albert Chin.
5092
5093 2007-07-13  Bruno Haible  <bruno@clisp.org>
5094
5095         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
5096         * modules/configmake (License): Likewise.
5097         * modules/gettext (License): Likewise.
5098         * modules/gettext-h (License): Likewise.
5099         * modules/include_next (License): Likewise.
5100         * modules/link-warning (License): Likewise.
5101         * modules/localcharset (License): Likewise.
5102         * modules/localename (License): Likewise.
5103         * modules/lock (License): Likewise.
5104         * modules/relocatable-lib-lgpl (License): Likewise.
5105         * modules/size_max (License): Likewise.
5106         * modules/vasnprintf (License): Likewise.
5107         * modules/wchar (License): Likewise.
5108         * modules/xsize (License): Likewise.
5109
5110 2007-07-13  Bruno Haible  <bruno@clisp.org>
5111
5112         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
5113         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
5114
5115 2007-07-12  Bruno Haible  <bruno@clisp.org>
5116
5117         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
5118         in the modules files.
5119
5120 2007-07-11  Karl Berry  <karl@gnu.org>
5121
5122         * MODULES.html.sh (func_module): use
5123          sed -e '\|^'"${includefile}"'$|d'
5124          instead of /.../d, to avoid errors on $includefile's containing /.
5125
5126 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
5127
5128         * gnulib-tool (func_import): Avoid duplication of --avoid
5129         statements
5130         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
5131         names to `_' in variable names.
5132
5133 2007-07-10  Eric Blake  <ebb9@byu.net>
5134
5135         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
5136         * NEWS: Document this change.
5137
5138 2007-07-08  Bruno Haible  <bruno@clisp.org>
5139
5140         Update to Unicode 5.0.
5141         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
5142         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
5143         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
5144         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
5145         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
5146         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
5147         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
5148         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
5149         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
5150         U+10A3F, U+1D242..U+1D244.
5151         (nonspacing_table_ind): Update.
5152         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
5153         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
5154
5155 2007-07-08  Bruno Haible  <bruno@clisp.org>
5156
5157         Update to Unicode 5.0.
5158         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
5159         code transform. Extend the name index field of unicode_name_to_code and
5160         unicode_code_to_name from 16 to 24 bits.
5161         * lib/uniname/uniname.c (unicode_character_name,
5162         unicode_name_character): Add the range 0x12xxx to the code transform.
5163         * lib/uniname/uninames.h: Regenerated.
5164         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
5165
5166 2007-07-07  Bruno Haible  <bruno@clisp.org>
5167
5168         * modules/wcwidth-tests: New file.
5169         * tests/test-wcwidth.c: New file.
5170
5171         Work around MacOS X wcwidth() bug.
5172         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
5173         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
5174         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
5175         original wcwidth in non-UTF-8 locales.
5176         * modules/wcwidth (Depends-on): Add localcharset, streq,
5177         uniwidth/width.
5178         * doc/functions/wcwidth.texi: Update.
5179
5180 2007-07-07  Bruno Haible  <bruno@clisp.org>
5181
5182         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
5183         (wcwidth): New declaration.
5184         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
5185         macros.
5186         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
5187         here. Prepare for creating <wchar.h> unconditionally.
5188         * modules/wchar (Depends-on): Add link-warning.
5189         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
5190         REPLACE_WCWIDTH, and GL_LINK_WARNING.
5191         * lib/wcwidth.h: Remove file.
5192         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
5193         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
5194         * modules/wcwidth (Files): Remove lib/wcwidth.h.
5195         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
5196         (Include): Replace wcwidth.h with <wchar.h>.
5197         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
5198         * lib/mbchar.h: Don't include wcwidth.h.
5199         * lib/mbswidth.c: Likewise.
5200         * NEWS: Mention the change.
5201
5202 2007-07-07  Bruno Haible  <bruno@clisp.org>
5203
5204         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
5205         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
5206         definition with an external declaration.
5207         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
5208         defined as a function. Remove AC_C_INLINE requirement.
5209         * modules/wcwidth (Files): Add lib/wcwidth.c.
5210         (Makefile.am): Remove redundant statement.
5211
5212 2007-07-07  Bruno Haible  <bruno@clisp.org>
5213
5214         * MODULES.html.sh (Unicode string functions): Add the new modules.
5215
5216         * tests/uniwidth/test-u32-strwidth.c: New file.
5217         * modules/uniwidth/u32-strwidth-tests: New file.
5218
5219         * lib/uniwidth/u32-strwidth.c: New file.
5220         * modules/uniwidth/u32-strwidth: New file.
5221
5222         * tests/uniwidth/test-u16-strwidth.c: New file.
5223         * modules/uniwidth/u16-strwidth-tests: New file.
5224
5225         * lib/uniwidth/u16-strwidth.c: New file.
5226         * modules/uniwidth/u16-strwidth: New file.
5227
5228         * tests/uniwidth/test-u8-strwidth.c: New file.
5229         * modules/uniwidth/u8-strwidth-tests: New file.
5230
5231         * lib/uniwidth/u8-strwidth.c: New file.
5232         * modules/uniwidth/u8-strwidth: New file.
5233
5234         * tests/uniwidth/test-u32-width.c: New file.
5235         * modules/uniwidth/u32-width-tests: New file.
5236
5237         * lib/uniwidth/u32-width.c: New file.
5238         * modules/uniwidth/u32-width: New file.
5239
5240         * tests/uniwidth/test-u16-width.c: New file.
5241         * modules/uniwidth/u16-width-tests: New file.
5242
5243         * lib/uniwidth/u16-width.c: New file.
5244         * modules/uniwidth/u16-width: New file.
5245
5246         * tests/uniwidth/test-u8-width.c: New file.
5247         * modules/uniwidth/u8-width-tests: New file.
5248
5249         * lib/uniwidth/u8-width.c: New file.
5250         * modules/uniwidth/u8-width: New file.
5251
5252         * tests/uniwidth/test-uc_width.c: New file.
5253         * modules/uniwidth/width-tests: New file.
5254
5255         * lib/uniwidth/width.c: New file, from GNU libiconv.
5256         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
5257         * modules/uniwidth/width: New file.
5258
5259         * lib/uniwidth.h: New file, from GNU libiconv.
5260         * modules/uniwidth/base: New file.
5261
5262 2007-07-07  Bruno Haible  <bruno@clisp.org>
5263
5264         * lib/uniname.h: New file, from GNU gettext.
5265         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
5266         * lib/uniname/uninames.h: New file, from GNU gettext.
5267         * lib/uniname/uniname.c: New file, from GNU gettext.
5268         * tests/uniname/test-uninames.sh: New file.
5269         * tests/uniname/test-uninames.c: New file, from GNU gettext.
5270         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
5271         * modules/uniname/base: New file.
5272         * modules/uniname/uniname: New file.
5273         * modules/uniname/uniname-tests: New file.
5274         * MODULES.html.sh (Unicode string functions): Add the new modules.
5275
5276 2007-07-06  Bruno Haible  <bruno@clisp.org>
5277
5278         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
5279
5280 2007-07-06  Bruno Haible  <bruno@clisp.org>
5281
5282         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
5283         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
5284         includes <cygwin/sys_time.h> which includes <sys/select.h> which
5285         include <sys/time.h>.
5286         Reported by Eric Blake.
5287
5288 2007-07-06  Eric Blake  <ebb9@byu.net>
5289
5290         Fix testing canonicalize on cygwin.
5291         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
5292         Revert patch from 2007-06-19.
5293         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
5294         canonicalize module is also in use.
5295         * tests/test-canonicalize.c: New file.
5296         * tests/test-canonicalize.sh: Likewise.
5297         * modules/canonicalize-tests: Likewise.
5298
5299 2007-07-06  Jim Meyering  <jim@meyering.net>
5300
5301         * lib/getugroups.c (getugroups): Detect getgrent failure.
5302         Adjust comment to reflect reality: this function may return -1.
5303
5304 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5305
5306         * build-aux/bootstrap (TP_URL,get_translations): Update to use
5307         the new TP address.
5308         (usage): Fix typo
5309         (gnulib_mk): New variable.
5310
5311 2007-07-05  Jim Meyering  <jim@meyering.net>
5312
5313         Don't let endgrent clobber errno, no matter how improbable.
5314         * lib/getugroups.c (getugroups): Save and restore errno around
5315         endgrent call.
5316
5317         Close the group DB even when failing with 2^31 or more members.
5318         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
5319
5320 2007-07-04  Jim Meyering  <jim@meyering.net>
5321
5322         * lib/getugroups.h: New file.
5323         * lib/getugroups.c: Include "getugroups.h".
5324         Remove uses of "register" keyword.
5325         Move local variable, "cp", down into scope where used.
5326         Give "username" parameter the "const" attribute.
5327         * modules/getugroups (Files): Add lib/getugroups.h
5328
5329 2007-07-04  Karl Berry  <karl@gnu.org>
5330
5331         * MODULES.html.sh (func_all_modules): Complete rename of
5332         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
5333
5334 2007-07-02  Bruno Haible  <bruno@clisp.org>
5335
5336         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
5337         mode, when inttypes.h comes from gnulib.
5338         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
5339
5340 2007-07-02  Simon Josefsson  <simon@josefsson.org>
5341
5342         * NEWS: Mention lgpl module name change.
5343
5344         * modules/lgpl-2.1: Renamed from lgpl.
5345
5346         * NEWS: Mention gpl module name change.
5347
5348         * modules/gpl-3.0: New file, based on gpl-2.0.
5349
5350         * modules/gpl-2.0: Renamed from gpl.
5351
5352         * modules/gpl: Fix filename, doc/gpl.texi is now found at
5353         doc/gpl-2.0.texi.
5354
5355 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
5356
5357         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
5358         #define __STDC_LIMIT_MACROS temporarily while including
5359         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
5360         Problem reported by Joel E. Denny in
5361         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
5362
5363 2007-07-01  Bruno Haible  <bruno@clisp.org>
5364
5365         * lib/unistdio.h: New file.
5366         * lib/unistdio/u-asnprintf.h: New file.
5367         * lib/unistdio/u-asprintf.h: New file.
5368         * lib/unistdio/u-printf-args.c: New file.
5369         * lib/unistdio/u-printf-args.h: New file.
5370         * lib/unistdio/u-printf-parse.h: New file.
5371         * lib/unistdio/u-snprintf.h: New file.
5372         * lib/unistdio/u-sprintf.h: New file.
5373         * lib/unistdio/u-vasprintf.h: New file.
5374         * lib/unistdio/u-vsnprintf.h: New file.
5375         * lib/unistdio/u-vsprintf.h: New file.
5376         * lib/unistdio/ulc-asnprintf.c: New file.
5377         * lib/unistdio/ulc-asprintf.c: New file.
5378         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
5379         * lib/unistdio/ulc-printf-parse.c: New file.
5380         * lib/unistdio/ulc-snprintf.c: New file.
5381         * lib/unistdio/ulc-sprintf.c: New file.
5382         * lib/unistdio/ulc-vasnprintf.c: New file.
5383         * lib/unistdio/ulc-vasprintf.c: New file.
5384         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
5385         * lib/unistdio/ulc-vsnprintf.c: New file.
5386         * lib/unistdio/ulc-vsprintf.c: New file.
5387         * lib/unistdio/u8-asnprintf.c: New file.
5388         * lib/unistdio/u8-asprintf.c: New file.
5389         * lib/unistdio/u8-printf-parse.c: New file.
5390         * lib/unistdio/u8-snprintf.c: New file.
5391         * lib/unistdio/u8-sprintf.c: New file.
5392         * lib/unistdio/u8-vasnprintf.c: New file.
5393         * lib/unistdio/u8-vasprintf.c: New file.
5394         * lib/unistdio/u8-vsnprintf.c: New file.
5395         * lib/unistdio/u8-vsprintf.c: New file.
5396         * lib/unistdio/u8-u8-asnprintf.c: New file.
5397         * lib/unistdio/u8-u8-asprintf.c: New file.
5398         * lib/unistdio/u8-u8-snprintf.c: New file.
5399         * lib/unistdio/u8-u8-sprintf.c: New file.
5400         * lib/unistdio/u8-u8-vasnprintf.c: New file.
5401         * lib/unistdio/u8-u8-vasprintf.c: New file.
5402         * lib/unistdio/u8-u8-vsnprintf.c: New file.
5403         * lib/unistdio/u8-u8-vsprintf.c: New file.
5404         * lib/unistdio/u16-asnprintf.c: New file.
5405         * lib/unistdio/u16-asprintf.c: New file.
5406         * lib/unistdio/u16-printf-parse.c: New file.
5407         * lib/unistdio/u16-snprintf.c: New file.
5408         * lib/unistdio/u16-sprintf.c: New file.
5409         * lib/unistdio/u16-vasnprintf.c: New file.
5410         * lib/unistdio/u16-vasprintf.c: New file.
5411         * lib/unistdio/u16-vsnprintf.c: New file.
5412         * lib/unistdio/u16-vsprintf.c: New file.
5413         * lib/unistdio/u16-u16-asnprintf.c: New file.
5414         * lib/unistdio/u16-u16-asprintf.c: New file.
5415         * lib/unistdio/u16-u16-snprintf.c: New file.
5416         * lib/unistdio/u16-u16-sprintf.c: New file.
5417         * lib/unistdio/u16-u16-vasnprintf.c: New file.
5418         * lib/unistdio/u16-u16-vasprintf.c: New file.
5419         * lib/unistdio/u16-u16-vsnprintf.c: New file.
5420         * lib/unistdio/u16-u16-vsprintf.c: New file.
5421         * lib/unistdio/u32-asnprintf.c: New file.
5422         * lib/unistdio/u32-asprintf.c: New file.
5423         * lib/unistdio/u32-printf-parse.c: New file.
5424         * lib/unistdio/u32-snprintf.c: New file.
5425         * lib/unistdio/u32-sprintf.c: New file.
5426         * lib/unistdio/u32-vasnprintf.c: New file.
5427         * lib/unistdio/u32-vasprintf.c: New file.
5428         * lib/unistdio/u32-vsnprintf.c: New file.
5429         * lib/unistdio/u32-vsprintf.c: New file.
5430         * lib/unistdio/u32-u32-asnprintf.c: New file.
5431         * lib/unistdio/u32-u32-asprintf.c: New file.
5432         * lib/unistdio/u32-u32-snprintf.c: New file.
5433         * lib/unistdio/u32-u32-sprintf.c: New file.
5434         * lib/unistdio/u32-u32-vasnprintf.c: New file.
5435         * lib/unistdio/u32-u32-vasprintf.c: New file.
5436         * lib/unistdio/u32-u32-vsnprintf.c: New file.
5437         * lib/unistdio/u32-u32-vsprintf.c: New file.
5438         * tests/unistdio/test-ulc-asnprintf1.c: New file.
5439         * tests/unistdio/test-ulc-asnprintf1.h: New file.
5440         * tests/unistdio/test-ulc-printf1.h: New file.
5441         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
5442         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
5443         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
5444         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
5445         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
5446         * tests/unistdio/test-ulc-vasprintf1.c: New file.
5447         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
5448         * tests/unistdio/test-ulc-vsprintf1.c: New file.
5449         * tests/unistdio/test-u8-asnprintf1.c: New file.
5450         * tests/unistdio/test-u8-asnprintf1.h: New file.
5451         * tests/unistdio/test-u8-printf1.h: New file.
5452         * tests/unistdio/test-u8-vasnprintf1.c: New file.
5453         * tests/unistdio/test-u8-vasnprintf2.c: New file.
5454         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
5455         * tests/unistdio/test-u8-vasnprintf3.c: New file.
5456         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
5457         * tests/unistdio/test-u8-vasprintf1.c: New file.
5458         * tests/unistdio/test-u8-vsnprintf1.c: New file.
5459         * tests/unistdio/test-u8-vsprintf1.c: New file.
5460         * tests/unistdio/test-u16-asnprintf1.c: New file.
5461         * tests/unistdio/test-u16-asnprintf1.h: New file.
5462         * tests/unistdio/test-u16-printf1.h: New file.
5463         * tests/unistdio/test-u16-vasnprintf1.c: New file.
5464         * tests/unistdio/test-u16-vasnprintf2.c: New file.
5465         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
5466         * tests/unistdio/test-u16-vasnprintf3.c: New file.
5467         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
5468         * tests/unistdio/test-u16-vasprintf1.c: New file.
5469         * tests/unistdio/test-u16-vsnprintf1.c: New file.
5470         * tests/unistdio/test-u16-vsprintf1.c: New file.
5471         * tests/unistdio/test-u32-asnprintf1.c: New file.
5472         * tests/unistdio/test-u32-asnprintf1.h: New file.
5473         * tests/unistdio/test-u32-printf1.h: New file.
5474         * tests/unistdio/test-u32-vasnprintf1.c: New file.
5475         * tests/unistdio/test-u32-vasnprintf2.c: New file.
5476         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
5477         * tests/unistdio/test-u32-vasnprintf3.c: New file.
5478         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
5479         * tests/unistdio/test-u32-vasprintf1.c: New file.
5480         * tests/unistdio/test-u32-vsnprintf1.c: New file.
5481         * tests/unistdio/test-u32-vsprintf1.c: New file.
5482         * modules/unistdio/base: New file.
5483         * modules/unistdio/u-printf-args: New file.
5484         * modules/unistdio/ulc-asnprintf: New file.
5485         * modules/unistdio/ulc-asprintf: New file.
5486         * modules/unistdio/ulc-fprintf: New file.
5487         * modules/unistdio/ulc-printf-parse: New file.
5488         * modules/unistdio/ulc-snprintf: New file.
5489         * modules/unistdio/ulc-sprintf: New file.
5490         * modules/unistdio/ulc-vasnprintf: New file.
5491         * modules/unistdio/ulc-vasprintf: New file.
5492         * modules/unistdio/ulc-vfprintf: New file.
5493         * modules/unistdio/ulc-vsnprintf: New file.
5494         * modules/unistdio/ulc-vsprintf: New file.
5495         * modules/unistdio/u8-asnprintf: New file.
5496         * modules/unistdio/u8-asprintf: New file.
5497         * modules/unistdio/u8-printf-parse: New file.
5498         * modules/unistdio/u8-snprintf: New file.
5499         * modules/unistdio/u8-sprintf: New file.
5500         * modules/unistdio/u8-vasnprintf: New file.
5501         * modules/unistdio/u8-vasprintf: New file.
5502         * modules/unistdio/u8-vsnprintf: New file.
5503         * modules/unistdio/u8-vsprintf: New file.
5504         * modules/unistdio/u8-u8-asnprintf: New file.
5505         * modules/unistdio/u8-u8-asprintf: New file.
5506         * modules/unistdio/u8-u8-snprintf: New file.
5507         * modules/unistdio/u8-u8-sprintf: New file.
5508         * modules/unistdio/u8-u8-vasnprintf: New file.
5509         * modules/unistdio/u8-u8-vasprintf: New file.
5510         * modules/unistdio/u8-u8-vsnprintf: New file.
5511         * modules/unistdio/u8-u8-vsprintf: New file.
5512         * modules/unistdio/u16-asnprintf: New file.
5513         * modules/unistdio/u16-asprintf: New file.
5514         * modules/unistdio/u16-printf-parse: New file.
5515         * modules/unistdio/u16-snprintf: New file.
5516         * modules/unistdio/u16-sprintf: New file.
5517         * modules/unistdio/u16-vasnprintf: New file.
5518         * modules/unistdio/u16-vasprintf: New file.
5519         * modules/unistdio/u16-vsnprintf: New file.
5520         * modules/unistdio/u16-vsprintf: New file.
5521         * modules/unistdio/u16-u16-asnprintf: New file.
5522         * modules/unistdio/u16-u16-asprintf: New file.
5523         * modules/unistdio/u16-u16-snprintf: New file.
5524         * modules/unistdio/u16-u16-sprintf: New file.
5525         * modules/unistdio/u16-u16-vasnprintf: New file.
5526         * modules/unistdio/u16-u16-vasprintf: New file.
5527         * modules/unistdio/u16-u16-vsnprintf: New file.
5528         * modules/unistdio/u16-u16-vsprintf: New file.
5529         * modules/unistdio/u32-asnprintf: New file.
5530         * modules/unistdio/u32-asprintf: New file.
5531         * modules/unistdio/u32-printf-parse: New file.
5532         * modules/unistdio/u32-snprintf: New file.
5533         * modules/unistdio/u32-sprintf: New file.
5534         * modules/unistdio/u32-vasnprintf: New file.
5535         * modules/unistdio/u32-vasprintf: New file.
5536         * modules/unistdio/u32-vsnprintf: New file.
5537         * modules/unistdio/u32-vsprintf: New file.
5538         * modules/unistdio/u32-u32-asnprintf: New file.
5539         * modules/unistdio/u32-u32-asprintf: New file.
5540         * modules/unistdio/u32-u32-snprintf: New file.
5541         * modules/unistdio/u32-u32-sprintf: New file.
5542         * modules/unistdio/u32-u32-vasnprintf: New file.
5543         * modules/unistdio/u32-u32-vasprintf: New file.
5544         * modules/unistdio/u32-u32-vsnprintf: New file.
5545         * modules/unistdio/u32-u32-vsprintf: New file.
5546         * modules/unistdio/ulc-asnprintf-tests: New file.
5547         * modules/unistdio/ulc-vasnprintf-tests: New file.
5548         * modules/unistdio/ulc-vasprintf-tests: New file.
5549         * modules/unistdio/ulc-vsnprintf-tests: New file.
5550         * modules/unistdio/ulc-vsprintf-tests: New file.
5551         * modules/unistdio/u8-asnprintf-tests: New file.
5552         * modules/unistdio/u8-vasnprintf-tests: New file.
5553         * modules/unistdio/u8-vasprintf-tests: New file.
5554         * modules/unistdio/u8-vsnprintf-tests: New file.
5555         * modules/unistdio/u8-vsprintf-tests: New file.
5556         * modules/unistdio/u16-asnprintf-tests: New file.
5557         * modules/unistdio/u16-vasnprintf-tests: New file.
5558         * modules/unistdio/u16-vasprintf-tests: New file.
5559         * modules/unistdio/u16-vsnprintf-tests: New file.
5560         * modules/unistdio/u16-vsprintf-tests: New file.
5561         * modules/unistdio/u32-asnprintf-tests: New file.
5562         * modules/unistdio/u32-vasnprintf-tests: New file.
5563         * modules/unistdio/u32-vasprintf-tests: New file.
5564         * modules/unistdio/u32-vsnprintf-tests: New file.
5565         * modules/unistdio/u32-vsprintf-tests: New file.
5566         * MODULES.html.sh (Unicode string functions): Add the new modules.
5567
5568 2007-07-01  Bruno Haible  <bruno@clisp.org>
5569
5570         * lib/sprintf.c (sprintf): Limit the available length estimation,
5571         to avoid address wraparound.
5572         * lib/vsprintf.c (vsprintf): Likewise.
5573         * modules/sprintf-posix (Dependencies): Add stdint.
5574         * modules/vsprintf-posix (Dependencies): Likewise.
5575
5576 2007-07-01  Bruno Haible  <bruno@clisp.org>
5577
5578         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
5579         Windows PATH as well. Conservative double-quoting. Comments.
5580
5581 2007-07-01  Bruno Haible  <bruno@clisp.org>
5582             Eric Blake  <ebb9@byu.net>
5583             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5584
5585         * gnulib-tool (self_abspathname): Fix algorithm to cope with
5586         empty components in $PATH, denoting '.'.
5587
5588 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5589
5590         * gnulib-tool: Fix indentation.
5591         (func_create_megatestdir): Likewise.
5592         Report by Bruno Haible.
5593
5594 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5595
5596         Sync from Automake.
5597         * build-aux/gnupload: Fix shell portability issues with for loops.
5598         Report by Karl Berry.
5599
5600 2007-06-29  Simon Josefsson  <simon@josefsson.org>
5601
5602         * build-aux/maint.mk (POURL): Use translationproject.org.
5603
5604 2007-06-27  Simon Josefsson  <simon@josefsson.org>
5605             Bruno Haible  <bruno@clisp.org>
5606
5607         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
5608         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
5609         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
5610         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
5611         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
5612
5613 2007-06-27  Bruno Haible  <bruno@clisp.org>
5614
5615         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
5616         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
5617
5618 2007-06-26  Karl Berry  <karl@gnu.org>
5619
5620         * MODULES.html.sh: remove xreadlink-with-size.
5621
5622 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5623
5624         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
5625         method that I hope also handles the double-include problem noted
5626         by Bruno Haible in
5627         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
5628
5629 2007-06-23  Bruno Haible  <bruno@clisp.org>
5630
5631         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5632         Don't let the 'mostlyclean' target fail if the last subdirectory could
5633         not be removed.
5634         Reported by Karl Berry.
5635
5636 2007-06-23  Bruno Haible  <bruno@clisp.org>
5637
5638         * gnulib-tool (echo): Add a speedier workaround for ksh.
5639         * tests/test-echo.sh: Likewise.
5640
5641 2007-06-23  Bruno Haible  <bruno@clisp.org>
5642
5643         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
5644         * tests/test-echo.sh: Likewise.
5645
5646 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5647
5648         * gnulib-tool (IFS): Initialize early, so we don't set it to
5649         empty later.
5650         (self_abspathname): Rewrite algorithm to set it, reindent.
5651         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
5652         (func_create_megatestdir): Merge some sed scripts.
5653
5654 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
5655
5656         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
5657         exposed by Sun Studio 11 cc on Solaris 8.
5658
5659 2007-06-22  Bruno Haible  <bruno@clisp.org>
5660
5661         * gnulib-tool (echo): Ensure the echo primitive does not interpret
5662         backslashes.
5663         * tests/test-echo.sh: New file.
5664
5665 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5666
5667         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
5668         simplify `sed_replace_build_aux' scripts, they are portable but
5669         echoing them with `echo' is not.
5670         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
5671
5672 2007-06-21  Karl Berry  <karl@gnu.org>
5673
5674         * config/srclist.txt: guess we can't handle the licenses via
5675         srclist at the moment.
5676
5677 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5678
5679         * MODULES.html.sh: Add include_next.
5680         * modules/include_next: New file.
5681
5682 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5683
5684         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
5685         INCLUDE_NEXT.
5686         (gl_CHECK_NEXT_HEADERS): New macro.
5687         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
5688         the obsolescent gl_ABSOLUTE_HEADER.
5689         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5690         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5691         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
5692         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5693         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
5694         * m4/math_h.m4 (gl_MATH_H): Likewise.
5695         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
5696         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5697         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
5698         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5699         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
5700         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
5701         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
5702         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5703         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
5704         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
5705         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
5706         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
5707         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
5708         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5709         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
5710         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
5711         * m4/inttypes.m4 (gl_INTTYPES_H): Define
5712         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
5713         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
5714         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
5715         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
5716         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
5717         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
5718         * lib/float_.h: Likewise.
5719         * lib/inttypes_.h: Likewise.
5720         * lib/math_.h: Likewise.
5721         * lib/search_.h: Likewise.
5722         * lib/signal_.h: Likewise.
5723         * lib/stdint_.h: Likewise.
5724         * lib/stdio_.h: Likewise.
5725         * lib/stdlib_.h: Likewise.
5726         * lib/string_.h: Likewise.
5727         * lib/sys_stat_.h: Likewise.
5728         * lib/sys_time_.h: Likewise.
5729         * lib/time_.h: Likewise.
5730         * lib/unistd_.h: Likewise.
5731         * lib/wchar_.h: Likewise.
5732         * lib/wctype_.h: Likewise.
5733         * lib/dirent_.h: Likewise.
5734         * lib/iconv_.h: Likewise.
5735         * lib/locale_.h: Likewise.
5736         * lib/netinet_in_.h: Likewise.
5737         * lib/sys_select_.h: Likewise.
5738         * lib/sys_socket_.h: Likewise.
5739         * lib/sysexits_.h: Likewise.
5740         * modules/fcntl (Depends-on): Depend on include_next, not
5741         absolute_header.
5742         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
5743         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
5744         * modules/fchdir: Likewise.
5745         * modules/float: Likewise.
5746         * modules/iconv_open: Likewise.
5747         * modules/inttypes: Likewise.
5748         * modules/locale: Likewise.
5749         * modules/math: Likewise.
5750         * modules/netinet_in: Likewise.
5751         * modules/search: Likewise.
5752         * modules/signal: Likewise.
5753         * modules/stdint: Likewise.
5754         * modules/stdio: Likewise.
5755         * modules/stdlib: Likewise.
5756         * modules/string: Likewise.
5757         * modules/sys_select: Likewise.
5758         * modules/sys_socket: Likewise.
5759         * modules/sys_stat: Likewise.
5760         * modules/sys_time: Likewise.
5761         * modules/sysexits: Likewise.
5762         * modules/time: Likewise.
5763         * modules/unistd: Likewise.
5764         * modules/wchar: Likewise.
5765         * modules/wctype: Likewise.
5766         * modules/sys_stat: Change maintainer to "all".
5767         * modules/unistd: Likewise.
5768
5769 2007-06-20  Karl Berry  <karl@gnu.org>
5770
5771         * config/srclist.txt: track www changes in license files.
5772
5773 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
5774
5775         * build-aux/bootstrap: Remove stray dot.
5776         Make sure build_aux settings are honored when linking
5777         gnulib_extra_files.
5778
5779 2007-06-19  Eric Blake  <ebb9@byu.net>
5780
5781         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
5782         Allow compilation on cygwin.
5783
5784 2007-06-19  Jim Meyering  <jim@meyering.net>
5785
5786         xreadlink-with-size: Remove module.  No longer used.
5787         Ex-callers now use xreadlink or mreadlink-with-size.
5788         * modules/xreadlink-with-size: Remove module.
5789         * lib/xreadlink-with-size.c: Remove file.
5790         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
5791         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
5792         just before the function definition *is* accurate.
5793
5794         Eliminate one way canonicalize_filename_mode could exit.
5795         * lib/canonicalize.c (canonicalize_filename_mode):
5796         Use mreadlink_with_size, not xreadlink_with_size.
5797
5798 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
5799
5800         Detect porting problems to FreeBSD/arm, which has time_t wider than
5801         long int.  Original problem reported for GNU diff by Xin Li in
5802         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
5803         * modules/getdate (Depends-on): Add intprops, verify.
5804         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
5805         is an integer type no wider than long int.
5806
5807 2007-06-18  Jim Meyering  <jim@meyering.net>
5808
5809         New module: mreadlink-with-size.
5810         * MODULES.html.sh: Add mreadlink-with-size.
5811         * modules/mreadlink-with-size: New module
5812         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
5813         not xreadlink-with-size.
5814         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
5815
5816 2007-06-16  Bruno Haible  <bruno@clisp.org>
5817
5818         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
5819         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
5820         Reported by Gary V. Vaughan <gary@gnu.org>.
5821
5822 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5823
5824         Revamp lchown so that it lives in unistd.h where it belongs.
5825         * lib/lchown.h: Remove.
5826         * lib/dirchownmod.c: Don't include lib/lchown.h.
5827         * lib/fchownat.c: Likewise.
5828         * lib/openat.c: Likewise.
5829         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
5830         does not follow symlinks.
5831         (EOPNOTSUPP): Define if not defined.
5832         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
5833         is defined to 0.
5834         (lchown): New decl.
5835         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
5836         Do not check for lchown decl.
5837         Set REPLACE_LCHOWN.
5838         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
5839         REPLACE_LCHOWN.
5840         * modules/chown: Make it clear it follows symlinks.
5841         * modules/lchown: Make it clear it doesn't follow symlinks.
5842         (Files): Remove lib/lchown.h
5843         (Depends-on): Add unistd.
5844         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
5845         (Include): Include <unistd.h>, not "lchown.h".
5846         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
5847         REPLACE_LCHOWN.
5848
5849 2007-06-15  Jim Meyering  <jim@meyering.net>
5850
5851         Change license (GPL to LGPL) of fsusage and dependents.
5852         * modules/fsusage (License): Change to LGPL.
5853         * modules/full-read (License): Likewise.
5854         * modules/full-write (License): Likewise.
5855         * modules/safe-read (License): Likewise.
5856         * modules/safe-write (License): Likewise.
5857
5858 2007-06-14  Ben Pfaff  <blp@gnu.org>
5859
5860         Missing part of allocsa -> malloca transition.
5861         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
5862         gl_MALLOCA.
5863
5864 2007-06-12  Bruno Haible  <bruno@clisp.org>
5865
5866         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
5867         to ia64, x86_64, i386.
5868         Reported by Eric Blake.
5869
5870 2007-06-12  Bruno Haible  <bruno@clisp.org>
5871
5872         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
5873         cross-compiling to x86_64.
5874
5875 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
5876
5877         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
5878         glitch reported by Ralf Wildenhues in
5879         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
5880
5881         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
5882         Vin Shelton.
5883
5884 2007-06-11  Bruno Haible  <bruno@clisp.org>
5885
5886         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
5887         replacement string.
5888         Reported by Eric Blake.
5889
5890 2007-06-10  Bruno Haible  <bruno@clisp.org>
5891
5892         Prepare vasnprintf code for use with Unicode strings.
5893         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
5894         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
5895         TYPE_U32_STRING.
5896         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
5897         a_u32_string variants.
5898         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
5899         * lib/printf-args.c: Don't include config.h and the specification
5900         header if PRINTF_FETCHARGS is already defined.
5901         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
5902         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
5903         TYPE_U16_STRING, TYPE_U32_STRING.
5904         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
5905         u16_directive, u16_directives, u32_directive, u32_directives): New
5906         types.
5907         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
5908         New declarations.
5909         * lib/printf-parse.c: Don't include config.h and the specification
5910         header if PRINTF_PARSE is already defined. Eliminate the set of
5911         parameters for WIDE_CHAR_VERSION; the user of this file must provide
5912         them now. Include c-ctype.h.
5913         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
5914         directive and CHAR_T_ONLY_ASCII.
5915         * lib/vasnprintf.c: Don't include config.h and the specification header
5916         if VASNPRINTF is already defined.
5917         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
5918         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
5919         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
5920         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
5921         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
5922         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
5923         code accordingly.
5924         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
5925         pad_ourselves also in this case, with the 'c' and 's' directives, and
5926         with a different notion of "width".
5927         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
5928
5929 2007-06-10  Bruno Haible  <bruno@clisp.org>
5930
5931         * modules/unistr/u32-mbsnlen: New file.
5932         * lib/unistr/u32-mbsnlen.c: New file.
5933
5934         * modules/unistr/u16-mbsnlen: New file.
5935         * lib/unistr/u16-mbsnlen.c: New file.
5936
5937         * modules/unistr/u8-mbsnlen: New file.
5938         * lib/unistr/u8-mbsnlen.c: New file.
5939
5940         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
5941         declarations.
5942
5943 2007-06-10  Bruno Haible  <bruno@clisp.org>
5944
5945         * lib/string_.h (mbsnlen): New declaration.
5946         * lib/mbsnlen.c: New file.
5947         * m4/mbsnlen.m4: New file.
5948         * modules/mbsnlen: New file.
5949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
5950         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
5951         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
5952
5953 2007-06-10  Bruno Haible  <bruno@clisp.org>
5954
5955         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
5956
5957 2007-06-10  Bruno Haible  <bruno@clisp.org>
5958
5959         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
5960         * lib/mbuiter.h: Likewise.
5961
5962 2007-06-10  Bruno Haible  <bruno@clisp.org>
5963
5964         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
5965         declaration.
5966
5967 2007-06-10  Karl Berry  <karl@gnu.org>
5968
5969         * config/srclist.txt: remove gettext entries, Bruno prefers
5970         to update individually.
5971
5972 2007-06-10  Bruno Haible  <bruno@clisp.org>
5973
5974         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
5975         'maxlen'. Ensure only length + width bytes are allocated, not
5976         length + 1 + width.
5977
5978 2007-06-09  Bruno Haible  <bruno@clisp.org>
5979
5980         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
5981         (CHAR_T): Remove macro.
5982         (VASNPRINTF): Update.
5983
5984 2007-06-09  Bruno Haible  <bruno@clisp.org>
5985
5986         * MODULES.html.sh (Unicode string functions): Add the new modules.
5987
5988         * modules/uniconv/u32-conv-to-enc: New file.
5989         * lib/uniconv/u32-conv-to-enc.c: New file.
5990         * modules/uniconv/u32-conv-to-enc-tests: New file.
5991         * tests/uniconv/test-u32-conv-to-enc.c: New file.
5992
5993         * modules/uniconv/u16-conv-to-enc: New file.
5994         * lib/uniconv/u16-conv-to-enc.c: New file.
5995         * lib/uniconv/u-conv-to-enc.h: New file.
5996         * modules/uniconv/u16-conv-to-enc-tests: New file.
5997         * tests/uniconv/test-u16-conv-to-enc.c: New file.
5998
5999         * modules/uniconv/u8-conv-to-enc: New file.
6000         * lib/uniconv/u8-conv-to-enc.c: New file.
6001         * modules/uniconv/u8-conv-to-enc-tests: New file.
6002         * tests/uniconv/test-u8-conv-to-enc.c: New file.
6003
6004         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
6005         u32_conv_to_encoding): New declarations.
6006
6007 2007-06-09  Bruno Haible  <bruno@clisp.org>
6008
6009         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
6010
6011 2007-06-09  Bruno Haible  <bruno@clisp.org>
6012
6013         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
6014         * modules/malloca: Renamed from modules/allocsa, updated.
6015         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
6016         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
6017         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
6018         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
6019         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
6020         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
6021         * modules/xmalloca: Renamed from modules/xallocsa, updated.
6022         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
6023         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
6024         * modules/c-strcasestr (Depends-on): Update.
6025         * lib/c-strcasestr.c: Update.
6026         * modules/c-strstr (Depends-on): Update.
6027         * lib/c-strstr.c: Update.
6028         * modules/canonicalize-lgpl (Depends-on): Update.
6029         * lib/canonicalize-lgpl.c: Update.
6030         * modules/clean-temp (Depends-on): Update.
6031         * lib/clean-temp.c: Update.
6032         * modules/csharpcomp (Depends-on): Update.
6033         * lib/csharpcomp.c: Update.
6034         * modules/csharpexec (Depends-on): Update.
6035         * lib/csharpexec.c: Update.
6036         * modules/javacomp (Depends-on): Update.
6037         * lib/javacomp.c: Update.
6038         * modules/javaexec (Depends-on): Update.
6039         * lib/javaexec.c: Update.
6040         * modules/mbscasestr (Depends-on): Update.
6041         * lib/mbscasestr.c: Update.
6042         * modules/mbsstr (Depends-on): Update.
6043         * lib/mbsstr.c: Update.
6044         * modules/setenv (Depends-on): Update.
6045         * lib/setenv.c: Update.
6046         * modules/strcasestr (Depends-on): Update.
6047         * lib/strcasestr.c: Update.
6048         * modules/striconveha (Depends-on): Update.
6049         * lib/striconveha.c: Update.
6050         * modules/relocatable-prog-wrapper (Files): Update.
6051         * lib/relocwrapper.c: Update.
6052         * build-aux/install-reloc: Update.
6053         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
6054
6055 2007-06-08  Bruno Haible  <bruno@clisp.org>
6056
6057         Port to uClibc.
6058         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
6059         * lib/fpurge.c (fpurge): Likewise.
6060         * lib/freading.c (freading): Likewise.
6061         * lib/fseeko.c (rpl_fseeko): Likewise.
6062         * lib/fseterr.c (fseterr): Likewise.
6063         * lib/fwriting.c (fwriting): Likewise.
6064         * tests/test-fflush.c (main): Avoid a failure on uClibc.
6065
6066 2007-06-08  Bruno Haible  <bruno@clisp.org>
6067
6068         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
6069         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
6070         * modules/gettext (Files): Add m4/intlmacosx.m4.
6071
6072 2007-06-07  Bruno Haible  <bruno@clisp.org>
6073
6074         * modules/localename-tests: New file.
6075         * tests/test-localename.c: New file.
6076
6077         New module 'localename'.
6078         * lib/localename.h: New file.
6079         * lib/localename.c: New file, from GNU gettext.
6080         * m4/localename.m4: New file.
6081         * modules/localename: New file.
6082
6083 2007-06-07  Bruno Haible  <bruno@clisp.org>
6084
6085         Work around the lack of <wchar.h> on some builds of uClibc.
6086         * doc/headers/wchar.texi: Update.
6087         * lib/wchar_.h: Include <wchar.h> only if it exists.
6088         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
6089         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
6090         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
6091         doesn't exist.
6092         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
6093         * modules/mbfile (Depends-on): Add wchar.
6094         * modules/mbiter (Depends-on): Likewise.
6095         * modules/mbuiter (Depends-on): Likewise.
6096         Reported by Simon Josefsson.
6097
6098 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
6099
6100         Work around problem reported by Steven M. Schweda in
6101         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
6102         Tru64 5.1B with the Compaq compiler environment installed declares
6103         an 'isblank' function but does not define it in the C library.
6104         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
6105         * lib/regex_internal.h (isblank): Likewise.
6106         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
6107         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6108
6109 2007-06-05  Bruno Haible  <bruno@clisp.org>
6110
6111         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
6112         ia64.
6113         * modules/printf-safe: New file.
6114         * modules/fprintf-posix (Depends-on): Add printf-safe.
6115         * modules/printf-posix (Depends-on): Likewise.
6116         * modules/snprintf-posix (Depends-on): Likewise.
6117         * modules/sprintf-posix (Depends-on): Likewise.
6118         * modules/vasnprintf-posix (Depends-on): Likewise.
6119         * modules/vasprintf-posix (Depends-on): Likewise.
6120         * modules/vfprintf-posix (Depends-on): Likewise.
6121         * modules/vprintf-posix (Depends-on): Likewise.
6122         * modules/vsnprintf-posix (Depends-on): Likewise.
6123         * modules/vsprintf-posix (Depends-on): Likewise.
6124         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6125         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
6126         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
6127         "no" on i386, x86_64, ia64.
6128         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
6129         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6130         on i386, x86_64, ia64.
6131         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
6132         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6133         on i386, x86_64, ia64.
6134         * tests/test-vasnprintf-posix.c: Include float.h.
6135         (LDBL80_WORDS): New macro.
6136         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6137         on i386, x86_64, ia64.
6138         * tests/test-vasprintf-posix.c: Include float.h.
6139         (LDBL80_WORDS): New macro.
6140         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
6141         on i386, x86_64, ia64.
6142         * tests/test-snprintf-posix.c: Include float.h.
6143         * tests/test-sprintf-posix.c: Likewise.
6144         * tests/test-vsnprintf-posix.c: Likewise.
6145         * tests/test-vsprintf-posix.c: Likewise.
6146
6147 2007-06-05  Bruno Haible  <bruno@clisp.org>
6148
6149         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
6150         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
6151         non-IEEE numbers on i386, x86_64, ia64.
6152         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
6153         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
6154         * tests/test-isnanl.h: Include float.h.
6155         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
6156
6157 2007-06-05  Bruno Haible  <bruno@clisp.org>
6158
6159         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
6160         also the %a / %A. Handle the %a / %A code before this extra handling.
6161
6162 2007-06-05  Bruno Haible  <bruno@clisp.org>
6163
6164         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
6165         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
6166
6167 2007-06-05  Bruno Haible  <bruno@clisp.org>
6168
6169         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
6170         typo in variable name.
6171
6172 2007-06-05  Eric Blake  <ebb9@byu.net>
6173
6174         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
6175         Reported by Simon Josefsson.
6176
6177 2007-06-04  Bruno Haible  <bruno@clisp.org>
6178
6179         Avoid test failures on some PowerPC platforms.
6180         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
6181         Define differently for PowerPC.
6182         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
6183         Reported by Gary V. Vaughan <gary@gnu.org>.
6184
6185 2007-06-02  Bruno Haible  <bruno@clisp.org>
6186
6187         Fix test-stdint failure on FreeBSD/ia64.
6188         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
6189         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
6190         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
6191         * doc/headers/stdint.texi: Update.
6192
6193 2007-06-01  Bruno Haible  <bruno@clisp.org>
6194
6195         * tests/test-binary-io.c (main): Pass a third argument to open().
6196         Reported by Gary V. Vaughan <gary@gnu.org>.
6197
6198 2007-06-01  Bruno Haible  <bruno@clisp.org>
6199
6200         * doc/functions/frexpl.texi: Update for mingw.
6201
6202 2007-06-01  Bruno Haible  <bruno@clisp.org>
6203
6204         * tests/test-lseek.c (main): Disable test of errno for invalid third
6205         argument.
6206         * doc/functions/lseek.texi: Update.
6207         Reported by Gary V. Vaughan <gary@gnu.org>.
6208
6209 2007-05-28  Bruno Haible  <bruno@clisp.org>
6210
6211         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
6212
6213 2007-05-31  Eric Blake  <ebb9@byu.net>
6214
6215         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
6216         cross compiling.
6217
6218 2007-05-30  Eric Blake  <ebb9@byu.net>
6219         and Bruno Haible  <bruno@clisp.org>
6220
6221         Work around mingw test failures exposed by m4-1.4.9b.
6222         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
6223         * tests/test-unistd.c: Disable uid_t and git_t tests for the
6224         moment.
6225
6226 2007-05-30  Bruno Haible  <bruno@clisp.org>
6227
6228         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
6229         assuming that they are closed. Needed on HP-UX 11.
6230
6231 2007-05-29  Bruno Haible  <bruno@clisp.org>
6232
6233         Fix a problem with #include_next.
6234         * lib/dirent_.h: Split the double-inclusion guard.
6235         * lib/fcntl_.h: Likewise.
6236         * lib/float_.h: Likewise.
6237         * lib/iconv_.h: Likewise.
6238         * lib/inttypes_.h: Likewise.
6239         * lib/locale_.h: Likewise.
6240         * lib/math_.h: Likewise.
6241         * lib/netinet_in_.h: Likewise.
6242         * lib/search_.h: Likewise.
6243         * lib/signal_.h: Likewise.
6244         * lib/stdint_.h: Likewise.
6245         * lib/stdio_.h: Likewise.
6246         * lib/stdlib_.h: Likewise.
6247         * lib/string_.h: Likewise.
6248         * lib/sys_select_.h: Likewise.
6249         * lib/sys_socket_.h: Likewise.
6250         * lib/sys_stat_.h: Likewise.
6251         * lib/sys_time_.h: Likewise.
6252         * lib/sysexits_.h: Likewise.
6253         * lib/time_.h: Likewise.
6254         * lib/unistd_.h: Likewise.
6255         * lib/wchar_.h: Likewise.
6256         * lib/wctype_.h: Likewise.
6257
6258 2007-05-29  Bruno Haible  <bruno@clisp.org>
6259
6260         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
6261         for the moment.
6262
6263 2007-05-29  Bruno Haible  <bruno@clisp.org>
6264
6265         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
6266         invocation.
6267         Reported by Eric Blake.
6268
6269 2007-05-29  Bruno Haible  <bruno@clisp.org>
6270
6271         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
6272         compiling case.
6273
6274 2007-05-29  Eric Blake  <ebb9@byu.net>
6275             Bruno Haible  <bruno@clisp.org>
6276
6277         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
6278         cross compiles.
6279
6280 2007-05-28  Eric Blake  <ebb9@byu.net>
6281
6282         * modules/closein-tests (test_closein_LDADD): Support test on
6283         cygwin with libtool.
6284
6285 2007-05-28  Bruno Haible  <bruno@clisp.org>
6286
6287         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
6288         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
6289         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
6290         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
6291         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
6292         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
6293         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
6294         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
6295         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
6296
6297 2007-05-28  Eric Blake  <ebb9@byu.net>
6298
6299         Unconditionally include <config.h> in unit tests.
6300         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
6301         * tests/test-allocsa.c, tests/test-arcfour.c,
6302         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
6303         tests/test-array_list.c, tests/test-array_oset.c,
6304         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
6305         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
6306         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
6307         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
6308         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
6309         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
6310         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
6311         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
6312         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
6313         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
6314         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
6315         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
6316         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
6317         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
6318         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
6319         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
6320         test-md5.c, test-memmem.c, test-printf-posix.c,
6321         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
6322         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
6323         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
6324         test-strcasestr.c, test-striconv.c, test-striconveh.c,
6325         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
6326         test-vasnprintf-posix2.c, test-vasnprintf.c,
6327         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
6328         test-vfprintf-posix.c, test-vprintf-posix.c,
6329         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
6330         test-xvasprintf.c: Likewise.
6331
6332 2007-05-28  Bruno Haible  <bruno@clisp.org>
6333
6334         * gnulib-tool (func_import): Remember the --with-tests command-line
6335         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
6336         Reported by Eric Blake.
6337
6338 2007-05-28  Bruno Haible  <bruno@clisp.org>
6339
6340         * modules/ftell-tests: New file.
6341         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
6342         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
6343
6344         * lib/ftell.c: New file.
6345         * modules/ftell: New file.
6346         * m4/ftell.m4: New file.
6347         * doc/functions/ftell.texi: Update.
6348         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
6349         REPLACE_FTELL.
6350         * lib/stdio_.h (rpl_ftell): New declaration.
6351         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
6352         REPLACE_FTELL.
6353
6354 2007-05-28  Eric Blake  <ebb9@byu.net>
6355
6356         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
6357
6358 2007-05-28  Bruno Haible  <bruno@clisp.org>
6359
6360         * modules/fseek-tests: New file.
6361         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
6362         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
6363
6364         * lib/fseek.c: New file.
6365         * modules/fseek: New file.
6366         * m4/fseek.m4: New file.
6367         * doc/functions/fseek.texi: Update.
6368         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
6369         REPLACE_FSEEK.
6370         * lib/stdio_.h (rpl_fseek): New declaration.
6371         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
6372         REPLACE_FSEEK.
6373
6374 2007-05-28  Bruno Haible  <bruno@clisp.org>
6375
6376         * lib/stdio_.h (fflush): More comments.
6377
6378 2007-05-28  Bruno Haible  <bruno@clisp.org>
6379
6380         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
6381         runtime test.
6382
6383 2007-05-28  Eric Blake  <ebb9@byu.net>
6384
6385         Improve lseek module.
6386         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
6387         * lib/unistd_.h (lseek): Scale back link warning message.
6388         * tests/test-lseek.c: Beef up test.
6389         * tests/test-lseek.sh: Exercise more facets of lseek.
6390         Reported by Bruno Haible.
6391
6392 2007-05-28  Bruno Haible  <bruno@clisp.org>
6393
6394         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
6395         to define.
6396
6397 2007-05-27  Bruno Haible  <bruno@clisp.org>
6398
6399         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
6400
6401 2007-05-27  Bruno Haible  <bruno@clisp.org>
6402
6403         * modules/openmp: New file.
6404         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
6405         Noah Misch.
6406
6407 2007-05-26  Bruno Haible  <bruno@clisp.org>
6408
6409         * modules/chdir-long (Depends-on): Add fchdir.
6410         * modules/chdir-safer (Depends-on): Likewise.
6411         * modules/fts (Depends-on): Likewise.
6412         * modules/fts-lgpl (Depends-on): Likewise.
6413         * modules/openat (Depends-on): Likewise.
6414         * modules/savewd (Depends-on): Likewise.
6415
6416 2007-05-24  Eric Blake  <ebb9@byu.net>
6417
6418         Fix lseek on mingw.
6419         * modules/lseek: New module.
6420         * m4/lseek.m4: New file.
6421         * lib/lseek.c: New file.
6422         * modules/lseek-tests: New file.
6423         * tests/test-lseek.c: New file.
6424         * tests/test-lseek.sh: New file.
6425         * MODULES.html.sh: Document lseek module.
6426         * modules/fflush (Depends-on): Add lseek, fseeko.
6427         * modules/fseeko (Depends-on): Likewise.
6428         * modules/ftello (Depends-on): Likewise.
6429         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
6430         broken.
6431         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
6432         broken.
6433         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
6434         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
6435         * lib/ftello.c (rpl_ftello): Likewise.
6436         * tests/test-fseeko.c (main): Test this.
6437         * tests/test-fseeko.sh: Likewise.
6438         * tests/test-ftello.c (main): Likewise.
6439         * tests/test-ftello.sh: Likewise.
6440         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
6441         implies replacing fseek.
6442         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
6443         HAVE_FTELLO.
6444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
6445         * modules/unistd (Makefile.am): Likewise.
6446         * lib/unistd_.h (lseek): Declare a replacement.
6447         * doc/functions/lseek.texi (lseek): Document this fix.
6448         * doc/functions/fseek.texi (fseek): Likewise.
6449         * doc/functions/ftell.texi (ftell): Likewise.
6450
6451 2007-05-24  Bruno Haible  <bruno@clisp.org>
6452
6453         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
6454         in the printed representation of a NaN.
6455         * tests/test-vasprintf-posix.c (test_function): Likewise.
6456         * tests/test-snprintf-posix.h (test_function): Likewise.
6457         * tests/test-sprintf-posix.h (test_function): Likewise.
6458         Reported by Eric Blake.
6459
6460 2007-05-23  Eric Blake  <ebb9@byu.net>
6461
6462         Fix fseeko/ftello on cygwin 1.5.24.
6463         * doc/functions/fseeko.texi (fseeko): Document the fix.
6464         * doc/functions/ftello.texi (ftello): Document the fix.
6465         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
6466         * doc/functions/stdout.text (stdout): New file.
6467         * doc/functions/stderr.text (stderr): New file.
6468         * doc/gnulib.texi (Function Substitutes): Use new files.
6469         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
6470         prior to 1.7.0.
6471         * tests/test-ftello.c (main): Likewise for ftello.
6472         * tests/test-fseeko.sh: New file.
6473         * tests/test-ftello.sh: New file.
6474         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
6475         with seekable stdin.
6476         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
6477         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
6478         (gl_REPLACE_FSEEKO): New macro.
6479         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
6480         * modules/fseeko (Files): Distribute fseeko.c.
6481         * modules/ftello (Files): Distribute ftello.c.
6482         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
6483         mode.
6484         * lib/ftello.c (rpl_ftello): New file.
6485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
6486         fseeko, ftello.
6487         (gl_STDIN_LARGE_OFFSET): New macro.
6488         * modules/stdio (Makefile.am): Perform the replacement.
6489         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
6490
6491 2007-05-23  Bruno Haible  <bruno@clisp.org>
6492
6493         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
6494         GNULIB_POSIXCHECK is defined.
6495
6496 2007-05-21  Bruno Haible  <bruno@clisp.org>
6497
6498         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
6499         Check also the output for NaN arguments. When cross-compiling, guess
6500         no on IRIX.
6501         * lib/vasnprintf.c: Update comments.
6502         * tests/test-vasnprintf-posix.c (strisnan): New function.
6503         (test_function): Use it.
6504         * tests/test-vasprintf-posix.c (strisnan): New function.
6505         (test_function): Use it.
6506         * tests/test-snprintf-posix.h (strisnan): New function.
6507         (test_function): Use it.
6508         * tests/test-sprintf-posix.h (strisnan): New function.
6509         (test_function): Use it.
6510         Reported by Eric Blake.
6511
6512 2007-05-20  Bruno Haible  <bruno@clisp.org>
6513
6514         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
6515         numbers that fails on BeOS.
6516         * doc/functions/frexpl.texi: Update.
6517
6518 2007-05-20  Jim Meyering  <jim@meyering.net>
6519
6520         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
6521         forced upon us by glibc-2.6.
6522
6523 2007-05-20  Bruno Haible  <bruno@clisp.org>
6524
6525         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
6526         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
6527         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
6528         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
6529         NEED_PRINTF_INFINITE.
6530         (is_infinitel): New function.
6531         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
6532         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
6533         gl_PREREQ_VASNPRINTF_INFINITE.
6534         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
6535         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6536         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
6537         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
6538         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
6539         gl_PREREQ_VASNPRINTF_INFINITE.
6540         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6541         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6542         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6543         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6544         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6545         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6546         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6547         * doc/functions/fprintf.texi: Update.
6548         * doc/functions/printf.texi: Update.
6549         * doc/functions/snprintf.texi: Update.
6550         * doc/functions/sprintf.texi: Update.
6551         * doc/functions/vfprintf.texi: Update.
6552         * doc/functions/vprintf.texi: Update.
6553         * doc/functions/vsnprintf.texi: Update.
6554         * doc/functions/vsprintf.texi: Update.
6555
6556 2007-05-20  Bruno Haible  <bruno@clisp.org>
6557
6558         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
6559         was not found in libc.
6560         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6561
6562 2007-05-20  Bruno Haible  <bruno@clisp.org>
6563
6564         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
6565         printed as "-nan" instead of "nan".
6566         * tests/test-vasprintf-posix.c (test_function): Likewise.
6567         * tests/test-snprintf-posix.h (test_function): Likewise.
6568         * tests/test-sprintf-posix.h (test_function): Likewise.
6569         Needed for HP-UX 11.
6570
6571 2007-05-20  Jim Meyering  <jim@meyering.net>
6572
6573         Fix buggy test for the fchownat-deref bug.
6574         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
6575         symlink required for the run-test.  Without it, this test would
6576         always declare that fchownat doesn't work, and client code would
6577         unnecessarily use the replacement function with fixed libc.
6578         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
6579         Reported by Greg Schafer.
6580
6581 2007-05-19  Bruno Haible  <bruno@clisp.org>
6582
6583         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
6584         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
6585         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
6586         Needed for IRIX 6.5 and Solaris 2.5.1.
6587
6588 2007-05-19  Bruno Haible  <bruno@clisp.org>
6589
6590         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
6591         (test_function): Skip tests involving -0.0 on platforms where
6592         -0.0 = 0.0.
6593         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
6594         (test_function): Skip tests involving -0.0 on platforms where
6595         -0.0 = 0.0.
6596         * tests/test-snprintf-posix.h (have_minus_zero): New function.
6597         (test_function): Skip tests involving -0.0 on platforms where
6598         -0.0 = 0.0.
6599         * tests/test-sprintf-posix.h (have_minus_zero): New function.
6600         (test_function): Skip tests involving -0.0 on platforms where
6601         -0.0 = 0.0.
6602         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
6603         tests.
6604         * tests/test-printf-posix.h (test_function): Likewise.
6605         * tests/test-printf-posix.output: Remove all -0.0 related results.
6606         Needed for IRIX 6.5.
6607
6608 2007-05-19  Bruno Haible  <bruno@clisp.org>
6609
6610         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
6611         printed as "nan0x7fffffff" instead of "nan".
6612         * tests/test-vasprintf-posix.c (test_function): Likewise.
6613         * tests/test-snprintf-posix.h (test_function): Likewise.
6614         * tests/test-sprintf-posix.h (test_function): Likewise.
6615         * tests/test-fprintf-posix.h (NaN): Remove macro.
6616         (test_function): Remove all NaN related tests.
6617         * tests/test-printf-posix.h (NaN): Remove macro.
6618         (test_function): Remove all NaN related tests.
6619         * tests/test-printf-posix.output: Remove all NaN related results.
6620         Needed for IRIX 6.5.
6621
6622 2007-05-19  Bruno Haible  <bruno@clisp.org>
6623
6624         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
6625         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6626
6627 2007-05-19  Bruno Haible  <bruno@clisp.org>
6628
6629         * lib/float_.h: New file.
6630         * m4/float_h.m4: New file.
6631         * modules/float: New file.
6632         * modules/isnanl (Dependencies): Add float.
6633         * modules/isnanl-nolibm (Dependencies): Likewise.
6634         * modules/mathl (Dependencies): Likewise.
6635         * modules/printf-frexpl (Dependencies): Likewise.
6636         * modules/signbit (Dependencies): Likewise.
6637         * modules/vasnprintf (Dependencies): Likewise.
6638         * doc/headers/float.texi: Update.
6639
6640 2007-05-19  Jim Meyering  <jim@meyering.net>
6641
6642         * lib/utimens.c (gl_futimens): Rename from futimens,
6643         now that glibc-2.6 declares futimens.
6644         * lib/utimens.h: Likewise.
6645
6646 2007-05-19  Bruno Haible  <bruno@clisp.org>
6647
6648         Avoid test failures on mingw.
6649         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
6650         * tests/test-printf-posix.sh: Likewise.
6651         * tests/test-vfprintf-posix.sh: Likewise.
6652         * tests/test-vprintf-posix.sh: Likewise.
6653
6654 2007-05-19  Bruno Haible  <bruno@clisp.org>
6655
6656         Fix *printf result for NaN, Inf, -0.0 on mingw.
6657         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
6658         * lib/vasnprintf.c: Include math.h and isnan.h.
6659         (is_infinite_or_zero): New function.
6660         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
6661         values in the %f, %F, %e, %E, %g, %G directives.
6662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
6663         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6664         gl_PRINTF_INFINITE and test its result. Invoke
6665         gl_PREREQ_VASNPRINTF_INFINITE.
6666         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6667         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6668         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6669         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6670         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6671         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6672         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6673         * doc/functions/fprintf.texi: Update.
6674         * doc/functions/printf.texi: Update.
6675         * doc/functions/snprintf.texi: Update.
6676         * doc/functions/sprintf.texi: Update.
6677         * doc/functions/vfprintf.texi: Update.
6678         * doc/functions/vprintf.texi: Update.
6679         * doc/functions/vsnprintf.texi: Update.
6680         * doc/functions/vsprintf.texi: Update.
6681
6682 2007-05-19  Bruno Haible  <bruno@clisp.org>
6683
6684         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
6685         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
6686         Instead of multiplying with 10^k, set extra_zeroes to k.
6687         (scale10_round_long_double): Remove function.
6688
6689 2007-05-18  Bruno Haible  <bruno@clisp.org>
6690
6691         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
6692         introduced on 2007-05-06.
6693
6694 2007-05-18  Bruno Haible  <bruno@clisp.org>
6695
6696         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
6697         %g directives.
6698         * tests/test-vasprintf-posix.c (test_function): Likewise.
6699         * tests/test-snprintf-posix.h (test_function): Likewise.
6700         * tests/test-sprintf-posix.h (test_function): Likewise.
6701
6702 2007-05-18  Bruno Haible  <bruno@clisp.org>
6703
6704         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
6705         (strmatch): New function.
6706         (test_function): Test the %f directive on numbers of various exponents.
6707         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
6708         (strmatch): New function.
6709         (test_function): Test the %f directive on numbers of various exponents.
6710         * tests/test-snprintf-posix.h (strmatch): New function.
6711         (test_function): Test the %f directive on numbers of various exponents.
6712         * tests/test-sprintf-posix.h (strmatch): New function.
6713         (test_function): Test the %f directive on numbers of various exponents.
6714         * tests/test-snprintf-posix.c (SIZEOF): New macro.
6715         * tests/test-sprintf-posix.c (SIZEOF): New macro.
6716         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
6717         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
6718
6719 2007-05-18  Bruno Haible  <bruno@clisp.org>
6720
6721         Add support for 'long double' number output.
6722         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
6723         * lib/vasnprintf.c: Include math.h and float+.h.
6724         (mp_limb_t): New type.
6725         (GMP_LIMB_BITS): New macro.
6726         (mp_twolimb_t): New type.
6727         (GMP_TWOLIMB_BITS): New macro.
6728         (mpn_t): New type.
6729         (multiply, divide, convert_to_decimal, decode_long_double,
6730         scale10_round_long_double, scale10_round_decimal_long_double,
6731         floorlog10l): New functions.
6732         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
6733         for the %f, %F, %e, %E, %g, %G directives.
6734         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
6735         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
6736         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
6737         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
6738         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
6739         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6740         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6741         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6742         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6743         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6744         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6745         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
6746         * modules/snprintf-posix (Depends-on): Likewise.
6747         * modules/sprintf-posix (Depends-on): Likewise.
6748         * modules/vasnprintf-posix (Depends-on): Likewise.
6749         * modules/vasprintf-posix (Depends-on): Likewise.
6750         * modules/vfprintf-posix (Depends-on): Likewise.
6751         * modules/vsnprintf-posix (Depends-on): Likewise.
6752         * modules/vsprintf-posix (Depends-on): Likewise.
6753         * modules/vasnprintf (Files): Add lib/float+.h.
6754         * doc/functions/fprintf.texi: Update.
6755         * doc/functions/printf.texi: Update.
6756         * doc/functions/snprintf.texi: Update.
6757         * doc/functions/sprintf.texi: Update.
6758         * doc/functions/vfprintf.texi: Update.
6759         * doc/functions/vprintf.texi: Update.
6760         * doc/functions/vsnprintf.texi: Update.
6761         * doc/functions/vsprintf.texi: Update.
6762
6763 2007-05-18  Bruno Haible  <bruno@clisp.org>
6764
6765         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
6766
6767 2007-05-18  Bruno Haible  <bruno@clisp.org>
6768
6769         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
6770         for printing 64-bit integers. Needed for mingw.
6771
6772 2007-05-18  Bruno Haible  <bruno@clisp.org>
6773
6774         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
6775         gl_FUNC_FREXPL_WORKS.
6776         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
6777
6778 2007-05-18  Bruno Haible  <bruno@clisp.org>
6779
6780         * modules/frexpl-nolibm-tests: New file.
6781
6782         * modules/frexpl-nolibm: New file.
6783         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
6784
6785 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6786
6787         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
6788         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
6789         GCC 4.2, which otherwise issues a lot of warnings.
6790         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
6791         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
6792         Likewise.
6793         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
6794         * modules/iconv_open (iconv.h): Likewise.
6795         * modules/locale (locale.h): Likewise.
6796         * modules/netinet_in (netinet/in.h): Likewise.
6797         * modules/sys_select (sys_select.h): Likewise.
6798         * modules/sys_socket (sys/socket.h): Likewise.
6799         * modules/sys_stat (sys/stat.h): Likewise.
6800         * modules/sysexits (sysexits.h): Likewise.
6801         * modules/unistd (unistd.h): Likewise.
6802
6803 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6804
6805         * modules/closein-tests (Makefile.am): Distribute
6806         `test-closein.sh'.
6807
6808 2007-05-17  Bruno Haible  <bruno@clisp.org>
6809
6810         * tests/test-printf-posix.output: Renamed from
6811         tests/test-fprintf-posix.out.
6812         * modules/fprintf-posix-tests: Update.
6813         * modules/printf-posix-tests: Update.
6814         * modules/vfprintf-posix-tests: Update.
6815         * modules/vprintf-posix-tests: Update.
6816         * tests/test-fprintf-posix.sh: Update.
6817         * tests/test-printf-posix.sh: Update.
6818         * tests/test-vfprintf-posix.sh: Update.
6819         * tests/test-vprintf-posix.sh: Update.
6820         Reported by Ralf Wildenhues.
6821
6822 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6823
6824         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
6825         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
6826         GCC 4.2, which otherwise issues a lot of warnings.
6827         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
6828         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
6829         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
6830         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
6831         it should no longer be needed.
6832         * lib/string_.h: Likewise.
6833         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
6834         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
6835         * modules/inttypes (inttypes.h): Likewise.
6836         * modules/math (math.h): Likewise.
6837         * modules/search (search.h): Likewise.
6838         * modules/signal (signal.h): Likewise.
6839         * modules/stdint (stdint.h): Likewise.
6840         * modules/stdio (stdio.h): Likewise.
6841         * modules/stdlib (stdlib.h): Likewise.
6842         * modules/string (string.h): Likewise.
6843         * modules/sys_time (sys/time.h): Likewise.
6844         * modules/time (time.h): Likewise.
6845         * modules/wchar (wchar.h): Likewise.
6846         * modules/wctype (wtype.h): Likewise.
6847
6848 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6849
6850         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
6851
6852 2007-05-13  Bruno Haible  <bruno@clisp.org>
6853
6854         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
6855         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6856         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
6857         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6858         (gl_PREREQ_STRTOK_R): Don't require it here.
6859
6860 2007-05-13  Bruno Haible  <bruno@clisp.org>
6861
6862         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
6863         when used in C++ mode.
6864
6865 2007-05-12  Bruno Haible  <bruno@clisp.org>
6866
6867         * lib/linebuffer.h: Tweak doc.
6868         * lib/linebuffer.c: Likewise.
6869
6870 2007-05-12  James Youngman  <jay@gnu.org>
6871
6872         * lib/linebuffer.c (readlinebuffer_delim): New function,
6873         like readlinebuffer, but use a caller-specified delimiter.
6874         (readlinebuffer): Just call readlinebuffer_delim with '\n'
6875         as the delimiter.
6876         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
6877
6878 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6879
6880         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
6881         * modules/openat (Files): Remove openat-die.c.
6882         (Depends-on): Add openat-die.
6883         * modules/openat-die: New module.
6884
6885 2007-05-06  Bruno Haible  <bruno@clisp.org>
6886
6887         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
6888         Update with info about Cygwin.
6889         * doc/functions/fprintf.texi: Update.
6890         * doc/functions/printf.texi: Update.
6891         * doc/functions/snprintf.texi: Update.
6892         * doc/functions/sprintf.texi: Update.
6893         * doc/functions/vfprintf.texi: Update.
6894         * doc/functions/vprintf.texi: Update.
6895         * doc/functions/vsnprintf.texi: Update.
6896         * doc/functions/vsprintf.texi: Update.
6897         Reported by Eric Blake.
6898
6899 2007-05-06  Bruno Haible  <bruno@clisp.org>
6900
6901         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
6902         padding ourselves for the floating-point directives.
6903         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
6904         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
6905         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
6906         gl_PRINTF_FLAG_ZERO and test its result. Invoke
6907         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
6908         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6909         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
6910         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6911         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6912         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6913         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6914         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6915         * tests/test-snprintf-posix.h (test_function): Also check the width
6916         and some flags in the %f directive.
6917         * tests/test-sprintf-posix.h (test_function): Likewise.
6918         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6919         * tests/test-vasprintf-posix.c (test_function): Likewise.
6920         * doc/functions/fprintf.texi: Update.
6921         * doc/functions/printf.texi: Update.
6922         * doc/functions/snprintf.texi: Update.
6923         * doc/functions/sprintf.texi: Update.
6924         * doc/functions/vfprintf.texi: Update.
6925         * doc/functions/vprintf.texi: Update.
6926         * doc/functions/vsnprintf.texi: Update.
6927         * doc/functions/vsprintf.texi: Update.
6928
6929 2007-05-06  Bruno Haible  <bruno@clisp.org>
6930
6931         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
6932         pass the ' flag character to sprintf or snprintf.
6933         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
6934         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
6935         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
6936         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
6937         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
6938         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
6939         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
6940         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
6941         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
6942         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
6943         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
6944         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
6945         * tests/test-snprintf-posix.h (test_function): Also check the grouping
6946         flag.
6947         * tests/test-sprintf-posix.h (test_function): Likewise.
6948         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6949         * tests/test-vasprintf-posix.c (test_function): Likewise.
6950         * doc/functions/fprintf.texi: Update.
6951         * doc/functions/printf.texi: Update.
6952         * doc/functions/snprintf.texi: Update.
6953         * doc/functions/sprintf.texi: Update.
6954         * doc/functions/vfprintf.texi: Update.
6955         * doc/functions/vprintf.texi: Update.
6956         * doc/functions/vsnprintf.texi: Update.
6957         * doc/functions/vsprintf.texi: Update.
6958
6959 2007-05-01  Bruno Haible  <bruno@clisp.org>
6960
6961         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
6962
6963 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
6964
6965         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
6966         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
6967
6968 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6969
6970         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
6971         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
6972         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
6973
6974 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
6975
6976         * lib/argp-help.c (struct hol_entry): New member `ord'.
6977         (HOL_ENTRY_PTRCMP): Use ord for comparison
6978         (hol_sort): Initialize ord.
6979
6980 2007-05-01  Bruno Haible  <bruno@clisp.org>
6981
6982         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
6983         Reported by Eric Blake.
6984         * doc/gnulib.texi (Function Substitutes): Update.
6985
6986 2007-05-01  Bruno Haible  <bruno@clisp.org>
6987
6988         * doc/functions.texi: Remove file, now redundant through
6989         doc/functions/*.texi.
6990
6991 2007-05-01  Bruno Haible  <bruno@clisp.org>
6992
6993         * modules/argp (Depends-on): Add sleep.
6994
6995 2007-05-01  Bruno Haible  <bruno@clisp.org>
6996
6997         * modules/sleep-tests: New file.
6998         * tests/test-sleep.c: New file.
6999
7000         * modules/sleep: New file.
7001         * lib/sleep.c: New file.
7002         * m4/sleep.m4: New file.
7003         * lib/unistd_.h (sleep): New declaration.
7004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
7005         HAVE_SLEEP.
7006         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
7007         * doc/functions/sleep.texi: Document the sleep module.
7008
7009 2007-05-01  Bruno Haible  <bruno@clisp.org>
7010
7011         * lib/sigprocmask.h: Remove file.
7012         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
7013         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
7014         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
7015         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
7016         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
7017         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
7018         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
7019         HAVE_SIGSET_T as a shell variable.
7020         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
7021         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
7022         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
7023         (Depends-on): Add signal. Remove verify.
7024         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
7025         (Include): Mention <signal.h> instead of sigprocmask.h.
7026         * NEWS: Mention the change.
7027         * lib/fatal-signal.c: Don't include sigprocmask.h.
7028
7029 2007-05-01  Bruno Haible  <bruno@clisp.org>
7030
7031         * modules/signal: New file.
7032         * lib/signal_.h: New file.
7033         * m4/signal_h.m4: New file.
7034
7035 2007-05-01  Bruno Haible  <bruno@clisp.org>
7036
7037         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
7038         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
7039         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
7040         HAVE_WCTYPE_CTMP_BUG into wctype.h.
7041
7042 2007-05-01  Bruno Haible  <bruno@clisp.org>
7043
7044         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
7045         configure time.
7046         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
7047         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
7048         * modules/sys_stat (Makefile.am): Substitute their values into
7049         sys/stat.h.
7050
7051 2007-05-01  Bruno Haible  <bruno@clisp.org>
7052
7053         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
7054         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
7055         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
7056
7057 2007-05-01  Bruno Haible  <bruno@clisp.org>
7058
7059         * doc/header/assert.texi: Undo last change: don't mention the gnulib
7060         'assert' module here.
7061
7062 2007-05-01  Bruno Haible  <bruno@clisp.org>
7063
7064         * doc/functions/*.texi: New files.
7065         * doc/functions/google-ranking.txt: New file.
7066         * doc/gnulib.texi (Function Substitutes): New chapter.
7067         (ctime, inet_ntoa): Remove sections.
7068         * doc/ctime.texi: Remove file.
7069         * doc/inet_ntoa.texi: Remove file.
7070         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
7071         dependencies.
7072         (%.info): New rule, specifying a --reference-limit.
7073
7074 2007-05-01  Bruno Haible  <bruno@clisp.org>
7075
7076         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
7077
7078 2007-05-01  Bruno Haible  <bruno@clisp.org>
7079
7080         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
7081         the portability of 'mkdir' to mingw systems.
7082
7083 2007-05-01  Bruno Haible  <bruno@clisp.org>
7084
7085         * doc/headers/google-ranking.txt: New file.
7086
7087 2007-04-30  Eric Blake  <ebb9@byu.net>
7088
7089         Prefer fseeko to fseek.
7090         * modules/getpass (Depends-on): Add fseeko.
7091         * lib/getpass.c (getpass): Use fseeko, not fseek.
7092
7093 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
7094
7095         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
7096         assumes the sorting is stable, while most qsort implementations
7097         are not.  Use argument addresses to ensure they never compare as
7098         equal.
7099
7100         * tests/test-argp-2.sh (usage-indent test): Fix output
7101         (func_compare): Restore diff options
7102         * tests/test-argp.c: Restore #include "progname.h"
7103
7104 2007-04-29  Bruno Haible  <bruno@clisp.org>
7105
7106         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
7107         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7108         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
7109         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7110         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
7111         (configure.ac): Define CHECK_SNPRINTF_POSIX.
7112         (TESTS, check_PROGRAMS): Add test-snprintf.
7113         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
7114         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
7115         (TESTS, check_PROGRAMS): Add test-vsnprintf.
7116         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
7117         assertions that fail on HP-UX, OSF/1, or IRIX.
7118         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
7119
7120 2007-04-29  Bruno Haible  <bruno@clisp.org>
7121
7122         * MODULES.html.sh (posix_functions): Remove 'contents'.
7123
7124 2007-04-29  Karl Berry  <karl@gnu.org>
7125
7126         * config/srclist.txt (gendocs_template_min): new entry.
7127
7128 2007-04-29  Bruno Haible  <bruno@clisp.org>
7129
7130         Work around fpurge bug on BSD systems.
7131         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
7132         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
7133         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
7134         fpurge to rpl_fpurge if the system already has this function.
7135         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
7136         the case where the system already has this function. Correct invariants
7137         on BSD systems.
7138         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
7139         BSD systems.
7140
7141 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
7142
7143         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
7144         proposed by Sven Verdoolaege.
7145
7146         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
7147         options.
7148         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
7149         (usage and help tests): Update
7150
7151 2007-04-29  Bruno Haible  <bruno@clisp.org>
7152
7153         * tests/test-fflush.c (main): Use a file of size 17, not 10.
7154         Print more information in case of failure. Disable a test on BeOS.
7155
7156 2007-04-29  Bruno Haible  <bruno@clisp.org>
7157
7158         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
7159         This helps debugging on systems on which no gdb is available.
7160
7161 2007-04-29  Bruno Haible  <bruno@clisp.org>
7162
7163         * lib/freading.h: Improve comments.
7164         * lib/fwriting.h: Likewise.
7165         * tests/test-freading.c (main): Don't check freading immediately after
7166         repositioning. Needed for glibc.
7167
7168 2007-04-29  Bruno Haible  <bruno@clisp.org>
7169
7170         * lib/freading.c (freading): Trivial simplification.
7171
7172 2007-04-28  Bruno Haible  <bruno@clisp.org>
7173
7174         * tests/test-fwriting.c (main): Also test the interaction between
7175         fflush and fwriting.
7176         * modules/fwriting-tests (Depends-on): Add fflush.
7177
7178         * tests/test-freading.c (main): Also test the interaction between
7179         fflush and freading.
7180         * modules/freading-tests (Depends-on): Add fflush.
7181
7182 2007-04-28  Bruno Haible  <bruno@clisp.org>
7183
7184         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
7185         fseeko and ftello.
7186         Suggested by Eric Blake.
7187
7188 2007-04-28  Jim Meyering  <jim@meyering.net>
7189
7190         Avoid false-negative in gl_STDINT_H's C99 conformance test.
7191         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
7192         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
7193
7194 2007-04-27  Eric Blake  <ebb9@byu.net>
7195
7196         * doc/headers/assert.texi (assert.h): Document assert module use.
7197
7198 2007-04-27  Bruno Haible  <bruno@clisp.org>
7199
7200         * doc/headers/*.texi: New files.
7201         * doc/gnulib.texi (Header File Substitutes): New chapter.
7202         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
7203         dependencies.
7204         (standards.info ,standards.html, standards.dvi): Update dependencies.
7205         (mostlyclean, clean): New targets.
7206
7207 2007-04-27  Bruno Haible  <bruno@clisp.org>
7208
7209         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
7210         * modules/sysexits (Files, Makefile.am): Update.
7211
7212         * lib/sys_socket_.h: Renamed from lib/socket_.h.
7213         * modules/sys_socket (Files, Makefile.am): Update.
7214
7215         * lib/sys_stat_.h: Renamed from lib/stat_.h.
7216         * modules/sys_stat (Files, Makefile.am): Update.
7217
7218 2007-04-27  Eric Blake  <ebb9@byu.net>
7219
7220         * lib/freading.h: Improve comments.
7221         * lib/fwriting.h: Likewise.
7222         * lib/fflush.c: Likewise.
7223
7224         Fix closein for mingw.
7225         * modules/closein-tests: Add tests for closein.
7226         * tests/test-closein.c: New file.
7227         * tests/test-closein.sh: Likewise.
7228         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
7229         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
7230
7231 2007-04-27  Bruno Haible  <bruno@clisp.org>
7232
7233         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
7234         version is < 6.
7235         * lib/math_.h [__DECC]: Likewise.
7236         * lib/stdio_.h [__DECC]: Likewise.
7237         * lib/stdlib_.h [__DECC]: Likewise.
7238         * lib/string_.h [__DECC]: Likewise.
7239         * lib/time_.h [__DECC]: Likewise.
7240         * lib/wchar_.h [__DECC]: Likewise.
7241         * lib/wctype_.h [__DECC]: Likewise.
7242
7243 2007-04-27  Bruno Haible  <bruno@clisp.org>
7244
7245         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
7246
7247 2007-04-27  Bruno Haible  <bruno@clisp.org>
7248
7249         * lib/fflush.c: Add comments.
7250         * modules/fpurge-tests (Depends-on): Add fflush.
7251         * modules/freadable-tests (Depends-on): Likewise.
7252         * modules/fwritable-tests (Depends-on): Likewise.
7253
7254 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
7255
7256         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
7257         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
7258         Report by Bruno Haible <bruno@clisp.org>.
7259
7260 2007-04-26  Eric Blake  <ebb9@byu.net>
7261
7262         Fix fflush on mingw.
7263         * modules/fflush (Depends-on): Add freading.
7264         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
7265         but unread data.
7266
7267 2007-04-26  Eric Blake  <ebb9@byu.net>
7268         and Bruno Haible  <bruno@clisp.org>
7269
7270         Implement freading and fwriting.
7271         * lib/freading.c: New file.
7272         * lib/freading.h: Likewise.
7273         * m4/freading.m4: Likewise.
7274         * modules/freading: Likewise.
7275         * modules/freading-tests: Likewise.
7276         * tests/test-freading.c: Likewise.
7277         * lib/fwriting.c: New file.
7278         * lib/fwriting.h: Likewise.
7279         * m4/fwriting.m4: Likewise.
7280         * modules/fwriting: Likewise.
7281         * modules/fwriting-tests: Likewise.
7282         * tests/test-fwriting.c: Likewise.
7283         * MODULES.html.sh (File stream based Input/Output): Mention them.
7284
7285 2007-04-26  Bruno Haible  <bruno@clisp.org>
7286
7287         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
7288         'long' when we assume it.
7289         Suggested by Eric Blake.
7290
7291 2007-04-26  Bruno Haible  <bruno@clisp.org>
7292
7293         Ensure fseeko, ftello are declared on glibc systems.
7294         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
7295         * modules/fseeko (configure.ac-early): Likewise.
7296         * modules/ftello (configure.ac-early): Likewise.
7297         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
7298         AC_FUNC_FSEEKO for this.
7299         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
7300         (gl_CHECK_FSEEKO): Remove macro.
7301
7302 2007-04-26  Bruno Haible  <bruno@clisp.org>
7303
7304         * tests/test-fflush.c (main): Also check the ftell result after
7305         fflush and fseek/fseeko.
7306         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
7307         file descriptor position cache in the stream.
7308         * lib/fseeko.c (rpl_fseeko): Likewise.
7309
7310 2007-04-26  Bruno Haible  <bruno@clisp.org>
7311
7312         * modules/fflush-tests (Depends-on): Add fseeko.
7313
7314 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
7315             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7316
7317         * lib/argz_.h: ensure error_t definition is obtained in same
7318         mechanism system argz.h would have.
7319         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
7320         argz facilities are known bad.  Err on the side of caution if
7321         cross-compiling.
7322
7323 2007-04-25  Eric Blake  <ebb9@byu.net>
7324
7325         * lib/fpurge.c (includes): Use stdlib.h for free.
7326         * tests/test-fflush.c (main): Also test fflush-fseeko.
7327
7328 2007-04-25  Bruno Haible  <bruno@clisp.org>
7329
7330         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
7331         * lib/fseeko.c: New file.
7332         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
7333         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
7334         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
7335         gl_FUNC_FSEEKO.
7336         (gl_FUNC_FSEEKO): Invoke it.
7337         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
7338         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
7339         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
7340
7341 2007-04-25  Bruno Haible  <bruno@clisp.org>
7342
7343         * modules/fflush (Depends-on): Add ftello.
7344
7345 2007-04-25  Bruno Haible  <bruno@clisp.org>
7346
7347         * modules/ftello-tests: New file.
7348         * tests/test-ftello.c: New file.
7349
7350         * modules/ftello: New file.
7351         * m4/ftello.m4: New file.
7352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
7353         HAVE_FTELLO.
7354         * lib/stdio_.h (ftello): New declaration.
7355         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
7356         HAVE_FTELLO.
7357
7358 2007-04-25  Bruno Haible  <bruno@clisp.org>
7359
7360         * modules/fseeko-tests: New file.
7361         * tests/test-fseeko.c: New file.
7362
7363         * modules/fseeko: New file.
7364         * m4/fseeko.m4: New file.
7365         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
7366         HAVE_FSEEKO.
7367         * lib/stdio_.h (fseeko): New declaration.
7368         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
7369         HAVE_FSEEKO.
7370
7371 2007-04-25  Bruno Haible  <bruno@clisp.org>
7372
7373         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
7374
7375 2007-04-25  Bruno Haible  <bruno@clisp.org>
7376
7377         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
7378         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
7379         * tests/test-unistd.c: Likewise.
7380         * tests/test-fcntl.c: Likewise.
7381
7382 2007-04-23  Eric Blake  <ebb9@byu.net>
7383
7384         * lib/fflush.c: Fix missing include.
7385         Reported by Bruno Haible.
7386
7387 2007-04-23  Bruno Haible  <bruno@clisp.org>
7388
7389         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
7390         Reported by Eric Blake.
7391
7392 2007-04-23  Bruno Haible  <bruno@clisp.org>
7393
7394         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
7395
7396 2007-04-23  Bruno Haible  <bruno@clisp.org>
7397
7398         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
7399
7400 2007-04-23  Bruno Haible  <bruno@clisp.org>
7401
7402         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
7403         Needed on HP-UX 11.
7404
7405 2007-04-16  Eric Blake  <ebb9@byu.net>
7406
7407         Make fflush rely on fpurge.
7408         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
7409         open coding all variants.
7410         * modules/fflush (Depends-on): Add fpurge and unistd.
7411         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
7412         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
7413
7414         Fix --with-tests compilation on cygwin.
7415         * modules/argmatch-tests (Makefile.am): List gnulib library first
7416         in LDADD.
7417         * modules/argp-tests (Makefile.am): Likewise.
7418         * modules/array-list-tests (Makefile.am): Likewise.
7419         * modules/array-oset-tests (Makefile.am): Likewise.
7420         * modules/avltree-list-tests (Makefile.am): Likewise.
7421         * modules/avltree-oset-tests (Makefile.am): Likewise.
7422         * modules/avltreehash-list-tests (Makefile.am): Likewise.
7423         * modules/carray-list-tests (Makefile.am): Likewise.
7424         * modules/dirname-tests (Makefile.am): Likewise.
7425         * modules/frexp-tests (Makefile.am): Likewise.
7426         * modules/isnanl-tests (Makefile.am): Likewise.
7427         * modules/linked-list-tests (Makefile.am): Likewise.
7428         * modules/linkedhash-list-tests (Makefile.am): Likewise.
7429         * modules/lock-tests (Makefile.am): Likewise.
7430         * modules/rbtree-list-tests (Makefile.am): Likewise.
7431         * modules/rbtree-oset-tests (Makefile.am): Likewise.
7432         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
7433         * modules/tls-tests (Makefile.am): Likewise.
7434         * modules/tsearch-tests (Makefile.am): Likewise.
7435         * modules/xvasprintf-tests (Makefile.am): Likewise.
7436
7437         Fix fpurge for cygwin.
7438         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
7439         value.
7440         * modules/fpurge-tests (Depends-on): Clean up trash.
7441
7442 2007-04-16  Simon Josefsson  <simon@josefsson.org>
7443
7444         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
7445
7446         * m4/autobuild.m4: Re-indent.
7447
7448 2007-04-13  Bruno Haible  <bruno@clisp.org>
7449
7450         * modules/fpurge-tests: New file.
7451         * tests/test-fpurge.c: New file.
7452
7453         * modules/fpurge: New file.
7454         * lib/fpurge.h: New file.
7455         * lib/fpurge.c: New file.
7456         * m4/fpurge.m4: New file.
7457
7458 2007-04-13  Bruno Haible  <bruno@clisp.org>
7459
7460         * modules/fbufmode-tests: New file.
7461         * tests/test-fbufmode.c: New file.
7462
7463         * modules/fbufmode: New file.
7464         * lib/fbufmode.h: New file.
7465         * lib/fbufmode.c: New file.
7466         * m4/fbufmode.m4: New file.
7467
7468 2007-04-13  Bruno Haible  <bruno@clisp.org>
7469
7470         * modules/fwritable-tests: New file.
7471         * tests/test-fwritable.c: New file.
7472
7473         * modules/fwritable: New file.
7474         * lib/fwritable.h: New file.
7475         * lib/fwritable.c: New file.
7476         * m4/fwritable.m4: New file.
7477
7478 2007-04-13  Bruno Haible  <bruno@clisp.org>
7479
7480         * modules/freadable-tests: New file.
7481         * tests/test-freadable.c: New file.
7482
7483         * modules/freadable: New file.
7484         * lib/freadable.h: New file.
7485         * lib/freadable.c: New file.
7486         * m4/freadable.m4: New file.
7487
7488 2007-04-13  Bruno Haible  <bruno@clisp.org>
7489
7490         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
7491         MOSTLYCLEANFILES.
7492
7493 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7494
7495         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
7496         gzip bootstrap.conf to avoid dragging in i18n machinery.
7497         (gnulib_tool_option): Use it.
7498
7499 2007-04-13  Bruno Haible  <bruno@clisp.org>
7500
7501         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
7502         %F directives.
7503         * tests/test-vasprintf-posix.c (test_function): Likewise.
7504         * tests/test-snprintf-posix.h (test_function): Likewise.
7505         * tests/test-sprintf-posix.h (test_function): Likewise.
7506         * tests/test-fprintf-posix.h (test_function): Likewise.
7507         * tests/test-printf-posix.h (test_function): Likewise.
7508         * tests/test-fprintf-posix.out: Likewise.
7509
7510 2007-04-13  Bruno Haible  <bruno@clisp.org>
7511
7512         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
7513         * modules/tls-tests (configure.ac): Likewise.
7514         Reported by Arto C. Nirkko <anirkko@insel.ch>.
7515
7516 2007-04-13  Bruno Haible  <bruno@clisp.org>
7517
7518         * lib/tls.c (glthread_tls_get): Fix return type.
7519         Patch by Arto C. Nirkko <anirkko@insel.ch>.
7520
7521 2007-04-12  Eric Blake  <ebb9@byu.net>
7522
7523         * modules/gettime (Depends-on): Remove gettime.
7524         Reported by Dmitry V. Levin.
7525
7526 2007-04-12  Bruno Haible  <bruno@clisp.org>
7527
7528         * modules/fflush (Include): Mention <stdio.h>.
7529         * modules/strtoimax (Include): Mention <inttypes.h>.
7530         * modules/strtoumax (Include): Likewise.
7531
7532 2007-04-12  Eric Blake  <ebb9@byu.net>
7533
7534         * .cvsignore: New file.
7535         * .gitignore: Likewise.
7536
7537 2007-04-12  Bruno Haible  <bruno@clisp.org>
7538
7539         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
7540         not before, since $(LDADD) often contains libgnu.a.
7541         * modules/striconv-tests (test_striconv_LDADD): Likewise.
7542         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
7543         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
7544         Needed on Cygwin.
7545
7546 2007-04-12  Eric Blake  <ebb9@byu.net>
7547
7548         Work around glibc's failure to flush stdin on fclose.
7549         * lib/closein.c (close_stdin): Flush stdin before closing.
7550
7551         Work around glibc's failure to reset seekable stdin on exit.
7552         * modules/closein: New module.
7553         * lib/closein.c: New file.
7554         * lib/closein.h: Likewise.
7555         * m4/closein.m4: Likewise.
7556         * MODULES.html.sh (File stream based Input/Output): Document it.
7557
7558 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7559
7560         * gnulib-tool: Rename generated 'autobuild' script to
7561         'do-autobuild' in --create-megatestdir output.
7562
7563         * doc/gnulib.texi (Build robot for gnulib): Fix.
7564
7565 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7566
7567         * modules/sysexits (Depends-on): Add absolute-header.
7568
7569 2007-04-12  Eric Blake  <ebb9@byu.net>
7570
7571         No need to preserve errno on success.
7572         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
7573         Reported by Bruno Haible.
7574
7575 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7576
7577         * MODULES.html.sh (Support for maintaining and releasing
7578         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
7579
7580 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7581
7582         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
7583
7584 2007-04-12  Simon Josefsson  <simon@josefsson.org>
7585
7586         * modules/autobuild: New module.
7587
7588         * m4/autobuild.m4: New file.
7589
7590 2007-04-11  Bruno Haible  <bruno@clisp.org>
7591
7592         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
7593         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
7594         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
7595         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
7596         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7597         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7598         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7599         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
7600         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7601         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7602         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
7603         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7604         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7605         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
7606         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7607         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7608         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
7609         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7610         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7611         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
7612         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7613         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7614         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
7615         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7616         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7617         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
7618         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
7619         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
7620         Reported by Eric Blake.
7621
7622 2007-04-11  Bruno Haible  <bruno@clisp.org>
7623
7624         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
7625
7626 2007-04-10  Bruno Haible  <bruno@clisp.org>
7627
7628         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
7629         for NaN and Infinity. Needed on FreeBSD 6.1.
7630         * tests/test-vasnprintf-posix.c (test_function): Undo last change
7631         regarding results for "%010a" of Infinity and NaN.
7632         * tests/test-vasprintf-posix.c (test_function): Likewise.
7633         * tests/test-snprintf-posix.h (test_function): Likewise.
7634         * tests/test-sprintf-posix.h (test_function): Likewise.
7635         * tests/test-fprintf-posix.h (test_function): Likewise.
7636         * tests/test-printf-posix.h (test_function): Likewise.
7637         * tests/test-fprintf-posix.out: Likewise.
7638
7639 2007-04-10  Bruno Haible  <bruno@clisp.org>
7640
7641         * modules/locale-tests: New file.
7642         * tests/test-locale.c: New file.
7643
7644         * modules/locale: New file.
7645         * lib/locale_.h: New file.
7646         * m4/locale_h.m4: New file.
7647
7648 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7649             Bruno Haible  <bruno@clisp.org>
7650
7651         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
7652         be determined, test for availability of the copysignf, copysign,
7653         copysignl functions.
7654         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
7655         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
7656         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
7657
7658 2007-04-09  Eric Blake  <ebb9@byu.net>
7659
7660         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
7661         * modules/stdio (Makefile.am): Support fflush.
7662         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
7663         * modules/fflush: New file.
7664         * lib/fflush.c: Likewise.
7665         * m4/fflush.m4: Likewise.
7666         * modules/fflush-tests: New test.
7667         * tests/test-fflush.c: Likewise.
7668         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
7669
7670 2007-04-06  Bruno Haible  <bruno@clisp.org>
7671
7672         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
7673         (VASNPRINTF): Use signbit for faster determination whether to print a
7674         minus sign.
7675         * modules/vasnprintf (Files): Remove lib/float+.h.
7676         * modules/fprintf-posix (Depends-on): Add signbit.
7677         * modules/snprintf-posix (Depends-on): Likewise.
7678         * modules/sprintf-posix (Depends-on): Likewise.
7679         * modules/vasnprintf-posix (Depends-on): Likewise.
7680         * modules/vasprintf-posix (Depends-on): Likewise.
7681         * modules/vfprintf-posix (Depends-on): Likewise.
7682         * modules/vsnprintf-posix (Depends-on): Likewise.
7683         * modules/vsprintf-posix (Depends-on): Likewise.
7684
7685 2007-04-06  Bruno Haible  <bruno@clisp.org>
7686
7687         * tests/test-frexp.c (main): Test also the sign bit of zero results.
7688         * tests/test-frexpl.c (main): Likewise.
7689         * tests/test-ldexpl.c (main): Likewise.
7690         * modules/frexp-tests (Depends-on): Add signbit.
7691         * modules/frexpl-tests (Depdends-on): Likewise.
7692         * modules/ldexpl-tests (Depdends-on): Likewise.
7693
7694 2007-04-06  Bruno Haible  <bruno@clisp.org>
7695
7696         * modules/signbit-tests: New file.
7697         * tests/test-signbit.c: New file.
7698
7699         * modules/signbit: New file.
7700         * lib/signbitf.c: New file.
7701         * lib/signbitd.c: New file.
7702         * lib/signbitl.c: New file.
7703         * m4/signbit.m4: New file.
7704         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
7705         (signbit): New macro.
7706         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
7707         REPLACE_SIGNBIT.
7708         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
7709         REPLACE_FREXPL into math.h.
7710
7711 2007-04-06  Bruno Haible  <bruno@clisp.org>
7712
7713         * modules/isnanf-nolibm-tests: New file.
7714         * tests/test-isnanf.c: New file.
7715
7716         * modules/isnanf-nolibm: New file.
7717         * lib/isnanf.h: New file.
7718         * lib/isnanf.c: New file.
7719         * lib/isnan.c: Consider the USE_FLOAT macro.
7720         * m4/isnanf.m4: New file.
7721
7722 2007-04-06  Bruno Haible  <bruno@clisp.org>
7723
7724         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
7725         (Link): New section.
7726
7727         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
7728
7729 2007-04-06  Bruno Haible  <bruno@clisp.org>
7730
7731         Assume the 'long double' type.
7732         * m4/longdouble.m4: Remove file.
7733         * config/srclist.txt: Don't mention longdouble.m4.
7734         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
7735         * lib/float+.h: Likewise.
7736         * lib/frexp.c: Likewise.
7737         * lib/printf-args.h: Likewise.
7738         * lib/printf-args.c: Likewise.
7739         * lib/printf-frexp.c: Likewise.
7740         * lib/printf-parse.c: Likewise.
7741         * lib/vasnprintf.c: Likewise.
7742         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
7743         * m4/intl.m4: Likewise.
7744         * m4/isnanl.m4: Likewise.
7745         * m4/printf.m4: Likewise.
7746         * m4/printf-frexpl.m4: Likewise.
7747         * m4/vasnprintf.m4: Likewise.
7748         * modules/allocsa (Files): Remove m4/longdouble.m4.
7749         * modules/gettext (Files): Likewise.
7750         * modules/relocatable-prog-wrapper (Files): Likewise.
7751         * modules/vasnprintf (Files): Likewise.
7752         * modules/isnanl (Files): Likewise.
7753         (Include): Simplify.
7754         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
7755         (Include): Simplify.
7756         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
7757         (Include): Simplify.
7758         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
7759         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7760         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
7761         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7762         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
7763         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7764         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
7765         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7766         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
7767         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7768         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
7769         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
7770         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
7771         * tests/test-isnanl.c: Likewise.
7772         * tests/test-snprintf-posix.h: Likewise.
7773         * tests/test-sprintf-posix.h: Likewise.
7774         * tests/test-vasnprintf-posix.c: Likewise.
7775         * tests/test-vasnprintf-posix2.c: Likewise.
7776         * tests/test-vasprintf-posix.c: Likewise.
7777
7778 2007-04-06  Bruno Haible  <bruno@clisp.org>
7779
7780         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
7781         * lib/math_.h [__DECC]: Include the overridden include file through
7782         #include_next, outside the double-inclusion guard.
7783         * lib/stdio_.h [__DECC]: Likewise.
7784         * lib/stdlib_.h [__DECC]: Likewise.
7785         * lib/string_.h [__DECC]: Likewise.
7786         * lib/time_.h [__DECC]: Likewise.
7787         * lib/wchar_.h [__DECC]: Likewise.
7788         * lib/wctype_.h [__DECC]: Likewise.
7789         * lib/inttypes_.h [__DECC]: Likewise.
7790         Reported by Albert Chin <china@thewrittenword.com> in
7791         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
7792
7793 2007-04-04  Eric Blake  <ebb9@byu.net>
7794
7795         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
7796         1.5.x.
7797
7798 2007-04-04  Bruno Haible  <bruno@clisp.org>
7799
7800         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
7801         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
7802
7803 2007-04-04  Bruno Haible  <bruno@clisp.org>
7804
7805         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
7806         results for "%010a" of Infinity and NaN.
7807         * tests/test-vasprintf-posix.c (test_function): Likewise.
7808         * tests/test-snprintf-posix.h (test_function): Likewise.
7809         * tests/test-sprintf-posix.h (test_function): Likewise.
7810         * tests/test-fprintf-posix.h (test_function): Remove these tests.
7811         * tests/test-printf-posix.h (test_function): Likewise.
7812         * tests/test-fprintf-posix.out: Update.
7813         Needed for FreeBSD 6.1.
7814
7815 2007-04-04  Bruno Haible  <bruno@clisp.org>
7816
7817         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
7818         directly used by the gnulib modules nor by gnulib-tool.
7819
7820 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
7821
7822         * DEPENDENCIES: Give overall description of version dependency
7823         desirability.  Use more-typical names for apps.
7824         Add shell, coreutils, diffutils, grep, tar, gzip.
7825
7826 2007-04-04  Simon Josefsson  <simon@josefsson.org>
7827
7828         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
7829
7830 2007-04-04  Karl Berry  <karl@gnu.org>
7831
7832         * MODULES.html.sh (func_module): missing '.
7833
7834 2007-04-03  Bruno Haible  <bruno@clisp.org>
7835
7836         * modules/argmatch-tests (Makefile.am): New variable
7837         test_argmatch_LDADD.
7838         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
7839         * modules/array-list-tests (Makefile.am): New variable
7840         test_array_list_LDADD.
7841         * modules/array-oset-tests (Makefile.am): New variable
7842         test_array_oset_LDADD.
7843         * modules/avltree-list-tests (Makefile.am): New variable
7844         test_avltree_list_LDADD.
7845         * modules/avltree-oset-tests (Makefile.am): New variable
7846         test_avltree_oset_LDADD.
7847         * modules/avltreehash-list-tests (Makefile.am): New variable
7848         test_avltreehash_list_LDADD.
7849         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
7850         test_canonicalize_lgpl_LDADD.
7851         * modules/carray-list-tests (Makefile.am): New variable
7852         test_carray_list_LDADD.
7853         * modules/dirname-tests (Makefile.am): New variable
7854         test_dirname_LDADD.
7855         * modules/linked-list-tests (Makefile.am): New variable
7856         test_linked_list_LDADD.
7857         * modules/linkedhash-list-tests (Makefile.am): New variable
7858         test_linkedhash_list_LDADD.
7859         * modules/rbtree-list-tests (Makefile.am): New variable
7860         test_rbtree_list_LDADD.
7861         * modules/rbtree-oset-tests (Makefile.am): New variable
7862         test_rbtree_oset_LDADD.
7863         * modules/rbtreehash-list-tests (Makefile.am): New variable
7864         test_rbtreehash_list_LDADD.
7865         * modules/xvasprintf-tests (Makefile.am): New variable
7866         test_xvasprintf_LDADD.
7867         Reported by Eric Blake.
7868
7869 2007-04-03  Eric Blake  <ebb9@byu.net>
7870
7871         * DEPENDENCIES: Weaken m4 requirements.
7872
7873 2007-04-03  Bruno Haible  <bruno@clisp.org>
7874
7875         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
7876         * modules/isnanl-tests (configure.ac): Likewise.
7877
7878 2007-04-03  Ben Pfaff  <blp@gnu.org>
7879
7880         * modules/iconv_open: Add $(srcdir)/ to source directory
7881         references in Makefile fragments that call gperf, to fix VPATH
7882         builds.
7883
7884 2007-04-03  Bruno Haible  <bruno@clisp.org>
7885
7886         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
7887         * lib/ldexpl.c: Undo last change.
7888
7889 2007-04-03  Bruno Haible  <bruno@clisp.org>
7890
7891         * modules/printf-frexpl (Depends-on): Undo last change.
7892         (Files): Add m4/ldexpl.m4.
7893
7894 2007-04-03  Bruno Haible  <bruno@clisp.org>
7895
7896         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
7897         * modules/isnanl (Link): New section.
7898
7899         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
7900         * modules/frexp (Link): New section.
7901
7902         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
7903         * modules/frexpl (Link): New section.
7904
7905         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
7906         * modules/ldexpl (Link): New section.
7907
7908 2007-04-03  Bruno Haible  <bruno@clisp.org>
7909
7910         * modules/TEMPLATE-EXTENDED: New file.
7911         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
7912
7913 2007-04-03  Bruno Haible  <bruno@clisp.org>
7914
7915         * DEPENDENCIES: New file.
7916         Suggested by Simon Josefsson.
7917
7918 2007-04-03  Bruno Haible  <bruno@clisp.org>
7919
7920         * doc/gnulib.texi: Escape @.
7921
7922 2007-04-03  James Youngman  <jay@gnu.org>
7923         and Paul Eggert  <eggert@cs.ucla.edu>
7924
7925         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
7926         birthtime on all systems that have birthtime, not just those which
7927         use st_birthtimensec rather than st_birthtim.  Putting zero in
7928         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
7929         that the birth time is not available for files on an NFS mount.
7930
7931 2007-04-03  Simon Josefsson  <simon@josefsson.org>
7932
7933         * modules/memxor: Move back from crypto/, suggested by Bruno.
7934         * modules/crypto/hmac-sha1: Fix memxor dependency.
7935
7936         * modules/crypto/gc: Moved from ../.
7937
7938 2007-04-02  Eric Blake  <ebb9@byu.net>
7939
7940         * lib/ldexpl.c (includes): Avoid libm.
7941
7942         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
7943
7944 2007-04-02  Bruno Haible  <bruno@clisp.org>
7945
7946         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
7947         on IRIX.
7948
7949 2007-04-02  Bruno Haible  <bruno@clisp.org>
7950
7951         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
7952         x86 or x86_64 platforms running MacOS X.
7953         Reported by Ryan Schmidt <@ryandesign.com>.
7954
7955 2007-04-02  Bruno Haible  <bruno@clisp.org>
7956
7957         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
7958         i386.
7959
7960 2007-04-01  Simon Josefsson  <simon@josefsson.org>
7961
7962         * modules/crypto/arcfour: Moved from ../.
7963         * modules/crypto/arcfour-tests: Moved from ../.
7964         * modules/crypto/arctwo: Moved from ../.
7965         * modules/crypto/arctwo-tests: Moved from ../.
7966         * modules/crypto/des: Moved from ../.
7967         * modules/crypto/des-tests: Moved from ../.
7968         * modules/crypto/gc-arcfour: Moved from ../.
7969         * modules/crypto/gc-arcfour-tests: Moved from ../.
7970         * modules/crypto/gc-arctwo: Moved from ../.
7971         * modules/crypto/gc-arctwo-tests: Moved from ../.
7972         * modules/crypto/gc-des: Moved from ../.
7973         * modules/crypto/gc-des-tests: Moved from ../.
7974         * modules/crypto/gc-hmac-md5: Moved from ../.
7975         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
7976         * modules/crypto/gc-hmac-sha1: Moved from ../.
7977         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
7978         * modules/crypto/gc-md2: Moved from ../.
7979         * modules/crypto/gc-md2-tests: Moved from ../.
7980         * modules/crypto/gc-md4: Moved from ../.
7981         * modules/crypto/gc-md4-tests: Moved from ../.
7982         * modules/crypto/gc-md5: Moved from ../.
7983         * modules/crypto/gc-md5-tests: Moved from ../.
7984         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
7985         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
7986         * modules/crypto/gc-random: Moved from ../.
7987         * modules/crypto/gc-rijndael: Moved from ../.
7988         * modules/crypto/gc-rijndael-tests: Moved from ../.
7989         * modules/crypto/gc-sha1: Moved from ../.
7990         * modules/crypto/gc-sha1-tests: Moved from ../.
7991         * modules/crypto/gc-tests: Moved from ../.
7992         * modules/crypto/hmac-md5: Moved from ../.
7993         * modules/crypto/hmac-md5-tests: Moved from ../.
7994         * modules/crypto/hmac-sha1: Moved from ../.
7995         * modules/crypto/hmac-sha1-tests: Moved from ../.
7996         * modules/crypto/md2: Moved from ../.
7997         * modules/crypto/md2-tests: Moved from ../.
7998         * modules/crypto/md4: Moved from ../.
7999         * modules/crypto/md4-tests: Moved from ../.
8000         * modules/crypto/md5: Moved from ../.
8001         * modules/crypto/md5-tests: Moved from ../.
8002         * modules/crypto/memxor: Moved from ../.
8003         * modules/crypto/rijndael: Moved from ../.
8004         * modules/crypto/rijndael-tests: Moved from ../.
8005         * modules/crypto/sha1: Moved from ../.
8006
8007 2007-03-30  James Youngman  <jay@gnu.org>
8008
8009         * tests/test-stat-time.c (prepare_test): use chmod() rather than
8010         rename() to change the ctime of a file (because ctime is unaffected
8011         by rename on jfs2 on AIX 5.1).
8012         (main): Start by doing cleanup, in case a previous run failed leaving
8013         test files behind.
8014
8015 2007-03-31  Bruno Haible  <bruno@clisp.org>
8016
8017         Support old proprietary implementations of iconv.
8018         * modules/iconv_open: New file.
8019         * lib/iconv_.h: New file.
8020         * m4/iconv_h.m4: New file.
8021         * lib/iconv_open.c: New file.
8022         * lib/iconv_open-aix.gperf: New file.
8023         * lib/iconv_open-hpux.gperf: New file.
8024         * lib/iconv_open-irix.gperf: New file.
8025         * lib/iconv_open-osf.gperf: New file.
8026         * m4/iconv_open.m4: New file.
8027         * modules/linebreak (Depends-on): Add iconv_open.
8028         * modules/striconv (Depends-on): Likewise.
8029         * modules/striconveh (Depends-on): Likewise.
8030         * modules/unicodeio (Depends-on): Likewise.
8031         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
8032         (iconv_t)(-1).
8033         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
8034         conversion if cd is (iconv_t)(-1).
8035         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
8036         is not possible.
8037
8038 2007-03-31  Bruno Haible  <bruno@clisp.org>
8039
8040         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
8041         work on Solaris either. Protect also second use of "autodetect_jp".
8042
8043 2007-03-31  Bruno Haible  <bruno@clisp.org>
8044
8045         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
8046         the function is not present.
8047
8048 2007-03-31  Bruno Haible  <bruno@clisp.org>
8049
8050         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
8051         the function is not present.
8052
8053 2007-03-31  Bruno Haible  <bruno@clisp.org>
8054
8055         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
8056         a bug in HP-UX iconv_open().
8057
8058 2007-03-31  Bruno Haible  <bruno@clisp.org>
8059
8060         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
8061         (Mathematics <math.h>): New section, add fpieee.
8062         (Input/output <stdio.h>): Add fseterr.
8063         (Mathematics <math.h>): New section, add printf-frexp.
8064         (Container data structures): Add sublist.
8065         (Core language properties): Add fpucw, inline.
8066         (Functions for greatest-width integer types <inttypes.h>): Add
8067         imaxabs, imaxdiv, inttypes.
8068         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
8069         isnanl-nolibm, ldexp.
8070         (Mathematics <math.h>): New section, add printf-frexpl.
8071         (Support for systems lacking POSIX:2001): Add fprintf-posix,
8072         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
8073         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
8074         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
8075         (Unicode string functions): Add unistr/u*-mbtoucr.
8076         (Java): Add javacomp-script, javaexec-script.
8077         (C#): Add csharpcomp-script, csharpexec-script.
8078         (Support for building libraries and executables): Add havelib,
8079         relocatable-*.
8080         (Support for maintaining and releasing projects): Renamed from
8081         'Support for maintaining and release projects'. Add announce-gen.
8082
8083 2007-03-31  Bruno Haible  <bruno@clisp.org>
8084
8085         * README: Talk primarily about git.
8086         (git and CVS): Renamed from CVS.
8087         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
8088         gnulib is available through git.
8089         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
8090
8091 2007-03-30  Bruno Haible  <bruno@clisp.org>
8092
8093         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
8094         * lib/poll_.h: Likewise.
8095         * lib/stat_.h: Likewise.
8096         * lib/sys_time_.h: Likewise.
8097         * lib/sysexit_.h: Likewise.
8098         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
8099         * lib/stdbool_.h: Likewise.
8100         * lib/byteswap_.h: Add double-inclusion guard.
8101
8102 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
8103
8104         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
8105
8106 2007-03-30  Karl Berry  <karl@gnu.org>
8107
8108         * config/srclist-update: double space after USA in the license
8109         substitution, since that's how it's usually (?) written.
8110
8111 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
8112
8113         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
8114         reported by Bruno Haible.
8115
8116 2007-03-29  Bruno Haible  <bruno@clisp.org>
8117
8118         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
8119         a bug in AIX iconv().
8120
8121 2007-03-29  Bruno Haible  <bruno@clisp.org>
8122
8123         * modules/ldexpl-tests: New file.
8124         * tests/test-ldexpl.c: New file.
8125
8126 2007-03-29  Bruno Haible  <bruno@clisp.org>
8127
8128         * lib/ldexpl.c: Include fpucw.h.
8129         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
8130         multiplication.
8131         * modules/ldexpl (Depends-on): Add fpucw.
8132
8133 2007-03-29  Bruno Haible  <bruno@clisp.org>
8134
8135         * modules/ldexpl: New file.
8136         * m4/ldexpl.m4: New file.
8137         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
8138         set.
8139         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
8140         REPLACE_LDEXPL.
8141         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
8142         REPLACE_LDEXPL.
8143         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
8144         gl_FUNC_LDEXPL_WORKS.
8145         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
8146         * modules/mathl (Files): Remove lib/ldexpl.c.
8147         (Depends-on): Add ldexpl.
8148
8149 2007-03-29  Bruno Haible  <bruno@clisp.org>
8150
8151         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
8152
8153 2007-03-29  Bruno Haible  <bruno@clisp.org>
8154
8155         * tests/test-striconveh.c (main): Don't assume that a direct conversion
8156         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
8157         and possibly also HP-UX.
8158         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
8159         work on AIX, IRIX, HP-UX, OSF/1.
8160         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
8161         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
8162         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
8163         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
8164         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
8165         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
8166
8167 2007-03-29  Bruno Haible  <bruno@clisp.org>
8168
8169         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
8170
8171 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
8172
8173         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
8174         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
8175
8176 2007-03-29  Eric Blake  <ebb9@byu.net>
8177
8178         * lib/acl-internal.h: Remove redundant include.
8179         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
8180         Cygwin when a file is locked.
8181
8182 2007-03-29  Bruno Haible  <bruno@clisp.org>
8183
8184         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
8185         file.
8186         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
8187
8188 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
8189
8190         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
8191         try to remove a parent directory if the child couldn't be removed
8192         (except for the first rmdir, which could fail because the child
8193         doesn't exist).  Problem reported by Jeff Blaine in
8194         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
8195
8196 2007-03-28  Bruno Haible  <bruno@clisp.org>
8197
8198         * lib/striconveh.c (utf8conv_carefully): New function.
8199         (mem_cd_iconveh_internal): Invoke it.
8200
8201 2007-03-28  Bruno Haible  <bruno@clisp.org>
8202
8203         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
8204         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
8205         input.
8206         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
8207         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
8208         unistr/u8-uctomb.
8209
8210 2007-03-28  Bruno Haible  <bruno@clisp.org>
8211
8212         * modules/unistr/u8-mbtoucr: New file.
8213         * lib/unistr/u8-mbtoucr.c: New file.
8214         * modules/unistr/u16-mbtoucr: New file.
8215         * lib/unistr/u16-mbtoucr.c: New file.
8216         * modules/unistr/u16-mbtoucr: New file.
8217         * lib/unistr/u16-mbtoucr.c: New file.
8218         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
8219
8220 2007-03-27  Simon Josefsson  <simon@josefsson.org>
8221             Bruno Haible  <bruno@clisp.org>
8222
8223         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
8224         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
8225         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
8226
8227         * m4/stdio_h.m4: Add stubs for vasprintf too.
8228
8229         * modules/stdio: Support vasprintf in sed command.
8230
8231         * modules/vasprintf: Depend on stdio for prototypes.  Remove
8232         vasprintf.h.  Add stdio module indicator.
8233
8234         * lib/stdio_.h: Declare asprintf and vasprintf, based on
8235         vasprintf.h.
8236
8237         * lib/vasprintf.h: File removed.
8238
8239         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
8240         * lib/vasprintf.c: Ditto.
8241         * lib/xvasprintf.c: Ditto.
8242         * tests/test-vasprintf-posix.c: Ditto.
8243         * tests/test-vasprintf.c: Ditto.
8244
8245 2007-03-27  Bruno Haible  <bruno@clisp.org>
8246
8247         Make vasnprintf multithread-safe.
8248         * lib/vasnprintf.c (decimal_point_char): New function.
8249         (VASNPRINTF): Use it.
8250         Suggested by Simon Josefsson.
8251
8252 2007-03-27  Eric Blake  <ebb9@byu.net>
8253
8254         Support sub-second birthtime on cygwin.
8255         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
8256         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
8257         (get_stat_birthtime): Also work with st_birthtim.
8258
8259 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
8260
8261         * lib/stat-time.h (USE_BIRTHTIME): Remove.
8262         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
8263         (get_stat_birthtime_ns): Do not try to use "spare" fields.
8264         (get_stat_birthtime_ns): Simplify compile-time tests.
8265         (get_stat_birthtime): Change the API to look like
8266         get_stat_mtime etc., except return a negative tv_nsec on error.
8267         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
8268         Don't check for "spare" fields.
8269         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
8270         or for struct stat.st_birthtime, as these tests aren't used.
8271         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
8272
8273 2007-03-27  Bruno Haible  <bruno@clisp.org>
8274
8275         * lib/stat-time.h: Include <sys/stat.h>.
8276
8277 2007-03-27  James Youngman  <jay@gnu.org>
8278
8279         * lib/stat-time.h (get_stat_birthtime): New function for
8280           retrieving st_birthtime as provided by UFS2 (hence *BSD).
8281         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
8282           and its variants.
8283         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
8284         * modules/stat-time-test: New file.
8285         * tests/test-stat-time.c: New test, devised by Bruno Haible.
8286
8287 2007-03-26  Bruno Haible  <bruno@clisp.org>
8288
8289         Better support of signalling NaNs.
8290         * lib/atanl.c: Include isnanl.h.
8291         (atanl): Perform test for NaN at the beginning of the function and
8292         through a call to isnanl.
8293         * lib/cosl.c: Include isnanl.h.
8294         (cosl): Perform test for NaN at the beginning of the function and
8295         through a call to isnanl.
8296         * lib/ldexpl.c: Include isnanl.h.
8297         (ldexpl): Perform test for NaN through a call to isnanl.
8298         * lib/logl.c: Include isnanl.h.
8299         (logl): Perform test for NaN at the beginning of the function and
8300         through a call to isnanl.
8301         * lib/sinl.c: Include isnanl.h.
8302         (sinl): Perform test for NaN at the beginning of the function and
8303         through a call to isnanl.
8304         * lib/sqrtl.c: Include isnanl.h.
8305         (sqrtl): Perform test for NaN at the beginning of the function and
8306         through a call to isnanl.
8307         * lib/tanl.c: Include isnanl.h.
8308         (tanl): Perform test for NaN at the beginning of the function and
8309         through a call to isnanl.
8310         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
8311         * modules/mathl (Depends-on): Add isnanl.
8312
8313 2007-03-26  Eric Blake  <ebb9@byu.net>
8314
8315         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
8316         regression in logic sense of previous patch.
8317
8318 2007-03-26  Bruno Haible  <bruno@clisp.org>
8319
8320         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
8321         unportable shell command "if ! ...".
8322         Reported by Ralf Wildenhues.
8323
8324 2007-03-25  Bruno Haible  <bruno@clisp.org>
8325
8326         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
8327         <sysexits.h> file, and only add EX_CONFIG.
8328         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
8329         absolute file name and whether it is sufficient. Substitute also
8330         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
8331         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
8332         ABSOLUTE_SYSEXITS_H into sysexits.h.
8333
8334 2007-03-25  Bruno Haible  <bruno@clisp.org>
8335
8336         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
8337         hints is NULL.
8338
8339 2007-03-25  Bruno Haible  <bruno@clisp.org>
8340
8341         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
8342         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
8343
8344 2007-03-25  Bruno Haible  <bruno@clisp.org>
8345
8346         * lib/vasnprintf.c: Include langinfo.h.
8347         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
8348         multithread-safe.
8349         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
8350         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
8351         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
8352         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
8353         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
8354         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
8355         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
8356         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
8357         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
8358         Reported by Simon Josefsson.
8359
8360 2007-03-25  Bruno Haible  <bruno@clisp.org>
8361
8362         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
8363         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
8364         * modules/vasnprintf (Depends-on): Add stdint.
8365
8366 2007-03-25  Bruno Haible  <bruno@clisp.org>
8367
8368         * modules/fpieee: New file.
8369         * m4/fpieee.m4: New file.
8370         * modules/isnan-nolibm (Depends-on): Add fpieee.
8371         * modules/isnanl-nolibm (Depends-on): Add fpieee.
8372         * modules/isnanl (Depends-on): Add fpieee.
8373
8374 2007-03-25  Bruno Haible  <bruno@clisp.org>
8375
8376         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
8377
8378 2007-03-25  Bruno Haible  <bruno@clisp.org>
8379
8380         Avoid test failures on IRIX 6.5.
8381         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
8382         (main): Use it.
8383         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
8384         macros.
8385         (main): Use them.
8386
8387 2007-03-25  Bruno Haible  <bruno@clisp.org>
8388
8389         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
8390         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
8391         exists but doesn't work.
8392         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
8393         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
8394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
8395         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
8396
8397 2007-03-25  Bruno Haible  <bruno@clisp.org>
8398
8399         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
8400         returns inf. Needed on IRIX 6.5.
8401
8402 2007-03-25  Bruno Haible  <bruno@clisp.org>
8403
8404         * tests/test-frexpl.c: Include isnanl-nolibm.h.
8405         (main): Use isnanl instead of x != x idiom.
8406         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
8407
8408         * tests/test-frexp.c: Include isnan.h.
8409         (main): Use isnan instead of x != x idiom.
8410         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
8411
8412 2007-03-25  Bruno Haible  <bruno@clisp.org>
8413
8414         * tests/test-frexp.c (NaN): New function/macro.
8415         (main): Use it instead of 0.0 / 0.0.
8416         * tests/test-isnan.c (NaN): New function/macro.
8417         (main): Use it instead of 0.0 / 0.0.
8418         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
8419         (test_function): Use it instead of 0.0 / 0.0.
8420         * tests/test-vasprintf-posix.c (NaN): New function/macro.
8421         (test_function): Use it instead of 0.0 / 0.0.
8422         * tests/test-snprintf-posix.h (NaN): New function/macro.
8423         (test_function): Use it instead of 0.0 / 0.0.
8424         * tests/test-sprintf-posix.h (NaN): New function/macro.
8425         (test_function): Use it instead of 0.0 / 0.0.
8426         * tests/test-fprintf-posix.h (NaN): New function/macro.
8427         (test_function): Use it instead of 0.0 / 0.0.
8428         * tests/test-printf-posix.h (NaN): New function/macro.
8429         (test_function): Use it instead of 0.0 / 0.0.
8430
8431         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
8432
8433 2007-03-25  Bruno Haible  <bruno@clisp.org>
8434
8435         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
8436
8437 2007-03-25  Bruno Haible  <bruno@clisp.org>
8438
8439         * lib/regexec.c (merge_state_with_log): Make static.
8440
8441 2007-03-25  Bruno Haible  <bruno@clisp.org>
8442
8443         * lib/trigl.c (kernel_rem_pio2): Make static.
8444
8445 2007-03-25  Bruno Haible  <bruno@clisp.org>
8446
8447         * lib/sincosl.c (sincosl_table): Make static.
8448
8449 2007-03-25  Bruno Haible  <bruno@clisp.org>
8450
8451         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
8452         if the compiler does not support C99.
8453
8454 2007-03-25  Bruno Haible  <bruno@clisp.org>
8455
8456         * modules/time (Makefile.am): Ensure all rule action lines start with a
8457         tab.
8458
8459 2007-03-24  Bruno Haible  <bruno@clisp.org>
8460
8461         * modules/tsearch-tests: New file.
8462         * tests/test-tsearch.sh: New file.
8463         * tests/test-tsearch.c: New file, mostly copied from glibc.
8464
8465         * modules/search-tests: New file.
8466         * tests/test-search.c: New file.
8467
8468         * modules/search: New file.
8469         * lib/search_.h: New file, incorporating lib/tsearch.h.
8470         * m4/search_h.m4: New file.
8471         * lib/tsearch.h: Remove file.
8472         * lib/tsearch.c: Include search.h instead of tsearch.h.
8473         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
8474         HAVE_TSEARCH.
8475         * modules/tsearch (Files): Remove lib/tsearch.h.
8476         (Depends-on): Add search.
8477         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
8478         (Include): Change tsearch.h into search.h.
8479
8480 2007-03-24  Bruno Haible  <bruno@clisp.org>
8481
8482         * modules/fpucw: New file.
8483         * lib/fpucw.h: New file.
8484         * lib/frexp.c: Include fpucw.h.
8485         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
8486         (FUNC): Use them.
8487         * lib/printf-frexp.c: Include fpucw.h.
8488         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
8489         (FUNC): Use them.
8490         * lib/vasnprintf.c: Include fpucw.h.
8491         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
8492         'long double' calculations.
8493         * tests/test-frexpl.c: Include fpucw.h.
8494         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
8495         * tests/test-printf-frexpl.c: Include fpucw.h.
8496         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
8497         * modules/frexpl (Depends-on): Add fpucw.
8498         * modules/printf-frexpl (Depends-on): Likewise.
8499         * modules/fprintf-posix (Depends-on): Likewise.
8500         * modules/snprintf-posix (Depends-on): Likewise.
8501         * modules/sprintf-posix (Depends-on): Likewise.
8502         * modules/vasnprintf-posix (Depends-on): Likewise.
8503         * modules/vasprintf-posix (Depends-on): Likewise.
8504         * modules/vfprintf-posix (Depends-on): Likewise.
8505         * modules/vsnprintf-posix (Depends-on): Likewise.
8506         * modules/vsprintf-posix (Depends-on): Likewise.
8507         * modules/frexpl-tests (Depends-on): Likewise.
8508         * modules/printf-frexpl-tests (Depends-on): Likewise.
8509
8510 2007-03-24  Bruno Haible  <bruno@clisp.org>
8511
8512         * lib/float+.h: New file.
8513         * lib/isnan.c: Include float+.h.
8514         (SIZE): New macro.
8515         (FUNC): Compare only SIZE bytes of the value.
8516         * lib/vasnprintf.c: Include float+.h.
8517         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
8518         SIZEOF_LDBL or SIZEOF_DBL bytes.
8519         * modules/isnan-nolibm (Files): Add lib/float+.h.
8520         * modules/isnanl-nolibm (Files): Add lib/float+.h.
8521         * modules/isnanl (Files): Add lib/float+.h.
8522         * modules/vasnprintf (Files): Add lib/float+.h.
8523
8524 2007-03-24  Bruno Haible  <bruno@clisp.org>
8525
8526         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
8527         include isnanl-nolibm.h.
8528
8529 2007-03-24  Bruno Haible  <bruno@clisp.org>
8530
8531         * tests/test-read-file.c (main): Don't produce spurious output for
8532         expected situations. Make the test fail if it encountered unexpected
8533         results.
8534
8535 2007-03-24  Bruno Haible  <bruno@clisp.org>
8536
8537         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
8538         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
8539
8540 2007-03-24  Bruno Haible  <bruno@clisp.org>
8541
8542         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
8543
8544 2007-03-24  Bruno Haible  <bruno@clisp.org>
8545
8546         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
8547         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
8548
8549         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
8550         * modules/utf8-ucs4: Turn into a symbolic link to module
8551         unistr/u8-mbtouc.
8552
8553         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
8554         utf8-ucs4-unsafe.
8555         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
8556         unistr/u8-mbtouc-unsafe.
8557
8558         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
8559         * modules/utf16-ucs4: Turn into a symbolic link to module
8560         unistr/u16-mbtouc.
8561
8562         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
8563         utf16-ucs4-unsafe.
8564         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
8565         unistr/u16-mbtouc-unsafe.
8566
8567         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
8568         * modules/ucs4-utf8: Turn into a symbolic link to module
8569         unistr/u8-ubtomb.
8570
8571         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
8572         * modules/ucs4-utf16: Turn into a symbolic link to module
8573         unistr/u16-ubtomb.
8574
8575 2007-03-24  Bruno Haible  <bruno@clisp.org>
8576
8577         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
8578         Enable the function only if HAVE_INLINE.
8579         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
8580         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
8581         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
8582         Enable the function only if HAVE_INLINE.
8583         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
8584         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
8585         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
8586         Enable the function only if HAVE_INLINE.
8587         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
8588         Enable the function only if HAVE_INLINE.
8589         * modules/utf8-ucs4: Update.
8590         * modules/utf8-ucs4-unsafe: Update.
8591         * modules/utf16-ucs4: Update.
8592         * modules/utf16-ucs4-unsafe: Update.
8593         * modules/ucs4-utf8: Update.
8594         * modules/ucs4-utf16: Update.
8595
8596 2007-03-24  Bruno Haible  <bruno@clisp.org>
8597
8598         * lib/utf8-ucs4.h: Remove file.
8599         * lib/utf8-ucs4-unsafe.h: Remove file.
8600         * lib/utf16-ucs4.h: Remove file.
8601         * lib/utf16-ucs4-unsafe.h: Remove file.
8602         * lib/ucs4-utf8.h: Remove file.
8603         * lib/ucs4-utf16.h: Remove file.
8604         * lib/unistr.h: Include their previous contents.
8605         * m4/utf-ucs4.m4: Remove file.
8606         * m4/ucs4-utf.m4: Remove file.
8607         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
8608         (Depends-on): Add unistr/base.
8609         (configure.ac): Remove gl_UTF_UCS4.
8610         (Makefile.am): Update.
8611         (Include): Change to unistr.h.
8612         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
8613         (Depends-on): Add unistr/base.
8614         (configure.ac): Remove gl_UTF_UCS4.
8615         (Makefile.am): Update.
8616         (Include): Change to unistr.h.
8617         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
8618         (Depends-on): Add unistr/base.
8619         (configure.ac): Remove gl_UTF_UCS4.
8620         (Makefile.am): Update.
8621         (Include): Change to unistr.h.
8622         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
8623         (Depends-on): Add unistr/base.
8624         (configure.ac): Remove gl_UTF_UCS4.
8625         (Makefile.am): Update.
8626         (Include): Change to unistr.h.
8627         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
8628         (Depends-on): Add unistr/base.
8629         (configure.ac): Remove gl_UCS4_UTF.
8630         (Makefile.am): Update.
8631         (Include): Change to unistr.h.
8632         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
8633         (Depends-on): Add unistr/base.
8634         (configure.ac): Remove gl_UCS4_UTF.
8635         (Makefile.am): Update.
8636         (Include): Change to unistr.h.
8637         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
8638         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
8639         utf8-ucs4-unsafe.h.
8640         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
8641         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
8642         utf16-ucs4-unsafe.h.
8643         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
8644         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
8645         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
8646         * lib/unistr/u8-strchr.c: Likewise.
8647         * lib/unistr/u8-strrchr.c: Likewise.
8648         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
8649         * lib/unistr/u16-strchr.c: Likewise.
8650         * lib/unistr/u16-strrchr.c: Likewise.
8651         * lib/striconveh.c: Update.
8652         * lib/linebreak.c: Update.
8653
8654 2007-03-24  Bruno Haible  <bruno@clisp.org>
8655
8656         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
8657         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
8658
8659 2007-03-22  Bruno Haible  <bruno@clisp.org>
8660
8661         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
8662
8663 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
8664
8665         * MODULES.html.sh (File system functions): New module write-any-file.
8666         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
8667         * m4/write-any-file.m4: New files.
8668
8669 2007-03-23  Eric Blake  <ebb9@byu.net>
8670
8671         * gnulib-tool: Rearrange space-tab sequences, since some editors
8672         like to eat them.
8673
8674 2007-03-23  Eric Blake  <ebb9@byu.net>
8675
8676         * lib/version-etc.c (version_etc_va): Update license wording to
8677         be more concise.  Recommended by Richard Stallman.
8678
8679 2007-03-22  Bruno Haible  <bruno@clisp.org>
8680
8681         * lib/poll.c (MSG_PEEK): New fallback definition.
8682
8683 2007-03-22  Bruno Haible  <bruno@clisp.org>
8684
8685         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
8686         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
8687         (main): Update.
8688         Fixes a compilation error on BeOS.
8689
8690 2007-03-22  Bruno Haible  <bruno@clisp.org>
8691
8692         * modules/frexpl-tests: New file.
8693         * tests/test-frexpl.c: New file.
8694
8695         * modules/frexpl: New file.
8696         * m4/frexpl.m4: New file.
8697         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
8698         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
8699         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
8700         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
8701         (Depends-on): Add frexpl. Remove isnanl-nolibm.
8702         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
8703
8704 2007-03-22  Bruno Haible  <bruno@clisp.org>
8705
8706         * lib/frexpl.c: Share code with lib/frexp.c.
8707         * modules/mathl (Files): Add lib/frexp.c.
8708         (Depends-on): Add isnanl-nolibm.
8709
8710 2007-03-22  Bruno Haible  <bruno@clisp.org>
8711
8712         * modules/printf-frexp (Files): Add m4/frexp.m4.
8713         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
8714         only if the found frexp function actually works.
8715
8716 2007-03-22  Bruno Haible  <bruno@clisp.org>
8717
8718         * lib/frexp.c: Remove older implementation that uses divisions.
8719
8720 2007-03-21  Bruno Haible  <bruno@clisp.org>
8721
8722         * modules/frexp-tests: New file.
8723         * tests/test-frexp.c: New file.
8724
8725         * modules/frexp: New file.
8726         * lib/frexp.c: New file.
8727         * m4/frexp.m4: New file.
8728         * lib/math_.h (frexp): New declaration.
8729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
8730         REPLACE_FREXP.
8731         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
8732
8733 2007-03-21  Bruno Haible  <bruno@clisp.org>
8734
8735         * modules/isnanl-tests: New file.
8736         * tests/test-isnanl.c: New file.
8737
8738         * modules/isnanl: New file.
8739         * lib/isnanl.h: New file.
8740         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
8741         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
8742         gl_FUNC_ISNANL_WORKS.
8743         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
8744         New macros.
8745
8746 2007-03-21  Bruno Haible  <bruno@clisp.org>
8747
8748         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
8749         lib/isnanl.h.
8750         (Include): Update.
8751         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
8752         * lib/vasnprintf.c: Update.
8753         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
8754         tests/test-isnanl.h, remove tests/test-isnanl.c.
8755         (Makefile.am): Update.
8756         * tests/test-isnanl-nolibm.c: New file.
8757         * tests/test-isnanl.h: New file.
8758         * tests/test-isnanl.c: Remove file.
8759
8760 2007-03-21  Jim Meyering  <jim@meyering.net>
8761
8762         When trying to open ".", treat ESTALE like EACCES.
8763         * lib/savewd.c (savewd_save): Resort to forking not just upon
8764         failure with EACCES, but also when errno is ESTALE.
8765
8766 2007-03-20  Bruno Haible  <bruno@clisp.org>
8767
8768         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
8769         Needed on AIX 5.1. Reported by Matthew Woehlke.
8770
8771 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8772
8773         Suggestions by Bruno Haible:
8774         * lib/acl-internal.h: Include "gettext.h" rather than rolling
8775         our own.
8776         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
8777         * modules/acl (Depends-on): Add gettext.
8778
8779 2007-03-19  Bruno Haible  <bruno@clisp.org>
8780
8781         * modules/iconvme: Remove file.
8782         * lib/iconvme.h: Remove file.
8783         * lib/iconvme.c: Remove file.
8784         * m4/iconvme.m4: Remove file.
8785
8786 2007-03-19  Bruno Haible  <bruno@clisp.org>
8787
8788         * doc/relocatable-maint.texi: Break long shell script line.
8789         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
8790
8791 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8792
8793         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
8794         handle file_has_acl.
8795         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
8796         * lib/acl.c: Move header inclusions and related macro defns into
8797         lib/acl-internal.h.
8798         (S_ISLNK): Remove defn, since that's now done for us.
8799         (file_has_acl): Move to lib/file-has-acl.c.
8800         Call acl_trivial if available.  This is the crucial part of the fix.
8801         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
8802         shared within the library.  Rewrite a bit, partly to make it compatible
8803         with the GNU coding style.
8804         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
8805         Remove unnecessary double-quotes.
8806         Don't test for acl_to_text; the build will catch that.
8807         Replace acl_entries if it doesn't exist and it is needed.
8808         Check for -lsec and acl_trivial (as used on Solaris 10).
8809         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
8810         lib/file-has-acl.c.
8811         (Depends-on): Add sys_stat, for S_ISLNK.
8812
8813 2007-03-19  Ben Pfaff  <blp@gnu.org>
8814
8815         * doc/gnulib.texi: Fix typos.
8816         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
8817
8818 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8819
8820         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
8821         If size is zero here, buf must be zero.
8822
8823 2007-03-19  Simon Josefsson  <simon@josefsson.org>
8824
8825         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
8826         <bruno@clisp.org>.
8827
8828 2007-03-18  Bruno Haible  <bruno@clisp.org>
8829
8830         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
8831         Suggested by Eric Blake.
8832
8833 2007-03-18  Ben Pfaff  <blp@gnu.org>
8834
8835         * doc/relocatable.texi: Recommend using as prefix a directory
8836         that does not exist and will never be created.  Based on
8837         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
8838         and others.
8839
8840 2007-03-17  Bruno Haible  <bruno@clisp.org>
8841
8842         * lib/fchownat.c: Include lchown.h.
8843
8844 2007-03-17  Bruno Haible  <bruno@clisp.org>
8845
8846         Fix endless loop when the given allocated size was > INT_MAX.
8847         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
8848         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
8849         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
8850         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
8851         * lib/sprintf.c (sprintf): Likewise.
8852
8853 2007-03-17  Bruno Haible  <bruno@clisp.org>
8854
8855         * tests/test-argp-2.sh (func_compare): Output a context diff.
8856
8857 2007-03-17  Bruno Haible  <bruno@clisp.org>
8858
8859         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
8860         locale's decimal-point character.
8861
8862 2007-03-17  Bruno Haible  <bruno@clisp.org>
8863
8864         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
8865         before comparing it. Needed because on some platforms (e.g. x86) a
8866         'long double' occupies less bytes than sizeof (long double).
8867
8868 2007-03-17  Bruno Haible  <bruno@clisp.org>
8869
8870         * tests/test-crc.c (main): Make printf statements 64-bit clean.
8871         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
8872         * tests/test-getaddrinfo.c (simple): Likewise.
8873         * tests/test-read-file.c (main): Likewise.
8874
8875 2007-03-17  Bruno Haible  <bruno@clisp.org>
8876
8877         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
8878
8879 2007-03-17  Bruno Haible  <bruno@clisp.org>
8880
8881         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
8882         unused variable.
8883
8884 2007-03-17  Bruno Haible  <bruno@clisp.org>
8885
8886         * tests/test-c-strcasecmp.c: Include c-strcase.h.
8887         * tests/test-c-strncasecmp.c: Likewise.
8888
8889 2007-03-17  Bruno Haible  <bruno@clisp.org>
8890
8891         * modules/stdlib (Depends-on): Add unistd.
8892         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
8893         Needed for MacOS X 10.3.
8894
8895 2007-03-17  Bruno Haible  <bruno@clisp.org>
8896
8897         * lib/unistr/u-strdup.h: Include <stdlib.h>.
8898
8899 2007-03-17  Bruno Haible  <bruno@clisp.org>
8900
8901         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
8902
8903 2007-03-17  Bruno Haible  <bruno@clisp.org>
8904
8905         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
8906         to reflect files copied from gnulib (with or without modifications).
8907         Suggested by Jim Meyering.
8908
8909 2007-03-17  Eric Blake  <ebb9@byu.net>
8910
8911         * NEWS: Document stdlib change from 2007-02-18.
8912
8913 2007-03-17  Jim Meyering  <jim@meyering.net>
8914
8915         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
8916         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
8917         someone uses a name containing shell meta-characters.
8918         Reported by Alfred M. Szmidt.
8919
8920         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
8921
8922 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
8923
8924         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
8925         and copy gettext configuration files only if configure.ac contains
8926         a use of AM_GNU_GETTEXT_VERSION.
8927
8928 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
8929
8930         * build-aux/bootstrap (gnulib_name): New variable.
8931         (gnulib_tool_options): Use it.
8932
8933 2007-03-13  Simon Josefsson  <simon@josefsson.org>
8934
8935         * tests/test-des.c: Use new namespace.
8936
8937 2007-03-15  Bruno Haible  <bruno@clisp.org>
8938
8939         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
8940         Reported by James Youngman <jay@gnu.org>.
8941
8942 2007-03-15  Bruno Haible  <bruno@clisp.org>
8943
8944         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
8945         declared prototype. Needed with cc on OSF/1 5.1.
8946
8947 2007-03-15  Bruno Haible  <bruno@clisp.org>
8948
8949         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
8950         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
8951         (struct gl_list_implementation): Add dispose_fn argument to the
8952         'create_empty', 'create' methods.
8953         (struct gl_list_impl_base): Add field 'dispose_fn'.
8954         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
8955         argument.
8956         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
8957         dispose_fn argument.
8958         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
8959         dispose_fn on the dropped values.
8960         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
8961         dispose_fn argument.
8962         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
8963         dropped values.
8964         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
8965         (gl_tree_remove_node): Call dispose_fn on the dropped value.
8966         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
8967         (gl_tree_remove_node): Call dispose_fn on the dropped value.
8968         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
8969         argument.
8970         (gl_tree_list_free): Call dispose_fn on the dropped values.
8971         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
8972         the dropped values.
8973         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
8974         Add dispose_fn argument.
8975         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
8976         Call dispose_fn on the dropped values.
8977         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
8978         Add dispose_fn argument.
8979         (gl_sublist_create): Initialize the 'dispose_fn' field.
8980         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
8981         * tests/test-array_list.c (main): Update.
8982         * tests/test-carray_list.c (main): Update.
8983         * tests/test-avltree_list.c (main): Update.
8984         * tests/test-rbtree_list.c (main): Update.
8985         * tests/test-avltreehash_list.c (main): Update.
8986         * tests/test-rbtreehash_list.c (main): Update.
8987         * tests/test-linked_list.c (main): Update.
8988         * tests/test-linkedhash_list.c (main): Update.
8989         * tests/test-array_oset.c (main): Update.
8990
8991 2007-03-15  Bruno Haible  <bruno@clisp.org>
8992
8993         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
8994         (gl_oset_create_empty): Add dispose_fn argument.
8995         (struct gl_oset_implementation): Add dispose_fn argument to
8996         'create_empty' method.
8997         (struct gl_oset_impl_base): Add dispose_fn field.
8998         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
8999         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
9000         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
9001         values.
9002         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
9003         (gl_tree_oset_free): Call dispose_fn on the dropped values.
9004         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
9005         dropped value.
9006         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
9007         dropped value.
9008         * tests/test-array_oset.c (main): Update.
9009         * tests/test-avltree_oset.c (main): Update.
9010         * tests/test-rbtree_oset.c (main): Update.
9011         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
9012
9013 2007-03-13  Bruno Haible  <bruno@clisp.org>
9014
9015         * tests/test-stdbool.c (i): Update after last patch.
9016
9017 2007-03-12  Bruno Haible  <bruno@clisp.org>
9018
9019         * lib/quotearg.c: Include <wctype.h> early, before the definition of
9020         the iswprint macro. Needed on Solaris 2.5.1.
9021
9022 2007-03-12  Bruno Haible  <bruno@clisp.org>
9023
9024         * tests/test-printf-frexp.c (main): Declare x as volatile.
9025
9026 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9027
9028         * doc/gnulib.texi (Build robot for gnulib): New section.
9029
9030 2007-03-12  Jim Meyering  <jim@meyering.net>
9031
9032         * build-aux/bootstrap: New file.
9033         * build-aux/bootstrap.conf: New file, from coreutils.
9034
9035 2007-03-11  Bruno Haible  <bruno@clisp.org>
9036
9037         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
9038
9039 2007-03-12  Simon Josefsson  <simon@josefsson.org>
9040
9041         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
9042         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
9043         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
9044
9045 2007-03-11  Bruno Haible  <bruno@clisp.org>
9046
9047         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
9048         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
9049
9050 2007-03-11  Bruno Haible  <bruno@clisp.org>
9051
9052         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
9053         formula. Needed for SunPRO C 5.0.
9054
9055 2007-03-11  Bruno Haible  <bruno@clisp.org>
9056
9057         * modules/long-options (Depends-on): Add getopt.
9058
9059 2007-03-11  Bruno Haible  <bruno@clisp.org>
9060
9061         * modules/modechange (Depends-on): Add stdbool.
9062
9063 2007-03-11  Bruno Haible  <bruno@clisp.org>
9064
9065         * modules/i-ring (Depends-on): Add stdbool.
9066
9067 2007-03-11  Bruno Haible  <bruno@clisp.org>
9068
9069         * modules/gc-des (Depends-on): Add stdbool.
9070
9071 2007-03-11  Bruno Haible  <bruno@clisp.org>
9072
9073         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
9074
9075 2007-03-11  Bruno Haible  <bruno@clisp.org>
9076
9077         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
9078
9079 2007-03-11  Bruno Haible  <bruno@clisp.org>
9080
9081         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
9082
9083 2007-03-11  Bruno Haible  <bruno@clisp.org>
9084
9085         * lib/vasnprintf.c (sprintf): Undefine.
9086
9087 2007-03-11  Bruno Haible  <bruno@clisp.org>
9088
9089         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
9090         initializers in SunPRO C and Compaq C compilers.
9091
9092 2007-03-11  Bruno Haible  <bruno@clisp.org>
9093
9094         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
9095         decrementing code ANSI C compliant.
9096
9097 2007-03-11  Bruno Haible  <bruno@clisp.org>
9098
9099         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
9100         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
9101
9102 2007-03-11  Bruno Haible  <bruno@clisp.org>
9103
9104         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
9105         <stdbool.h> substitute doesn't pass.
9106
9107 2007-03-11  Bruno Haible  <bruno@clisp.org>
9108
9109         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
9110
9111 2007-03-11  Bruno Haible  <bruno@clisp.org>
9112
9113         * gnulib-tool (func_create_megatestdir): Create also an autobuild
9114         script, for submission to autobuild.josefsson.org.
9115
9116 2007-03-10  Bruno Haible  <bruno@clisp.org>
9117
9118         * modules/canonicalize-lgpl-tests: New file.
9119         * tests/test-canonicalize-lgpl.sh: New file.
9120         * tests/test-canonicalize-lgpl.c: New file.
9121
9122         * modules/c-strcase-tests: New file.
9123         * tests/test-c-strcase.sh: New file.
9124         * tests/test-c-strcasecmp.c: New file.
9125         * tests/test-c-strncasecmp.c: New file.
9126
9127         * modules/atexit-tests: New file.
9128         * tests/test-atexit.sh: New file.
9129         * tests/test-atexit.c: New file.
9130
9131 2007-03-10  Bruno Haible  <bruno@clisp.org>
9132
9133         * tests/test-binary-io.sh: Use temporary filenames that are not so
9134         likely to clash with those of other tests (in a parallel make).
9135         * tests/test-binary-io.c: Likewise.
9136
9137 2007-03-10  Bruno Haible  <bruno@clisp.org>
9138
9139         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
9140         fallback; use #error instead.
9141         Suggested by Simon Josefsson.
9142
9143 2007-03-10  Bruno Haible  <bruno@clisp.org>
9144
9145         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
9146         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
9147         first and the last.
9148
9149 2007-03-10  Bruno Haible  <bruno@clisp.org>
9150
9151         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
9152
9153 2007-03-10  Bruno Haible  <bruno@clisp.org>
9154
9155         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
9156         "make distcheck".
9157         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
9158         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
9159         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
9160
9161 2007-03-10  Bruno Haible  <bruno@clisp.org>
9162
9163         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
9164         variable.
9165         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
9166         variable.
9167
9168 2007-03-09  Eric Blake  <ebb9@byu.net>
9169         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
9170
9171         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
9172         types are not being provided by gnulib.
9173         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
9174         types are supported.
9175
9176 2007-03-10  Bruno Haible  <bruno@clisp.org>
9177
9178         * lib/stdio_.h (__attribute__): New macro.
9179         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
9180         vsprintf): Specify __attribute__ __format__ for GCC.
9181         Suggested by Eric Blake.
9182
9183 2007-03-09  Bruno Haible  <bruno@clisp.org>
9184
9185         * modules/printf-posix-tests: New file.
9186         * tests/test-printf-posix.sh: New file.
9187         * tests/test-printf-posix.c: New file.
9188
9189         * modules/printf-posix: New file.
9190         * lib/printf.c: New file.
9191         * m4/printf-posix-rpl.m4: New file.
9192         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
9193         REPLACE_PRINTF.
9194         * lib/stdio_.h (printf): New declaration.
9195         (format, __format__, ____printf____, ____scanf____, ____strftime____,
9196         ____strfmon____): New macros.
9197         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
9198         REPLACE_PRINTF.
9199
9200 2007-03-09  Bruno Haible  <bruno@clisp.org>
9201
9202         * tests/test-vasnprintf-posix2.sh: New file.
9203         * tests/test-vasnprintf-posix2.c: New file.
9204         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
9205         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
9206         (Makefile.am): Activate test-vasnprintf-posix2.sh.
9207
9208         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
9209         a locale dependent decimal point, rather than always '.'.
9210
9211 2007-03-09  Eric Blake  <ebb9@byu.net>
9212
9213         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
9214         spite of platforms like Tandem/NSK that define it to -1.
9215
9216 2007-03-08  Bruno Haible  <bruno@clisp.org>
9217
9218         * modules/vprintf-posix-tests: New file.
9219         * tests/test-vprintf-posix.sh: New file.
9220         * tests/test-vprintf-posix.c: New file.
9221         * tests/test-printf-posix.h: New file.
9222
9223         * modules/vprintf-posix: New file.
9224         * lib/vprintf.c: New file.
9225         * m4/vprintf-posix.m4: New file.
9226         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
9227         REPLACE_VPRINTF.
9228         * lib/stdio_.h (vprintf): New declaration.
9229         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
9230         REPLACE_VPRINTF.
9231
9232 2007-03-08  Bruno Haible  <bruno@clisp.org>
9233
9234         * modules/fprintf-posix-tests: New file.
9235         * tests/test-fprintf-posix.sh: New file.
9236         * tests/test-fprintf-posix.c: New file.
9237
9238         * modules/fprintf-posix: New file.
9239         * lib/fprintf.c: New file.
9240         * m4/fprintf-posix.m4: New file.
9241         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
9242         REPLACE_FPRINTF.
9243         * lib/stdio_.h (fprintf): New declaration.
9244         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
9245         REPLACE_FPRINTF.
9246
9247 2007-03-08  Bruno Haible  <bruno@clisp.org>
9248
9249         * modules/vfprintf-posix-tests: New file.
9250         * tests/test-vfprintf-posix.sh: New file.
9251         * tests/test-vfprintf-posix.c: New file.
9252         * tests/test-fprintf-posix.h: New file.
9253         * tests/test-fprintf-posix.out: New file.
9254
9255         * modules/vfprintf-posix: New file.
9256         * lib/vfprintf.c: New file.
9257         * m4/vfprintf-posix.m4: New file.
9258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
9259         REPLACE_VFPRINTF.
9260         * lib/stdio_.h (vfprintf): New declaration.
9261         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
9262         REPLACE_VFPRINTF.
9263
9264 2007-03-08  Bruno Haible  <bruno@clisp.org>
9265
9266         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
9267
9268 2007-03-08  Bruno Haible  <bruno@clisp.org>
9269
9270         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
9271         instead of 'expr' invocations.
9272         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
9273         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
9274         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
9275         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
9276         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
9277         Suggested by Paul Eggert.
9278
9279 2007-03-08  Bruno Haible  <bruno@clisp.org>
9280
9281         * modules/fseterr-tests: New file.
9282         * tests/test-fseterr.c: New file.
9283
9284         * modules/fseterr: New file.
9285         * lib/fseterr.h: New file.
9286         * lib/fseterr.c: New file.
9287
9288 2007-03-08  Bruno Haible  <bruno@clisp.org>
9289
9290         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
9291         * lib/getopt_.h: Likewise.
9292         * lib/mbswidth.h: Likewise.
9293         * lib/setenv.h: Likewise.
9294         * lib/vasnprintf.h: Likewise.
9295         * lib/vasprintf.h: Likewise.
9296         * lib/verror.h: Likewise.
9297         * lib/xsetenv.h: Likewise.
9298         * lib/xvasprintf.h: Likewise.
9299
9300 2007-03-08  Jim Meyering  <jim@meyering.net>
9301
9302         * users.txt: Add parted.
9303
9304         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
9305
9306 2007-03-07  Bruno Haible  <bruno@clisp.org>
9307
9308         * m4/printf.m4: Make the shell script snippets copy&pastable.
9309
9310 2007-03-02  Bruno Haible  <bruno@clisp.org>
9311
9312         * lib/netinet_in_.h: New file.
9313         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
9314         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
9315         * modules/netinet_in (Files): Add lib/netinet_in_.h.
9316         (Depends-on): Add absolute-header.
9317         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
9318         into netinet/in.h.
9319
9320 2007-03-03  Bruno Haible  <bruno@clisp.org>
9321
9322         * lib/sys_select_.h: New file.
9323         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
9324         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
9325         * modules/sys_select (Files): Add lib/sys_select_.h.
9326         (Depends-on): Add absolute-header.
9327         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
9328         into sys/select.h.
9329
9330 2007-03-02  Bruno Haible  <bruno@clisp.org>
9331
9332         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
9333         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
9334         values.
9335         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
9336         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
9337         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
9338         * modules/sys_socket (Depends-on): Add absolute-header.
9339         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
9340         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
9341         (Include): Remove requirement of inclusion of <sys/types.h>.
9342
9343 2007-03-02  Bruno Haible  <bruno@clisp.org>
9344
9345         * lib/byteswap_.h (bswap_32): Fix formula.
9346
9347 2007-03-06  Bruno Haible  <bruno@clisp.org>
9348
9349         * modules/sprintf-posix-tests: New file.
9350         * tests/test-sprintf-posix.c: New file.
9351
9352         * modules/sprintf-posix: New file.
9353         * lib/sprintf.c: New file.
9354         * m4/sprintf-posix.m4: New file.
9355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
9356         REPLACE_SPRINTF.
9357         * lib/stdio_.h (sprintf): New declaration.
9358         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
9359         REPLACE_SPRINTF.
9360
9361 2007-03-06  Bruno Haible  <bruno@clisp.org>
9362
9363         * modules/vsprintf-posix-tests: New file.
9364         * tests/test-vsprintf-posix.c: New file.
9365         * tests/test-sprintf-posix.h: New file.
9366
9367         * modules/vsprintf-posix: New file.
9368         * lib/vsprintf.c: New file.
9369         * m4/vsprintf-posix.m4: New file.
9370         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
9371         REPLACE_VSPRINTF.
9372         * lib/stdio_.h (vsprintf): New declaration.
9373         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
9374         REPLACE_VSPRINTF.
9375
9376 2007-03-06  Bruno Haible  <bruno@clisp.org>
9377
9378         * modules/vsnprintf (Depend-on): Remove minmax.
9379
9380 2007-03-06  Bruno Haible  <bruno@clisp.org>
9381
9382         * modules/snprintf-posix-tests: New file.
9383         * tests/test-snprintf-posix.c: New file.
9384
9385         * modules/snprintf-posix: New file.
9386         * m4/snprintf-posix.m4: New file.
9387         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
9388         gl_FUNC_SNPRINTF.
9389         (gl_FUNC_SNPRINTF): Invoke it.
9390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
9391         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
9392         is set.
9393         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
9394
9395 2007-03-06  Bruno Haible  <bruno@clisp.org>
9396
9397         * modules/vsnprintf-posix-tests: New file.
9398         * tests/test-vsnprintf-posix.c: New file.
9399         * tests/test-snprintf-posix.h: New file.
9400
9401         * modules/vsnprintf-posix: New file.
9402         * m4/vsnprintf-posix.m4: New file.
9403         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
9404         gl_FUNC_VSNPRINTF.
9405         (gl_FUNC_VSNPRINTF): Invoke it.
9406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
9407         * lib/stdio_.h (vsnprintf): Define as a replacement if
9408         REPLACE_VSNPRINTF is set.
9409         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
9410
9411 2007-03-06  Bruno Haible  <bruno@clisp.org>
9412
9413         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
9414         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
9415
9416 2007-03-06  Bruno Haible  <bruno@clisp.org>
9417
9418         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
9419         (asinl): Declare also if HAVE_DECL_ASINL is set.
9420         (atanl): Declare also if HAVE_DECL_ATANL is set.
9421         (ceill): Declare also if HAVE_DECL_CEILL is set.
9422         (cosl): Declare also if HAVE_DECL_COSL is set.
9423         (expl): Declare also if HAVE_DECL_EXPL is set.
9424         (floorl): Declare also if HAVE_DECL_FLOORL is set.
9425         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
9426         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
9427         (logl): Declare also if HAVE_DECL_LOGL is set.
9428         (sinl): Declare also if HAVE_DECL_SINL is set.
9429         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
9430         (tanl): Declare also if HAVE_DECL_TANL is set.
9431         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
9432         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
9433         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
9434         declaration of frexpl, ldexpl.
9435         * modules/printf-frexpl (Depends-on): Add math.
9436         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
9437
9438 2007-03-05  Bruno Haible  <bruno@clisp.org>
9439
9440         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
9441         frexpl and ldexpl are declared.
9442         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
9443
9444 2007-03-05  Bruno Haible  <bruno@clisp.org>
9445
9446         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
9447         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
9448
9449 2007-03-05  Bruno Haible  <bruno@clisp.org>
9450
9451         * lib/stdio_.h: Include <stddef.h>.
9452
9453 2007-03-05  Bruno Haible  <bruno@clisp.org>
9454
9455         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
9456
9457 2007-03-05  Bruno Haible  <bruno@clisp.org>
9458
9459         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
9460         NetBSD 4, from Ralf Wildenhues.
9461
9462 2007-03-04  Bruno Haible  <bruno@clisp.org>
9463
9464         * lib/vasprintf.h: Update #if logic for the case when the functions
9465         exist but are overridden.
9466
9467 2007-03-04  Bruno Haible  <bruno@clisp.org>
9468
9469         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
9470         implementations: glibc-2.4 and MacOS X 10.3.
9471         * tests/test-vasnprintf-posix.c (test_function): Test also the case
9472         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
9473         * tests/test-vasprintf-posix.c (test_function): Likewise.
9474
9475 2007-03-04  Bruno Haible  <bruno@clisp.org>
9476
9477         * modules/vasprintf-posix-tests: New file.
9478         * tests/test-vasprintf-posix.c: New file.
9479
9480         * modules/vasprintf-posix: New file.
9481         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
9482         defined.
9483         * m4/vasprintf-posix.m4: New file.
9484         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
9485         gl_FUNC_VASPRINTF.
9486         (gl_FUNC_VASPRINTF): Invoke it.
9487         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
9488         here.
9489         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
9490
9491 2007-03-04  Bruno Haible  <bruno@clisp.org>
9492
9493         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
9494         REPLACE_GETTIMEOFDAY.
9495         * modules/sys_time (Makefile.am): Likewise.
9496         * m4/sys_time_h.m4: Likewise.
9497         * m4/gettimeofday.m4: Likewise.
9498
9499 2007-03-04  Bruno Haible  <bruno@clisp.org>
9500
9501         * modules/vasnprintf-posix-tests: New file.
9502         * tests/test-vasnprintf-posix.c: New file.
9503
9504         * modules/vasnprintf-posix: New file.
9505         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
9506         printf-frexpl.h.
9507         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
9508         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
9509         REPLACE_VASNPRINTF is defined.
9510         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
9511         gl_FUNC_VASNPRINTF.
9512         (gl_FUNC_VASNPRINTF): Invoke it.
9513         * m4/vasnprintf-posix.m4: New file.
9514         * m4/printf.m4: New file.
9515
9516 2007-03-04  Bruno Haible  <bruno@clisp.org>
9517
9518         Compile progreloc.c only if --enable-relocatable is specified.
9519         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
9520         if --enable-relocatable was specified.
9521         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
9522         lib_SOURCES.
9523
9524 2007-03-04  Jim Meyering  <jim@meyering.net>
9525
9526         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
9527         Use it consistently, rather than enumerating errno constants.
9528
9529 2007-03-04  Bruno Haible  <bruno@clisp.org>
9530
9531         * modules/xvasprintf-tests: New file.
9532         * tests/test-xvasprintf.c: New file.
9533
9534         * modules/vasprintf-tests: New file.
9535         * tests/test-vasprintf.c: New file.
9536
9537         * modules/vasnprintf-tests: New file.
9538         * tests/test-vasnprintf.c: New file.
9539
9540         * modules/vsnprintf-tests: New file.
9541         * tests/test-vsnprintf.c: New file.
9542
9543         * modules/snprintf-tests: New file.
9544         * tests/test-snprintf.c: New file.
9545
9546 2007-03-04  Bruno Haible  <bruno@clisp.org>
9547
9548         Compile relocatable.c only if --enable-relocatable is specified.
9549         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
9550         gl_RELOCATABLE_LIBRARY.
9551         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
9552         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
9553         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
9554         gl_RELOCATABLE_LIBRARY.
9555         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
9556         (Makefile.am): Remove lib_SOURCES.
9557         * modules/relocatable-lib-lgpl (configure.ac): Invoke
9558         gl_RELOCATABLE_LIBRARY.
9559         (Makefile.am): Remove lib_SOURCES.
9560         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
9561         always.
9562         * modules/relocatable-prog-wrapper (configure.ac): Invoke
9563         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
9564
9565 2007-03-04  Bruno Haible  <bruno@clisp.org>
9566
9567         * modules/argmatch-tests: New file.
9568         * tests/test-argmatch.c: New file.
9569
9570         * tests/test-allocsa.c (main): Halve the number of loop runs.
9571
9572         * modules/alloca-opt-tests: New file.
9573         * tests/test-alloca-opt.c: New file.
9574
9575 2007-03-04  Jim Meyering  <jim@meyering.net>
9576
9577         Work around difference between Linux ACLs and Solaris 10 ZFS.
9578         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
9579         for EINVAL.
9580
9581 2007-03-03  Bruno Haible  <bruno@clisp.org>
9582
9583         * modules/relocatable-prog (Depends-on): Add back progreloc's
9584         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
9585
9586 2007-03-03  Bruno Haible  <bruno@clisp.org>
9587
9588         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
9589         * modules/relocatable-lib: New file.
9590
9591 2007-03-03  Bruno Haible  <bruno@clisp.org>
9592
9593         * modules/relocatable-prog: Renamed from modules/relocatable.
9594         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
9595
9596 2007-03-03  Bruno Haible  <bruno@clisp.org>
9597
9598         * modules/relocatable-script (Files): Add doc/relocatable.texi,
9599         m4/relocatable-lib.m4.
9600         (Depends-on): Remove 'relocatable'.
9601         (configure.ac): Add gl_RELOCATABLE_NOP.
9602
9603 2007-03-03  Bruno Haible  <bruno@clisp.org>
9604
9605         * modules/relocatable-prog-wrapper: New file.
9606         * modules/relocatable (Depends-on): Add it. Remove all other
9607         dependencies except progname.
9608         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
9609
9610         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
9611         (gl_FUNC_STRERROR): Nop.
9612         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
9613
9614         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
9615         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
9616
9617         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
9618         (gl_FUNC_READLINK): Update.
9619
9620         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
9621
9622 2007-03-03  Bruno Haible  <bruno@clisp.org>
9623
9624         * lib/xreadlink.c: Include <unistd.h> unconditionally.
9625         * modules/xreadlink (Depends-on): Add unistd.
9626         * modules/xreadlink-with-size (Depends-on): Likewise.
9627
9628 2007-03-03  Bruno Haible  <bruno@clisp.org>
9629
9630         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
9631         extracted from gt_FUNC_SETENV.
9632         (gt_FUNC_SETENV): Remove macro.
9633         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
9634         remove gt_FUNC_SETENV.
9635
9636 2007-03-03  Bruno Haible  <bruno@clisp.org>
9637
9638         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
9639         ENABLE_RELOCATABLE here.
9640         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
9641
9642 2007-03-03  Bruno Haible  <bruno@clisp.org>
9643
9644         * modules/rbtreehash-list-tests (Depends-on): Add progname.
9645         * tests/test-rbtreehash_list.c: Include progname.h.
9646         (main): Call set_program_name.
9647
9648         * modules/rbtree-oset-tests (Depends-on): Add progname.
9649         * tests/test-rbtree_oset.c: Include progname.h.
9650         (main): Call set_program_name.
9651
9652         * modules/rbtree-list-tests (Depends-on): Add progname.
9653         * tests/test-rbtree_list.c: Include progname.h.
9654         (main): Call set_program_name.
9655
9656         * modules/linked-list-tests (Depends-on): Add progname.
9657         * tests/test-linked_list.c: Include progname.h.
9658         (main): Call set_program_name.
9659
9660 2007-03-03  Bruno Haible  <bruno@clisp.org>
9661
9662         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
9663         All uses of __restrict changed to _Restrict_.
9664         * lib/glob_.h (__restrict): Remove macro.
9665
9666 2007-03-02  Bruno Haible  <bruno@clisp.org>
9667
9668         * modules/gettext (configure.ac): Require gettext infrastructure
9669         from version 0.16.1.
9670
9671 2007-03-02  Bruno Haible  <bruno@clisp.org>
9672
9673         * modules/linkedhash-list-tests (Depends-on): Add progname.
9674         * tests/test-linkedhash_list.c: Include progname.h.
9675         (main): Call set_program_name.
9676
9677         * modules/carray-list-tests (Depends-on): Add progname.
9678         * tests/test-carray_list.c: Include progname.h.
9679         (main): Call set_program_name.
9680
9681         * modules/avltreehash-list-tests (Depends-on): Add progname.
9682         * tests/test-avltreehash_list.c: Include progname.h.
9683         (main): Call set_program_name.
9684
9685         * modules/avltree-oset-tests (Depends-on): Add progname.
9686         * tests/test-avltree_oset.c: Include progname.h.
9687         (main): Call set_program_name.
9688
9689         * modules/avltree-list-tests (Depends-on): Add progname.
9690         * tests/test-avltree_list.c: Include progname.h.
9691         (main): Call set_program_name.
9692
9693         * modules/array-oset-tests (Depends-on): Add progname.
9694         * tests/test-array_oset.c: Include progname.h.
9695         (main): Call set_program_name.
9696
9697         * modules/array-list-tests (Depends-on): Add progname.
9698         * tests/test-array_list.c: Include progname.h.
9699         (main): Call set_program_name.
9700
9701         * modules/argp-tests (Depends-on): Add progname.
9702         * tests/test-argp.c: Include argp.h first. Include progname.h.
9703         (main): Call set_program_name.
9704
9705 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
9706
9707         * doc/gnulib-tool.texi (Initial import): Reword description of
9708         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
9709         limited effect even if defined after the first system include.
9710
9711 2007-03-01  Bruno Haible  <bruno@clisp.org>
9712
9713         * build-aux/config.libpath: Update to libtool-1.5.22.
9714         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9715
9716 2007-03-01  Bruno Haible  <bruno@clisp.org>
9717
9718         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
9719         foo_CFLAGS.
9720         Reported by Ralf Wildenhues.
9721
9722 2007-03-01  Bruno Haible  <bruno@clisp.org>
9723
9724         * build-aux/install-reloc: Remove object files left over by some
9725         compilers.
9726         Reported by Ralf Wildenhues.
9727
9728 2007-03-01  Bruno Haible  <bruno@clisp.org>
9729
9730         * build-aux/install-reloc: Break long lines.
9731
9732 2007-03-01  Bruno Haible  <bruno@clisp.org>
9733
9734         * doc/relocatable.texi: Document that it may not work on OpenBSD.
9735         Reported by Ralf Wildenhues.
9736
9737 2007-03-01  Bruno Haible  <bruno@clisp.org>
9738
9739         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
9740         include ordering constraints.
9741
9742 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9743
9744         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
9745         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
9746         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
9747         as another example.
9748         * lib/time_.h: Fix misspelling.
9749         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
9750         Require gl_HEADER_TIME_H_DEFAULTS.
9751         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
9752         * m4/time_r.m4 (gl_TIME_R): Likewise.
9753         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
9754
9755 2007-03-01  Bruno Haible  <bruno@clisp.org>
9756
9757         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
9758         * m4/utimens.m4 (gl_UTIMENS): Likewise.
9759
9760 2007-03-01  Jim Meyering  <jim@meyering.net>
9761
9762         * modules/xreadlink (Maintainer): Add my name.
9763         * modules/xreadlink-with-size (Depends-on): Alphabetize.
9764
9765 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
9766             Bruno Haible  <bruno@clisp.org>
9767
9768         * build-aux/install-reloc: Compile also c-ctype.c.
9769         * build-aux/relocatable.sh.in: New file.
9770         * doc/relocatable.texi: New file.
9771         * doc/relocatable-maint.texi: New file.
9772         * doc/gnulib.texi: Include relocatable-maint.texi.
9773         * lib/progreloc.c: Include unistd.h unconditionally.
9774         * lib/relocwrapper.c: Include unistd.h unconditionally.
9775         Include c-ctype.h.
9776         (add_dotbin): Use c_tolower.
9777         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
9778         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
9779         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
9780         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
9781         to m4/relocatable-lib.m4.
9782         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
9783         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
9784         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
9785         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
9786         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
9787         * modules/relocatable: New file.
9788         * modules/relocatable-lib: New file.
9789         * modules/relocatable-script: New file.
9790
9791 2007-02-28  Bruno Haible  <bruno@clisp.org>
9792
9793         Import --enable-relocatable infrastructure.
9794         * build-aux/config.libpath: New file, from GNU gettext.
9795         * build-aux/install-reloc: New file, from GNU gettext.
9796         * build-aux/reloc-ldflags: New file, from GNU gettext.
9797         * lib/relocatable.h: New file, from GNU gettext.
9798         * lib/relocatable.c: New file, from GNU gettext.
9799         * lib/relocwrapper.c: New file, from GNU gettext.
9800         * m4/relocatable.m4: New file, from GNU gettext.
9801
9802 2007-02-28  Bruno Haible  <bruno@clisp.org>
9803
9804         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
9805
9806         * modules/xreadlink: New file, from GNU gettext with modifications.
9807         * lib/xreadlink.c: New file, from GNU gettext.
9808         * lib/xreadlink.h: Add comments.
9809         (xreadlink): New declaration.
9810
9811         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
9812         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
9813         lib/xreadlink-with-size.c.
9814         (configure.ac): Remove gl_XREADLINK invocation.
9815         (Makefile.am): Augment lib_SOURCES.
9816         * m4/xreadlink.m4: Remove file.
9817         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
9818         (xreadlink_with_size): Renamed from xreadink.
9819         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
9820         * modules/canonicalize (Depends-on): Replace xreadlink with
9821         xreadlink-with-size.
9822         * lib/canonicalize.c (canonicalize_filename_mode): Update.
9823
9824 2007-02-25  Jim Meyering  <jim@meyering.net>
9825
9826         * build-aux/announce-gen: When complaining about excess arguments,
9827         list them.
9828
9829 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
9830
9831         * README: Document signed integer overflow situation more
9832         accurately.
9833
9834 2007-02-25  Bruno Haible  <bruno@clisp.org>
9835
9836         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
9837         'a' or 'A' conversion.
9838
9839 2007-02-25  Bruno Haible  <bruno@clisp.org>
9840
9841         * modules/filename: Renamed from modules/pathname.
9842         (Files): Replace lib/pathname.h with lib/filename.h. Replace
9843         lib/concatpath.c with lib/concat-filename.c.
9844         (Makefile.am): Update.
9845         (Include): Replace pathname.h with filename.h.
9846         * lib/filename.h: Renamed from lib/pathname.h.
9847         (concatenated_filename): Renamed from concatenated_pathname.
9848         * lib/concat-filename.c: Renamed from lib/concatpath.c.
9849         (concatenated_filename): Renamed from concatenated_pathname.
9850         * lib/findprog.c: Include filename.h instead of pathname.h.
9851         (find_in_path): Update.
9852         * lib/javacomp.c: Include filename.h instead of pathname.h.
9853         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
9854         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
9855         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
9856         is_oldgcj_14_13_usable, is_javac_usable): Update.
9857         * lib/javaexec.c: Include filename.h instead of pathname.h.
9858         (execute_java_class): Update.
9859         * modules/findprog: Update.
9860         * modules/javacomp: Update.
9861         * modules/javaexec: Update.
9862         * MODULES.html.sh (File system functions): Add 'filename', remove
9863         'pathname'.
9864
9865 2007-02-25  Bruno Haible  <bruno@clisp.org>
9866
9867         * modules/printf-frexpl-tests: New file.
9868         * tests/test-printf-frexpl.c: New file.
9869
9870         * modules/printf-frexpl: New file.
9871         * lib/printf-frexpl.h: New file.
9872         * lib/printf-frexpl.c: New file.
9873         * m4/printf-frexpl.m4: New file.
9874
9875 2007-02-25  Bruno Haible  <bruno@clisp.org>
9876
9877         * modules/printf-frexp-tests: New file.
9878         * tests/test-printf-frexp.c: New file.
9879
9880         * modules/printf-frexp: New file.
9881         * lib/printf-frexp.h: New file.
9882         * lib/printf-frexp.c: New file.
9883         * m4/printf-frexp.m4: New file.
9884
9885 2007-02-25  Bruno Haible  <bruno@clisp.org>
9886
9887         Assume automake >= 1.10 for the tests.
9888         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
9889         * modules/arctwo-tests: Likewise.
9890         * modules/argp-tests: Likewise.
9891         * modules/avltree-list-tests: Likewise.
9892         * modules/avltree-oset-tests: Likewise.
9893         * modules/avltreehash-list-tests: Likewise.
9894         * modules/carray-list-tests: Likewise.
9895         * modules/crc-tests: Likewise.
9896         * modules/des-tests: Likewise.
9897         * modules/gc-arcfour-tests: Likewise.
9898         * modules/gc-arctwo-tests: Likewise.
9899         * modules/gc-des-tests: Likewise.
9900         * modules/gc-hmac-md5-tests: Likewise.
9901         * modules/gc-hmac-sha1-tests: Likewise.
9902         * modules/gc-md2-tests: Likewise.
9903         * modules/gc-md4-tests: Likewise.
9904         * modules/gc-md5-tests: Likewise.
9905         * modules/gc-pbkdf2-sha1-tests: Likewise.
9906         * modules/gc-rijndael-tests: Likewise.
9907         * modules/gc-sha1-tests: Likewise.
9908         * modules/gc-tests: Likewise.
9909         * modules/getaddrinfo-tests: Likewise.
9910         * modules/hmac-md5-tests: Likewise.
9911         * modules/hmac-sha1-tests: Likewise.
9912         * modules/linked-list-tests: Likewise.
9913         * modules/linkedhash-list-tests: Likewise.
9914         * modules/lock-tests: Likewise.
9915         * modules/md2-tests: Likewise.
9916         * modules/md4-tests: Likewise.
9917         * modules/md5-tests: Likewise.
9918         * modules/rbtree-list-tests: Likewise.
9919         * modules/rbtree-oset-tests: Likewise.
9920         * modules/rbtreehash-list-tests: Likewise.
9921         * modules/read-file-tests: Likewise.
9922         * modules/rijndael-tests: Likewise.
9923         * modules/stdint-tests: Likewise.
9924         * modules/tls-tests: Likewise.
9925
9926 2007-02-24  Bruno Haible  <bruno@clisp.org>
9927
9928         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
9929         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
9930         function; instead check whether isnan with a double argument links.
9931         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
9932         function; instead check whether isnan with a 'long double' argument
9933         links.
9934         Reported by Eric Blake <ebb9@byu.net>.
9935
9936 2007-02-24  Bruno Haible  <bruno@clisp.org>
9937
9938         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
9939         defined.
9940         * lib/isnanl.c: Remove all code. Just include isnan.c.
9941         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
9942
9943 2007-02-25  Jim Meyering  <jim@meyering.net>
9944
9945         Avoid conflicting types for 'unsetenv' on FreeBSD.
9946         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
9947         conflicting with FreeBSD's (5.0 and 6.1) function declaration
9948         in stdlib.h.
9949
9950 2007-02-24  Bruno Haible  <bruno@clisp.org>
9951
9952         * modules/isnanl-nolibm-tests: New file.
9953         * tests/test-isnanl.c: New file.
9954
9955         * modules/isnanl-nolibm: New file.
9956         * lib/isnanl.h: New file.
9957         * lib/isnanl.c: New file.
9958         * m4/isnanl.m4: New file.
9959
9960 2007-02-24  Bruno Haible  <bruno@clisp.org>
9961
9962         * modules/isnan-nolibm-tests: New file.
9963         * tests/test-isnan.c: New file.
9964
9965         * modules/isnan-nolibm: New file.
9966         * lib/isnan.h: New file.
9967         * lib/isnan.c: New file.
9968         * m4/isnan.m4: New file.
9969
9970 2007-02-24  Bruno Haible  <bruno@clisp.org>
9971
9972         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
9973         assume that an exponent fits in 20 bits.
9974
9975 2007-02-24  Jim Meyering  <jim@meyering.net>
9976
9977         * m4/regex.m4: Update the description of the configure-time option,
9978         --without-included-regex, to state accurately what the defaults are,
9979         and perhaps to give people an idea why using this option is risky.
9980
9981 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9982
9983         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
9984         loops on small arguments.  This attempts to avoid the problem
9985         Bruno Haible reported for AIX 4.3.2 in
9986         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
9987
9988 2007-02-23  Bruno Haible  <bruno@clisp.org>
9989
9990         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
9991         Needed for help2man.
9992
9993 2007-02-23  Karl Berry  <karl@gnu.org>
9994
9995         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
9996         exists, foo.h should be cvs-ignored, not committed.
9997
9998 2007-02-23  Eric Blake  <ebb9@byu.net>
9999
10000         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
10001         * lib/stat-time.h (includes): Likewise.
10002         * lib/utimecmp.c (includes): Likewise.
10003         * lib/utimens.h (includes): Likewise.
10004         * lib/getdate.y (includes): Also include "timespec.h" for use
10005         internal to the module.
10006         * modules/utimens (Depends-on): Revert yesterday's patch.
10007         * modules/nanosleep (Depends-on): Add missing dependency.
10008
10009 2007-02-22  Bruno Haible  <bruno@clisp.org>
10010
10011         * lib/glob.c: Don't include getlogin_r.h.
10012
10013 2007-02-22  Jim Meyering  <jim@meyering.net>
10014
10015         * modules/utimens (Depends-on): Add timespec, required for
10016         utimens.h's inclusion of timespec.h.
10017
10018 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
10019
10020         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
10021         long unreadable paths in GNU/Linux.  Problem reported by Andreas
10022         Schwab in
10023         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
10024         I'll try to think of a better way to fix the Solaris problem.
10025
10026         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
10027         like glibc; on Solaris 10, it fails with errno == EINVAL.
10028         POSIX says the behavior is unspecified if the first argument is NULL,
10029         so play it safe and never pass NULL to the system getcwd.
10030
10031 2007-02-21  Jim Meyering  <jim@meyering.net>
10032
10033         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
10034         of gettimeofday.  It would conflict with the one now always
10035         provided via sys_time_.h.  Reported by Matthew Woehlke, as
10036         an IRIX 6.5 build failure.
10037
10038 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10039
10040         Minor fixups to port to Solaris 10 with Sun C 5.8.
10041         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
10042         * modules/getcwd (Depends-on): Add dirfd.
10043         * lib/putenv.c (putenv): #undef it.
10044         (rpl_putenv): New decl.
10045         (malloc, free): Include <stdlib.h> rather than prototyping separately.
10046
10047 2007-02-20  Bruno Haible  <bruno@clisp.org>
10048
10049         * modules/stdio-tests: New file.
10050         * tests/test-stdio.c: New file.
10051
10052         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
10053         (Depends-on): Add stdio.
10054         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10055         (Include): Use <stdio.h> instead of vsnprintf.h.
10056         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10057         HAVE_DECL_VSNPRINTF.
10058         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
10059
10060         * modules/snprintf (Files): Remove lib/snprintf.h.
10061         (Depends-on): Add stdio.
10062         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10063         (Include): Use <stdio.h> instead of snprintf.h.
10064         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
10065         HAVE_DECL_SNPRINTF.
10066         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
10067         * lib/getaddrinfo.c: Likewise.
10068
10069         * modules/stdio: New file.
10070         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
10071         * lib/snprintf.h: Remove file.
10072         * lib/vsnprintf.h: Remove file.
10073         * lib/.cppi-disable: Remove snprintf.h.
10074         * m4/stdio_h.m4: New file.
10075         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
10076
10077 2007-02-20  Jim Meyering  <jim@meyering.net>
10078
10079         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
10080         used by e.g., mingw.  From Bruno Haible.
10081
10082 2007-02-19  Bruno Haible  <bruno@clisp.org>
10083
10084         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
10085         warnings.
10086         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10087
10088 2007-02-19  Bruno Haible  <bruno@clisp.org>
10089
10090         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
10091         from mingw users.
10092
10093 2007-02-19  Bruno Haible  <bruno@clisp.org>
10094
10095         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
10096         warnings.
10097         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
10098
10099 2007-02-19  Jim Meyering  <jim@meyering.net>
10100
10101         Don't use FD after a successful "fdopendir (fd)".
10102         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
10103         Reset it by calling dirfd on the just-obtained DIR*.
10104
10105         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
10106         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
10107
10108 2007-02-18  Bruno Haible  <bruno@clisp.org>
10109
10110         * lib/readlink.c: Include <unistd.h>.
10111         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
10112         HAVE_READLINK.
10113         * modules/readlink (Depends-on): Add unistd.
10114         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10115         (Include): Add <unistd.h>.
10116
10117         * lib/getlogin_r.h: Remove file.
10118         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
10119         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
10120         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
10121         HAVE_DECL_GETLOGIN_R.
10122         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
10123         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10124         (Include): Use <unistd.h> instead of getlogin_r.h.
10125
10126         * lib/getcwd.h: Remove file.
10127         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
10128         * lib/xgetcwd.c: Likewise.
10129         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
10130         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
10131         * modules/getcwd (Files): Remove lib/getcwd.h.
10132         (Depends-on): Add unistd.
10133         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10134         (Include): Use <unistd.h> instad of getcwd.h.
10135
10136         * lib/ftruncate.c: Include <unistd.h> first.
10137         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
10138         Set HAVE_FTRUNCATE.
10139         * modules/ftruncate (Depends-on): Add unistd.
10140         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10141
10142         * lib/fchdir.c: Include <unistd.h> first.
10143         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
10144         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
10145         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
10146         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10147         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
10148
10149         * lib/dup2.c: Include <unistd.h> first.
10150         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
10151         HAVE_DUP2.
10152         * modules/dup2 (Depends-on): Add unistd.
10153         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10154
10155         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
10156         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
10157         REPLACE_CHOWN. Don't define chown as a macro here.
10158         * modules/chown (Depends-on): Add unistd.
10159         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
10160
10161         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
10162         Add definition for GL_LINK_WARNING.
10163         (chown, dup2): New declarations.
10164         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
10165         link warning.
10166         (ftruncate): New declaration.
10167         (getcwd): New declaration, taken from old getcwd.h.
10168         (getlogin_r): New declaration, taken from old getlogin_r.h.
10169         (readlink): New declaration.
10170         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
10171         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
10172         (gl_PREREQ_UNISTD): Remove macro.
10173         (gl_UNISTD_MODULE_INDICATOR): New macro.
10174         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
10175         many new variables. Don't set UNISTD_H.
10176         * modules/unistd (Description): Change.
10177         (Depends-on): Add link-warning.
10178         (configure.ac): Update.
10179         (Makefile.am): Create unistd.h always. Substitute many new variables
10180         into it.
10181
10182 2007-02-18  Bruno Haible  <bruno@clisp.org>
10183
10184         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
10185         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
10186         HAVE_GETSUBOPT.
10187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
10188         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
10189         * lib/getsubopt.h: Remove file.
10190         * modules/getsubopt (Files): Remove lib/getsubopt.h.
10191         (Depends-on): Add stdlib.
10192         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10193         (Includes): Use <stdlib.h> instead of getsubopt.h.
10194         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
10195         Set HAVE_GETSUBOPT.
10196         * lib/getsubopt.c: Don't include getsubopt.h.
10197
10198 2007-02-18  Bruno Haible  <bruno@clisp.org>
10199
10200         * modules/fchdir (Depends-on): Add dup2.
10201
10202 2007-02-18  Bruno Haible  <bruno@clisp.org>
10203
10204         * lib/stdlib_.h: Handle glibc's special invocation convention
10205         specially.
10206
10207 2007-02-18  Bruno Haible  <bruno@clisp.org>
10208
10209         * modules/stdlib-tests: New file.
10210         * tests/test-stdlib.c: New file.
10211
10212         * modules/mkstemp (Files): Remove lib/mkstemp.h.
10213         (Depends-on): Add stdlib.
10214         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10215         (Includes): Use <stdlib.h> instead of mkstemp.h.
10216         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
10217         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
10218         * lib/mkstemp.c: Don't include mkstemp.h.
10219         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
10220         * lib/stdlib--.h: Don't include mkstemp.h.
10221
10222         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
10223         (Depends-on): Add stdlib.
10224         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
10225         (Includes): Use <stdlib.h> instead of mkdtemp.h.
10226         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
10227         HAVE_MKDTEMP.
10228         * lib/mkdtemp.c: Don't include mkdtemp.h.
10229         * lib/clean-temp.c: Don't include mkdtemp.h.
10230
10231         * modules/exit (Files): Remove lib/exit.h.
10232         (Depends-on): Add stdlib.
10233         (Makefile.am): Remove lib_SOURCES.
10234         (Include): Use <stdlib.h> instead of exit.h.
10235         * lib/argmatch.c: Don't include exit.h.
10236         * lib/execute.c: Likewise.
10237         * lib/pagealign_alloc.c: Likewise.
10238         * lib/pipe.c: Likewise.
10239         * lib/wait-process.c: Likewise.
10240         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
10241         * lib/exitfail.c: Likewise.
10242         * lib/savewd.c: Likewise.
10243         * lib/xsetenv.c: Likewise.
10244
10245         * modules/stdlib: New file.
10246         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
10247         and extra comments about mkstemp().
10248         * lib/exit.h: Remove file.
10249         * lib/mkdtemp.h: Remove file.
10250         * lib/mkstemp.h: Remove file.
10251         * m4/stdlib_h.m4: New file.
10252         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
10253
10254 2007-02-18  Bruno Haible  <bruno@clisp.org>
10255
10256         * modules/math-tests: New file.
10257         * tests/test-math.c: New file.
10258
10259         * modules/math: New file.
10260         * modules/mathl (Files): Remove lib/mathl.h.
10261         (Depends-on): Add math.
10262         (Makefile.am): Don't mention mathl.h.
10263         (Include): Use <math.h> instead of mathl.h.
10264         * lib/math_.h: New file.
10265         * lib/mathl.h: Remove file.
10266         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
10267         mathl.h.
10268         * lib/asinl.c: Likewise.
10269         * lib/atanl.c: Likewise.
10270         * lib/ceill.c: Likewise.
10271         * lib/cosl.c: Likewise.
10272         * lib/expl.c: Likewise.
10273         * lib/floorl.c: Likewise.
10274         * lib/frexpl.c: Likewise.
10275         * lib/ldexpl.c: Likewise.
10276         * lib/logl.c: Likewise.
10277         * lib/sincosl.c: Likewise.
10278         * lib/sinl.c: Likewise.
10279         * lib/sqrtl.c: Likewise.
10280         * lib/tanl.c: Likewise.
10281         * lib/trigl.c: Likewise.
10282         * m4/math_h.m4: New file.
10283         * MODULES.html.sh (Mathematics): Add math.
10284
10285 2007-02-17  Bruno Haible  <bruno@clisp.org>
10286
10287         * modules/wctype-tests: New file.
10288         * tests/test-wctype.c: New file.
10289
10290         * modules/wchar-tests: New file.
10291         * tests/test-wchar.c: New file.
10292
10293         * modules/unistd-tests: New file.
10294         * tests/test-unistd.c: New file.
10295
10296         * modules/time-tests: New file.
10297         * tests/test-time.c: New file.
10298
10299         * modules/sysexits-tests: New file.
10300         * tests/test-sysexits.c: New file.
10301
10302         * modules/sys_time-tests: New file.
10303         * tests/test-sys_time.c: New file.
10304
10305         * modules/sys_stat-tests: New file.
10306         * tests/test-sys_stat.c: New file.
10307
10308         * modules/sys_socket-tests: New file.
10309         * tests/test-sys_socket.c: New file.
10310
10311         * modules/sys_select-tests: New file.
10312         * tests/test-sys_select.c: New file.
10313
10314         * modules/string-tests: New file.
10315         * tests/test-string.c: New file.
10316
10317         * modules/stdbool-tests: New file.
10318         * tests/test-stdbool.c: New file.
10319
10320         * modules/netinet_in-tests: New file.
10321         * tests/test-netinet_in.c: New file.
10322
10323         * modules/inttypes-tests: New file.
10324         * tests/test-inttypes.c: New file.
10325
10326         * modules/fcntl-tests: New file.
10327         * tests/test-fcntl.c: New file.
10328
10329         * modules/byteswap-tests: New file.
10330         * tests/test-byteswap.c: New file.
10331
10332         * modules/arpa_inet-tests: New file.
10333         * tests/test-arpa_inet.c: New file.
10334
10335 2007-02-17  Bruno Haible  <bruno@clisp.org>
10336
10337         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
10338         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
10339         if the corresponding module is not enabled. Emit link warnings if
10340         the function is used nevertheless.
10341         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
10342         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
10343         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
10344         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
10345         * modules/inttypes (Depends-on): Add link-warning.
10346         (Makefile.am): Copy the contents of build-aux/link-warning.h into
10347         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
10348         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
10349         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
10350         * modules/imaxdiv (configure.ac): Likewise.
10351         * modules/strtoimax (configure.ac): Likewise.
10352         * modules/strtoumax (configure.ac): Likewise.
10353
10354 2007-02-17  Bruno Haible  <bruno@clisp.org>
10355
10356         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
10357         gl_STRING_MODULE_INDICATOR_DEFAULTS.
10358         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
10359         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
10360
10361 2007-02-17  Bruno Haible  <bruno@clisp.org>
10362
10363         * modules/link-warning: New file.
10364         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
10365         * lib/string_.h (GL_LINK_WARNING): Remove definition.
10366         * modules/string (Depends-on): Add link-warning.
10367         (Makefile.am): Copy the contents of build-aux/link-warning.h into
10368         string.h.
10369         * MODULES.html.sh (Support for building libraries and executables): Add
10370         link-warning.
10371
10372 2007-02-17  Bruno Haible  <bruno@clisp.org>
10373
10374         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
10375         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
10376         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
10377         long lines.
10378
10379 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
10380             Bruno Haible  <bruno@clisp.org>
10381
10382         * modules/tmpfile: New file.
10383         * lib/tmpfile.c: New file.
10384         * m4/tmpfile.m4: New file.
10385         * MODULES.html.sh (func_all_modules): New section "Input/output".
10386
10387 2007-02-15  Bruno Haible  <bruno@clisp.org>
10388
10389         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
10390         (supports_delete_on_close): New function.
10391         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
10392
10393 2007-02-14  Bruno Haible  <bruno@clisp.org>
10394
10395         * modules/mbspcasecmp-tests: New file.
10396         * tests/test-mbspcasecmp.sh: New file.
10397         * tests/test-mbspcasecmp.c: New file.
10398
10399         New module mbspcasecmp.
10400         * modules/mbspcasecmp: New file.
10401         * lib/mbspcasecmp.c: New file.
10402         * lib/string_.h (strncasecmp): Change warning message.
10403         (mbspcasecmp): New declaration.
10404         * m4/mbspcasecmp.m4: New file.
10405         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10406         GNULIB_MBSPCASECMP.
10407         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
10408         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
10409
10410 2007-02-14  Bruno Haible  <bruno@clisp.org>
10411
10412         * modules/mbsncasecmp-tests: New file.
10413         * tests/test-mbsncasecmp.sh: New file.
10414         * tests/test-mbsncasecmp.c: New file.
10415
10416         New module mbsncasecmp.
10417         * modules/mbsncasecmp: New file.
10418         * lib/mbsncasecmp.c: New file.
10419         * lib/string_.h (mbsncasecmp): New declaration.
10420         * m4/mbsncasecmp.m4: New file.
10421         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10422         GNULIB_MBSNCASECMP.
10423         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
10424         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
10425
10426 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10427
10428         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
10429         Verify that it doesn't overlap with our flags.
10430         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
10431         do not have the desired effect in multibyte locales; instead, use
10432         mbscasecmp.
10433         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
10434         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
10435         we don't require GNU fnmatch ourselves (if our users require it, they
10436         should do so explicitly).
10437
10438         Fix regex code so it doesn't rely on strcasecmp.
10439         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
10440         Otherwise, include gnulib's langinfo.h.
10441         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
10442         undesirable behavior in non-C locales.  Instead, rely on localecharset.
10443         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
10444         * modules/regex (FILES): Remove m4/codeset.m4.
10445         (Depends-on): Add localcharset.  Remove strcase.
10446
10447 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10448
10449         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
10450         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
10451
10452 2007-02-13  Bruno Haible  <bruno@clisp.org>
10453
10454         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
10455         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10456
10457 2007-02-12  Bruno Haible  <bruno@clisp.org>
10458
10459         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
10460         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
10461         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
10462         time warning rather than a link error.
10463
10464 2007-02-12  Bruno Haible  <bruno@clisp.org>
10465
10466         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
10467         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10468         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10469
10470 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10471
10472         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
10473         args, not 2.
10474
10475 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10476
10477         New module 'time', so that apps can include <time.h> as per
10478         POSIX and GNU instead of separate include files like time_r.h
10479         and timegm.h.  This implementation tries out a simpler approach
10480         for replacing decls in standard include files (as compared to
10481         the string module), somewhat as an experiment.
10482
10483         * config/srclist.txt: Comment out mktime.c for now.
10484         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
10485         since it doesn't apply any more.  Use generic wording instead.
10486         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
10487         'time'.
10488         * lib/time_.h, m4/time_h.m4, modules/time: New files.
10489         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
10490         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
10491         Don't include <sys/types.h>; no longer needed since we assume C89.
10492         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
10493         * lib/strftime.c: Likewise.
10494         * lib/time_r.c: Likewise.
10495         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
10496         * lib/nanosleep.c: Include <time.h> first, to check interface.
10497         * lib/strptime.c: Likewise.
10498         * lib/time_r.c: Likewise.
10499         * lib/timegm.c: Likewise.
10500         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
10501         needed.
10502         * lib/timegm.c: Don't include timegm.h; no longer needed.
10503         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
10504         time.h now handles any problems in that area.
10505         (struct timespec, nanosleep): Remove; time.h now arranges for these.
10506         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
10507         that time.h defines struct timespec.
10508         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
10509         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
10510         handles that.
10511         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
10512         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
10513         needed.  Set REPLACE_LOCALTIME.
10514         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
10515         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
10516         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
10517         nanosleep; time_h.m4 now does that.  Don't require
10518         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
10519         module handles this now.
10520         * modules/getdate (Depends-on): Remove timespec.  Add time.
10521         * modules/nanosleep (Depends-on): Likewise.
10522         * modules/stat-time (Depends-on): Likewise.
10523         * modules/nanosleep (Include): Include time.h, not timespec.h.
10524         * modules/strptime (Files): Remove lib/strptime.h.
10525         (Depends-on): Add extensions, time.
10526         (Include): Include time.h, not strptime.h.
10527         * modules/time_r (Files): Remove lib/time_r.h.
10528         (Depends-on): Add time.
10529         (Include): Include time.h, not time_r.h.
10530         * modules/timegm: Likewise.
10531         * modules/timespec (Description): Now does timespec-related decls
10532         of our own, instead of struct timespec itself.
10533         (Depends-on): Add time; remove extensions.
10534         (Maintainer): Add self.
10535         * modules/utimecmp (Depends-on): Add time; remove timespec.
10536         * modules/utimens (Depends-on): Likewise.
10537         * modules/xnanosleep (Depends-on): Likewise.
10538
10539 2007-02-11  Bruno Haible  <bruno@clisp.org>
10540
10541         * lib/c-strstr.c: Include allocsa.h.
10542         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10543         * lib/c-strcasestr.c: Include allocsa.h.
10544         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10545         * lib/strcasestr.c: Include allocsa.h.
10546         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
10547         * lib/mbsstr.c: Include allocsa.h.
10548         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
10549         allocsa/freesa instead of malloc/free.
10550         * lib/mbscasestr.c: Include allocsa.h.
10551         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
10552         allocsa/freesa instead of malloc/free.
10553         * modules/c-strstr (Depends-on): Add allocsa.
10554         * modules/c-strcasestr (Depends-on): Likewise.
10555         * modules/strcasestr (Depends-on): Likewise.
10556         * modules/mbsstr (Depends-on): Likewise.
10557         * modules/mbscasestr (Depends-on): Likewise.
10558
10559 2007-02-11  Bruno Haible  <bruno@clisp.org>
10560
10561         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
10562
10563         * modules/mbsspn-tests: New file.
10564         * tests/test-mbsspn.sh: New file.
10565         * tests/test-mbsspn.c: New file.
10566
10567 2007-02-11  Bruno Haible  <bruno@clisp.org>
10568
10569         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
10570
10571         * modules/mbspbrk-tests: New file.
10572         * tests/test-mbspbrk.sh: New file.
10573         * tests/test-mbspbrk.c: New file.
10574
10575 2007-02-11  Bruno Haible  <bruno@clisp.org>
10576
10577         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
10578         unneeded cast.
10579
10580         * modules/mbscspn-tests: New file.
10581         * tests/test-mbscspn.sh: New file.
10582         * tests/test-mbscspn.c: New file.
10583
10584 2007-02-11  Bruno Haible  <bruno@clisp.org>
10585
10586         * modules/mbscasecmp-tests: New file.
10587         * tests/test-mbscasecmp.sh: New file.
10588         * tests/test-mbscasecmp.c: New file.
10589
10590 2007-02-11  Bruno Haible  <bruno@clisp.org>
10591
10592         Ensure O(n) worst-case complexity of mbscasestr.
10593         * lib/mbscasestr.c: Include stdbool.h.
10594         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
10595         functions.
10596         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
10597         the bookkeeping indicates that it's worth it.
10598         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
10599
10600         * modules/mbscasestr-tests: New file.
10601         * tests/test-mbscasestr1.c: New file.
10602         * tests/test-mbscasestr2.sh: New file.
10603         * tests/test-mbscasestr2.c: New file.
10604         * tests/test-mbscasestr3.sh: New file.
10605         * tests/test-mbscasestr3.c: New file.
10606         * tests/test-mbscasestr4.sh: New file.
10607         * tests/test-mbscasestr4.c: New file.
10608         * m4/locale-tr.m4: New file.
10609
10610 2007-02-11  Bruno Haible  <bruno@clisp.org>
10611
10612         Ensure O(n) worst-case complexity of mbsstr.
10613         * lib/mbsstr.c: Include stdbool.h.
10614         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
10615         functions.
10616         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
10617         bookkeeping indicates that it's worth it.
10618         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
10619
10620         * modules/mbsstr-tests: New file.
10621         * tests/test-mbsstr1.c: New file.
10622         * tests/test-mbsstr2.sh: New file.
10623         * tests/test-mbsstr2.c: New file.
10624         * tests/test-mbsstr3.sh: New file.
10625         * tests/test-mbsstr3.c: New file.
10626         * m4/locale-fr.m4: New file.
10627
10628 2007-02-11  Bruno Haible  <bruno@clisp.org>
10629
10630         * lib/mbsrchr.c (mbsrchr): Fix bug.
10631
10632         * modules/mbsrchr-tests: New file.
10633         * tests/test-mbsrchr.sh: New file.
10634         * tests/test-mbsrchr.c: New file.
10635
10636 2007-02-11  Bruno Haible  <bruno@clisp.org>
10637
10638         * lib/mbschr.c (mbschr): Fix bug.
10639
10640         * modules/mbschr-tests: New file.
10641         * tests/test-mbschr.sh: New file.
10642         * tests/test-mbschr.c: New file.
10643         * m4/locale-zh.m4: New file.
10644
10645 2007-02-11  Bruno Haible  <bruno@clisp.org>
10646
10647         Support for copying multibyte string iterators.
10648         * lib/mbiter.h: Include <string.h>.
10649         (mbiter_multi_copy): New function.
10650         (mbi_copy): New macro.
10651         * lib/mbuiter.h: Include <string.h>.
10652         (mbuiter_multi_copy): New function.
10653         (mbui_copy): New macro.
10654
10655 2007-02-11  Bruno Haible  <bruno@clisp.org>
10656
10657         New module mbslen.
10658         * modules/mbslen: New file.
10659         * lib/mbslen.c: New file.
10660         * lib/string_.h (mbslen): New declaration.
10661         * m4/mbslen.m4: New file.
10662         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10663         GNULIB_MBSLEN.
10664         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
10665         * MODULES.html.sh (Internationalization functions): Add mbslen.
10666
10667 2007-02-11  Bruno Haible  <bruno@clisp.org>
10668
10669         Ensure O(n) worst-case complexity of strcasestr substitute.
10670         * lib/strcasestr.c: Include stdbool.h.
10671         (knuth_morris_pratt): New function.
10672         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
10673         bookkeeping indicates that it's worth it.
10674         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
10675
10676         * modules/strcasestr-tests: New file.
10677         * tests/test-strcasestr.c: New file.
10678
10679 2007-02-11  Bruno Haible  <bruno@clisp.org>
10680
10681         Ensure O(n) worst-case complexity of c_strcasestr.
10682         * lib/c-strcasestr.c: Include stdbool.h, string.h.
10683         (knuth_morris_pratt): New function.
10684         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
10685         the bookkeeping indicates that it's worth it.
10686         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
10687
10688         * modules/c-strcasestr-tests: New file.
10689         * tests/test-c-strcasestr.c: New file.
10690
10691 2007-02-11  Bruno Haible  <bruno@clisp.org>
10692
10693         Ensure O(n) worst-case complexity of c_strstr.
10694         * lib/c-strstr.c: Include stdbool.h, string.h.
10695         (knuth_morris_pratt): New function.
10696         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
10697         bookkeeping indicates that it's worth it.
10698         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
10699
10700         * lib/c-strstr.c: Complete rewrite for maintainability.
10701
10702         * modules/c-strstr-tests: New file.
10703         * tests/test-c-strstr.c: New file.
10704
10705 2007-02-11  Bruno Haible  <bruno@clisp.org>
10706
10707         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
10708         5.2.1 and earlier, whereby \055 was treated just like the range
10709         delimiter '-'.
10710         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
10711
10712 2007-02-08  Bruno Haible  <bruno@clisp.org>
10713
10714         * modules/regex (Depends-on): Add stdbool.
10715         Reported by Dalibor Topic <robilad@kaffe.org>.
10716
10717 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10718
10719         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
10720         Prefer returning from main to exiting from it.
10721         Remove unnecessary parens after sizeof.
10722
10723 2007-02-05  Bruno Haible  <bruno@clisp.org>
10724
10725         New module mbssep.
10726         * modules/mbssep: New file.
10727         * lib/mbssep.c: New file.
10728         * lib/string_.h (strsep): Add a conditional link warning.
10729         (mbssep): New declaration.
10730         * m4/mbssep.m4: New file.
10731         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10732         GNULIB_MBSSEP.
10733         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
10734         * MODULES.html.sh (Internationalization functions): Add mbssep.
10735
10736 2007-02-05  Bruno Haible  <bruno@clisp.org>
10737
10738         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
10739         Optimize search in case of 1 delimiter.
10740
10741 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
10742
10743         * lib/acl.h: Include sys/types.h before sys/acl.h.
10744
10745 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
10746
10747         Merge upstream fix for glibc bugzilla #3957:
10748
10749         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
10750
10751         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
10752         bit for RE_HAT_LISTS_NOT_NEWLINE.
10753         (build_charclass_op): Remove bogus comment.
10754
10755 2007-02-05  Simon Josefsson  <simon@josefsson.org>
10756
10757         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
10758
10759 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10760
10761         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
10762         * lib/memmem.c [!defined _LIBC]: Include config.h.
10763
10764 2007-02-04  Bruno Haible  <bruno@clisp.org>
10765
10766         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
10767         warning message.
10768
10769 2007-02-04  Bruno Haible  <bruno@clisp.org>
10770
10771         New module mbstok_r.
10772         * modules/mbstok_r: New file.
10773         * lib/mbstok_r.c: New file.
10774         * lib/string_.h (strtok_r): Change argument names to match the
10775         comments. Add a conditional link warning.
10776         (mbstok_r): New declaration.
10777         * m4/mbstok_r.m4: New file.
10778         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10779         GNULIB_MBSTOK_R.
10780         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
10781         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
10782
10783 2007-02-04  Bruno Haible  <bruno@clisp.org>
10784
10785         New module mbsspn.
10786         * modules/mbsspn: New file.
10787         * lib/mbsspn.c: New file.
10788         * lib/string_.h (strspn): Add a conditional link warning.
10789         (mbsspn): New declaration.
10790         * m4/mbsspn.m4: New file.
10791         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10792         GNULIB_MBSSPN.
10793         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
10794         * MODULES.html.sh (Internationalization functions): Add mbsspn.
10795
10796 2007-02-04  Bruno Haible  <bruno@clisp.org>
10797
10798         New module mbspbrk.
10799         * modules/mbspbrk: New file.
10800         * lib/mbspbrk.c: New file.
10801         * lib/string_.h (strpbrk): Add a conditional link warning.
10802         (mbspbrk): New declaration.
10803         * m4/mbspbrk.m4: New file.
10804         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10805         GNULIB_MBSPBRK.
10806         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
10807         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
10808
10809 2007-02-04  Bruno Haible  <bruno@clisp.org>
10810
10811         New module mbscspn.
10812         * modules/mbscspn: New file.
10813         * lib/mbscspn.c: New file.
10814         * lib/string_.h (strcspn): Add a conditional link warning.
10815         (mbscspn): New declaration.
10816         * m4/mbscspn.m4: New file.
10817         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10818         GNULIB_MBSCSPN.
10819         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
10820         * MODULES.html.sh (Internationalization functions): Add mbscspn.
10821
10822 2007-02-04  Bruno Haible  <bruno@clisp.org>
10823
10824         New module mbscasestr, reduced goal of strcasestr.
10825         * modules/mbscasestr: New file.
10826         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
10827         (mbscasestr): Renamed from strcasestr.
10828         * lib/strcasestr.c: Don't include mbuiter.h.
10829         (strcasestr): Remove support for multibyte locales.
10830         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
10831         Change the conditional link warning.
10832         (mbscasestr): New declaration.
10833         * m4/mbscasestr.m4: New file.
10834         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
10835         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
10836         REPLACE_STRCASESTR.
10837         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
10838         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10839         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
10840         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
10841         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
10842         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
10843         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
10844         (Depends-on): Remove mbuiter.
10845         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
10846
10847 2007-02-04  Bruno Haible  <bruno@clisp.org>
10848
10849         Simplify handling of strncasecmp.
10850         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
10851         the conditional link warning.
10852         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10853         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
10854         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
10855         * modules/strcase (configure.ac): Don't invoke
10856         gl_STRING_MODULE_INDICATOR.
10857         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
10858
10859 2007-02-04  Bruno Haible  <bruno@clisp.org>
10860
10861         New module mbscasecmp, reduced goal of strcasecmp.
10862         * modules/mbscasecmp: New file.
10863         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
10864         (mbscasecmp): Renamed from strcasecmp.
10865         * lib/strcasecmp.c: Don't include mbuiter.h.
10866         (strcasecmp): Remove support for multibyte locales.
10867         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
10868         Change the conditional link warning.
10869         (mbscasecmp): New declaration.
10870         * m4/mbscasecmp.m4: New file.
10871         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
10872         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
10873         REPLACE_STRCASECMP.
10874         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
10875         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10876         GNULIB_MBSCASECMP.
10877         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
10878         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
10879         * modules/strcase (Files): Remove m4/mbrtowc.m4.
10880         (Depends-on): Remove mbuiter.
10881         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
10882
10883 2007-02-04  Bruno Haible  <bruno@clisp.org>
10884
10885         New module mbsstr. Remove module strstr.
10886         * modules/mbsstr: New file.
10887         * modules/strstr: Remove file.
10888         * lib/mbsstr.c: Renamed from lib/strstr.c.
10889         (mbsstr): Renamed from strstr.
10890         * lib/string_.h (strstr): Remove declaration. Change the conditional
10891         link warning.
10892         (mbsstr): New declaration.
10893         * m4/mbsstr.m4: New file.
10894         * m4/strstr.m4: Remove file.
10895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
10896         REPLACE_STRSTR.
10897         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
10898         Don't initialize GNULIB_STRSTR.
10899         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
10900         substitute GNULIB_STRSTR and REPLACE_STRSTR.
10901         * MODULES.html.sh (Internationalization functions): Add mbsstr.
10902         (Support for systems lacking ANSI C 89): Remove strstr.
10903
10904 2007-02-04  Bruno Haible  <bruno@clisp.org>
10905
10906         New module mbsrchr.
10907         * modules/mbsrchr: New file.
10908         * lib/mbsrchr.c: New file.
10909         * lib/string_.h (strrchr): Add a conditional link warning.
10910         (mbsrchr): New declaration.
10911         * m4/mbsrchr.m4: New file.
10912         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10913         GNULIB_MBSRCHR.
10914         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
10915         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
10916
10917 2007-02-04  Bruno Haible  <bruno@clisp.org>
10918
10919         New module mbschr.
10920         * modules/mbschr: New file.
10921         * lib/mbschr.c: New file.
10922         * lib/string_.h (strchr): Add a conditional link warning.
10923         (mbschr): New declaration.
10924         * m4/mbschr.m4: New file.
10925         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
10926         GNULIB_MBSCHR.
10927         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
10928         * MODULES.html.sh (Internationalization functions): Add mbschr.
10929
10930 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10931
10932         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
10933
10934         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
10935
10936 2007-02-04  Bruno Haible  <bruno@clisp.org>
10937
10938         New module description section 'configure.ac-early'.
10939         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
10940         (func_get_autoconf_early_snippet): New function.
10941         (func_import, func_create_testdir): Use it. Remove special cases for
10942         modules 'extensions' and 'lock'.
10943         * modules/extensions (configure.ac-early): Require
10944         gl_USE_SYSTEM_EXTENSIONS.
10945         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
10946
10947 2007-02-04  Bruno Haible  <bruno@clisp.org>
10948
10949         Make use of gcj-4.3's -fsource and -ftarget option.
10950         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
10951         and if so try the options -fsource and -ftarget.
10952         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
10953         source_version, ftarget_option, target_version arguments.
10954         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
10955         (is_envjavac_oldgcj_14_14_usable): Renamed from
10956         is_envjavac_gcj_14_14_usable.
10957         (is_envjavac_oldgcj_14_13_usable): Renamed from
10958         is_envjavac_gcj_14_13_usable.
10959         (is_gcj_present): Update.
10960         (is_gcj_43, is_gcj43_usable): New functions.
10961         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
10962         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
10963         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
10964         try the options -fsource and -ftarget.
10965
10966 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
10967
10968         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
10969         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
10970         larger value.
10971
10972 2007-02-03  Jim Meyering  <jim@meyering.net>
10973
10974         Give tools a better chance to allocate space for very large buffers.
10975         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
10976
10977         Make pwd and readlink work also when run with an unreadable parent dir
10978         on systems with openat support.
10979         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
10980         provided getcwd function, even when we have openat support.
10981         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
10982
10983 2007-02-02  Bruno Haible  <bruno@clisp.org>
10984
10985         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
10986         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
10987         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
10988         portability problems if one of these functions is only used on specific
10989         platforms.
10990         Reported by Paul Eggert.
10991
10992 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
10993
10994         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
10995         is causing more trouble than it's curing.
10996         * lib/regex_internal.h (__mempcpy): Remove.
10997         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
10998         (and make the code a tad smaller to boot).
10999         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
11000
11001 2007-02-02  Jim Meyering  <jim@meyering.net>
11002
11003         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
11004         section, not in the Makefile.am: one.
11005
11006 2007-02-02  Eric Blake  <ebb9@byu.net>
11007
11008         * lib/strchrnul.c: Always include config.h first.
11009
11010         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
11011         gnulib strstr is not necessary here.
11012
11013 2007-02-02  Simon Josefsson  <simon@josefsson.org>
11014
11015         * m4/socklen.m4: Fix typo.
11016
11017 2007-02-02  Eric Blake  <ebb9@byu.net>
11018
11019         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
11020         * modules/netinet_in (Makefile.am): Likewise.
11021
11022 2007-02-01  Bruno Haible  <bruno@clisp.org>
11023
11024         * lib/string_.h (GL_LINK_WARNING): New macro.
11025         (strcasecmp, strstr, strcasestr): If provided by the system,
11026         conditionally define as a macro that leads to a warning instead of to
11027         an error.
11028         (strncasecmp): Conditionally define as a macro that leads to a warning.
11029
11030 2007-02-01  Karl Berry  <karl@gnu.org>
11031
11032         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
11033
11034 2007-02-01  Bruno Haible  <bruno@clisp.org>
11035
11036         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
11037         renamings.
11038
11039 2007-02-01  Eric Blake  <ebb9@byu.net>
11040
11041         * modules/regex (Depends-on): Revert dependence on mempcpy.
11042         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
11043         module's definition of mempcpy.
11044         Reported by Paul Eggert.
11045
11046 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
11047
11048         * lib/string_.h: If the gnulib module XYZ is not present, undefine
11049         the symbol XYZ before redefining it.  This fixes a problem with
11050         programs that don't use XYZ, when compiled on systems that define
11051         XYZ to something else.
11052
11053 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
11054
11055         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
11056         occurs when "mkdir -m foo" creates a setgid directory that is (1)
11057         writeable to group or other and (2) is intended to have a special
11058         mode bit that is set or cleared.  In such a case, the directory
11059         should be neither group- nor other-writeable until the special
11060         mode bits are right.
11061
11062 2007-01-31  Eric Blake  <ebb9@byu.net>
11063
11064         * modules/mountlist (Depends-on): Add strstr.
11065
11066         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
11067         bug.
11068         * modules/string (Makefile.am): Remove redundant replacement.
11069         * modules/regex (Depends-on): Add mempcpy.
11070
11071 2007-01-31  Bruno Haible  <bruno@clisp.org>
11072
11073         New module description field 'Link'.
11074         * gnulib-tool (func_usage): Document --extract-link-directive.
11075         (sed_extract_prog): Recognize 'Link' directive.
11076         (func_get_link_directive): New function.
11077         (func_import): Show summary of link directives.
11078         Handle --extract-link-directive option.
11079         * modules/acl (Link): New section.
11080         * modules/clock-time (Link): New section.
11081         * modules/euidaccess (Link): New section.
11082         * modules/gettext (Link): New section.
11083         * modules/iconv (Link): New section.
11084         * modules/lock (Link): New section.
11085         * modules/nanosleep (Link): New section.
11086         * modules/readline (Link): New section.
11087
11088 2007-01-27  Bruno Haible  <bruno@clisp.org>
11089
11090         Enforce the use of gnulib modules for unportable <string.h> functions.
11091         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
11092         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
11093         (gl_HEADER_STRING_H_BODY): Require it.
11094         * lib/string_.h: If the gnulib module XYZ is not present, redefine
11095         the symbol XYZ to one that gives a link error.
11096         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
11097         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
11098         * modules/mempcpy (configure.ac): Likewise.
11099         * modules/memrchr (configure.ac): Likewise.
11100         * modules/stpcpy (configure.ac): Likewise.
11101         * modules/stpncpy (configure.ac): Likewise.
11102         * modules/strcase (configure.ac): Likewise.
11103         * modules/strcasestr (configure.ac): Likewise.
11104         * modules/strchrnul (configure.ac): Likewise.
11105         * modules/strdup (configure.ac): Likewise.
11106         * modules/strndup (configure.ac): Likewise.
11107         * modules/strnlen (configure.ac): Likewise.
11108         * modules/strpbrk (configure.ac): Likewise.
11109         * modules/strsep (configure.ac): Likewise.
11110         * modules/strstr (configure.ac): Likewise.
11111         * modules/strtok_r (configure.ac): Likewise.
11112
11113 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
11114
11115         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
11116
11117 2007-01-30  Jim Meyering  <jim@meyering.net>
11118
11119         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
11120
11121 2007-01-29  Bruno Haible  <bruno@clisp.org>
11122
11123         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
11124         * lib/execute.c: Likewise.
11125         * lib/pipe.c: Likewise.
11126         * lib/printf-args.h: Likewise.
11127         * lib/printf-args.c: Likewise.
11128         * lib/printf-parse.c: Likewise.
11129         * lib/vasnprintf.c: Likewise.
11130
11131 2007-01-29  Eric Blake  <ebb9@byu.net>
11132
11133         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
11134         declaration.
11135
11136 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
11137
11138         * lib/strptime.h (strptime): Use 'restrict' for args where
11139         POSIX requires this.
11140         * lib/strptime.c (strptime): Likewise.
11141         Change license notice from LGPL to GPL, since gnulib-tool will
11142         change this as needed.
11143         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
11144         defined.
11145         Include "strptime.h" first, to check interface.
11146         Do not #undef _LIBC and _NL_CURRENT.
11147         Do not include <stdlib.h>; no longer needed.
11148         Include "time_r.h" and declare ptime_locale_status
11149         only if _LIBC is not defined.
11150         (__P): Remove unused macro.
11151         (match_string): Bring back glibc version, but use it only if _LIBC
11152         is defined.
11153         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
11154         Remove unnecessary assertion and abort() call.
11155         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
11156         * m4/strptime.m4: Fix serial number comment.
11157         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
11158         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
11159         (Depends-on): Add time_r.
11160
11161 2007-01-29  Bruno Haible  <bruno@clisp.org>
11162
11163         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11164         strptime.
11165         * modules/strptime (Depends-on): Add stdbool.
11166         * lib/strptime.h: Include <time.h> always. Add comments.
11167
11168 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
11169
11170         * modules/strptime: New file.
11171         * lib/strptime.h: New file.
11172         * lib/strptime.c: New file.
11173         * m4/strptime.m4: New file.
11174
11175 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
11176
11177         * MODULES.html.sh: New module mpsort.
11178         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
11179
11180         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
11181         a circularity problem with HP-UX ia64 reported by Bob Proulx in
11182         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
11183         All uses changed.
11184         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
11185         All uses changed.
11186         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
11187         to _Restrict_.
11188         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
11189         the parameter matches the prototype.
11190
11191 2007-01-28  Jim Meyering  <jim@meyering.net>
11192
11193         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
11194         sys/time.h here, reverting that part of the previous patch:
11195         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
11196
11197 2007-01-28  Bruno Haible  <bruno@clisp.org>
11198
11199         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
11200         value of $(SYS_TIME_H).
11201         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
11202         remove it conditionally, too. [added by Jim Meyering]
11203         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
11204         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
11205         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
11206         GETTIMEOFDAY_REPLACEMENT to 1.
11207
11208 2007-01-28  Bruno Haible  <bruno@clisp.org>
11209
11210         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
11211         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
11212         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
11213         Set UNISTD_H instead of UNISTD_H2.
11214         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
11215
11216 2007-01-28  Bruno Haible  <bruno@clisp.org>
11217
11218         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
11219         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
11220
11221 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11222
11223         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
11224         (func_create_testdir): Ensure C locale for `grep' and `tr'
11225         character ranges.
11226         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
11227         ACLOCAL_AMFLAGS parsing state machine.
11228
11229 2007-01-27  Bruno Haible  <bruno@clisp.org>
11230
11231         * modules/unistr/base: Update.
11232
11233 2007-01-27  Bruno Haible  <bruno@clisp.org>
11234
11235         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
11236         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
11237         * modules/unistr/u32-mbtouc-unsafe: Renamed from
11238         modules/unistr/u32-mbtouc.
11239         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
11240         * lib/unistr.h: Update.
11241         * lib/linebreak.c: Update.
11242         * modules/unistr/u32-mbtouc: Renamed from
11243         modules/unistr/u32-mbtouc-safe.
11244         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
11245         * lib/unistr.h: Update.
11246         * lib/unistr/u32-to-u8.c: Update.
11247         * lib/unistr/u32-to-u16.c: Update.
11248
11249 2007-01-27  Bruno Haible  <bruno@clisp.org>
11250
11251         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
11252         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
11253         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
11254         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
11255         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
11256         * modules/unistr/u16-mbtouc-unsafe: Renamed from
11257         modules/unistr/u16-mbtouc.
11258         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
11259         * lib/unistr.h: Update.
11260         * lib/linebreak.c: Update.
11261         * modules/linebreak: Update.
11262         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
11263         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
11264         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
11265         * modules/unistr/u16-mbtouc: Renamed from
11266         modules/unistr/u16-mbtouc-safe.
11267         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
11268         * lib/unistr.h: Update.
11269         * lib/unistr/u16-to-u8.c: Update.
11270         * modules/unistr/u16-to-u8: Update.
11271         * lib/unistr/u16-to-u32.c: Update.
11272         * modules/unistr/u16-to-u32: Update.
11273
11274 2007-01-27  Bruno Haible  <bruno@clisp.org>
11275
11276         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
11277         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
11278         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
11279         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
11280         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
11281         * modules/unistr/u8-mbtouc-unsafe: Renamed from
11282         modules/unistr/u8-mbtouc.
11283         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
11284         * lib/unistr.h: Update.
11285         * lib/striconveh.c: Update.
11286         * modules/striconveh: Update.
11287         * lib/linebreak.c: Update.
11288         * modules/linebreak: Update.
11289         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
11290         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
11291         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
11292         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
11293         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
11294         * lib/unistr.h: Update.
11295         * lib/striconveh.c: Update.
11296         * modules/striconveh: Update.
11297         * lib/unistr/u8-to-u16.c: Update.
11298         * modules/unistr/u8-to-u16: Update.
11299         * lib/unistr/u8-to-u32.c: Update.
11300         * modules/unistr/u8-to-u32: Update.
11301
11302 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11303
11304         Sync from Libtool.
11305         * lib/argz.c: Do not include strings.h nor memory.h, include
11306         string.h unconditionally.  Patch by Simon Josefsson.
11307
11308 2007-01-27  Bruno Haible  <bruno@clisp.org>
11309
11310         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
11311         from gl_HEADER_STRING_H_BODY.
11312         (gl_HEADER_STRING_H_BODY): Require it.
11313         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
11314         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
11315         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
11316         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
11317         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11318         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
11319         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11320         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
11321         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
11322         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
11323         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
11324         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
11325         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
11326         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11327         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
11328
11329 2007-01-27  Bruno Haible  <bruno@clisp.org>
11330
11331         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
11332         check_PROGRAMS into noinst_PROGRAMS.
11333         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
11334         check_PROGRAMS in this case.
11335         (func_import): Set for_test to false.
11336         (func_create_testdir): Set for_test to true.
11337
11338 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
11339             Bruno Haible  <bruno@clisp.org>
11340
11341         * modules/strcasestr (Files): Remove lib/strcasestr.h.
11342         (Depends-on): Add string.
11343         (Includes): Use <string.h> instead of strcasestr.h.
11344         * modules/string (Makefile.am): Also substitute the value of
11345         REPLACE_STRCASESTR.
11346         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
11347         assume strcasestr is declared in <string.h> not <strings.h>. Also
11348         set REPLACE_STRCASESTR.
11349         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
11350         REPLACE_STRCASESTR.
11351         * lib/strcasestr.h: Remove file.
11352         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
11353         * lib/string_.h (strcasestr): New declaration.
11354
11355 2007-01-27  Bruno Haible  <bruno@clisp.org>
11356
11357         * lib/string_.h: Use 'extern'.
11358
11359 2007-01-27  Jim Meyering  <jim@meyering.net>
11360
11361         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
11362         of set-but-not-used local, "q".
11363
11364         * lib/mempcpy.c: Include <config.h> before <string.h>.
11365         This fixes a compilation error on HP-UX, due to the system's
11366         "restrict"-using mempcpy prototype.
11367
11368 2007-01-26  Bruno Haible  <bruno@clisp.org>
11369
11370         Small optimization.
11371         * lib/javacomp.c: Include c-strstr.h.
11372          (is_envjavac_gcj): Use c_strstr instead of strstr.
11373         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
11374
11375 2007-01-26  Bruno Haible  <bruno@clisp.org>
11376
11377         * MODULES.html.sh (Unicode string functions): Add the new modules.
11378
11379         * modules/uniconv/u32-strconv-to-locale: New file.
11380         * lib/uniconv/u32-strconv-to-locale.c: New file.
11381
11382         * modules/uniconv/u16-strconv-to-locale: New file.
11383         * lib/uniconv/u16-strconv-to-locale.c: New file.
11384
11385         * modules/uniconv/u8-strconv-to-locale: New file.
11386         * lib/uniconv/u8-strconv-to-locale.c: New file.
11387
11388         * modules/uniconv/u32-strconv-from-locale: New file.
11389         * lib/uniconv/u32-strconv-from-locale.c: New file.
11390
11391         * modules/uniconv/u16-strconv-from-locale: New file.
11392         * lib/uniconv/u16-strconv-from-locale.c: New file.
11393
11394         * modules/uniconv/u8-strconv-from-locale: New file.
11395         * lib/uniconv/u8-strconv-from-locale.c: New file.
11396
11397         * modules/uniconv/u32-strconv-to-enc: New file.
11398         * lib/uniconv/u32-strconv-to-enc.c: New file.
11399         * modules/uniconv/u32-strconv-to-enc-tests: New file.
11400         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
11401
11402         * modules/uniconv/u16-strconv-to-enc: New file.
11403         * lib/uniconv/u16-strconv-to-enc.c: New file.
11404         * lib/uniconv/u-strconv-to-enc.h: New file.
11405         * modules/uniconv/u16-strconv-to-enc-tests: New file.
11406         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
11407
11408         * modules/uniconv/u8-strconv-to-enc: New file.
11409         * lib/uniconv/u8-strconv-to-enc.c: New file.
11410         * modules/uniconv/u8-strconv-to-enc-tests: New file.
11411         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
11412
11413         * modules/uniconv/u32-strconv-from-enc: New file.
11414         * lib/uniconv/u32-strconv-from-enc.c: New file.
11415         * modules/uniconv/u32-strconv-from-enc-tests: New file.
11416         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
11417
11418         * modules/uniconv/u16-strconv-from-enc: New file.
11419         * lib/uniconv/u16-strconv-from-enc.c: New file.
11420         * modules/uniconv/u16-strconv-from-enc-tests: New file.
11421         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
11422
11423         * modules/uniconv/u8-strconv-from-enc: New file.
11424         * lib/uniconv/u8-strconv-from-enc.c: New file.
11425         * lib/uniconv/u-strconv-from-enc.h: New file.
11426         * modules/uniconv/u8-strconv-from-enc-tests: New file.
11427         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
11428
11429         * modules/uniconv/u32-conv-from-enc: New file.
11430         * lib/uniconv/u32-conv-from-enc.c: New file.
11431         * modules/uniconv/u32-conv-from-enc-tests: New file.
11432         * tests/uniconv/test-u32-conv-from-enc.c: New file.
11433
11434         * modules/uniconv/u16-conv-from-enc: New file.
11435         * lib/uniconv/u16-conv-from-enc.c: New file.
11436         * lib/uniconv/u-conv-from-enc.h: New file.
11437         * modules/uniconv/u16-conv-from-enc-tests: New file.
11438         * tests/uniconv/test-u16-conv-from-enc.c: New file.
11439
11440         * modules/uniconv/u8-conv-from-enc: New file.
11441         * lib/uniconv/u8-conv-from-enc.c: New file.
11442         * modules/uniconv/u8-conv-from-enc-tests: New file.
11443         * tests/uniconv/test-u8-conv-from-enc.c: New file.
11444
11445         * modules/uniconv/base: New file.
11446         * lib/uniconv.h: New file.
11447
11448 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
11449
11450         * doc/gnulib-tool.texi (Initial import): Update to match current
11451         behavior with strdup module.
11452         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
11453         * lib/memmem.h: Remove; all uses removed.  This is now done
11454         by <string.h>.
11455         * lib/mempcpy.h: Likewise.
11456         * lib/memrchr.h: Likewise.
11457         * lib/stpcpy.h: Likewise.
11458         * lib/stpncpy.h: Likewise.
11459         * lib/strcase.h: Likewise.
11460         * lib/strchrnul.h: Likewise.
11461         * lib/strdup.h: Likewise.
11462         * lib/strndup.h: Likewise.
11463         * lib/strnlen.h: Likewise.
11464         * lib/strpbrk.h: Likewise.
11465         * lib/strsep.h: Likewise.
11466         * lib/strstr.h: Likewise.
11467         * lib/strtok_r.h: Likewise.
11468         * lib/string_.h: New file.
11469         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
11470         Rely on <string.h> instead.
11471         * lib/canon-host.c: Likewise.
11472         * lib/chdir-long.c: Likewise.
11473         * lib/concatpath.c: Likewise.
11474         * lib/exclude.c: Likewise.
11475         * lib/fchdir.c: Likewise.
11476         * lib/getaddrinfo.c: Likewise.
11477         * lib/getcwd.c: Likewise.
11478         * lib/getsubopt.c: Likewise.
11479         * lib/glob.c: Likewise.
11480         * lib/hard-locale.c: Likewise.
11481         * lib/iconvme.c: Likewise.
11482         * lib/javacomp.c: Likewise.
11483         * lib/mempcpy.c: Likewise.
11484         * lib/memrchr.c: Likewise.
11485         * lib/regex_internal.h: Likewise.
11486         * lib/stpncpy.c: Likewise.
11487         * lib/strcasecmp.c: Likewise.
11488         * lib/strchrnul.c: Likewise.
11489         * lib/strdup.c: Likewise.
11490         * lib/striconv.c: Likewise.
11491         * lib/striconveh.c: Likewise.
11492         * lib/striconveha.c: Likewise.
11493         * lib/strncasecmp.c: Likewise.
11494         * lib/strndup.c: Likewise.
11495         * lib/strnlen.c: Likewise.
11496         * lib/strsep.c: Likewise.
11497         * lib/strstr.c: Likewise.
11498         * lib/strtok_r.c: Likewise.
11499         * lib/userspec.c: Likewise.
11500         * lib/w32spawn.h: Likewise.
11501         * lib/xstrndup.c: Likewise.
11502         * lib/mountlist.c (strstr): Remove decl.
11503         * m4/string_h.m4: New file.
11504         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
11505         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
11506         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
11507         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
11508         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
11509         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
11510         Set REPLACE_STRCASECMP if necessary.
11511         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
11512         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
11513         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
11514         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
11515         HAVE_DECL_STRDUP if necessary.
11516         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
11517         since gl_FUNC_STRNDUP does that now.
11518         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
11519         Check for decl here...
11520         (gl_PREREQ_STRNLEN): ... not here.
11521         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
11522         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
11523         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
11524         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
11525         necessary.
11526         * modules/string: New file.
11527         * modules/memmem (Files): Remove special-purpose include file.
11528         (Depends-on): Add string.
11529         (Include): Include <string.h>, not the removed file.
11530         * modules/mempcpy: Likewise.
11531         * modules/memrchr: Likewise.
11532         * modules/stpcpy: Likewise.
11533         * modules/stpncpy: Likewise.
11534         * modules/strcase: Likewise.
11535         * modules/strchrnul: Likewise.
11536         * modules/strdup: Likewise.
11537         * modules/strndup: Likewise.
11538         * modules/strnlen: Likewise.
11539         * modules/strpbrk: Likewise.
11540         * modules/strsep: Likewise.
11541         * modules/strstr: Likewise.
11542         * modules/strtok_r: Likewise.
11543         * tests/test-dirname.c: Don't include "strdup.h", since
11544         <string.h> now suffices.
11545         * tests/test-memmem.c: Don't include "memmem.h", since
11546         <string.h> now suffices.
11547
11548 2007-01-25  Bruno Haible  <bruno@clisp.org>
11549
11550         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
11551         *resultp is 0.
11552
11553         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
11554         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
11555         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
11556         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
11557
11558         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
11559         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
11560         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
11561         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
11562         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
11563         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
11564
11565 2007-01-24  Bruno Haible  <bruno@clisp.org>
11566
11567         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
11568         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
11569         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
11570         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
11571         gl_FUNC_FTS_CORE.
11572         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
11573         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
11574         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11575         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
11576         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
11577         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
11578         gl_FUNC_FCHOWNAT.
11579         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
11580         gl_FUNC_STRFTIME.
11581         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
11582         Reported by Ralf Wildenhues.
11583
11584 2007-01-24  Bruno Haible  <bruno@clisp.org>
11585
11586         Drop AC_REQUIRE calls that are redundant with the module dependencies.
11587         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
11588         gl_GETADDRINFO.
11589         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
11590         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
11591         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
11592
11593 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
11594
11595         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
11596         Don't use 'exit'; just return from 'main'.
11597         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
11598
11599         * lib/fnmatch_.h: Readjust white space and comments to match
11600         glibc, to avoid spurious diffs.
11601
11602 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11603
11604         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
11605         2004-12-01 change by Jakub Jelinek, since this code won't compile
11606         if !LIBC.  Problem reported by Bob Proulx.
11607
11608 2007-01-23  Bruno Haible  <bruno@clisp.org>
11609
11610         * lib/striconveh.c: Include c-strcaseeq.h.
11611         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
11612         * modules/striconveh (Depends-on): Add c-strcaseeq.
11613
11614 2007-01-23  Bruno Haible  <bruno@clisp.org>
11615
11616         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
11617
11618         * modules/c-strcaseeq: New file.
11619         * lib/c-strcaseeq.h: New file.
11620
11621         * modules/streq: New file.
11622         * lib/streq.h: New file.
11623
11624 2007-01-23  Bruno Haible  <bruno@clisp.org>
11625
11626         * modules/striconveha-tests: New file.
11627         * tests/test-striconveha.c: New file.
11628
11629         * lib/striconveha.h: Include <stdbool.h>.
11630         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
11631         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
11632         (mem_iconveha_notranslit): Renamed from mem_iconveha.
11633         (mem_iconveha): New function.
11634         (str_iconveha_notranslit): Renamed from str_iconveha.
11635         (str_iconveha): New function.
11636         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
11637         c-strcase.
11638
11639 2007-01-23  Bruno Haible  <bruno@clisp.org>
11640
11641         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
11642         encodings without forgiving before trying any encoding with handler.
11643         (str_iconveha): Try all encodings without forgiving before trying any
11644         encoding with handler.
11645
11646 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11647
11648         Import the following changes from libc.
11649
11650         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
11651
11652         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
11653
11654         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
11655
11656         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
11657         normal_bracket label.
11658
11659         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
11660
11661         [BZ #361]
11662         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
11663         to normal_bracket after fetching the next character.
11664
11665 2007-01-22  Bruno Haible  <bruno@clisp.org>
11666
11667         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
11668         argument.
11669         * lib/striconveh.c (iconv_carefully_1): New function.
11670         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
11671         argument.
11672         (str_cd_iconveh): Update.
11673         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
11674         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
11675         * tests/test-striconveh.c (MAGIC): New macro.
11676         (new_offsets): New function.
11677         (main): Test call with and without offsets.
11678
11679 2007-01-22  Bruno Haible  <bruno@clisp.org>
11680
11681         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
11682         * modules/sys_select (Makefile.am): Likewise.
11683         * modules/sys_socket (Makefile.am): Likewise.
11684         * modules/sys_time (Makefile.am): Likewise.
11685
11686 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
11687
11688         * modules/gettimeofday (License): Change from GPL to LGPL, since
11689         gettimeofday is a library function.
11690
11691 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11692
11693         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
11694
11695 2007-01-21  Bruno Haible  <bruno@clisp.org>
11696
11697         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
11698
11699 2007-01-21  Bruno Haible  <bruno@clisp.org>
11700
11701         * modules/striconveha: New file.
11702         * lib/striconveha.h: New file.
11703         * lib/striconveha.c: New file.
11704         * MODULES.html.sh (Internationalization functions): Add striconveha.
11705         * lib/striconv.c (str_iconv): Optimize the case of an empty input
11706         string.
11707         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
11708
11709 2007-01-21  Bruno Haible  <bruno@clisp.org>
11710
11711         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
11712         * lib/striconveh.c (str_iconveh): Likewise.
11713
11714 2007-01-21  Bruno Haible  <bruno@clisp.org>
11715
11716         * lib/striconveh.h (mem_iconveh): New declaration.
11717         * lib/striconveh.c (mem_iconveh): New function.
11718         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
11719
11720 2007-01-21  Bruno Haible  <bruno@clisp.org>
11721
11722         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
11723
11724         * lib/striconveh.h (mem_cd_iconveh): Change specification.
11725         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
11726         original result buffer.
11727         (str_cd_iconveh): Update.
11728         * tests/test-striconveh.c (main): Update.
11729
11730         * lib/striconv.h (mem_cd_iconv): Change specification.
11731         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
11732         result buffer.
11733         (str_cd_iconv): Update.
11734         * tests/test-striconv.c (main): Update.
11735
11736 2007-01-21  Bruno Haible  <bruno@clisp.org>
11737
11738         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
11739
11740 2007-01-20  Jim Meyering  <jim@meyering.net>
11741
11742         * lib/userspec.c (parse_with_separator): If a user or group string
11743         starts with "+", skip the corresponding name-to-ID look-up, since
11744         such a look-up must fail: user and group names may not include "+".
11745
11746 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
11747
11748         * lib/poll.c: Include sys/time.h and time.h unconditionally,
11749         since we now assume the sys_time module.
11750         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
11751         check for sys/time.h; no longer needed.
11752         * modules/poll (Depends-on): Depend on sys_time.
11753
11754 2007-01-18  Bruno Haible  <bruno@clisp.org>
11755
11756         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
11757         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
11758
11759         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
11760         gettimeofday.
11761
11762         * tests/test-gettimeofday.c: Include <time.h>.
11763         (dummy): Remove variable.
11764
11765         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
11766         gl_HEADER_SYS_TIME_H.
11767         (gl_HEADER_SYS_TIME_H): New macro.
11768
11769         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
11770         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11771         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11772         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
11773         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11774         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
11775         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
11776         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11777         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
11778         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
11779         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11780
11781         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
11782         last change; it caused a compilation error when cross-compiling to
11783         Cygwin.
11784
11785 2007-01-18  Jim Meyering  <jim@meyering.net>
11786
11787         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
11788         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
11789         than the race-prone "test -d sys || mkdir sys".
11790         (configure.ac): Use AC_PROG_MKDIR_P.
11791         * modules/sys_select: Likewise.
11792         * modules/sys_socket: Likewise.
11793         * modules/sys_time: Likewise.
11794
11795 2007-01-18  Eric Blake  <ebb9@byu.net>
11796
11797         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
11798         replace gettimeofday.
11799         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
11800         name, to avoid infinite recursion.
11801
11802 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
11803
11804         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
11805         module sys_time.
11806         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
11807         assume timespec.h defines struct timeval.
11808         * lib/settime.c: Likewise.
11809         * lib/utimens.c: Likewise.
11810         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
11811         since we now assume the gettimeofday module.
11812         * lib/tempname.c (__gen_tempname): Likewise.
11813         * lib/gettimeofday.h: Remove.
11814         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
11815         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
11816         Include <time.h>, for 'time()'.
11817         (localtime_buffer_addr): Also use this workaround if
11818         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
11819         to simplify the uses.  All uses changed.
11820         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
11821         that #undef is inside {}, and 'const' follows type name consistently.
11822         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
11823         (gettimeofday): Do not use the maximum possible value for
11824         tv->tv_usec, since that might break usages other than ls.c.
11825         Instead, we'll leave ls.c alone.  This undoes today's patch
11826         by Bruno.  Add a compile-time warning for 1s-clock resolution;
11827         we've never observed the problem but might as well keep the
11828         canary.
11829         * lib/nanosleep.c: Include timespec.h first, for interface check.
11830         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
11831         now assume the sys_time module.
11832         * lib/tempname.c: Likewise.
11833         * lib/timespec.h: Likewise.
11834         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
11835         needed.
11836         * lib/strftime.c: Likewise.
11837         * lib/timespec.h: Likewise.
11838         * lib/posixtm.c: Include posixtm.h first, for interface check.
11839         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
11840         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
11841         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
11842         * lib/sys_time_.h: New file.
11843         * lib/timespec.h (struct timespec): Use long int, not long.
11844         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
11845         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
11846         Remove obsolescent call to AC_HEADER_TIME.
11847         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11849         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
11850         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
11851         Likewise.
11852         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
11853         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
11854         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
11855         into the sys_time module.  Check for gettimeofday just once.
11856         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
11857         for gettimeofday signature to just check the signature.  Merely
11858         compile it, since linking doesn't test signature.  Improve test for
11859         whether gettimeofday.o is actually needed.
11860         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
11861         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
11862         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
11863         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11864         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
11865         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
11866         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
11867         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
11868         than worrying about sys/time.h.
11869         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
11870         Don't bother worrying about TIME_WITH_SYS_TIME.
11871         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
11872         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
11873         * m4/sys_time_h.m4: New file.
11874         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
11875         Don't include sys/time.h.  Return from main rather than exiting.
11876         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
11877         all uses changed.
11878         * modules/gethrxtime (Depends-on): Add sys_time.
11879         * modules/gettime (Depends-on): Likewise.
11880         * modules/gettimeofday (Depends-on): Likewise.
11881         * modules/nanosleep (Depends-on): Likewise.
11882         * modules/settime (Depends-on): Likewise.
11883         * modules/tempname (Depends-on): Likewise.
11884         * modules/utimens (Depends-on): Likewise.
11885         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
11886         (Include:) Change back to <sys/time.h>.
11887         (Maintainer:) Add self.
11888         * modules/sys_time: New file.
11889         * modules/tempname (Depends-on): Add gettimeofday.
11890         * tests/test-gettimeofday.c: Include <sys/time.h>
11891         rather than gettimeofday.h.
11892
11893 2007-01-17  Bruno Haible  <bruno@clisp.org>
11894
11895         * gnulib-tool (func_get_license): Revert last patch. Instead, let
11896         the license default to GPL.
11897         (func_create_testdir): Don't complain if a module is LGPL and its
11898         tests module depends on GPLed modules.
11899
11900 2007-01-17  Bruno Haible  <bruno@clisp.org>
11901
11902         * lib/gettimeofday.c (gettimeofday): Add code for the case
11903         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
11904         maximum possible value for tv->tv_usec, rather than the minimum one.
11905
11906 2005-10-08  Martin Lambers  <marlam@marlam.de>
11907 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11908 2007-01-16  Bruno Haible  <bruno@clisp.org>
11909
11910         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
11911         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
11912         gl_FUNC_GETTIMEOFDAY.
11913         (Include): Add gettimeofday.h.
11914         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
11915         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
11916         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
11917         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
11918         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
11919         * lib/gettimeofday.h: New file.
11920         * lib/gettimeofday.c: Include <sys/timeb.h>.
11921         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
11922         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
11923         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
11924         fall back on time().
11925
11926         * tests/test-gettimeofday.c: New file.
11927         * modules/gettimeofday-tests: New file.
11928
11929 2007-01-16  Eric Blake  <ebb9@byu.net>
11930
11931         * modules/fnmatch (Depends-on): Depend on wchar.
11932         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
11933         * m4/fnmatch.m4: Likewise.
11934         * modules/mbchar (Makefile.am): Assume <wchar.h>.
11935         * m4/mbchar.m4: Likewise.
11936         * modules/mbswidth (Depends-on): Depend on wchar.
11937         * lib/mbswidth.c: Assume <wchar.h>.
11938         * m4/mbswidth.m4: Likewise.
11939         * modules/quotearg (Depends-on): Depend on wchar.
11940         * lib/quotearg.c: Assume <wchar.h>.
11941         * m4/quotearg.m4: Likewise.
11942         * modules/regex (Depends-on): Depend on wchar.
11943         * lib/regex_internal.h: Assume <wchar.h>.
11944         * m4/regex.m4: Likewise.
11945         * modules/stdint (Depends-on): Depend on wchar.
11946         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
11947         * m4/stdint.m4: Likewise.
11948         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
11949         * modules/strftime (Depends-on): Depend on wchar.
11950         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
11951         * modules/strtol (Depends-on): Depend on wchar.
11952         * lib/strtol.c: Assume <wchar.h>.
11953         * modules/wcwidth (Depends-on): Depend on wchar.
11954         * lib/wcwidth.h: Assume <wchar.h>.
11955         * m4/wcwidth.m4: Likewise.
11956
11957 2007-01-16  Bruno Haible  <bruno@clisp.org>
11958
11959         * modules/csharpexec-script: New, created from...
11960         * modules/csharpexec: ... this.
11961
11962 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
11963
11964         * modules/javaexec-script: New, created from...
11965         * modules/javaexec: ... this.
11966
11967 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
11968
11969         * modules/poll (Dependencies): Add sys_select.
11970
11971 2007-01-15  Jim Meyering  <jim@meyering.net>
11972
11973         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
11974         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
11975         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
11976         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
11977
11978 2007-01-15  Bruno Haible  <bruno@clisp.org>
11979
11980         * modules/striconveh: New file.
11981         * lib/striconveh.h: New file.
11982         * lib/striconveh.c: New file.
11983         * MODULES.html.sh (Internationalization functions): Add striconveh.
11984
11985         * modules/striconveh-tests: New file.
11986         * tests/test-striconveh.c: New file.
11987
11988 2007-01-15  Bruno Haible  <bruno@clisp.org>
11989
11990         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
11991         not from GNU libiconv or GNU libc.
11992
11993 2007-01-15  Bruno Haible  <bruno@clisp.org>
11994
11995         * doc/gnulib-intro.texi (Copyright): Explain the different license
11996         terms for module descriptions, autoconf macros, tests, documentation.
11997
11998 2007-01-14  Bruno Haible  <bruno@clisp.org>
11999
12000         * modules/striconv-tests: New file.
12001         * tests/test-striconv.c: New file.
12002
12003 2007-01-14  Bruno Haible  <bruno@clisp.org>
12004
12005         * modules/iconv-tests: New file.
12006         * tests/test-iconv.c: New file.
12007
12008 2007-01-14  Bruno Haible  <bruno@clisp.org>
12009
12010         * gnulib-tool (func_get_license): For test modules, use the license of
12011         the main module.
12012
12013 2007-01-14  Bruno Haible  <bruno@clisp.org>
12014
12015         * modules/iconv (Include): Clarify that <iconv.h> can only be included
12016         if iconv is found to exist.
12017
12018 2007-01-14  Bruno Haible  <bruno@clisp.org>
12019
12020         * modules/c-ctype-tests: New file.
12021         * tests/test-c-ctype.c: New file.
12022
12023 2007-01-14  Bruno Haible  <bruno@clisp.org>
12024
12025         * modules/binary-io-tests: New file.
12026         * tests/test-binary-io.sh: New file.
12027         * tests/test-binary-io.c: New file.
12028
12029 2007-01-14  Bruno Haible  <bruno@clisp.org>
12030
12031         * modules/array-oset-tests: New file.
12032         * tests/test-array_oset.c: New file.
12033
12034 2007-01-14  Bruno Haible  <bruno@clisp.org>
12035
12036         * modules/array-list-tests: New file.
12037         * tests/test-array_list.c: New file.
12038
12039 2007-01-14  Bruno Haible  <bruno@clisp.org>
12040
12041         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
12042         and make.
12043         Reported by Simon Josefsson in
12044         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
12045
12046 2007-01-14  Bruno Haible  <bruno@clisp.org>
12047
12048         * modules/allocsa-tests: New file.
12049         * tests/test-allocsa.c: New file.
12050
12051 2007-01-14  Bruno Haible  <bruno@clisp.org>
12052
12053         * modules/fchdir (Depends-on): Add absolute-header.
12054         * modules/unistd (Depends-on): Likewise.
12055
12056 2006-12-30  Bruno Haible  <bruno@clisp.org>
12057
12058         * modules/fchdir: New file.
12059         * modules/unistd (Files): Add lib/unistd_.h.
12060         (Makefile.am): Generate unistd.h from unistd_.h.
12061         * lib/fchdir.c: New file.
12062         * lib/dirent_.h: New file.
12063         * lib/unistd_.h: New file.
12064         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
12065         * m4/fchdir.m4: New file.
12066         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
12067         (gl_HEADER_UNISTD): Invoke it.
12068         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
12069         function.
12070         * lib/backupfile.c (opendir, closedir): Undefine.
12071         * lib/chown.c (open, close): Undefine.
12072         * lib/clean-temp.c (open, close): Undefine.
12073         * lib/copy-file.c (open, close): Undefine.
12074         * lib/execute.c (open, close): Undefine.
12075         * lib/fsusage.c (open, close): Undefine.
12076         * lib/gc-gnulib.c (open, close): Undefine.
12077         * lib/getcwd.c (opendir, closedir): Undefine.
12078         * lib/glob.c (opendir, closedir): Undefine.
12079         * lib/javacomp.c (open, close): Undefine.
12080         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
12081         * lib/openat-proc.c (open, close): Undefine.
12082         * lib/pagealign_alloc.c (open, close): Undefine.
12083         * lib/pipe.c (open, close): Undefine.
12084         * lib/progreloc.c (open, close): Undefine.
12085         * lib/savedir.c (opendir, closedir): Undefine.
12086         * lib/utime.c (open, close): Undefine.
12087         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
12088
12089 2007-01-10  Bruno Haible  <bruno@clisp.org>
12090
12091         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
12092
12093 2007-01-12  Eric Blake  <ebb9@byu.net>
12094
12095         Provide a robust <wchar.h>.  Further simplifications are now
12096         possible in other modules, but not included here.
12097         * modules/wchar: New module.
12098         * m4/wchar.m4: New file.
12099         * lib/wchar_.h: Likewise.
12100         * modules/mbchar (Depends-on): Depend on wchar, as the first use
12101         of the new module.
12102         * MODULES.html.sh (Extended multibyte and wide character utilities):
12103         New section.
12104
12105 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12106
12107         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
12108         to a reasonable default for memory allocation.
12109         (xreadlink): Don't allocate a huge buffer, to work around a buggy
12110         file system that reports garbage st_size values for symlinks.
12111         Problem reported by Liyang Hu.
12112
12113 2007-01-11  Simon Josefsson  <simon@josefsson.org>
12114
12115         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
12116         Emacs .#* auto-save files).
12117
12118 2007-01-11  Bruno Haible  <bruno@clisp.org>
12119
12120         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
12121         directory.
12122
12123 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
12124
12125         Use @...@ consistently in lib/wctype_.h.
12126         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
12127         on it being set to 1 or 0.
12128         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
12129         go back to AC_SUBSTing it.
12130         * modules/wctype (Makefile.am): Undo previous change.
12131
12132 2007-01-10  Eric Blake  <ebb9@byu.net>
12133
12134         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
12135         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
12136         * modules/wctype (Makefile.am): Likewise.
12137         Reported by Chris McGuire.
12138
12139 2007-01-10  Jim Meyering  <jim@meyering.net>
12140
12141         fts.c: a small readability/maintainability improvement
12142         * lib/fts.c (fts_read): Make this code slightly more readable and
12143         maintainable by hoisting the "sp->fts_cur = p" assignments to
12144         immediately follow the statements that set P.  Derived from
12145         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
12146
12147 2007-01-10  Eric Blake  <ebb9@byu.net>
12148
12149         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
12150         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
12151         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12152         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
12153         Reported by Chris McGuire.
12154
12155 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12156
12157         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
12158         in sed script.
12159
12160 2007-01-09  Bruno Haible  <bruno@clisp.org>
12161
12162         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
12163         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
12164         variables.
12165         (func_module): Use them.
12166
12167 2007-01-09  Bruno Haible  <bruno@clisp.org>
12168
12169         * modules/unistr/base: New file.
12170         * lib/unistr.h: New file.
12171
12172         * modules/unistr/u8-to-u16: New file.
12173         * lib/unistr/u8-to-u16.c: New file.
12174
12175         * modules/unistr/u8-to-u32: New file.
12176         * lib/unistr/u8-to-u32.c: New file.
12177
12178         * modules/unistr/u16-to-u8: New file.
12179         * lib/unistr/u16-to-u8.c: New file.
12180
12181         * modules/unistr/u16-to-u32: New file.
12182         * lib/unistr/u16-to-u32.c: New file.
12183
12184         * modules/unistr/u32-to-u8: New file.
12185         * lib/unistr/u32-to-u8.c: New file.
12186
12187         * modules/unistr/u32-to-u16: New file.
12188         * lib/unistr/u32-to-u16.c: New file.
12189
12190         * modules/unistr/u8-check: New file.
12191         * modules/unistr/u16-check: New file.
12192         * modules/unistr/u32-check: New file.
12193         * lib/unistr/u8-check.c: New file.
12194         * lib/unistr/u16-check.c: New file.
12195         * lib/unistr/u32-check.c: New file.
12196
12197         * modules/unistr/u8-chr: New file.
12198         * modules/unistr/u16-chr: New file.
12199         * modules/unistr/u32-chr: New file.
12200         * lib/unistr/u8-chr.c: New file.
12201         * lib/unistr/u16-chr.c: New file.
12202         * lib/unistr/u32-chr.c: New file.
12203
12204         * modules/unistr/u8-cmp: New file.
12205         * modules/unistr/u16-cmp: New file.
12206         * modules/unistr/u32-cmp: New file.
12207         * lib/unistr/u8-cmp.c: New file.
12208         * lib/unistr/u16-cmp.c: New file.
12209         * lib/unistr/u32-cmp.c: New file.
12210
12211         * modules/unistr/u8-cpy: New file.
12212         * modules/unistr/u16-cpy: New file.
12213         * modules/unistr/u32-cpy: New file.
12214         * lib/unistr/u8-cpy.c: New file.
12215         * lib/unistr/u16-cpy.c: New file.
12216         * lib/unistr/u32-cpy.c: New file.
12217         * lib/unistr/u-cpy.h: New file.
12218
12219         * modules/unistr/u8-cpy-alloc: New file.
12220         * modules/unistr/u16-cpy-alloc: New file.
12221         * modules/unistr/u32-cpy-alloc: New file.
12222         * lib/unistr/u8-cpy-alloc.c: New file.
12223         * lib/unistr/u16-cpy-alloc.c: New file.
12224         * lib/unistr/u32-cpy-alloc.c: New file.
12225         * lib/unistr/u-cpy-alloc.h: New file.
12226
12227         * modules/unistr/u8-endswith: New file.
12228         * modules/unistr/u16-endswith: New file.
12229         * modules/unistr/u32-endswith: New file.
12230         * lib/unistr/u8-endswith.c: New file.
12231         * lib/unistr/u16-endswith.c: New file.
12232         * lib/unistr/u32-endswith.c: New file.
12233         * lib/unistr/u-endswith.h: New file.
12234
12235         * modules/unistr/u8-mblen: New file.
12236         * modules/unistr/u16-mblen: New file.
12237         * modules/unistr/u32-mblen: New file.
12238         * lib/unistr/u8-mblen.c: New file.
12239         * lib/unistr/u16-mblen.c: New file.
12240         * lib/unistr/u32-mblen.c: New file.
12241
12242         * modules/unistr/u8-mbtouc: New file.
12243         * modules/unistr/u16-mbtouc: New file.
12244         * modules/unistr/u32-mbtouc: New file.
12245         * lib/unistr/u8-mbtouc.c: New file.
12246         * lib/unistr/u16-mbtouc.c: New file.
12247         * lib/unistr/u32-mbtouc.c: New file.
12248
12249         * modules/unistr/u8-mbtouc-safe: New file.
12250         * modules/unistr/u16-mbtouc-safe: New file.
12251         * modules/unistr/u32-mbtouc-safe: New file.
12252         * lib/unistr/u8-mbtouc-safe.c: New file.
12253         * lib/unistr/u16-mbtouc-safe.c: New file.
12254         * lib/unistr/u32-mbtouc-safe.c: New file.
12255
12256         * modules/unistr/u8-move: New file.
12257         * modules/unistr/u16-move: New file.
12258         * modules/unistr/u32-move: New file.
12259         * lib/unistr/u8-move.c: New file.
12260         * lib/unistr/u16-move.c: New file.
12261         * lib/unistr/u32-move.c: New file.
12262         * lib/unistr/u-move.h: New file.
12263
12264         * modules/unistr/u8-next: New file.
12265         * modules/unistr/u16-next: New file.
12266         * modules/unistr/u32-next: New file.
12267         * lib/unistr/u8-next.c: New file.
12268         * lib/unistr/u16-next.c: New file.
12269         * lib/unistr/u32-next.c: New file.
12270
12271         * modules/unistr/u8-prev: New file.
12272         * modules/unistr/u16-prev: New file.
12273         * modules/unistr/u32-prev: New file.
12274         * lib/unistr/u8-prev.c: New file.
12275         * lib/unistr/u16-prev.c: New file.
12276         * lib/unistr/u32-prev.c: New file.
12277
12278         * modules/unistr/u8-set: New file.
12279         * modules/unistr/u16-set: New file.
12280         * modules/unistr/u32-set: New file.
12281         * lib/unistr/u8-set.c: New file.
12282         * lib/unistr/u16-set.c: New file.
12283         * lib/unistr/u32-set.c: New file.
12284         * lib/unistr/u-set.h: New file.
12285
12286         * modules/unistr/u8-startswith: New file.
12287         * modules/unistr/u16-startswith: New file.
12288         * modules/unistr/u32-startswith: New file.
12289         * lib/unistr/u8-startswith.c: New file.
12290         * lib/unistr/u16-startswith.c: New file.
12291         * lib/unistr/u32-startswith.c: New file.
12292         * lib/unistr/u-startswith.h: New file.
12293
12294         * modules/unistr/u8-stpcpy: New file.
12295         * modules/unistr/u16-stpcpy: New file.
12296         * modules/unistr/u32-stpcpy: New file.
12297         * lib/unistr/u8-stpcpy.c: New file.
12298         * lib/unistr/u16-stpcpy.c: New file.
12299         * lib/unistr/u32-stpcpy.c: New file.
12300         * lib/unistr/u-stpcpy.h: New file.
12301
12302         * modules/unistr/u8-stpncpy: New file.
12303         * modules/unistr/u16-stpncpy: New file.
12304         * modules/unistr/u32-stpncpy: New file.
12305         * lib/unistr/u8-stpncpy.c: New file.
12306         * lib/unistr/u16-stpncpy.c: New file.
12307         * lib/unistr/u32-stpncpy.c: New file.
12308         * lib/unistr/u-stpncpy.h: New file.
12309
12310         * modules/unistr/u8-strcat: New file.
12311         * modules/unistr/u16-strcat: New file.
12312         * modules/unistr/u32-strcat: New file.
12313         * lib/unistr/u8-strcat.c: New file.
12314         * lib/unistr/u16-strcat.c: New file.
12315         * lib/unistr/u32-strcat.c: New file.
12316         * lib/unistr/u-strcat.h: New file.
12317
12318         * modules/unistr/u8-strchr: New file.
12319         * modules/unistr/u16-strchr: New file.
12320         * modules/unistr/u32-strchr: New file.
12321         * lib/unistr/u8-strchr.c: New file.
12322         * lib/unistr/u16-strchr.c: New file.
12323         * lib/unistr/u32-strchr.c: New file.
12324
12325         * modules/unistr/u8-strcmp: New file.
12326         * modules/unistr/u16-strcmp: New file.
12327         * modules/unistr/u32-strcmp: New file.
12328         * lib/unistr/u8-strcmp.c: New file.
12329         * lib/unistr/u16-strcmp.c: New file.
12330         * lib/unistr/u32-strcmp.c: New file.
12331
12332         * modules/unistr/u8-strcpy: New file.
12333         * modules/unistr/u16-strcpy: New file.
12334         * modules/unistr/u32-strcpy: New file.
12335         * lib/unistr/u8-strcpy.c: New file.
12336         * lib/unistr/u16-strcpy.c: New file.
12337         * lib/unistr/u32-strcpy.c: New file.
12338         * lib/unistr/u-strcpy.h: New file.
12339
12340         * modules/unistr/u8-strcspn: New file.
12341         * modules/unistr/u16-strcspn: New file.
12342         * modules/unistr/u32-strcspn: New file.
12343         * lib/unistr/u8-strcspn.c: New file.
12344         * lib/unistr/u16-strcspn.c: New file.
12345         * lib/unistr/u32-strcspn.c: New file.
12346         * lib/unistr/u-strcspn.h: New file.
12347
12348         * modules/unistr/u8-strdup: New file.
12349         * modules/unistr/u16-strdup: New file.
12350         * modules/unistr/u32-strdup: New file.
12351         * lib/unistr/u8-strdup.c: New file.
12352         * lib/unistr/u16-strdup.c: New file.
12353         * lib/unistr/u32-strdup.c: New file.
12354         * lib/unistr/u-strdup.h: New file.
12355
12356         * modules/unistr/u8-strlen: New file.
12357         * modules/unistr/u16-strlen: New file.
12358         * modules/unistr/u32-strlen: New file.
12359         * lib/unistr/u8-strlen.c: New file.
12360         * lib/unistr/u16-strlen.c: New file.
12361         * lib/unistr/u32-strlen.c: New file.
12362         * lib/unistr/u-strlen.h: New file.
12363
12364         * modules/unistr/u8-strmblen: New file.
12365         * modules/unistr/u16-strmblen: New file.
12366         * modules/unistr/u32-strmblen: New file.
12367         * lib/unistr/u8-strmblen.c: New file.
12368         * lib/unistr/u16-strmblen.c: New file.
12369         * lib/unistr/u32-strmblen.c: New file.
12370
12371         * modules/unistr/u8-strmbtouc: New file.
12372         * modules/unistr/u16-strmbtouc: New file.
12373         * modules/unistr/u32-strmbtouc: New file.
12374         * lib/unistr/u8-strmbtouc.c: New file.
12375         * lib/unistr/u16-strmbtouc.c: New file.
12376         * lib/unistr/u32-strmbtouc.c: New file.
12377
12378         * modules/unistr/u8-strncat: New file.
12379         * modules/unistr/u16-strncat: New file.
12380         * modules/unistr/u32-strncat: New file.
12381         * lib/unistr/u8-strncat.c: New file.
12382         * lib/unistr/u16-strncat.c: New file.
12383         * lib/unistr/u32-strncat.c: New file.
12384         * lib/unistr/u-strncat.h: New file.
12385
12386         * modules/unistr/u8-strncmp: New file.
12387         * modules/unistr/u16-strncmp: New file.
12388         * modules/unistr/u32-strncmp: New file.
12389         * lib/unistr/u8-strncmp.c: New file.
12390         * lib/unistr/u16-strncmp.c: New file.
12391         * lib/unistr/u32-strncmp.c: New file.
12392
12393         * modules/unistr/u8-strncpy: New file.
12394         * modules/unistr/u16-strncpy: New file.
12395         * modules/unistr/u32-strncpy: New file.
12396         * lib/unistr/u8-strncpy.c: New file.
12397         * lib/unistr/u16-strncpy.c: New file.
12398         * lib/unistr/u32-strncpy.c: New file.
12399         * lib/unistr/u-strncpy.h: New file.
12400
12401         * modules/unistr/u8-strnlen: New file.
12402         * modules/unistr/u16-strnlen: New file.
12403         * modules/unistr/u32-strnlen: New file.
12404         * lib/unistr/u8-strnlen.c: New file.
12405         * lib/unistr/u16-strnlen.c: New file.
12406         * lib/unistr/u32-strnlen.c: New file.
12407         * lib/unistr/u-strnlen.h: New file.
12408
12409         * modules/unistr/u8-strpbrk: New file.
12410         * modules/unistr/u16-strpbrk: New file.
12411         * modules/unistr/u32-strpbrk: New file.
12412         * lib/unistr/u8-strpbrk.c: New file.
12413         * lib/unistr/u16-strpbrk.c: New file.
12414         * lib/unistr/u32-strpbrk.c: New file.
12415         * lib/unistr/u-strpbrk.h: New file.
12416
12417         * modules/unistr/u8-strrchr: New file.
12418         * modules/unistr/u16-strrchr: New file.
12419         * modules/unistr/u32-strrchr: New file.
12420         * lib/unistr/u8-strrchr.c: New file.
12421         * lib/unistr/u16-strrchr.c: New file.
12422         * lib/unistr/u32-strrchr.c: New file.
12423
12424         * modules/unistr/u8-strspn: New file.
12425         * modules/unistr/u16-strspn: New file.
12426         * modules/unistr/u32-strspn: New file.
12427         * lib/unistr/u8-strspn.c: New file.
12428         * lib/unistr/u16-strspn.c: New file.
12429         * lib/unistr/u32-strspn.c: New file.
12430         * lib/unistr/u-strspn.h: New file.
12431
12432         * modules/unistr/u8-strstr: New file.
12433         * modules/unistr/u16-strstr: New file.
12434         * modules/unistr/u32-strstr: New file.
12435         * lib/unistr/u8-strstr.c: New file.
12436         * lib/unistr/u16-strstr.c: New file.
12437         * lib/unistr/u32-strstr.c: New file.
12438         * lib/unistr/u-strstr.h: New file.
12439
12440         * modules/unistr/u8-strtok: New file.
12441         * modules/unistr/u16-strtok: New file.
12442         * modules/unistr/u32-strtok: New file.
12443         * lib/unistr/u8-strtok.c: New file.
12444         * lib/unistr/u16-strtok.c: New file.
12445         * lib/unistr/u32-strtok.c: New file.
12446         * lib/unistr/u-strtok.h: New file.
12447
12448         * modules/unistr/u8-uctomb: New file.
12449         * modules/unistr/u16-uctomb: New file.
12450         * modules/unistr/u32-uctomb: New file.
12451         * lib/unistr/u8-uctomb.c: New file.
12452         * lib/unistr/u16-uctomb.c: New file.
12453         * lib/unistr/u32-uctomb.c: New file.
12454
12455         * MODULES.html.sh (Unicode string functions): Add the new modules.
12456
12457 2007-01-08  Bruno Haible  <bruno@clisp.org>
12458
12459         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
12460         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
12461         subdirectories.
12462
12463 2007-01-08  Karl Berry  <karl@gnu.org>
12464
12465         * doc/error.texi: mention that main() fns must set program_name
12466         when progname is used.
12467
12468 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
12469
12470         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
12471         WCTYPE_H is empty, for the benefit of builds from non-distclean
12472         directories.  Problem reported by Eric Blake in
12473         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
12474
12475 2007-01-08  Bruno Haible  <bruno@clisp.org>
12476
12477         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
12478         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
12479         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
12480         PROVIDE_CANONICALIZE_FILENAME_MODE.
12481         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
12482
12483 2007-01-08  Bruno Haible  <bruno@clisp.org>
12484
12485         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
12486         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
12487         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
12488         * lib/fts.c: Likewise.
12489         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
12490
12491 2006-12-25  Bruno Haible  <bruno@clisp.org>
12492
12493         * modules/utf8-ucs4-safe: New file.
12494         * lib/utf8-ucs4-safe.h: New file.
12495         * lib/unistr/utf8-ucs4-safe.c: New file.
12496
12497         * modules/utf16-ucs4-safe: New file.
12498         * lib/utf16-ucs4-safe.h: New file.
12499         * lib/unistr/utf16-ucs4-safe.c: New file.
12500
12501         * MODULES.html.sh (Unicode string functions): Add the new modules.
12502
12503 2007-01-08  Bruno Haible  <bruno@clisp.org>
12504
12505         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
12506         (Depends-on): Add unitypes.
12507         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
12508         (u8_mbtouc_aux): Move out to separate file.
12509         (u8_mbtouc): Use ucs4_t, uint8_t types.
12510         * lib/unistr/utf8-ucs4.c: New file.
12511
12512         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
12513         (Depends-on): Add unitypes.
12514         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
12515         (u16_mbtouc_aux): Move out to separate file.
12516         (u16_mbtouc): Use ucs4_t, uint16_t types.
12517         * lib/unistr/utf16-ucs4.c: New file.
12518
12519         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
12520         (Depends-on): Add unitypes.
12521         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
12522         (u8_uctomb_aux): Move out to separate file.
12523         (u8_uctomb): Use ucs4_t, uint8_t types.
12524         * lib/unistr/ucs4-utf8.c: New file.
12525
12526         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
12527         (Depends-on): Add unitypes.
12528         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
12529         (u16_uctomb_aux): Move out to separate file.
12530         (u16_uctomb): Use ucs4_t, uint16_t types.
12531         * lib/unistr/ucs4-utf16.c: New file.
12532
12533 2006-12-25  Bruno Haible  <bruno@clisp.org>
12534
12535         * modules/unitypes: New file.
12536         * lib/unitypes.h: New file.
12537         * MODULES.html.sh (func_all_modules): New section "Unicode string
12538         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
12539         this section. Add unitypes.
12540
12541 2007-01-08  Bruno Haible  <bruno@clisp.org>
12542
12543         Avoid variable names that conflict with those from libtool.
12544         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
12545         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
12546         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
12547         library_names_spec to acl_library_names_spec, hardcode_* to
12548         acl_hardcode_*.
12549         Reported by Ralf Wildenhues.
12550
12551 2007-01-08  Bruno Haible  <bruno@clisp.org>
12552
12553         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
12554         definition.
12555         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
12556         definition.
12557         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
12558         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
12559         definition.
12560         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
12561         definition.
12562         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
12563         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
12564         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
12565         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
12566         definition.
12567         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
12568         definition.
12569         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
12570         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
12571         GC_USE_<algorithm>.
12572         * lib/gc-libgcrypt.c: Likewise.
12573         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
12574         * modules/gc-arctwo (configure.ac): Likewise.
12575         * modules/gc-des (configure.ac): Likewise.
12576         * modules/gc-hmac-md5 (configure.ac): Likewise.
12577         * modules/gc-hmac-sha1 (configure.ac): Likewise.
12578         * modules/gc-md2 (configure.ac): Likewise.
12579         * modules/gc-md4 (configure.ac): Likewise.
12580         * modules/gc-md5 (configure.ac): Likewise.
12581         * modules/gc-random (configure.ac): Likewise.
12582         * modules/gc-rijndael (configure.ac): Likewise.
12583         * modules/gc-sha1 (configure.ac): Likewise.
12584
12585 2007-01-08  Bruno Haible  <bruno@clisp.org>
12586
12587         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
12588         macro definition.
12589         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
12590         definition.
12591         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
12592         definition.
12593         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
12594         * modules/fcntl-safer (configure.ac): Likewise.
12595         * modules/fopen-safer (configure.ac): Likewise.
12596         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
12597         GNULIB_FWRITEERROR macro definition.
12598
12599 2007-01-08  Bruno Haible  <bruno@clisp.org>
12600
12601         * m4/gnulib-common.m4: New file.
12602         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
12603         (func_get_filelist): Add m4/gnulib-common.m4.
12604
12605 2007-01-08  Bruno Haible  <bruno@clisp.org>
12606
12607         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
12608         command.
12609
12610 2007-01-08  Jim Meyering  <jim@meyering.net>
12611
12612         Use a more robust test for a "can't happen" condition.
12613         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
12614         narrowed the st_size value.  Presuming the "can't happen" condition
12615         is true, that narrowing could conceivably convert an invalid st_size
12616         value into a valid one.  Instead, use a change based on Matthew
12617         Woehlke's original patch.
12618
12619         Slight readability improvement: use an assert-like macro
12620         in place of literal "abort ()" uses.
12621         * lib/fts.c (fts_assert): Define.
12622         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
12623         Use this macro instead of a bare 'abort'.
12624
12625 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
12626
12627         Don't worry about using IRIX 5.3's wctype.h broken definitions;
12628         simply work around them.
12629         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
12630         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
12631         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
12632         declaring.
12633         Don't bother to define as macros, since the standard doesn't require it.
12634         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
12635         longer worry about IRIX 5.3.
12636         (HAVE_WCTYPE_CTMP_BUG): Remove.
12637
12638 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12639
12640         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
12641         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
12642         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
12643         Problems reported by Georg Schwarz for IRIX 5.3.
12644
12645         * gnulib-tool (autoconf_minversion): Take the maximum version number
12646         found, not the minimum.  Problem reported by James Youngman.
12647
12648 2007-01-03  Karl Berry  <karl@gnu.org>
12649
12650         * doc/error.texi: new file, explaining interaction with progname.
12651         * doc/gnulib.texi: include it.  Update copyright.
12652
12653 2007-01-03  Simon Josefsson  <simon@josefsson.org>
12654
12655         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
12656         AC_CANONICAL_HOST, to improve autobuild outputs.
12657
12658 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
12659             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
12660
12661         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
12662         sockets, server sockets, and other file descriptors.  Count errors
12663         to compute the return value.  Reorder the code a bit to be easier
12664         to follow.  Don't set event bits that were not requested (except
12665         POLLERR and POLLHUP).
12666
12667 2007-01-01  Bruno Haible  <bruno@clisp.org>
12668
12669         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
12670
12671 2007-01-03  Jim Meyering  <jim@meyering.net>
12672
12673         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
12674
12675 2007-01-02  Bruno Haible  <bruno@clisp.org>
12676
12677         * modules/settime (Include): Require timespec.h.
12678         * modules/nanosleep (Include): Likewise.
12679
12680 2007-01-01  Bruno Haible  <bruno@clisp.org>
12681
12682         * gnulib-tool (func_emit_copyright_notice): Bump year.
12683         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
12684
12685 2007-01-01  Bruno Haible  <bruno@clisp.org>
12686
12687         Improve support for OpenBSD.
12688         * build-aux/config.rpath (libname_spec): Export.
12689         (library_names_spec): New variable. Export.
12690         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
12691         library_names_spec from the config.rpath output. Locate shared library
12692         through the name pattern in library_names_spec.
12693
12694 2007-01-01  Eric Blake  <ebb9@byu.net>
12695
12696         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
12697
12698 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
12699
12700         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
12701         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
12702         assume the C locale, and avoid an "eval" that could cause trouble.
12703         Problem with SORT reported by Bob Proulx.
12704
12705         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
12706         Define.  Trivial patch from Henning Nielsen Lund, originally
12707         sent to bug-grep@gnu.org today.
12708
12709 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
12710
12711         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
12712         struct stat.  Problem reported by Henning Nielsen Lund.
12713         * lib/acl.c: Include acl.h first, to check interface.  Don't
12714         bother to include sys/types.h and sys/stat.h again.
12715
12716 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12717
12718         Import the following change from libc; problem reported by
12719         Sven Verdoolaege.
12720
12721         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
12722
12723         [BZ #1373]
12724         * lib/argp.h: Remove __NTH for __argp_usage inline function.
12725
12726 2006-12-28  Jim Meyering  <jim@meyering.net>
12727
12728         * build-aux/announce-gen: Do not assume that the package
12729         builds any of tar.gz, tar.bz2, and .xdelta files.
12730         Suggestion from Simon Josefsson.
12731
12732 2006-12-28  Simon Josefsson  <simon@josefsson.org>
12733
12734         * modules/announce-gen: New file.
12735
12736 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12737
12738         * lib/mbchar.h: Just include <wctype.h>; the wctype module
12739         handles its gotchas now.
12740         * lib/mbswidth.c: Likewise.
12741         * lib/wcwidth.h: Likewise.
12742         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
12743         and iswcntrl; the wctype module does this stuff now.
12744         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
12745         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12746         * modules/mbchar (Depends-on): Add wctype.
12747         * modules/mbswidth (Depends-on): Likewise.
12748         * modules/wcwidth (Depends-on): Likewise.
12749
12750 2006-12-27  Eric Blake  <ebb9@byu.net>
12751
12752         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
12753         module uses more than what <wctype.h> is required to provide.
12754
12755 2006-12-26  Eric Blake  <ebb9@byu.net>
12756
12757         * gnulib-tool (sed_extract_prog): Avoid space-tab.
12758
12759 2006-12-26  Eric Blake  <ebb9@byu.net>
12760
12761         * modules/absolute-header: New module.
12762         * modules/fcntl (Depends-on): Depend on it.
12763         * modules/inttypes (Depends-on): Likewise.
12764         * modules/stdint (Depends-on): Likewise.
12765         * modules/sys_stat (Depends-on): Likewise.
12766         * modules/wctype (Depends-on): Likewise.
12767         * MODULES.html.sh (Support for building libraries and
12768         executables): Document it.
12769
12770 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
12771
12772         * gnulib-tool (SED): Remove, undoing previous change.
12773         The problem was that it broke coreutils on Solaris, because
12774         "sed --posix" leaked into a makefile.
12775         (sed): New alias, if 'alias' and GNU sed.
12776
12777 2006-12-24  Jim Meyering  <jim@meyering.net>
12778
12779         Work around an fchownat bug in glibc-2.4:
12780         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
12781         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
12782         in spite of the -P option.
12783         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
12784         New macros.
12785         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
12786         * modules/openat (Files): Add lib/fchownat.c.
12787         * lib/openat.c (fchownat): Don't define here.  Move to...
12788         * lib/fchownat.c: ...this new file.
12789
12790 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12791
12792         Fix bug reported by Bruno Haible in
12793         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
12794         where quotearg.c didn't compile on Mac OS X 10.2 because it
12795         lacks <wchar.h> and wint_t.
12796         * lib/wctype_.h (__wctype_wint_t): New type.
12797         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
12798         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
12799         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
12800         Arg is now of type __wctype_wint_t, not wint_t.
12801         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
12802         substitute HAVE_WINT_T.
12803         * modules/wctype (Files): Add m4/wint_t.m4.
12804         (wctype.h): Substitute HAVE_WINT_T.
12805
12806 2006-12-23  Bruno Haible  <bruno@clisp.org>
12807
12808         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
12809
12810 2006-12-23  Bruno Haible  <bruno@clisp.org>
12811
12812         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
12813         S_ISLNK.
12814         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
12815         mingw.
12816
12817 2006-12-22  Bruno Haible  <bruno@clisp.org>
12818
12819         * lib/copy-file.c: Include acl.h.
12820         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
12821         Close the file descriptors only after being done with copy_acl.
12822         * modules/copy-file (Depends-on): Add acl.
12823
12824 2006-12-22  Bruno Haible  <bruno@clisp.org>
12825
12826         * gnulib-tool (SED): New variable.
12827         Use $SED instead of sed everywhere.
12828
12829 2006-12-22  Bruno Haible  <bruno@clisp.org>
12830
12831         * modules/no-c++: New file.
12832         * m4/no-c++.m4: New file.
12833         * MODULES.html.sh (Support for building libraries and executables):
12834         Add no-c++.
12835
12836 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12837
12838         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
12839         Include <limits.h>, and use its INT_MAX to rewrite the
12840         j loop so that it does not overflow 'int'.  Problem reported by
12841         Ralf Wildenhues in
12842         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
12843         Play it safe by shifting left by 1 rather than multiplying by 2,
12844         as GCC is less likely to optimize this away when the value
12845         is signed (when it assumes overflow leads to undefined behavior).
12846         Also, don't assume time_t uses two's complement.
12847
12848 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
12849
12850         * MODULES.html.sh: New module wctype.
12851         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
12852         * lib/fnmatch.c: Don't bother to include <wchar.h> before
12853         <wctype.h>, since the new wctype module should fix this.
12854         * lib/quotearg.c: Include <wctype.h> unconditionally, since
12855         the wctype module should arrange for it.
12856         * lib/regex_internal.h: Likewise.
12857         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
12858         since the wctype module should handle this now.
12859         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
12860         * modules/fnmatch (Depends-on): Add wctype.
12861         * modules/quotearg (Depends-on): Likewise.
12862         * modules/regex (Depends-on): Likewise.
12863
12864 2006-12-19  Bruno Haible  <bruno@clisp.org>
12865
12866         * lib/strdup.h [C++]: Wrap definitions in extern "C".
12867         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
12868
12869 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12870
12871         * modules/savewd (Depends-on): Fix dependency on fcntl.
12872
12873 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12874
12875         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
12876         conforms to C99, rather than relying on the user's environment
12877         setting of STDINT_H.
12878
12879 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
12880         and Eric Blake  <ebb9@byu.net>
12881
12882         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
12883         This is more consistent with the other defines here.
12884         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
12885         Port to z/OS.  Problem reported by Paul Gilmartin.
12886         Change local vars to use gl_ prefix rather than ac_.
12887         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
12888         with other defines.
12889         * modules/double-slash-root: New module.
12890         * modules/dirname (Files): Remove m4/double-slash-root.m4.
12891         (Depends-on): Add double-slash-root.
12892         * MODULES.html.sh (File system functions): Mention new module.
12893
12894 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
12895
12896         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
12897         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
12898         This is for the benefit of gzip, which doesn't do i18n.
12899
12900 2006-12-12  Jim Meyering  <jim@meyering.net>
12901
12902         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
12903         Reported by Andreas Schwab <schwab@suse.de>.
12904
12905 2006-12-12  Bruno Haible  <bruno@clisp.org>
12906
12907         Merge these changes.
12908         2006-09-05  Bruno Haible  <bruno@clisp.org>
12909         * lib/iconvme.c (iconv_string): No need to save and restore errno when
12910         iconv_alloc succeeded.
12911         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
12912         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
12913         test for " && dest " at the end - dest is always != NULL there. Call
12914         iconv with 4xNULL arguments initially, to reset the state. Call iconv
12915         with 2xNULL arguments, also to flush the state storage. Handle the
12916         IRIX iconv behaviour. Realloc the final result, to throw away unused
12917         memory.
12918
12919 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
12920
12921         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
12922         and fchmodat unconditionally, since glibc 2.4 has them.
12923         Problem reported by Arkadiusz Miskiewicz.
12924
12925 2006-12-10  Bruno Haible  <bruno@clisp.org>
12926
12927         * gnulib-tool (func_import): Show the include files only for those
12928         modules that are copied and specified.
12929         Reported by Karl Berry.
12930
12931 2006-12-08  Jim Meyering  <jim@meyering.net>
12932
12933         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
12934         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
12935
12936         * build-aux/announce-gen: Add two new options, both optional:
12937         --bootstrap-tools=TOOL_LIST
12938               a comma-separated list of tools, e.g.,
12939               autoconf,automake,bison,gnulib
12940         --gnulib-snapshot-date=DATE
12941               if gnulib is in the bootstrap tool list,
12942               then report this as the snapshot date.
12943               If not specified, use the current date/time.
12944               If you specify a date here, be sure it's UTC.
12945
12946 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12947
12948         * tests/test-argp-2.sh: Fix test to match actual output.
12949         (func_compare): Fix sed script to be portable.
12950
12951 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
12952
12953         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
12954         workaround for this case.  It is not autoconfigured now; offhand
12955         it's hard to see how to autoconfigure it.
12956
12957 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
12958
12959         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
12960         a directory that is about to be chowned.  Such a directory's
12961         initial file permissions should permit the owner only and this
12962         should not be changed until after the chown, since the group and
12963         other bits would be incorrect if they granted permission before
12964         the chown.
12965
12966         Fix porting problem for iswctype reported by Georg Schwarz in:
12967         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
12968         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
12969         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
12970         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
12971         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
12972
12973 2006-12-03  Jim Meyering  <jim@meyering.net>
12974
12975         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
12976         p->fts_statp may not yet be defined.
12977         (fts_read): Instead, set it in the caller, once p->fts_statp is
12978         sure to be defined, and corresponds to a top-level directory.
12979         This bug made du -x fail.  Here's the coreutils test case:
12980         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
12981         Reported by Mike Frysinger.
12982
12983 2006-12-01  Jim Meyering  <jim@meyering.net>
12984
12985         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
12986         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
12987         Reported by Simon Josefsson.
12988
12989 2006-11-30  Jim Meyering  <jim@meyering.net>
12990
12991         * m4/warning.m4: Use the all-permissive copyright notice
12992         recommended by RMS (rather than LGPL).
12993         * m4/vararrays.m4: Likewise.
12994         * m4/flexmember.m4: Likewise.
12995
12996 2006-11-29  Bruno Haible  <bruno@clisp.org>
12997
12998         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
12999         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
13000         using +=.
13001         Reported by Simon Josefsson <simon@josefsson.org>.
13002
13003 2006-11-28  James Youngman <jay@gnu.org>
13004
13005         * README: Advise users that they might find the bug-gnulib@gnu.org
13006         and autotools-announce@gnu.org mailing lists useful.
13007
13008 2006-11-28  Bruno Haible  <bruno@clisp.org>
13009
13010         * m4/ptrdiff_max.m4: Remove file.
13011
13012 2006-11-21  Bruno Haible  <bruno@clisp.org>
13013
13014         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
13015         _AC_COMPUTE_INT.
13016         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13017         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
13018         _AC_COMPUTE_INT.
13019         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13020         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
13021         _AC_COMPUTE_INT.
13022         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13023
13024 2006-11-28  Jim Meyering  <jim@meyering.net>
13025
13026         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
13027         warning from "gcc -Wshadow" about shadowing the builtin.
13028
13029 2006-11-27  Bruno Haible  <bruno@clisp.org>
13030
13031         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
13032         _AC_COMPUTE_INT.
13033         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
13034
13035 2006-11-27  Bruno Haible  <bruno@clisp.org>
13036             Paul Eggert  <eggert@cs.ucla.edu>
13037
13038         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
13039
13040 2006-11-26  Bruno Haible  <bruno@clisp.org>
13041
13042         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
13043         noinst_LTLIBRARIES.
13044
13045 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
13046             Bruno Haible  <bruno@clisp.org>
13047
13048         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
13049         if compiling with "gcc -ansi".
13050
13051 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
13052
13053         Fix some incompatibilities with gcc -ansi -pedantic.
13054         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
13055         if compiling pedantically with GCC, unless it's C99 or later.
13056         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
13057         it mishandles gcc -ansi -pedantic as well.
13058         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
13059         if gcc -pedantic.
13060         * lib/regexec.c (check_node_accept_bytes): Don't use auto
13061         initializers for struct if -pedantic, unless it's C99 or later.
13062
13063 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
13064
13065         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
13066         Don't close an fd more than once. Identical atimes indicate
13067         success, not failure.
13068
13069 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
13070
13071         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
13072
13073 2006-11-23  Jim Meyering  <jim@meyering.net>
13074
13075         * build-aux/announce-gen: New file.  From coreutils.
13076
13077 2006-11-22  Jim Meyering  <jim@meyering.net>
13078
13079         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
13080         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
13081         (fts_read): Use a temporary to narrow the overused st_size member
13082         before using it in a switch statement.  Reported by Matthew Woehlke.
13083
13084         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
13085         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13086
13087 2006-11-20  Bruno Haible  <bruno@clisp.org>
13088
13089         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
13090         changequote instead of pairs of brackets.
13091         Reported by Andreas Schwab <schwab@suse.de>.
13092
13093 2006-11-21  Jim Meyering  <jim@meyering.net>
13094
13095         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
13096         so as to remain compatible with older compilers.
13097         Patch from Michael Deutschmann.
13098
13099 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13100
13101         * MODULES.html.sh (File system functions): Add openat.
13102
13103         * lib/openat.h (rpl_fstatat): New macro, if
13104         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
13105         (fstatat): Define to rpl_fstatat under the same conditions,
13106         unless COMPILING_FSTATAT.
13107         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
13108         seems to have the bug.
13109         * lib/fstatat.c: New file.
13110         * modules/openat (Files): Add it.
13111
13112 2006-11-20  Bruno Haible  <bruno@clisp.org>
13113
13114         * Makefile: New file.
13115
13116 2006-11-20  Jim Meyering  <jim@meyering.net>
13117
13118         The beginnings of syntax-related checks for gnulib.
13119         * lib/Makefile: New file.
13120         * lib/t-idcache: New script.  Ensure that the two halves of
13121         idcache.c stay in sync.
13122
13123         * lib/idcache.c: Adjust comments in user- and group- portions to
13124         be more accurate, and to be consistent with one another.
13125
13126 2006-11-20  Jim Meyering  <jim@meyering.net>
13127
13128         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
13129         continue using the flexible array member (thus, this module performs
13130         half as many malloc calls), with the addition that...
13131         (getgroup, getuser): Consistently record a non-match via an empty
13132         "name" string, and map an empty string match to a NULL return value.
13133         * modules/idcache (Depends-on): Re-add flexmember.
13134
13135         * lib/idcache.c (getuser): Remove all uses of the register keyword.
13136         (getuidbyname, getgroup, getgidbyname): Likewise.
13137
13138         Use cleaner syntax: NULL rather than 0.
13139         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
13140
13141 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13142
13143         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
13144         It mishandled the case where the group was missing.
13145         Problem reported by Greg Schafer.
13146         * modules/idcache: Likewise.
13147
13148 2006-11-18  Jim Meyering  <jim@meyering.net>
13149
13150         * check-module (%exempt_header): Add exception for some
13151         conditionally-included headers.
13152
13153         * modules/i-ring (Depends-on): Add verify.
13154         (License): Change to LGPL.
13155
13156 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
13157
13158         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
13159         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
13160         and inttostr.h.  Use snprintf rather than uinttostr, so that
13161         LGPLed code doesn't depend on GPLed.
13162
13163 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13164
13165         * modules/inline (License): Change from GPL to LGPL.
13166
13167 2006-11-17  Jim Meyering  <jim@meyering.net>
13168
13169         * modules/d-type (License): Switch to LGPL.
13170
13171 2006-11-15  Bruno Haible  <bruno@clisp.org>
13172
13173         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
13174
13175 2006-11-15  Eric Blake  <ebb9@byu.net>
13176
13177         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
13178         the module dependency.
13179
13180 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13181             Bruno Haible  <bruno@clisp.org>
13182
13183         * gnulib-tool (func_create_testdir): Add license consistency check.
13184
13185 2006-11-15  Eric Blake  <ebb9@byu.net>
13186
13187         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
13188         random "(cached)" in configure output.
13189
13190 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13191
13192         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
13193         test for conforming inttypes.h is both announced and cached.
13194
13195         * MODULES.html.sh (seen_modules, seen_files): New variables.
13196         (func_module): Rewrite to use a few less gnulib-tool and sed
13197         invocations.  Avoid a couple of quadratic algorithms for ...
13198         (missed_modules, missed_files): ... these, with ...
13199         (func_append, func_tmpdir): ... these new functions, from
13200         gnulib-tool.  Analogously, install traps for cleanup.
13201
13202         * tests/test-gc.c (main): Remove unused variables.
13203         * tests/test-read-file.c: Include stdlib.h, for 'free'.
13204
13205 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
13206
13207         * modules/inttostr (License): Change to LGPL.
13208
13209 2006-11-14  Eric Blake  <ebb9@byu.net>
13210
13211         * modules/tempname (License): Change to LGPL.
13212
13213 2006-11-14  Eric Blake  <ebb9@byu.net>
13214
13215         * doc/functions.texi (Function Portability): *printf functions on
13216         Cygwin now understand all POSIX size specifiers.
13217
13218 2006-11-14  Bruno Haible  <bruno@clisp.org>
13219
13220         * modules/c-ctype (License): Change to LGPL.
13221
13222 2006-11-12  Bruno Haible  <bruno@clisp.org>
13223
13224         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
13225         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
13226         for GNOME libraries, for which the include files are installed in
13227         subdirectories of $prefix/include.
13228
13229 2006-11-12  Bruno Haible  <bruno@clisp.org>
13230
13231         * m4/lib-link.m4: Require at least autoconf-2.54.
13232         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
13233         name to underscores for the --with option.
13234
13235 2006-11-13  Bruno Haible  <bruno@clisp.org>
13236
13237         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
13238         the tests directory.
13239         Reported by Ralf Wildenhues.
13240
13241 2006-11-13  Bruno Haible  <bruno@clisp.org>
13242
13243         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
13244         (func_emit_initmacro_end): Undo the override here.
13245         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
13246         Works around the famous automake error in coreutils.
13247
13248 2006-11-13  Eric Blake  <ebb9@byu.net>
13249
13250         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
13251         element, not its node.
13252
13253 2006-11-12  Bruno Haible  <bruno@clisp.org>
13254
13255         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
13256         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
13257
13258 2006-11-12  Bruno Haible  <bruno@clisp.org>
13259
13260         * gnulib-tool: New option --local-symlink.
13261         (func_usage): Document it.
13262         (lsymbolic): New variable.
13263         (func_import, func_create_testdir): If --symlink was not specified,
13264         test whether --local-symlink was specified and the file comes from
13265         the local_gnulib_dir.
13266
13267 2006-11-12  Bruno Haible  <bruno@clisp.org>
13268
13269         * gnulib-tool (func_ln): New function.
13270         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
13271
13272 2006-11-12  Bruno Haible  <bruno@clisp.org>
13273
13274         Finish support for source files in subdirectories.
13275         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
13276         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
13277         AUTOMAKE_OPTIONS.
13278         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
13279
13280 2006-11-12  Bruno Haible  <bruno@clisp.org>
13281
13282         * gnulib-tool (func_get_automake_snippet): Synthesize also an
13283         EXTRA_lib_SOURCES augmentation.
13284         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
13285
13286 2006-11-12  Jim Meyering  <jim@meyering.net>
13287
13288         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
13289         file descriptors.  This also averts a failure on systems with
13290         native openat support when a traversed directory lacks "x" access.
13291         * lib/fts_.h: Include "i-ring.h"
13292         (struct FTS) [fts_fd_ring]: New member.
13293         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
13294         (FCHDIR): Add parentheses.
13295         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
13296         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
13297         When descending, rather than simply closing the previous
13298         fts_cwd_fd value, push that file descriptor onto the ring.
13299         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
13300         (fts_open): Initialize the new fd_ring member.
13301         (fts_close): Clear the ring.
13302         (fts_safe_changedir): When possible, use our new fd_ring to skip
13303         the diropen and fstat and dev/ino comparison that would normally
13304         accompany a virtual `chdir ("..")'.
13305
13306         * modules/fts (Depends-on): Add i-ring.
13307         * modules/i-ring: New module.
13308         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
13309         * m4/i-ring.m4: New file.
13310
13311 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13312
13313         * gnulib-tool (func_create_testdir): Fix replacement of
13314         `build-aux' in configure.ac.  Run autotools in gltests
13315         subdirectory.
13316         (func_create_testdir, func_create_megatestdir, test): There is
13317         no need for '--force' in most autotool invocations in a new
13318         tree.  Actually fail the whole test if any of the tools, or the
13319         configure or make stages fail.
13320
13321         Sync from Automake.
13322         * build-aux/gnupload: Revert last change.  Add pointer to upload
13323         instructions of the GNU Maintenance Instructions.
13324         Suggestion by Karl Berry.
13325
13326 2006-11-10  Jim Meyering  <jim@meyering.net>
13327
13328         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
13329
13330 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13331
13332         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
13333         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
13334         (bind_textdomain_codeset) [! ENABLE_NLS]:
13335         Evaluate all the arguments.  That way, callers get compatible behavior
13336         if the arguments have side effects.  Also, it avoids some GCC
13337         diagnostics in some cases; Joel E. Denny reported problems when Bison
13338         was configured with --enable-gcc-warnigs.
13339
13340 2006-11-10  Jim Meyering  <jim@meyering.net>
13341
13342         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
13343         relevant options in CFLAGS (like -O, -fno-inline) are taken into
13344         account.
13345
13346 2006-11-10  Jim Meyering  <jim@meyering.net>
13347
13348         * modules/inline: New file/module.
13349         * modules/xalloc (Files): Remove m4/inline.m4.
13350         (Depends-on): Add inline, instead.
13351         * modules/oset: Likewise.
13352         * modules/list: Likewise.
13353
13354 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
13355
13356         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
13357         Problem reported by Matthew Woehlke.
13358
13359 2006-11-09  Bruno Haible  <bruno@clisp.org>
13360
13361         * lib/tempname.c (gen_tempname): Remove variant that invokes
13362         __gen_tempname.
13363         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
13364         __gen_tempname.
13365
13366 2006-11-08  Bruno Haible  <bruno@clisp.org>
13367
13368         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
13369         to 'yes' instead of 'cross-compiling'.
13370
13371 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
13372
13373         * lib/quotearg.h (quotearg_free): New decl.
13374         * lib/quotearg.c (quotearg_free): New function.
13375         (slot0, nslots, slotvec0, slotvec):
13376         Now file-scope so that quotearg_free can get at them.
13377
13378 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13379
13380         Sync from Automake.
13381         * build-aux/gnupload: Add missing 'gnu' to example URL.
13382         Report by Karl Berry.
13383
13384 2006-11-08  Bruno Haible  <bruno@clisp.org>
13385
13386         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
13387         Suggested by Paul Eggert.
13388
13389 2006-11-08  Jim Meyering  <jim@meyering.net>
13390
13391         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
13392         It's already included if !_LIBC.
13393         (fts_safe_changedir): Add a comment.
13394
13395 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13396
13397         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
13398         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
13399         Matthew Woehlke.
13400
13401         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
13402         definitions up, to avoid colliding with change below.
13403         (static_inline) [HAVE_INLINE]: New macro.
13404         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
13405         Provide extern decls when !HAVE_INLINE.  Do not define unless
13406         static_inline is defined, either by us or by xmalloc.c.  Use
13407         static_inline rather than static inline.
13408         (XCALLOC): Optimize sizeof(T) = 1 case.
13409         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
13410
13411 2006-11-07  Bruno Haible  <bruno@clisp.org>
13412
13413         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
13414         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
13415         AC_C_INLINE.
13416         * modules/xalloc (Files): Add m4/inline.m4.
13417
13418 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13419
13420         * README: Fix typo.
13421         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
13422         (Miscellanous Notes): ...from this.
13423
13424 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
13425
13426         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
13427         Mention that offsetof should be used instead of sizeof.
13428         From Bruno Haible.
13429
13430 2006-11-07  Bruno Haible  <bruno@clisp.org>
13431
13432         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
13433
13434 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
13435
13436         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
13437         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
13438         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
13439         (gl_tree_add_before, gl_tree_add_after):
13440         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
13441         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
13442         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
13443         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
13444         (gl_linked_add_after, gl_linked_add_at): Likewise.
13445         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
13446         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
13447         (gl_tree_add_before, gl_tree_add_after): Likewise.
13448         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
13449         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
13450         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
13451
13452 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13453
13454         * lib/gl_oset.h: Use C comment style, not C++ comment style.
13455
13456 2006-11-06  Bruno Haible  <bruno@clisp.org>
13457
13458         * m4/inline.m4: New file.
13459         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
13460         * modules/list (Files): Add m4/inline.m4.
13461         * modules/oset (Files): Likewise.
13462
13463 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
13464
13465         * lib/idcache.c: Include <stddef.h>, for offsetof.
13466         (struct userid.name): Change from char * to a flexible array member.
13467         All uses changed.
13468         * modules/idcache (Depends-on): Add flexmember.
13469
13470         * MODULES.html.sh (Core language properties): New module flexmember.
13471         * modules/flexmember, m4/flexmember.m4: New files.
13472
13473         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
13474         inline functions that are identical with the old xnmalloc_inline,
13475         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
13476         that we can avoid some unnecessary integer multiplications and
13477         divisions in the common case where the element size is known at
13478         compile time.
13479         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
13480         needed.
13481         (xnboundedmalloc): Remove.
13482         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
13483         arguments, for consistency with rest of this header.
13484         (xcharalloc): Rewrite using XNMALLOC.
13485         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
13486         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
13487         versions have been moved to lib/xalloc.h and renamed to be the
13488         non-*_inline versions.
13489         (xmalloc, xrealloc): Implement without reference to the xnmalloc
13490         and xnrealloc functions, since those functions are now inline and
13491         now call us.
13492         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
13493         renaming described above.
13494         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
13495         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
13496         captures the dependency in AC_C_INLINE.
13497
13498         New module canonicalize-lgpl, proposed by Charles Wilson in
13499         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
13500         with a few small changes afterwards.
13501         * MODULES.html.sh (File system functions): New module
13502         canonicalize-lgpl.
13503         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
13504         and canonicalize_file_name.
13505         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
13506         * modules/canonicalize-lgpl: New files.
13507
13508 2006-11-05  Bruno Haible  <bruno@clisp.org>
13509
13510         * gnulib-tool (func_import, func_create_testdir): Create directories
13511         also for files in subdirectories of lib/.
13512
13513 2006-11-05  Bruno Haible  <bruno@clisp.org>
13514
13515         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
13516         ANSI C compliant.
13517
13518 2006-11-03  Bruno Haible  <bruno@clisp.org>
13519
13520         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
13521         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
13522         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
13523         (xnboundedmalloc): New inline function.
13524         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
13525         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
13526         xmalloc.
13527         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
13528         xmalloc.
13529         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
13530         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
13531         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
13532         xmalloc.
13533         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
13534         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
13535         xmalloc.
13536         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
13537         gl_tree_add_after): Use XMALLOC instead of xmalloc.
13538         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
13539         xmalloc.
13540         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
13541         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
13542         gl_tree_add_after): Use XMALLOC instead of xmalloc.
13543         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
13544         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
13545         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
13546         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
13547
13548 2006-11-03  Bruno Haible  <bruno@clisp.org>
13549
13550         * lib/c-ctype.h [C++]: Define functions without name mangling.
13551         * lib/fwriteerror.h [C++]: Likewise.
13552         * lib/gcd.h [C++]: Likewise.
13553         * lib/linebreak.h [C++]: Likewise.
13554
13555 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13556
13557         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
13558         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
13559         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
13560         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
13561         Check for functions and headers just once.
13562         Check for declaration of canonicalize_file_name.
13563         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
13564
13565 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13566
13567         * gnulib-tool (func_import): Fix typo in actioncmd.
13568
13569 2006-11-02  Bruno Haible  <bruno@clisp.org>
13570
13571         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
13572         newline sequence in the Makefile.am snippet as a space, like "make"
13573         does.
13574         Reported by Roger Persson <perrog@gmail.com>.
13575
13576 2006-11-01  Bruno Haible  <bruno@clisp.org>
13577
13578         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
13579         already declared in <string.h>.
13580         * lib/strcase.h (strncasecmp): Don't declare it if yes.
13581
13582 2006-11-01  Bruno Haible  <bruno@clisp.org>
13583
13584         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
13585         * lib/strcase.h: Include <string.h>.
13586         (strcasecmp): Define to rpl_strcasecmp here.
13587
13588 2006-11-01  Bruno Haible  <bruno@clisp.org>
13589
13590         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
13591
13592 2006-11-01  Eric Blake  <ebb9@byu.net>
13593
13594         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
13595
13596         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
13597
13598 2006-10-29  Bruno Haible  <bruno@clisp.org>
13599
13600         Make it compile in C++ mode.
13601         * lib/full-write.c (full_rw): Add a cast.
13602
13603 2006-11-01  Bruno Haible  <bruno@clisp.org>
13604
13605         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
13606         be POSIX compliant.
13607         Reported by Roger Persson <perrog@gmail.com>.
13608
13609 2006-11-01  Eric Blake  <ebb9@byu.net>
13610
13611         * lib/getopt_.h: Fix comments.
13612
13613 2006-10-31  Eric Blake  <ebb9@byu.net>
13614
13615         * modules/tmpdir (Depends-on): Add sys_stat.
13616         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
13617         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
13618         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
13619         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
13620         tempname.
13621
13622 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
13623
13624         Avoid some C++ diagnostics reported by Bruno Haible.
13625         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
13626         xmalloc.
13627         (quotearg_alloc): Use xcharalloc rather than xmalloc.
13628         (struct slotvec): Move to top level.
13629         (quotearg_n_options): Rewrite to avoid xmalloc.
13630         * lib/xalloc.h (xcharalloc): New function.
13631         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
13632         [defined __cplusplus]: Add function template that provides result
13633         type propagation.  This part of the change is from Bruno Haible.
13634
13635 2006-10-29  Bruno Haible  <bruno@clisp.org>
13636
13637         Make it compile in C++ mode.
13638         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
13639         * lib/strnlen1.c (strnlen1): Cast memchr result.
13640         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
13641         * lib/clean-temp.c (string_equals, string_hash): Add casts.
13642         (create_temp_dir): Rename local variable 'template'.
13643         (compile_csharp_using_sscli): Add cast.
13644         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
13645         * lib/findprog.c (find_in_path): Likewise.
13646         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
13647         * lib/wait-process.c (register_slave_subprocess): Likewise.
13648
13649 2006-10-22  Bruno Haible  <bruno@clisp.org>
13650
13651         * modules/tsearch: New file.
13652         * lib/tsearch.h: New file.
13653         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
13654         * m4/tsearch.m4: New file.
13655         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
13656
13657 2006-10-29  Eric Blake  <ebb9@byu.net>
13658
13659         * lib/arcfour.c: Assume config.h.
13660         * lib/arctwo.c: Likewise.
13661         * lib/base64.c: Likewise.
13662         * lib/check-version.c: Likewise.
13663         * lib/crc.c: Likewise.
13664         * lib/des.c: Likewise.
13665         * lib/gc-gnulib.c: Likewise.
13666         * lib/gc-libgcrypt.c: Likewise.
13667         * lib/gc-pbkdf2-sha1.c: Likewise.
13668         * lib/getaddrinfo.c: Likewise.
13669         * lib/getdelim.c: Likewise.
13670         * lib/getline.c: Likewise.
13671         * lib/hmac-md5.c: Likewise.
13672         * lib/hmac-sha1.c: Likewise.
13673         * lib/iconvme.c: Likewise.
13674         * lib/md2.c: Likewise.
13675         * lib/md4.c: Likewise.
13676         * lib/memxor.c: Likewise.
13677         * lib/read-file.c: Likewise.
13678         * lib/readline.c: Likewise.
13679         * lib/rijndael-alg-fst.c: Likewise.
13680         * lib/rijndael-api-fst.c: Likewise.
13681         * lib/xgetdomainname.c: Likewise.
13682
13683 2006-10-28  Eric Blake  <ebb9@byu.net>
13684
13685         * lib/xstrndup.c: Assume config.h.
13686
13687 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
13688
13689         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
13690         stat-macros.h is now for our own macros, whereas stat_h is for
13691         macros in the <sys/stat.h> name space.
13692         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
13693         (STAT_MACROS_H): Remove.
13694         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
13695         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
13696         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
13697         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
13698         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
13699         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
13700         Move these macros to ...
13701         * lib/stat_.h: here.  Don't include stat-macros.h.
13702         * lib/canonicalize.c: Don't include stat-macros.h.
13703         * lib/chown.c: Likewise.
13704         * lib/euidaccess.c: Likewise.
13705         * lib/file-type.c: Likewise.
13706         * lib/filemode.c: Likewise.
13707         * lib/glob.c: Likewise.
13708         * lib/isapipe.c: Likewise.
13709         * lib/lchown.c: Likewise.
13710         * lib/lstat.c: Likewise.
13711         * lib/mkdir-p.c: Likewise.
13712         * lib/rmdir.c: Likewise.
13713         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
13714         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
13715         unless mkdir isn't declared, to speed up 'configure'.
13716         Always create sys/stat.h, since it's unlikely any real sys/stat.h
13717         would define all the S_* symbols.
13718         * modules/canonicalize (Depends-on):
13719         Depend on sys_stat, not stat-macros.
13720         * modules/chown: Likewise.
13721         * modules/euidaccess: Likewise.
13722         * modules/filemode: Likewise.
13723         * modules/file-type: Likewise.
13724         * modules/glob: Likewise.
13725         * modules/isapipe: Likewise.
13726         * modules/lchown: Likewise.
13727         * modules/lstat: Likewise.
13728         * modules/mkancesdirs: Likewise.
13729         * modules/rmdir: Likewise.
13730         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
13731         * modules/modechange: Likewise.
13732         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
13733         (configure.ac): Remove gl_STAT_MACROS.
13734         * modules/sys_stat (Depends-on): Remove stat-macros.
13735
13736 2006-10-27  Bruno Haible  <bruno@clisp.org>
13737
13738         * m4/signed.m4: Remove file.
13739         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
13740         invocation.
13741         * modules/vasnprintf (Files): Remove m4/signed.m4.
13742
13743 2006-10-27  Bruno Haible  <bruno@clisp.org>
13744
13745         Update to GNU gettext 0.16.
13746         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
13747         m4/inttypes-h.m4, m4/signed.m4.
13748         * m4/gettext.m4: Update to GNU gettext 0.16.
13749         * m4/intl.m4: New file, from GNU gettext.
13750         * m4/intldir.m4: New file, from GNU gettext.
13751         * config/srclist.txt: Update
13752
13753 2006-10-27  Eric Blake  <ebb9@byu.net>
13754
13755         * MODULES.html.sh: Document tempname.
13756         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
13757         dependencies.
13758         (Files): Move lib/tempname.c...
13759         * modules/tempname: ...to this new module.
13760         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
13761         (gl_PREREQ_TEMPNAME): Move...
13762         * m4/tempname.m4: ...to this new file.
13763         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
13764         * modules/sys_stat (Depends-on): Add stat-macros.
13765         * lib/stat_.h (includes): Pick up stat macros.
13766         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
13767         if stat macros are broken.
13768         * lib/tempname.c (includes): No need to include "stat-macros.h".
13769         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
13770         (direxists, __path_search) [!_LIBC]: Don't compile these in
13771         gnulib; the tmpdir module covers that.
13772         * lib/tempname.h: New file.
13773
13774 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
13775
13776         * COPYING: Explain how gnulib-tool converts licence headers.
13777         Almost all wording by Eric Blake.
13778
13779 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
13780
13781         * lib/mbchar.h (is_basic_table): Make read-only.
13782         * lib/mbchar.c (is_basic_table): Likewise.
13783         Reported by John Darrington.
13784
13785 2006-10-25  Bruno Haible  <bruno@clisp.org>
13786
13787         * lib/progname.h (set_program_name): Undefine before defining.
13788
13789 2006-10-25  Bruno Haible  <bruno@clisp.org>
13790
13791         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
13792         false for non-gcc C++ compilers.
13793         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
13794
13795 2006-10-24  Bruno Haible  <bruno@clisp.org>
13796
13797         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
13798         iconv implementations like Irix iconv.
13799
13800 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13801
13802         * modules/vararrays: New file.
13803         * m4/vararrays.m4: New file, taken from diffutils.
13804         * MODULES.html.sh: New module vararrays.
13805
13806 2006-10-24  Karl Berry  <karl@gnu.org>
13807
13808         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
13809         Don't call GNU Unix.
13810
13811 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13812
13813         * users.txt: Add Libtool.
13814
13815         Sync from Libtool:
13816
13817         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13818
13819         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
13820         to gnulib's policy of including config.h unconditionally.
13821
13822 2006-10-24  Bruno Haible  <bruno@clisp.org>
13823
13824         * modules/wcwidth (Files): Add m4/wint_t.m4.
13825         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
13826         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
13827
13828 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13829
13830         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
13831         to pacify GCC with some -W flags enabled.  Problem reported by
13832         Bruno Haible.
13833
13834 2006-10-24  Jim Meyering  <jim@meyering.net>
13835
13836         * MODULES.html.sh: Remove uinttostr.  It's not a module.
13837         Reported by Karl Berry.
13838
13839 2006-10-23  Bruno Haible  <bruno@clisp.org>
13840
13841         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
13842
13843 2006-10-24  Bruno Haible  <bruno@clisp.org>
13844
13845         * lib/gl_list.h: Use C comment style, not C++ comment style.
13846
13847 2006-10-23  Eric Blake  <ebb9@byu.net>
13848
13849         * lib/getaddrinfo.c (includes): Add missing include.
13850
13851 2006-10-23  Bruno Haible  <bruno@clisp.org>
13852             Paul Eggert  <eggert@cs.ucla.edu>
13853
13854         Ability to rename obstack_free.
13855         * lib/obstack.h (__obstack_free): New macro. Declare instead of
13856         obstack_free.
13857         (obstack_free): Invoke the __obstack_free macro.
13858         * lib/obstack.c (obstack_free): Use __obstack_free macro.
13859
13860 2006-10-23  Bruno Haible  <bruno@clisp.org>
13861             Paul Eggert  <eggert@cs.ucla.edu>
13862
13863         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
13864         __argc, __argv from the declaration. (They are defined as macros on
13865         mingw.)
13866
13867 2006-10-22  Bruno Haible  <bruno@clisp.org>
13868
13869         * doc/gnulib-intro.texi: New file.
13870         * doc/gnulib.texi: Include it.
13871
13872 2006-10-21  Bruno Haible  <bruno@clisp.org>
13873
13874         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
13875         "Introduction", "Miscellanous Notes", "Particular Modules".
13876
13877 2006-10-21  Bruno Haible  <bruno@clisp.org>
13878
13879         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13880         Change mostlyclean-local rule to avoid sh syntax error from bash
13881         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
13882
13883 2006-10-23  Jim Meyering  <jim@meyering.net>
13884
13885         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
13886         in place of snprintf.
13887
13888         * modules/inttostr (Files): Add lib/uinttostr.c.
13889         * lib/uinttostr.c (inttostr): New file/function.
13890         * lib/inttostr.h (uinttostr): Declare.
13891         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
13892         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
13893         Add uinttostr.
13894         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
13895
13896 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13897
13898         * lib/canonicalize.c (ELOOP): Define if not already defined.
13899         Problem reported by Bruno Haible in
13900         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
13901
13902 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13903
13904         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
13905         Problem reported by Perry Smith and Ville Laurikari.
13906
13907         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
13908         uses.
13909
13910 2006-10-19  Bruno Haible  <bruno@clisp.org>
13911
13912         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
13913         for mingw.
13914
13915 2006-10-19  Bruno Haible  <bruno@clisp.org>
13916
13917         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
13918         Needed for mingw.
13919
13920 2006-10-19  Bruno Haible  <bruno@clisp.org>
13921
13922         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
13923
13924 2006-10-19  Bruno Haible  <bruno@clisp.org>
13925
13926         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
13927         it.
13928
13929 2006-10-19  Bruno Haible  <bruno@clisp.org>
13930
13931         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
13932         invocation.
13933
13934 2006-10-19  Bruno Haible  <bruno@clisp.org>
13935
13936         * gnulib-tool (func_create_testdir): Don't include ftruncate and
13937         mountlist by default.
13938
13939 2006-10-16  Bruno Haible  <bruno@clisp.org>
13940
13941         * lib/c-strstr.c: Include c-strstr.h.
13942
13943 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13944
13945         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
13946         in a slash.
13947
13948 2006-10-18  Bruno Haible  <bruno@clisp.org>
13949
13950         * lib/lock.h [C++]: Wrap definitions in extern "C".
13951
13952 2006-10-18  Bruno Haible  <bruno@clisp.org>
13953
13954         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
13955         gl_LIBOBJS list.
13956
13957 2006-10-18  Bruno Haible  <bruno@clisp.org>
13958
13959         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
13960
13961 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
13962
13963         * lib/xstrtol.h: Include gettext.h.
13964         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
13965         Problem reported by Eric Blake.
13966         * modules/xstrtol (Depends-on): Add gettext-h.
13967
13968 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
13969
13970         * lib/strftime.c (advance): New macro.
13971         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
13972         incomplete type, so you can't add 0 to it.  Problem and patch
13973         reported by Eelco Dolstra for dietlibc.
13974
13975 2006-10-18  Jim Meyering  <jim@meyering.net>
13976
13977         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
13978         type for a local, and rename it: s/up/user_proc/.
13979
13980 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
13981
13982         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
13983         READ_UTMP_USER_PROCESS.
13984         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
13985
13986 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13987
13988         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
13989         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
13990
13991 2006-10-17  Eric Blake  <ebb9@byu.net>
13992
13993         * lib/sigprocmask.c (sigprocmask): Fix typo.
13994
13995         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
13996
13997         * modules/clean-temp (Makefile.am): Don't add to make output...
13998         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
13999         config.h.
14000
14001 2006-10-17  Bruno Haible  <bruno@clisp.org>
14002
14003         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
14004         differently if DEFAULT_TEXT_DOMAIN is set.
14005
14006 2006-10-16  Bruno Haible  <bruno@clisp.org>
14007
14008         * lib/clean-temp.c: Include fwriteerror.h.
14009
14010 2006-10-16  Bruno Haible  <bruno@clisp.org>
14011
14012         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
14013
14014 2006-10-16  Bruno Haible  <bruno@clisp.org>
14015
14016         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
14017         * lib/sigprocmask.h: Include <sys/types.h>.
14018         (sigset_t): Use the system's definition if present.
14019
14020 2006-10-17  Eric Blake  <ebb9@byu.net>
14021
14022         * lib/xvasprintf.c (includes): Assume config.h.
14023         * lib/xasprintf.c (includes): Likewise.
14024
14025 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
14026
14027         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
14028         at least as wide as intmax_t.
14029
14030 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
14031
14032         (Imported from Automake.)
14033         * build-aux/gnupload: Update to version 1.1 of directive file.
14034
14035 2006-10-16  Eric Blake  <ebb9@byu.net>
14036
14037         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
14038         match Automake 1.10a.
14039
14040 2006-10-14  Bruno Haible  <bruno@clisp.org>
14041
14042         * modules/sigprocmask: New file.
14043         * lib/sigprocmask.h: New file.
14044         * lib/sigprocmask.c: New file.
14045         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
14046         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
14047         request sigprocmask.o.
14048         (gl_PREREQ_SIGPROCMASK): New macro.
14049         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
14050         (Depends-on): Add sigprocmask.
14051         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
14052         gt_SIGNALBLOCKING. Test for 'raise' only once.
14053         * lib/fatal-signal.c: Include sigprocmask.h.
14054         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
14055         unblock_fatal_signals): Define always.
14056         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14057         sigprocmask.
14058
14059 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14060
14061         Sync from Automake.
14062         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
14063         which incorrectly sets the mode of an existing destination
14064         directory.  In some cases the unpatched install-sh could do the
14065         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
14066         system.  We hope this is rare in practice, but it's clearly worth
14067         fixing.  Problem reported by Alex Unleashed in
14068         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
14069         Also, don't bother to check for -m bugs unless we're using -m;
14070         suggested by Stepan Kasal.
14071
14072 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14073
14074         Sync from Automake.
14075         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
14076         `-c' flag, so they appear at the same position as in %FASTDEP%
14077         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
14078         which ignores unknown options only after the first non-option.
14079         Bug report against M4 by Nelson H. F. Beebe.
14080
14081 2006-10-13  Jim Meyering  <jim@meyering.net>
14082
14083         Fix a bug in yesterday's change.
14084         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
14085         p->fts_statp->st_dev would be used uninitialized.
14086         Ensures that we always call fts_stat on the very first entry.
14087         Miklos Szeredi reported that find -xdev stopped working.
14088
14089 2006-10-12  Bruno Haible  <bruno@clisp.org>
14090
14091         * gnulib-tool (func_get_automake_snippet): Append an automatically
14092         computed EXTRA_DIST augmentation.
14093         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
14094         * modules/alloca-opt (Makefile.am): Likewise.
14095         * modules/allocsa (Makefile.am): Likewise.
14096         * modules/arcfour (Makefile.am): Likewise.
14097         * modules/arctwo (Makefile.am): Likewise.
14098         * modules/argmatch (Makefile.am): Likewise.
14099         * modules/argz (Makefile.am): Likewise.
14100         * modules/atexit (Makefile.am): Likewise.
14101         * modules/backupfile (Makefile.am): Likewise.
14102         * modules/byteswap (Makefile.am): Likewise.
14103         * modules/c-strtod (Makefile.am): Likewise.
14104         * modules/c-strtold (Makefile.am): Likewise.
14105         * modules/calloc (Makefile.am): Likewise.
14106         * modules/canon-host (Makefile.am): Likewise.
14107         * modules/canonicalize (Makefile.am): Likewise.
14108         * modules/chdir-long (Makefile.am): Likewise.
14109         * modules/chdir-safer (Makefile.am): Likewise.
14110         * modules/check-version (Makefile.am): Likewise.
14111         * modules/chown (Makefile.am): Likewise.
14112         * modules/cloexec (Makefile.am): Likewise.
14113         * modules/close-stream (Makefile.am): Likewise.
14114         * modules/closeout (Makefile.am): Likewise.
14115         * modules/crc (Makefile.am): Likewise.
14116         * modules/csharpexec (Makefile.am): Likewise.
14117         * modules/cycle-check (Makefile.am): Likewise.
14118         * modules/des (Makefile.am): Likewise.
14119         * modules/dev-ino (Makefile.am): Likewise.
14120         * modules/dirfd (Makefile.am): Likewise.
14121         * modules/dirname (Makefile.am): Likewise.
14122         * modules/dup2 (Makefile.am): Likewise.
14123         * modules/eealloc (Makefile.am): Likewise.
14124         * modules/error (Makefile.am): Likewise.
14125         * modules/euidaccess (Makefile.am): Likewise.
14126         * modules/exclude (Makefile.am): Likewise.
14127         * modules/exitfail (Makefile.am): Likewise.
14128         * modules/fcntl-safer (Makefile.am): Likewise.
14129         * modules/fcntl (Makefile.am): Likewise.
14130         * modules/file-type (Makefile.am): Likewise.
14131         * modules/fileblocks (Makefile.am): Likewise.
14132         * modules/filemode (Makefile.am): Likewise.
14133         * modules/filenamecat (Makefile.am): Likewise.
14134         * modules/fnmatch (Makefile.am): Likewise.
14135         * modules/fopen-safer (Makefile.am): Likewise.
14136         * modules/fpending (Makefile.am): Likewise.
14137         * modules/fprintftime (Makefile.am): Likewise.
14138         * modules/free (Makefile.am): Likewise.
14139         * modules/fsusage (Makefile.am): Likewise.
14140         * modules/ftruncate (Makefile.am): Likewise.
14141         * modules/fts (Makefile.am): Likewise.
14142         * modules/gc-arcfour (Makefile.am): Likewise.
14143         * modules/gc-des (Makefile.am): Likewise.
14144         * modules/gc-hmac-md5 (Makefile.am): Likewise.
14145         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
14146         * modules/gc-md4 (Makefile.am): Likewise.
14147         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
14148         * modules/gc-sha1 (Makefile.am): Likewise.
14149         * modules/gc (Makefile.am): Likewise.
14150         * modules/getaddrinfo (Makefile.am): Likewise.
14151         * modules/getcwd (Makefile.am): Likewise.
14152         * modules/getdelim (Makefile.am): Likewise.
14153         * modules/getdomainname (Makefile.am): Likewise.
14154         * modules/getgroups (Makefile.am): Likewise.
14155         * modules/gethostname (Makefile.am): Likewise.
14156         * modules/gethrxtime (Makefile.am): Likewise.
14157         * modules/getline (Makefile.am): Likewise.
14158         * modules/getloadavg (Makefile.am): Likewise.
14159         * modules/getlogin_r (Makefile.am): Likewise.
14160         * modules/getndelim2 (Makefile.am): Likewise.
14161         * modules/getopt (Makefile.am): Likewise.
14162         * modules/getpagesize (Makefile.am): Likewise.
14163         * modules/getpass-gnu (Makefile.am): Likewise.
14164         * modules/getpass (Makefile.am): Likewise.
14165         * modules/getsubopt (Makefile.am): Likewise.
14166         * modules/gettime (Makefile.am): Likewise.
14167         * modules/gettimeofday (Makefile.am): Likewise.
14168         * modules/getugroups (Makefile.am): Likewise.
14169         * modules/getusershell (Makefile.am): Likewise.
14170         * modules/glob (Makefile.am): Likewise.
14171         * modules/group-member (Makefile.am): Likewise.
14172         * modules/hard-locale (Makefile.am): Likewise.
14173         * modules/hash (Makefile.am): Likewise.
14174         * modules/hmac-md5 (Makefile.am): Likewise.
14175         * modules/hmac-sha1 (Makefile.am): Likewise.
14176         * modules/human (Makefile.am): Likewise.
14177         * modules/idcache (Makefile.am): Likewise.
14178         * modules/imaxabs (Makefile.am): Likewise.
14179         * modules/imaxdiv (Makefile.am): Likewise.
14180         * modules/inet_ntop (Makefile.am): Likewise.
14181         * modules/inet_pton (Makefile.am): Likewise.
14182         * modules/intprops (Makefile.am): Likewise.
14183         * modules/inttostr (Makefile.am): Likewise.
14184         * modules/inttypes (Makefile.am): Likewise.
14185         * modules/isapipe (Makefile.am): Likewise.
14186         * modules/javaversion (Makefile.am): Likewise.
14187         * modules/lchmod (Makefile.am): Likewise.
14188         * modules/lchown (Makefile.am): Likewise.
14189         * modules/localcharset (Makefile.am): Likewise.
14190         * modules/long-options (Makefile.am): Likewise.
14191         * modules/lstat (Makefile.am): Likewise.
14192         * modules/malloc (Makefile.am): Likewise.
14193         * modules/mathl (Makefile.am): Likewise.
14194         * modules/mbchar (Makefile.am): Likewise.
14195         * modules/md2 (Makefile.am): Likewise.
14196         * modules/md4 (Makefile.am): Likewise.
14197         * modules/md5 (Makefile.am): Likewise.
14198         * modules/memcasecmp (Makefile.am): Likewise.
14199         * modules/memchr (Makefile.am): Likewise.
14200         * modules/memcmp (Makefile.am): Likewise.
14201         * modules/memcoll (Makefile.am): Likewise.
14202         * modules/memcpy (Makefile.am): Likewise.
14203         * modules/memmem (Makefile.am): Likewise.
14204         * modules/memmove (Makefile.am): Likewise.
14205         * modules/mempcpy (Makefile.am): Likewise.
14206         * modules/memrchr (Makefile.am): Likewise.
14207         * modules/memset (Makefile.am): Likewise.
14208         * modules/memxor (Makefile.am): Likewise.
14209         * modules/mkancesdirs (Makefile.am): Likewise.
14210         * modules/mkdir-p (Makefile.am): Likewise.
14211         * modules/mkdir (Makefile.am): Likewise.
14212         * modules/mkdtemp (Makefile.am): Likewise.
14213         * modules/mkstemp (Makefile.am): Likewise.
14214         * modules/mktime (Makefile.am): Likewise.
14215         * modules/modechange (Makefile.am): Likewise.
14216         * modules/mountlist (Makefile.am): Likewise.
14217         * modules/nanosleep (Makefile.am): Likewise.
14218         * modules/obstack (Makefile.am): Likewise.
14219         * modules/openat (Makefile.am): Likewise.
14220         * modules/pagealign_alloc (Makefile.am): Likewise.
14221         * modules/pathmax (Makefile.am): Likewise.
14222         * modules/physmem (Makefile.am): Likewise.
14223         * modules/poll (Makefile.am): Likewise.
14224         * modules/posixtm (Makefile.am): Likewise.
14225         * modules/posixver (Makefile.am): Likewise.
14226         * modules/putenv (Makefile.am): Likewise.
14227         * modules/quote (Makefile.am): Likewise.
14228         * modules/quotearg (Makefile.am): Likewise.
14229         * modules/raise (Makefile.am): Likewise.
14230         * modules/read-file (Makefile.am): Likewise.
14231         * modules/readline (Makefile.am): Likewise.
14232         * modules/readlink (Makefile.am): Likewise.
14233         * modules/readtokens (Makefile.am): Likewise.
14234         * modules/readutmp (Makefile.am): Likewise.
14235         * modules/realloc (Makefile.am): Likewise.
14236         * modules/regex (Makefile.am): Likewise.
14237         * modules/rename-dest-slash (Makefile.am): Likewise.
14238         * modules/rename (Makefile.am): Likewise.
14239         * modules/rijndael (Makefile.am): Likewise.
14240         * modules/rmdir (Makefile.am): Likewise.
14241         * modules/rpmatch (Makefile.am): Likewise.
14242         * modules/safe-read (Makefile.am): Likewise.
14243         * modules/safe-write (Makefile.am): Likewise.
14244         * modules/same-inode (Makefile.am): Likewise.
14245         * modules/same (Makefile.am): Likewise.
14246         * modules/save-cwd (Makefile.am): Likewise.
14247         * modules/savedir (Makefile.am): Likewise.
14248         * modules/setenv (Makefile.am): Likewise.
14249         * modules/settime (Makefile.am): Likewise.
14250         * modules/sha1 (Makefile.am): Likewise.
14251         * modules/sig2str (Makefile.am): Likewise.
14252         * modules/snprintf (Makefile.am): Likewise.
14253         * modules/stat-macros (Makefile.am): Likewise.
14254         * modules/stat-time (Makefile.am): Likewise.
14255         * modules/stdbool (Makefile.am): Likewise.
14256         * modules/stdint (Makefile.am): Likewise.
14257         * modules/stdlib-safer (Makefile.am): Likewise.
14258         * modules/stpcpy (Makefile.am): Likewise.
14259         * modules/stpncpy (Makefile.am): Likewise.
14260         * modules/strcase (Makefile.am): Likewise.
14261         * modules/strcasestr (Makefile.am): Likewise.
14262         * modules/strchrnul (Makefile.am): Likewise.
14263         * modules/strcspn (Makefile.am): Likewise.
14264         * modules/strdup (Makefile.am): Likewise.
14265         * modules/strerror (Makefile.am): Likewise.
14266         * modules/strftime (Makefile.am): Likewise.
14267         * modules/strndup (Makefile.am): Likewise.
14268         * modules/strnlen (Makefile.am): Likewise.
14269         * modules/strpbrk (Makefile.am): Likewise.
14270         * modules/strsep (Makefile.am): Likewise.
14271         * modules/strstr (Makefile.am): Likewise.
14272         * modules/strtod (Makefile.am): Likewise.
14273         * modules/strtoimax (Makefile.am): Likewise.
14274         * modules/strtok_r (Makefile.am): Likewise.
14275         * modules/strtol (Makefile.am): Likewise.
14276         * modules/strtoll (Makefile.am): Likewise.
14277         * modules/strtoul (Makefile.am): Likewise.
14278         * modules/strtoull (Makefile.am): Likewise.
14279         * modules/strtoumax (Makefile.am): Likewise.
14280         * modules/strverscmp (Makefile.am): Likewise.
14281         * modules/sys_socket (Makefile.am): Likewise.
14282         * modules/sys_stat (Makefile.am): Likewise.
14283         * modules/sysexits (Makefile.am): Likewise.
14284         * modules/time_r (Makefile.am): Likewise.
14285         * modules/timegm (Makefile.am): Likewise.
14286         * modules/timespec (Makefile.am): Likewise.
14287         * modules/tmpfile-safer (Makefile.am): Likewise.
14288         * modules/trim (Makefile.am): Likewise.
14289         * modules/unistd-safer (Makefile.am): Likewise.
14290         * modules/unlinkdir (Makefile.am): Likewise.
14291         * modules/unlocked-io (Makefile.am): Likewise.
14292         * modules/userspec (Makefile.am): Likewise.
14293         * modules/utime (Makefile.am): Likewise.
14294         * modules/utimecmp (Makefile.am): Likewise.
14295         * modules/utimens (Makefile.am): Likewise.
14296         * modules/vasnprintf (Makefile.am): Likewise.
14297         * modules/vasprintf (Makefile.am): Likewise.
14298         * modules/vsnprintf (Makefile.am): Likewise.
14299         * modules/xalloc (Makefile.am): Likewise.
14300         * modules/xgetcwd (Makefile.am): Likewise.
14301         * modules/xnanosleep (Makefile.am): Likewise.
14302         * modules/xreadlink (Makefile.am): Likewise.
14303         * modules/xstrtod (Makefile.am): Likewise.
14304         * modules/xstrtol (Makefile.am): Likewise.
14305         * modules/xstrtold (Makefile.am): Likewise.
14306         * modules/yesno (Makefile.am): Likewise.
14307         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
14308
14309 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14310
14311         * modules/error (Makefile.am): Distribute files through
14312         EXTRA_DIST, not lib_SOURCES.
14313
14314 2006-10-12  Eric Blake  <ebb9@byu.net>
14315
14316         * modules/error (Makefile.am): Distribute files in /lib.
14317         * modules/obstack (Makefile.am): Likewise.
14318
14319 2006-10-12  Bruno Haible  <bruno@clisp.org>
14320
14321         * modules/acl (Makefile.am): Distribute all files in lib/ through
14322         EXTRA_DIST.
14323         * modules/arcfour (Makefile.am): Likewise.
14324         * modules/arctwo (Makefile.am): Likewise.
14325         * modules/argmatch (Makefile.am): Likewise.
14326         * modules/argz (Makefile.am): Likewise.
14327         * modules/atexit (Makefile.am): Likewise.
14328         * modules/backupfile (Makefile.am): Likewise.
14329         * modules/c-strtod (Makefile.am): Likewise.
14330         * modules/c-strtold (Makefile.am): Likewise.
14331         * modules/calloc (Makefile.am): Likewise.
14332         * modules/canon-host (Makefile.am): Likewise.
14333         * modules/canonicalize (Makefile.am): Likewise.
14334         * modules/chdir-long (Makefile.am): Likewise.
14335         * modules/chdir-safer (Makefile.am): Likewise.
14336         * modules/check-version (Makefile.am): Likewise.
14337         * modules/chown (Makefile.am): Likewise.
14338         * modules/cloexec (Makefile.am): Likewise.
14339         * modules/close-stream (Makefile.am): Likewise.
14340         * modules/closeout (Makefile.am): Likewise.
14341         * modules/crc (Makefile.am): Likewise.
14342         * modules/cycle-check (Makefile.am): Likewise.
14343         * modules/des (Makefile.am): Likewise.
14344         * modules/dirfd (Makefile.am): Likewise.
14345         * modules/dirname (Makefile.am): Likewise.
14346         * modules/dup2 (Makefile.am): Likewise.
14347         * modules/euidaccess (Makefile.am): Likewise.
14348         * modules/exclude (Makefile.am): Likewise.
14349         * modules/exitfail (Makefile.am): Likewise.
14350         * modules/fcntl-safer (Makefile.am): Likewise.
14351         * modules/file-type (Makefile.am): Likewise.
14352         * modules/fileblocks (Makefile.am): Likewise.
14353         * modules/filemode (Makefile.am): Likewise.
14354         * modules/filenamecat (Makefile.am): Likewise.
14355         * modules/fnmatch (Makefile.am): Likewise.
14356         * modules/fopen-safer (Makefile.am): Likewise.
14357         * modules/fpending (Makefile.am): Likewise.
14358         * modules/fprintftime (Makefile.am): Likewise.
14359         * modules/free (Makefile.am): Likewise.
14360         * modules/fsusage (Makefile.am): Likewise.
14361         * modules/ftruncate (Makefile.am): Likewise.
14362         * modules/fts (Makefile.am): Likewise.
14363         * modules/gc (Makefile.am): Likewise.
14364         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
14365         * modules/getaddrinfo (Makefile.am): Likewise.
14366         * modules/getcwd (Makefile.am): Likewise.
14367         * modules/getdelim (Makefile.am): Likewise.
14368         * modules/getdomainname (Makefile.am): Likewise.
14369         * modules/getgroups (Makefile.am): Likewise.
14370         * modules/gethostname (Makefile.am): Likewise.
14371         * modules/gethrxtime (Makefile.am): Likewise.
14372         * modules/getline (Makefile.am): Likewise.
14373         * modules/getloadavg (Makefile.am): Likewise.
14374         * modules/getlogin_r (Makefile.am): Likewise.
14375         * modules/getopt (Makefile.am): Likewise.
14376         * modules/getpass (Makefile.am): Likewise.
14377         * modules/getpass-gnu (Makefile.am): Likewise.
14378         * modules/getsubopt (Makefile.am): Likewise.
14379         * modules/gettime (Makefile.am): Likewise.
14380         * modules/gettimeofday (Makefile.am): Likewise.
14381         * modules/getugroups (Makefile.am): Likewise.
14382         * modules/getusershell (Makefile.am): Likewise.
14383         * modules/glob (Makefile.am): Likewise.
14384         * modules/group-member (Makefile.am): Likewise.
14385         * modules/hard-locale (Makefile.am): Likewise.
14386         * modules/hash (Makefile.am): Likewise.
14387         * modules/hmac-md5 (Makefile.am): Likewise.
14388         * modules/hmac-sha1 (Makefile.am): Likewise.
14389         * modules/human (Makefile.am): Likewise.
14390         * modules/idcache (Makefile.am): Likewise.
14391         * modules/imaxabs (Makefile.am): Likewise.
14392         * modules/imaxdiv (Makefile.am): Likewise.
14393         * modules/inet_ntop (Makefile.am): Likewise.
14394         * modules/inet_pton (Makefile.am): Likewise.
14395         * modules/inttostr (Makefile.am): Likewise.
14396         * modules/isapipe (Makefile.am): Likewise.
14397         * modules/lchown (Makefile.am): Likewise.
14398         * modules/long-options (Makefile.am): Likewise.
14399         * modules/lstat (Makefile.am): Likewise.
14400         * modules/malloc (Makefile.am): Likewise.
14401         * modules/mathl (Makefile.am): Likewise.
14402         * modules/mbchar (Makefile.am): Likewise.
14403         * modules/md2 (Makefile.am): Likewise.
14404         * modules/md4 (Makefile.am): Likewise.
14405         * modules/md5 (Makefile.am): Likewise.
14406         * modules/memcasecmp (Makefile.am): Likewise.
14407         * modules/memchr (Makefile.am): Likewise.
14408         * modules/memcmp (Makefile.am): Likewise.
14409         * modules/memcoll (Makefile.am): Likewise.
14410         * modules/memcpy (Makefile.am): Likewise.
14411         * modules/memmem (Makefile.am): Likewise.
14412         * modules/memmove (Makefile.am): Likewise.
14413         * modules/mempcpy (Makefile.am): Likewise.
14414         * modules/memrchr (Makefile.am): Likewise.
14415         * modules/memset (Makefile.am): Likewise.
14416         * modules/memxor (Makefile.am): Likewise.
14417         * modules/mkancesdirs (Makefile.am): Likewise.
14418         * modules/mkdir (Makefile.am): Likewise.
14419         * modules/mkdir-p (Makefile.am): Likewise.
14420         * modules/mkdtemp (Makefile.am): Likewise.
14421         * modules/mkstemp (Makefile.am): Likewise.
14422         * modules/mktime (Makefile.am): Likewise.
14423         * modules/modechange (Makefile.am): Likewise.
14424         * modules/mountlist (Makefile.am): Likewise.
14425         * modules/nanosleep (Makefile.am): Likewise.
14426         * modules/openat (Makefile.am): Likewise.
14427         * modules/pagealign_alloc (Makefile.am): Likewise.
14428         * modules/physmem (Makefile.am): Likewise.
14429         * modules/poll (Makefile.am): Likewise.
14430         * modules/posixtm (Makefile.am): Likewise.
14431         * modules/posixver (Makefile.am): Likewise.
14432         * modules/putenv (Makefile.am): Likewise.
14433         * modules/quote (Makefile.am): Likewise.
14434         * modules/quotearg (Makefile.am): Likewise.
14435         * modules/raise (Makefile.am): Likewise.
14436         * modules/read-file (Makefile.am): Likewise.
14437         * modules/readline (Makefile.am): Likewise.
14438         * modules/readlink (Makefile.am): Likewise.
14439         * modules/readtokens (Makefile.am): Likewise.
14440         * modules/readutmp (Makefile.am): Likewise.
14441         * modules/realloc (Makefile.am): Likewise.
14442         * modules/regex (Makefile.am): Likewise.
14443         * modules/rename (Makefile.am): Likewise.
14444         * modules/rename-dest-slash (Makefile.am): Likewise.
14445         * modules/rijndael (Makefile.am): Likewise.
14446         * modules/rmdir (Makefile.am): Likewise.
14447         * modules/rpmatch (Makefile.am): Likewise.
14448         * modules/safe-read (Makefile.am): Likewise.
14449         * modules/safe-write (Makefile.am): Likewise.
14450         * modules/same (Makefile.am): Likewise.
14451         * modules/save-cwd (Makefile.am): Likewise.
14452         * modules/savedir (Makefile.am): Likewise.
14453         * modules/setenv (Makefile.am): Likewise.
14454         * modules/settime (Makefile.am): Likewise.
14455         * modules/sha1 (Makefile.am): Likewise.
14456         * modules/sig2str (Makefile.am): Likewise.
14457         * modules/snprintf (Makefile.am): Likewise.
14458         * modules/stdlib-safer (Makefile.am): Likewise.
14459         * modules/stpcpy (Makefile.am): Likewise.
14460         * modules/stpncpy (Makefile.am): Likewise.
14461         * modules/strcase (Makefile.am): Likewise.
14462         * modules/strcasestr (Makefile.am): Likewise.
14463         * modules/strchrnul (Makefile.am): Likewise.
14464         * modules/strcspn (Makefile.am): Likewise.
14465         * modules/strdup (Makefile.am): Likewise.
14466         * modules/strerror (Makefile.am): Likewise.
14467         * modules/strftime (Makefile.am): Likewise.
14468         * modules/strndup (Makefile.am): Likewise.
14469         * modules/strnlen (Makefile.am): Likewise.
14470         * modules/strpbrk (Makefile.am): Likewise.
14471         * modules/strsep (Makefile.am): Likewise.
14472         * modules/strstr (Makefile.am): Likewise.
14473         * modules/strtod (Makefile.am): Likewise.
14474         * modules/strtoimax (Makefile.am): Likewise.
14475         * modules/strtok_r (Makefile.am): Likewise.
14476         * modules/strtol (Makefile.am): Likewise.
14477         * modules/strtoll (Makefile.am): Likewise.
14478         * modules/strtoul (Makefile.am): Likewise.
14479         * modules/strtoull (Makefile.am): Likewise.
14480         * modules/strtoumax (Makefile.am): Likewise.
14481         * modules/strverscmp (Makefile.am): Likewise.
14482         * modules/time_r (Makefile.am): Likewise.
14483         * modules/timegm (Makefile.am): Likewise.
14484         * modules/tmpfile-safer (Makefile.am): Likewise.
14485         * modules/unistd-safer (Makefile.am): Likewise.
14486         * modules/unlinkdir (Makefile.am): Likewise.
14487         * modules/userspec (Makefile.am): Likewise.
14488         * modules/utime (Makefile.am): Likewise.
14489         * modules/utimecmp (Makefile.am): Likewise.
14490         * modules/utimens (Makefile.am): Likewise.
14491         * modules/vasnprintf (Makefile.am): Likewise.
14492         * modules/vasprintf (Makefile.am): Likewise.
14493         * modules/vsnprintf (Makefile.am): Likewise.
14494         * modules/xalloc (Makefile.am): Likewise.
14495         * modules/xgetcwd (Makefile.am): Likewise.
14496         * modules/xnanosleep (Makefile.am): Likewise.
14497         * modules/xreadlink (Makefile.am): Likewise.
14498         * modules/xstrtod (Makefile.am): Likewise.
14499         * modules/xstrtol (Makefile.am): Likewise.
14500         * modules/xstrtold (Makefile.am): Likewise.
14501         * modules/yesno (Makefile.am): Likewise.
14502
14503 2006-10-12  Jim Meyering  <jim@meyering.net>
14504
14505         * m4/getloadavg.m4: Revert the change below.
14506
14507         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
14508         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
14509         fail with a symlink, which is what coreutils' ./bootstrap now
14510         creates by default.
14511
14512 2006-10-12  Bruno Haible  <bruno@clisp.org>
14513
14514         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
14515         mingw.
14516         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
14517         MSVC and mingw explicitly.
14518
14519 2006-10-11  Simon Josefsson  <jas@extundo.com>
14520             Bruno Haible  <bruno@clisp.org>
14521
14522         Add support for multiple gnulib-tool invocations in the scope of a
14523         single configure.ac file.
14524         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
14525         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
14526         with the same contents as the _LIBADD variable.
14527         (func_emit_initmacro_start, func_emit_initmacro_end,
14528         func_emit_initmacro_done): New functions.
14529         (func_import, func_create_testdir): Invoke them. Allow the identifiers
14530         gl_LIBOBJS and gl_LTLIBOBJS.
14531
14532 2006-10-11  Bruno Haible  <bruno@clisp.org>
14533
14534         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
14535         (func_create_testdir): Don't create po/Makefile.am, don't invoke
14536         autoreconf. Instead, invoke autopoint explicitly but move back the
14537         *.m4 files from gnulib.
14538
14539 2006-10-11  Bruno Haible  <bruno@clisp.org>
14540
14541         * gnulib-tool (func_usage): Make module names after --create-testdir
14542         optional.
14543         (func_create_testdir): If no module was specified, use nearly all
14544         modules.
14545
14546 2006-10-12  Jim Meyering  <jim@meyering.net>
14547
14548         Big performance improvement for fts-based tools that use FTS_NOSTAT.
14549         Avoid spurious inode-mismatch problems on non-POSIX file systems.
14550         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
14551         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
14552         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
14553         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
14554         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
14555         (fts_set_stat_required): New function.
14556         (fts_open): Defer the calls to fts_stat, if possible or requested.
14557         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
14558         into fts_stat itself.
14559         (fts_read): Perform any required (deferred) fts_stat call.
14560         (fts_build): Likewise, for the directory we're about to open and read.
14561         In the readdir loop, carefully decide whether each entry will require
14562         an eventual call to fts_stat, using dirent.d_type info if available.
14563         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
14564         a command line argument into this function.  Update all callers.
14565         Map a return value of FTS_DOT to FTS_D for a command line argument.
14566         * modules/fts (Depends-on): Add d-type.  Alphabetize.
14567         Thanks to Miklos Szeredi for his tenacity and for the initial
14568         bug report about "find" failing on a FUSE-based file system.
14569
14570         * lib/fts.c (fts_open): Use consistent indentation.
14571
14572 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14573
14574         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
14575         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
14576         reported by Jim Meyering.  All uses of cache variables renamed
14577         to match Autoconf's.
14578         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
14579         the other one.
14580
14581         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
14582         Fix misspelling in diagnostic.
14583
14584 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14585
14586         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
14587         defined.  Problem reported by Matthew Woehlke.
14588
14589         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
14590         Add support for Tandem NonStop R series.
14591         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
14592         Use new macro.
14593
14594         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
14595         (has_trailing_slash): Omit size arg; all callers changed.
14596         Omit 'inline', since it doesn't help performance and we'd
14597         need to configure it.
14598         Don't count //, ///, etc. as having a trailing slash.
14599         As a side effect, this removes a C99ism reported by Matthew Woehlke.
14600         (rpl_rename_dest_slash): On failure, use rename's errno rather
14601         than (in some cases) an incorrect or junk errno.
14602         Simplify code by removing need to compute length; this does
14603         cause it to make two passes instead of one over the file name,
14604         but it's worth it.
14605
14606         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
14607         change, since Autoconf's version may no longer be appropriate now
14608         that we are using CVS Autoconf's version.  Add support for Tandem.
14609
14610 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14611             Bruno Haible  <bruno@clisp.org>
14612
14613         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
14614         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
14615         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
14616         gl_AC_TYPE_LONG_LONG.
14617
14618         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
14619         instead of HAVE_LONG_LONG.
14620         * lib/printf-args.c (printf_fetchargs): Likewise.
14621         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
14622         * lib/vasnprintf.c (VASNPRINTF): Likewise.
14623         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
14624         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
14625         gl_AC_TYPE_LONG_LONG.
14626
14627 2006-10-11  Bruno Haible  <bruno@clisp.org>
14628
14629         * m4/longlong.m4: Add comments.
14630         * m4/ulonglong.m4: Likewise.
14631
14632 2006-10-10  Bruno Haible  <bruno@clisp.org>
14633
14634         Make it possible to #define stpcpy, strdup to aliases.
14635         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
14636         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
14637
14638 2006-10-10  Bruno Haible  <bruno@clisp.org>
14639
14640         Make it possible to #define gcd to an alias.
14641         * lib/gcd.c: Include config.h.
14642
14643 2006-10-10  Bruno Haible  <bruno@clisp.org>
14644
14645         Make it possible to #define c_isascii to an alias.
14646         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
14647         defined. Undefine the macros before defining them, to avoid gcc
14648         warnings.
14649         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
14650         define NO_C_CTYPE_MACROS early.
14651
14652 2006-10-10  Bruno Haible  <bruno@clisp.org>
14653
14654         Make it possible to #define set_program_name to an alias.
14655         * lib/progname.c: Don't undefine set_program_name; instead, undefine
14656         ENABLE_RELOCATABLE early.
14657
14658 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14659
14660         Port to Tandem NSK OSS, which has 64-bit signed int but at most
14661         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
14662         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
14663         More generally, don't assume that 64-bit signed int is available
14664         if unsigned int is, and vice versa.
14665         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
14666         unsigned symbols, not on their signed counterparts.
14667         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
14668         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
14669         (UINT64_C, UINTMAX_C):
14670         Likewise.
14671         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
14672         unsigned counterparts.
14673         (Have_long_long, Unsigned): New macros.
14674         (Int): Renamed from INT.
14675         (strtoimax): Use the new macros.
14676         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
14677         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
14678         * modules/inttypes (inttypes.h): Substitute
14679         HAVE_UNSIGNED_LONG_LONG_INT.
14680         * modules/stdint (stdint.h): Likewise.
14681         (Files): Add m4/ulonglong.m4.
14682
14683 2006-10-10  Bruno Haible  <bruno@clisp.org>
14684
14685         Fix a gcc -Wshadow warning.
14686         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
14687         to 'bucket'.
14688         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
14689         gl_linked_indexof_from_to): Likewise.
14690         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
14691         Likewise.
14692         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
14693         Likewise.
14694         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
14695         Reported by Eric Blake.
14696
14697 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
14698
14699         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
14700         for NetBSD.  Problem reported by Bruno Haible.
14701
14702 2006-10-09  Jim Meyering  <jim@meyering.net>
14703
14704         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
14705         Patch from Bruno Haible.
14706
14707 2006-10-09  Jim Meyering  <jim@meyering.net>
14708
14709         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
14710         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
14711         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
14712
14713 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14714
14715         Don't include <config.h> twice; this doesn't work in some cases,
14716         e.g., when config.h has "#define intmax_t long long int" and
14717         we include <config.h>, <inttypes.h>, <config.h> in that order.
14718         Problem reported by Matthew Woehlke in:
14719         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
14720         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
14721         * lib/fts-cycle.c: Don't include config.h.
14722         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
14723         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
14724         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
14725         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
14726         inttypes.h.
14727         * lib/xstrtoumax.c: Likewise.
14728         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
14729         __strtol and the like, so that this module is more like its siblings.
14730         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
14731         Remove; no longer needed now that we assume gnulib inttypes.h.
14732
14733 2006-10-08  Bruno Haible  <bruno@clisp.org>
14734
14735         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
14736         option.
14737
14738 2006-10-07  Jim Meyering  <jim@meyering.net>
14739
14740         * modules/inttypes (inttypes.h): Revert what seems to have been
14741         an inadvertent part of today's change: use "|", not "/" in the
14742         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
14743
14744 2006-10-07  Bruno Haible  <bruno@clisp.org>
14745
14746         * modules/sublist: New file.
14747
14748 2006-10-07  Bruno Haible  <bruno@clisp.org>
14749
14750         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
14751         * modules/argz (argz.h): Likewise.
14752         * modules/arpa_inet (arpa/inet.h): Likewise.
14753         * modules/byteswap (byteswap.h): Likewise.
14754         * modules/configmake (configmake.h): Likewise.
14755         * modules/fcntl (fcntl.h): Likewise.
14756         * modules/fnmatch (fnmatch.h): Likewise.
14757         * modules/getopt (getopt.h): Likewise.
14758         * modules/glob (glob.h): Likewise.
14759         * modules/inttypes (inttypes.h): Likewise.
14760         * modules/netinet_in (netinet/in.h): Likewise.
14761         * modules/poll (poll.h): Likewise.
14762         * modules/stdbool (stdbool.h): Likewise.
14763         * modules/stdint (stdint.h): Likewise.
14764         * modules/sys_select (sys/select.h): Likewise.
14765         * modules/sys_socket (sys/socket.h): Likewise.
14766         * modules/sys_stat (sys/stat.h): Likewise.
14767         * modules/sysexits (sysexits.h): Likewise.
14768         * modules/unistd (unistd.h): Likewise.
14769         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14770         Add a "DO NOT EDIT" comment to the generated file.
14771         (func_import): Likewise for gnulib-comp.m4.
14772
14773 2006-10-07  Bruno Haible  <bruno@clisp.org>
14774
14775         * lib/gl_sublist.h: New file.
14776         * lib/gl_sublist.c: New file.
14777
14778 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14779
14780         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
14781         name (relative to the original working directory) and the file
14782         name component (relative to the temporary working directory).  All
14783         callers changed.
14784         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
14785         * lib/mkdir-p.c (make_dir_parents): Likewise.
14786         * lib/mkdir-p.h (make_dir_parents): Likewise.
14787
14788 2006-10-06  Eric Blake  <ebb9@byu.net>
14789
14790         Define several macros for use by the clean-temp module.
14791         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
14792         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
14793         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
14794
14795         * lib/clean-temp.h (close_stream_temp): New declaration.
14796         * lib/clean-temp.c (includes): Pull in headers according to what
14797         other modules are in use.
14798         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
14799
14800 2006-10-06  Bruno Haible  <bruno@clisp.org>
14801
14802         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
14803         instead of fopen, fwriteerror.
14804
14805 2006-10-06  Bruno Haible  <bruno@clisp.org>
14806
14807         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
14808         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
14809         int.
14810         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
14811         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
14812         Return an error indicator.
14813         Suggested by Eric Blake.
14814
14815 2006-10-06  Bruno Haible  <bruno@clisp.org>
14816
14817         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
14818         Reported by Eric Blake.
14819
14820 2006-10-06  Bruno Haible  <bruno@clisp.org>
14821
14822         * modules/closeout (Description): Mention stderr too.
14823
14824 2006-10-06  Bruno Haible  <bruno@clisp.org>
14825         and Paul Eggert  <eggert@cs.ucla.edu>
14826
14827         * lib/closeout.c (close_stdout): Also close stderr.
14828         * lib/closeout.h: Update comment.
14829
14830 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14831
14832         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
14833         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
14834         * lib/dirchownmod.c: Include lchown.h.
14835         * lib/lchown.c: Don't include files that lchown.h now includes.
14836         Don't declare chown, since lchown.h now does that.
14837         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
14838         (lchown): Define to rpl_chown if lchown is declared but
14839         does not exist.  Declare using a prototype if lchown is not
14840         declared.  Add a copyright notice.
14841         * lib/mkstemp.h: Include <unistd.h>.
14842         * lib/openat.c: Include lchown.h.
14843
14844         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
14845         we now test for that separately.
14846         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
14847         rather than O_NOFOLLOW, when testing whether it's possible to
14848         avoid a race condition reliably.
14849         * lib/savewd.c (savewd_chdir): Likewise.
14850
14851         Remove macros that are no longer needed now that stdint.h is
14852         reliable.
14853         * lib/fsusage.c (UINTMAX_MAX): Remove.
14854         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
14855         * lib/utimecmp.c (SIZE_MAX): Remove.
14856
14857         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
14858
14859         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
14860         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
14861         O_NOATIME works.
14862
14863 2006-10-05  Bruno Haible  <bruno@clisp.org>
14864
14865         * lib/gl_list.h (gl_sortedlist_search_from_to,
14866         gl_sortedlist_indexof_from_to): New declarations.
14867         (gl_list_implementation): New fields sortedlist_search_from_to,
14868         sortedlist_indexof_from_to.
14869         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
14870         inline functions.
14871         * lib/gl_list.c (gl_sortedlist_search_from_to,
14872         gl_sortedlist_indexof_from_to): New functions.
14873         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
14874         function.
14875         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
14876         (gl_array_sortedlist_search_from_to): New function.
14877         (gl_array_list_implementation): Update.
14878         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
14879         function.
14880         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
14881         (gl_carray_sortedlist_search_from_to): New function.
14882         (gl_carray_list_implementation): Update.
14883         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
14884         gl_linked_sortedlist_indexof_from_to): New functions.
14885         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
14886         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
14887         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
14888         gl_tree_sortedlist_indexof_from_to): New functions.
14889         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
14890         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
14891         Update.
14892         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
14893         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
14894         Update.
14895
14896 2006-10-05  Bruno Haible  <bruno@clisp.org>
14897
14898         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
14899         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
14900         (struct gl_list_implementation): Add fields search_from_to,
14901         indexof_from_to. Remove fields search, indexof.
14902         (gl_list_search): Use the search_from_to method.
14903         (gl_list_search_from, gl_list_search_from_to): New functions.
14904         (gl_list_indexof): Use the indexof_from_to method.
14905         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
14906         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
14907         (gl_list_search_from, gl_list_search_from_to): New functions.
14908         (gl_list_indexof): Use the indexof_from_to method.
14909         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
14910         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
14911         gl_array_indexof. Add start_index, end_index arguments.
14912         (gl_array_search_from_to): Renamed from gl_array_search. Add
14913         start_index, end_index arguments.
14914         (gl_array_remove, gl_array_list_implementation): Update.
14915         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
14916         gl_carray_indexof. Add start_index, end_index arguments.
14917         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
14918         start_index, end_index arguments.
14919         (gl_carray_remove, gl_carray_list_implementation): Update.
14920         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
14921         gl_linked_search. Add start_index, end_index arguments.
14922         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
14923         start_index, end_index arguments.
14924         (gl_linked_remove): Update.
14925         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
14926         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
14927         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
14928         field to 'size_t'.
14929         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
14930         gl_tree_search. Add start_index, end_index arguments.
14931         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
14932         start_index, end_index arguments.
14933         (gl_tree_remove): Update.
14934         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
14935         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
14936         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
14937         function.
14938         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
14939         gl_tree_search. Add start_index, end_index arguments.
14940         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
14941         start_index, end_index arguments.
14942         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
14943         Update.
14944         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
14945
14946 2006-10-05  Bruno Haible  <bruno@clisp.org>
14947
14948         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
14949
14950         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
14951         fwriteerror_temp): New declarations.
14952         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
14953         (descriptors): New variable.
14954         (cleanup): First, close the descriptors.
14955         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
14956         fclose_temp, fwriteerror_temp): New functions.
14957
14958 2006-10-04  Jim Meyering  <jim@meyering.net>
14959
14960         * lib/fts.c (fts_open): Tiny comment change.
14961
14962 2006-10-04  Bruno Haible  <bruno@clisp.org>
14963
14964         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
14965         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
14966         gl_LOCK_BODY.
14967         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
14968         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
14969         gl_LOCK_EARLY_BODY.
14970         (gl_LOCK): Require gl_LOCK_BODY.
14971
14972 2006-10-04  Bruno Haible  <bruno@clisp.org>
14973
14974         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
14975         (gl_oset_search_atleast): New declaration.
14976         (struct gl_oset_implementation): Add field 'search_atleast'.
14977         (gl_oset_search_atleast): New inline function.
14978         * lib/gl_oset.c (gl_oset_search_atleast): New function.
14979         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
14980         (gl_array_oset_implementation): Update.
14981         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
14982         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
14983         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
14984
14985 2006-10-04  Bruno Haible  <bruno@clisp.org>
14986
14987         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
14988
14989 2006-10-03  Bruno Haible  <bruno@clisp.org>
14990
14991         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
14992         from gl_avltreehash_list_implementation.
14993
14994 2006-10-03  Bruno Haible  <bruno@clisp.org>
14995
14996         * lib/gl_oset.c (gl_oset_add): Fix return type.
14997
14998 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
14999
15000         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
15001
15002 2006-10-02  Eric Blake  <ebb9@byu.net>
15003
15004         * modules/strnlen (Depends-on): Add extensions.
15005
15006 2006-10-02  Eric Blake  <ebb9@byu.net>
15007
15008         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
15009         definition in 2.60+.
15010
15011 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
15012
15013         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
15014         checks.
15015
15016 2006-10-02  Bruno Haible  <bruno@clisp.org>
15017
15018         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
15019         to the AUTOMAKE_OPTIONS.
15020         Reported by Jim Meyering.
15021
15022 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
15023
15024         Work around bug in Solaris 10 /proc file system:
15025         /proc/self/fd/NNN/.. isn't the parent directory of
15026         the directory whose file descriptor is NNN.  This needs to
15027         be worked around at run time, not compile time, since a
15028         program might be built on Solaris 8, where things work, and
15029         run on Solaris 10.
15030         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
15031         to use the following interface instead:
15032         (OPENAT_BUFFER_SIZE): New macro.
15033         (openat_proc_name): New function.
15034         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
15035         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
15036         Likewise.
15037         * lib/openat-proc.c: New file.
15038         * modules/openat (Files): Add lib/openat-proc.c.
15039         (Depends-on): Add same-inode, stdbool.
15040         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
15041
15042 2006-09-29  Bruno Haible  <bruno@clisp.org>
15043
15044         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
15045         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
15046         argument. Set stdout_closed before testing for ferror, not after.
15047         (fwriteerror, fwriteerror_no_ebadf): New functions.
15048
15049 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15050
15051         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
15052
15053 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
15054
15055         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
15056         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
15057
15058 2006-09-28  Jim Meyering  <jim@meyering.net>
15059
15060         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
15061         Include <unistd.h>.
15062
15063 2006-09-28  Bruno Haible  <bruno@clisp.org>
15064
15065         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
15066         * modules/linkedhash-list (Depends-on): Likewise.
15067         * modules/rbtreehash-list (Depends-on): Likewise.
15068
15069 2006-09-28  Bruno Haible  <bruno@clisp.org>
15070
15071         * lib/strndup.h: Simplify the redefinition of strndup.
15072         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
15073         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
15074
15075 2006-09-28  Bruno Haible  <bruno@clisp.org>
15076
15077         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
15078         * lib/gl_linkedhash_list.c: Likewise.
15079         * lib/gl_rbtreehash_list.c: Likewise.
15080
15081 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
15082
15083         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
15084         getaddrinfo.
15085
15086         * lib/__fpending.h: Don't include <stdio_ext.h> unless
15087         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
15088         it causes <stdio_ext.h> to cause a compile-time error.
15089         Problem reported by Nelson H. F. Beebe.
15090         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
15091         of HAVE_DECL___PENDING.
15092
15093         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
15094         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
15095         declaration.
15096
15097 2006-09-27  Jim Meyering  <jim@meyering.net>
15098
15099         This file could end up with a definition for a function
15100         named __strndup, rather than rpl_strndup on a system with
15101         incomplete weak_alias support.
15102         * lib/strndup.c (strndup): Rename from __strndup.
15103         Remove #defines that used to map __strndup to strndup.
15104         Don't use K&R prototypes.
15105         Remove LIBC-related code, since this file is not sync'd with glibc.
15106         * lib/strndup.h: Revamp, accordingly.
15107         * m4/strndup.m4: Modernize.
15108
15109 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
15110
15111         * modules/savewd (Depends-on): Add 'raise'.
15112         * lib/savewd.c: Include <signal.h>, for 'raise'.
15113
15114 2006-09-26  Jim Meyering  <jim@meyering.net>
15115
15116         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
15117         when we detect Darwin 8.7.0's acl_get_file bug.
15118         Rearrange to perform the new (below) run-test while $LIBS
15119         contains any acl-related library.  Set USE_ACL at the end.
15120         (gl_ACL_GET_FILE): New function.
15121
15122 2006-09-26  Eric Blake  <ebb9@byu.net>
15123
15124         * lib/verror.c: Include <config.h> unconditionally.
15125
15126 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
15127
15128         * modules/clock-time (Maintainer): Add self.
15129         * modules/getlogin_r (Depends-on): Add extensions.
15130
15131 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15132
15133         * modules/clock-time: New module.
15134         * modules/nanosleep (Depends-on): Add clock-time.
15135         * modules/gethrxtime (Depends-on): Likewise.
15136         * modules/gettime (Depends-on): Likewise.
15137         * modules/settime (Depends-on): Likewise.
15138
15139         * modules/fts-lgpl: Depend on openat.
15140         * modules/mkancesdirs: Depend on savewd.
15141         * modules/mkdir-p: Likewise.
15142
15143 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15144
15145         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
15146
15147         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
15148         `gl_have_arbitrary_file_name_length_limit' to
15149         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
15150         actually works between configure runs.
15151
15152 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15153             Bruno Haible  <bruno@clisp.org>
15154
15155         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
15156
15157 2006-09-25  Jim Meyering  <jim@meyering.net>
15158
15159         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
15160         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
15161
15162 2006-09-25  Eric Blake  <ebb9@byu.net>
15163
15164         * gnulib-tool (func_import, func_create_testdir): Fix typos in
15165         exec's in 2006-09-18 patch when shuffling fds.
15166
15167 2006-09-25  Bruno Haible  <bruno@clisp.org>
15168
15169         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
15170         Reported by Jim Meyering.
15171
15172 2006-09-24  Jim Meyering  <jim@meyering.net>
15173
15174         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
15175         compare a pointer against a literal "0".  That caused failures with
15176         at least HP-UX's hpcc.
15177
15178 2006-09-22  Simon Josefsson  <jas@extundo.com>
15179
15180         * modules/gc-sha1:
15181         * modules/gc-md4:
15182         * modules/gc-hmac-sha1:
15183         * modules/gc-hmac-md5:
15184         * modules/gc-des:
15185         * modules/gc-arcfour: Distribute more files.
15186
15187 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15188
15189         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
15190         (gl_linked_iterator_from_to): Initialize struct completely.
15191         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
15192         (gl_tree_iterator_from_to): Likewise
15193         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
15194         * lib/gl_array_list.c [lint] (gl_array_iterator)
15195         (gl_array_iterator_from_to): Likewise.
15196         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
15197         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
15198         (gl_carray_iterator_from_to): Likewise.
15199
15200         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
15201         * lib/md4.c (md4_process_block): Remove unused variable.
15202         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
15203         parentheses for clarity.
15204
15205 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15206
15207         * modules/bison-i18n (Depends-on): Add gettext.
15208
15209 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15210
15211         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
15212         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
15213         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
15214         also add missing comma that caused broken test.
15215         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
15216         stdlib.h, for `abort'.
15217         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
15218         variables.
15219         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
15220         include unistd.h if present, for `rmdir'.
15221         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
15222         variables.
15223         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
15224         in the process include standard headers for prototypes.
15225         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
15226         gets declared on GNU/Linux.
15227         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
15228         unistd.h, for `rmdir'.
15229         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
15230
15231         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
15232         always true.
15233         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
15234
15235         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
15236
15237 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15238
15239         * gnulib-tool (func_version): Create output all at once.  This
15240         may help avoid triggering unnecessary SIGPIPEs, and at any
15241         rate it doesn't hurt.
15242
15243 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15244             Bruno Haible  <bruno@clisp.org>
15245
15246         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
15247         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
15248         * m4/signed.m4 (bh_C_SIGNED): Likewise.
15249
15250         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
15251         (gl_FUNC_VASPRINTF): Invoke it.
15252
15253 2006-09-22  Bruno Haible  <bruno@clisp.org>
15254
15255         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
15256         getloadavg.c as first argument.
15257
15258 2006-09-22  Bruno Haible  <bruno@clisp.org>
15259
15260         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
15261         at the beginning of the gl_INIT macro.
15262         * modules/getloadavg (configure.ac): Pass $gl_source_base to
15263         gl_GETLOADAVG.
15264
15265 2006-09-22  Bruno Haible  <bruno@clisp.org>
15266
15267         * gnulib-tool (func_create_megatestdir): Don't include the config-h
15268         module.
15269         Suggested by Ralf Wildenhues.
15270
15271 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15272
15273         Import this patch from libc:
15274
15275         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
15276
15277         * lib/regex_internal.c (re_string_reconstruct): Handle
15278         offset < pstr->valid_raw_len && pstr->offsets_needed case.
15279         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
15280         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
15281         re_string_context_at.
15282
15283         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
15284         now requires it.
15285         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
15286         gl_REGEX now does it for us.
15287         (gl_REGEX): Add test taken from
15288         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
15289
15290         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
15291         Check that large offsets work.  Modernize Autoconf usages.
15292         Prefer "yes" to mean a good thing rather than a bad.
15293         Don't put "#define mkstemp" in config.h, as this might interfere
15294         with standard system headers that "#define mkstemp mkstemp64".
15295
15296         * modules/mkstemp (Depends-on): Add extensions, so that
15297         mkstemp is visible on some platforms.
15298         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
15299         (Include): Change to "mkstemp.h" from <stdlib.h>.
15300         (Files): Add mkstemp.h.
15301
15302         * lib/mkstemp.h: New file, since some standard headers
15303         #define mkstemp.
15304         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
15305         Include "mkstemp.h".
15306         Make the _LIBC code resemble glibc original more,
15307         e.g., use K&R style.
15308         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
15309         (mkstemp): Remove, since mkstemp.h does this for us.
15310         * lib/stdlib--.h: Include mkstemp.h.
15311
15312         Import this patch from libc:
15313
15314         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
15315
15316         * lib/tempname.c (__gen_tempname): Change attempts_min
15317         into a macro.  Use preprocessor to decide how to initialize
15318         attempts [Coverity CID 67].
15319
15320 2006-09-20  Bruno Haible  <bruno@clisp.org>
15321
15322         * lib/mkdtemp.c: Import from libc.
15323         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
15324                 * sysdeps/posix/tempname.c (__gen_tempname): Change
15325                 attempts_min into a macro.  Use preprocessor to decide how to
15326                 initialize attempts [Coverity CID 67].
15327         2001-11-27  Paul Eggert  <eggert@twinsun.com>
15328                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
15329                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
15330
15331 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15332
15333         * gnulib-tool (func_exit): New function, to allow to pass the
15334         exit status portably through the trap.  Use everywhere.
15335         (--help, --version): Signal a write error.
15336         (trap): catch SIGPIPE, for write errors.
15337         Exit at the end of the trap, with the correct exit status.
15338
15339 2006-09-19  Karl Berry  <karl@gnu.org>
15340
15341         * doc/gnulib.texi: note about the license texinfo files.
15342
15343 2006-09-19  Eric Blake  <ebb9@byu.net>
15344
15345         * gnulib-tool: Avoid space-tab.
15346
15347 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15348
15349         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
15350         that prevented coreutils 6.1 from building.  Problem reported
15351         by Petter Reinholdtsen.
15352
15353 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15354
15355         * gnulib-tool (avoidlist): Fix typo that broke options like
15356         --avoid=lock that are used by coreutils bootstrap.
15357
15358 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
15359
15360         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
15361         more systematically.
15362
15363 2006-09-18  Jim Meyering  <jim@meyering.net>
15364
15365         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
15366
15367 2006-09-18  Bruno Haible  <bruno@clisp.org>
15368
15369         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
15370
15371 2006-09-18  Bruno Haible  <bruno@clisp.org>
15372
15373         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
15374         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
15375         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
15376         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
15377         * m4/gettext.m4: Require autoconf >= 2.52.
15378         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
15379         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
15380         of gl_cv_header_inttypes_h.
15381
15382 2006-09-18  Bruno Haible  <bruno@clisp.org>
15383
15384         * lib/javaversion.c: Include configmake.h.
15385
15386 2006-09-18  Bruno Haible  <bruno@clisp.org>
15387
15388         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
15389         avoid that the while loops be executed in a subshell.
15390
15391 2006-09-18  Bruno Haible  <bruno@clisp.org>
15392
15393         * MODULES.html.sh (func_module): Break long lines.
15394         Suggested by Bruce Korb <bkorb@gnu.org>.
15395
15396 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15397
15398         Speed up by a factor of 1.12.
15399         * gnulib-tool (nl): New variable.
15400         (func_import): Rewrite include directive extraction to only read each
15401         directive once.
15402
15403 2006-09-17  Bruno Haible  <bruno@clisp.org>
15404
15405         * modules/javaversion (Makefile.am): Remove DEFS setting.
15406         (Depends-on): Add configmake, for PKGDATADIR definition.
15407
15408 2006-09-17  Bruno Haible  <bruno@clisp.org>
15409
15410         * gnulib-tool (func_create_testdir): Rewrite all files at once.
15411
15412 2006-09-17  Bruno Haible  <bruno@clisp.org>
15413
15414         * gnulib-tool (func_append): New function, stolen from libtool.m4.
15415         (func_modules_transitive_closure, func_modules_add_dummy,
15416         func_modules_to_filelist, func_import, func_create_testdir,
15417         func_create_megatestdir, ...): Use it wherever possible.
15418         Suggested by Ralf Wildenhues.
15419
15420 2006-09-16  Karl Berry  <karl@gnu.org>
15421
15422         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
15423         to avoid sectioning errors.
15424         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
15425         [ifinfo]: blank line after @center-ed titles.
15426         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
15427         Spell FSF address consistently with others.
15428         (These changes approved by rms.)
15429
15430 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15431
15432         Speed up by a factor of 1.61.
15433         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
15434         already checked module names again.
15435
15436 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15437
15438         Speed up by a factor of 1.13.
15439         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
15440         for new_files, and the input to func_add_or_update.
15441
15442 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15443
15444         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
15445         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
15446
15447 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15448
15449         * modules/mkancesdirs (Depends-on): Add fcntl.
15450         * modules/savewd: New file.
15451         * MODULES.html.sh (File system functions): Add savewd.
15452
15453         * modules/configmake (Makefile.am): Add support for the
15454         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
15455
15456 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15457
15458         * m4/savewd.m4: New file.
15459
15460 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15461
15462         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
15463         (dirchownmod): New arg FD.  All callers changed.
15464         Use FD rather than opening the directory ourself, as opening is
15465         now the caller's responsibility.
15466         * lib/dirchownmod.h: Likewise.
15467         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
15468         hosts that require <sys/types.h> before <sys/stat.h>.  Include
15469         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
15470         (test_dir): Remove.
15471         (mkancesdirs): Return length of prefix of FILE that has already
15472         been made, or -2 if there is a child doing the work.  Redo
15473         algorithm so that it is O(N) rather than O(N**2).  Optimize away
15474         ".", and treat ".." specially since it might stray back into
15475         already-created areas.  Use a subprocess if necessary.  New arg
15476         WD; all users changed.  MAKE_DIR function should now return 1
15477         if it creates a directory that is not readable.  Return -2 if
15478         a child process is spun off.
15479         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
15480         Adjust signature to match code.
15481         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
15482         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
15483         all users changed.
15484         * lib/savewd.c, lib/savewd.h: New files.
15485
15486 2006-09-15  Jim Meyering  <jim@meyering.net>
15487
15488         * modules/rename-dest-slash: New module.
15489         * MODULES.html.sh (posix_compat): Add it here.
15490
15491         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
15492
15493 2006-09-15  Jim Meyering  <jim@meyering.net>
15494
15495         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
15496         file.
15497
15498         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
15499
15500 2006-09-15  Jim Meyering  <jim@meyering.net>
15501
15502         * lib/rename-dest-slash.c (has_trailing_slash): Use
15503         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
15504         (rpl_rename_dest_slash): Perform the cheaper trailing slash
15505         test before testing whether SRC is a directory.
15506         Suggestions from Bruno Haible.
15507
15508         Avoid a warning about an unused variable.
15509         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
15510         into the #ifdef block where it's used.
15511
15512         * lib/rename-dest-slash.c: New file.
15513
15514 2006-09-14  Bruno Haible  <bruno@clisp.org>
15515
15516         * lib/allocsa.c: Include <config.h> unconditionally.
15517         * lib/asnprintf.c: Likewise.
15518         * lib/asprintf.c: Likewise.
15519         * lib/c-strcasecmp.c: Likewise.
15520         * lib/c-strcasestr.c: Likewise.
15521         * lib/c-strncasecmp.c: Likewise.
15522         * lib/c-strstr.c: Likewise.
15523         * lib/classpath.c: Likewise.
15524         * lib/clean-temp.c: Likewise.
15525         * lib/concatpath.c: Likewise.
15526         * lib/copy-file.c: Likewise.
15527         * lib/csharpcomp.c: Likewise.
15528         * lib/csharpexec.c: Likewise.
15529         * lib/execute.c: Likewise.
15530         * lib/fatal-signal.c: Likewise.
15531         * lib/findprog.c: Likewise.
15532         * lib/fwriteerror.c: Likewise.
15533         * lib/gl_array_list.c: Likewise.
15534         * lib/gl_array_oset.c: Likewise.
15535         * lib/gl_avltree_list.c: Likewise.
15536         * lib/gl_avltree_oset.c: Likewise.
15537         * lib/gl_avltreehash_list.c: Likewise.
15538         * lib/gl_carray_list.c: Likewise.
15539         * lib/gl_linked_list.c: Likewise.
15540         * lib/gl_linkedhash_list.c: Likewise.
15541         * lib/gl_list.c: Likewise.
15542         * lib/gl_oset.c: Likewise.
15543         * lib/gl_rbtree_list.c: Likewise.
15544         * lib/gl_rbtree_oset.c: Likewise.
15545         * lib/gl_rbtreehash_list.c: Likewise.
15546         * lib/imaxabs.c: Likewise.
15547         * lib/imaxdiv.c: Likewise.
15548         * lib/javacomp.c: Likewise.
15549         * lib/javaexec.c: Likewise.
15550         * lib/javaversion.c: Likewise.
15551         * lib/linebreak.c: Likewise.
15552         * lib/localcharset.c: Likewise.
15553         * lib/lock.c: Likewise.
15554         * lib/mbchar.c: Likewise.
15555         * lib/mbswidth.c: Likewise.
15556         * lib/mkdtemp.c: Likewise.
15557         * lib/pipe.c: Likewise.
15558         * lib/printf-args.c: Likewise.
15559         * lib/printf-parse.c: Likewise.
15560         * lib/progname.c: Likewise.
15561         * lib/progreloc.c: Likewise.
15562         * lib/readlink.c: Likewise.
15563         * lib/sh-quote.c: Likewise.
15564         * lib/stpcpy.c: Likewise.
15565         * lib/stpncpy.c: Likewise.
15566         * lib/strcasecmp.c: Likewise.
15567         * lib/strcasestr.c: Likewise.
15568         * lib/strcspn.c: Likewise.
15569         * lib/striconv.c: Likewise.
15570         * lib/strncasecmp.c: Likewise.
15571         * lib/strnlen1.c: Likewise.
15572         * lib/strstr.c: Likewise.
15573         * lib/strtok_r.c: Likewise.
15574         * lib/tls.c: Likewise.
15575         * lib/tmpdir.c: Likewise.
15576         * lib/unicodeio.c: Likewise.
15577         * lib/unsetenv.c: Likewise.
15578         * lib/vasnprintf.c: Likewise.
15579         * lib/vasprintf.c: Likewise.
15580         * lib/wait-process.c: Likewise.
15581         * lib/xallocsa.c: Likewise.
15582         * lib/xsetenv.c: Likewise.
15583         * lib/xstriconv.c: Likewise.
15584
15585 2006-09-13  Simon Josefsson  <jas@extundo.com>
15586
15587         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
15588         that internally, suggested by Ralf Wildenhues
15589         <Ralf.Wildenhues@gmx.de>.
15590
15591 2006-09-13  Simon Josefsson  <jas@extundo.com>
15592
15593         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
15594         @LIBOBJS@.
15595         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15596
15597 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15598
15599         * lib/_fpending.c: Include <config.h> unconditionally, since we no
15600         longer worry about uses that don't define HAVE_CONFIG_H.
15601         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
15602         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
15603         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
15604         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
15605         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
15606         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
15607         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
15608         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
15609         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
15610         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
15611         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
15612         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
15613         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
15614         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
15615         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
15616         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
15617         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
15618         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
15619         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
15620         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
15621         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
15622         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
15623         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
15624         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
15625         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
15626         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
15627         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
15628         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
15629         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
15630         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
15631         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
15632         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
15633         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
15634         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
15635         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
15636         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
15637         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
15638         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
15639         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
15640         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
15641         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
15642         Likewise.
15643
15644 2006-09-13  Eric Blake  <ebb9@byu.net>
15645
15646         * lib/getopt.c: Fix typo in last commit.
15647
15648 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15649
15650         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
15651         dgettext.
15652
15653 2006-09-12  Jim Meyering  <jim@meyering.net>
15654
15655         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
15656         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
15657         Reported by Nelson H. F. Beebe.
15658
15659 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
15660
15661         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
15662         program_invocation_name and program_invocation_short_name are
15663         initialized.
15664         * lib/argp-namefrob.h: Move declarations of program_invocation_name
15665         and program_invocation_short_name to argp.h, so they are visible
15666         to user programs.
15667         * lib/argp.h: Likewise
15668
15669 2006-09-10  Bruno Haible  <bruno@clisp.org>
15670
15671         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
15672         m4/inttypes_h.m4, m4/uintmax_t.m4.
15673
15674 2006-09-10  Bruno Haible  <bruno@clisp.org>
15675
15676         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
15677         gl_AC_TYPE_UINTMAX_T.
15678
15679 2006-09-10  Bruno Haible  <bruno@clisp.org>
15680
15681         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
15682
15683 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15684
15685         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
15686         convention.  Text proposed by Bruno Haible.
15687         (struct argp_option): Document the use of N_() wrappers.
15688
15689         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
15690         '\v', and translate the two parts separately, instead of feeding
15691         the whole string to gettext.  This allows to exclude
15692         '\v' from the strings visible to the translator by writing doc
15693         strings as N_("..") "\v" N_("..").
15694
15695 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
15696
15697         * config/srclist.txt: Undo latest change; the bug was fixed.
15698
15699 2006-09-09  Bruno Haible  <bruno@clisp.org>
15700
15701         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
15702         assignments if building a library without libtool.
15703         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
15704         in func_emit_lib_Makefile_am.
15705         (func_import): When building a static library libfoo.a, arrange to
15706         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
15707         (func_create_testdir): Likewise.
15708         * modules/gc (configure.ac, Makefile.am): If building statically,
15709         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
15710         * modules/iconvme (configure.ac, Makefile.am): Likewise.
15711         * modules/striconv (configure.ac, Makefile.am): Likewise.
15712         Based on a suggestion by Ralf Wildenhues.
15713
15714 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15715
15716         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
15717         Check for unistd.h too, since Autoconf doesn't assume POSIX.
15718         Also:
15719
15720         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15721         Add year_2050_test to catch glibc bug 2821
15722         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
15723
15724         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
15725         Prefer #ifdef to #if.
15726
15727         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
15728         Return from 'main' instead of calling 'exit'.
15729
15730 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15731
15732         * lib/mktime.c (guess_time_tm): Fix bug where mktime
15733         returned the maximum time_t value rather than (time_t) -1.
15734         Problem originally reported by William Bardwell
15735         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
15736
15737         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
15738         Moved to here ...
15739         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
15740         ... from here.
15741
15742 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
15743
15744         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
15745         2821 is fixed.
15746
15747 2006-09-08  Jim Meyering  <jim@meyering.net>
15748
15749         Don't make generated files read-only.  That would bother too many
15750         people.  However, do retain the ability to work when targets are
15751         read-only: remove the destination and temporary files before writing
15752         them (when generated via sed or echo), or by using the -f option for
15753         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
15754         * modules/alloca-opt, modules/argz, modules/arpa_inet:
15755         * modules/byteswap, modules/configmake, modules/fcntl:
15756         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
15757         * modules/localcharset, modules/netinet_in, modules/poll:
15758         * modules/stdbool, modules/stdint, modules/sys_select:
15759         * modules/sys_socket, modules/sys_stat, modules/sysexits:
15760
15761 2006-09-08  Jim Meyering  <jim@meyering.net>
15762
15763         Avoid new build failure on FreeBSD 6.0.
15764         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
15765         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
15766         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
15767
15768 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15769
15770         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
15771
15772 2006-09-07  Jim Meyering  <jim@meyering.net>
15773
15774         Fix global typo in last change: use chmod u-w, not chmod u-x.
15775         Spotted by Paul Eggert and Bruce Korb.
15776         * modules/alloca-opt, modules/argz, modules/arpa_inet:
15777         * modules/byteswap, modules/configmake, modules/fcntl:
15778         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
15779         * modules/localcharset, modules/netinet_in, modules/poll:
15780         * modules/stdbool, modules/stdint, modules/sys_select:
15781         * modules/sys_socket, modules/sys_stat, modules/sysexits:
15782
15783 2006-09-06  Jim Meyering  <jim@meyering.net>
15784
15785         Make generated files be read-only.
15786         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
15787         Ensure that each generated file is now read-only.
15788         * modules/argz: Likewise.
15789         * modules/arpa_inet: Likewise.
15790         * modules/byteswap: Likewise.
15791         * modules/configmake: Likewise.
15792         * modules/fcntl: Likewise.
15793         * modules/fnmatch: Likewise.
15794         * modules/getopt: Likewise.
15795         * modules/glob: Likewise.
15796         * modules/inttypes: Likewise.
15797         * modules/netinet_in: Likewise.
15798         * modules/poll: Likewise.
15799         * modules/stdbool: Likewise.
15800         * modules/stdint: Likewise.
15801         * modules/sys_select: Likewise.
15802         * modules/sys_socket: Likewise.
15803         * modules/sys_stat: Likewise.
15804         * modules/sysexits: Likewise.
15805         * modules/localcharset: Same as above, but continue using temporary
15806         file named "t-$@" (why different?) rather than the "$@-t" used
15807         everywhere else.
15808
15809         * modules/sysexits (Makefile.am): Replace literal occurrences
15810         of "sysexit.h" more readable, and more consistent, "$@".
15811
15812 2006-09-06  Bruno Haible  <bruno@clisp.org>
15813
15814         * modules/striconv: New file.
15815         * modules/xstriconv: New file.
15816         * MODULES.html.sh (Internationalization functions): Add striconv,
15817         xstriconv.
15818
15819 2006-09-06  Bruno Haible  <bruno@clisp.org>
15820
15821         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
15822         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
15823         not using libtool correctly.
15824
15825 2006-09-06  Bruno Haible  <bruno@clisp.org>
15826
15827         * lib/striconv.h: New file.
15828         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
15829         iconvstring.c.
15830         * lib/xstriconv.h: New file.
15831         * lib/xstriconv.c: New file.
15832
15833 2006-09-06  Bruno Haible  <bruno@clisp.org>
15834
15835         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
15836         lib_..._LDFLAGS.
15837
15838 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15839
15840         * lib/argz_.h: Sync from Libtool.
15841
15842         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
15843                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15844
15845         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
15846
15847 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
15848
15849         * modules/trim: New file.
15850
15851 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
15852
15853         * lib/trim.h: New file.
15854         * lib/trim.c: New file.
15855
15856 2006-09-05  Bruno Haible  <bruno@clisp.org>
15857
15858         * MODULES.html.sh (String handling): Add trim.
15859
15860 2006-09-04  Karl Berry  <karl@gnu.org>
15861
15862         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
15863         until next release.
15864
15865 2006-09-03  Bruno Haible  <bruno@clisp.org>
15866
15867         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
15868         correctly.
15869
15870 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15871
15872         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
15873         not gl_GETLOADAVG.  Omit unneeded semicolons.
15874         Problems reported by Ralf Wildenhues in
15875         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
15876         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
15877         at the end, which is the usual gnulib style.
15878
15879         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
15880         of doing all the work ourselves.
15881         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
15882         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
15883
15884 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15885
15886         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
15887         Problem reported by Ralf Wildenhues in
15888         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
15889
15890         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
15891         HAVE_STRUCT_STATFS_F_FSTYPENAME.
15892
15893 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15894
15895         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
15896         yesterday's patch by changing test -n to test -z.
15897
15898 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15899
15900         * modules/getloadavg (Files): Add m4/getloadavg.m4.
15901         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
15902         the former is now obsolescent.
15903
15904         * modules/chdir-long (Depends-on): Add fcntl.
15905
15906 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15907
15908         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
15909         obsolescent, and programs should use gnulib instead.
15910         * m4/getloadavg.m4: New file, with contents taken from Autoconf
15911         but with prefixes changed.
15912
15913 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15914
15915         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
15916         or stdbool.h, because they might not exist while configuring.
15917
15918         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
15919         Don't include unistd.h or limits.h; not needed, since chdir-long.h
15920         does that for us.
15921         (O_DIRECTORY): Remove.
15922
15923 2006-08-31  Eric Blake  <ebb9@byu.net>
15924
15925         * gnulib-tool: Don't let emacs change spaces to TAB.
15926
15927 2006-08-31  Bruno Haible  <bruno@clisp.org>
15928
15929         * gnulib-tool: When calling func_import more than once, do it in a
15930         subshell.
15931         Reported by Eric Blake <ebb9@byu.net>.
15932
15933 2006-08-31  Bruno Haible  <bruno@clisp.org>
15934
15935         * gnulib-tool (nl): Remove variable.
15936         (sed_transform_lib_file): Use more robust test for config-h module.
15937         (func_import): Fix typo in 2006-08-25 patch.
15938
15939 2006-08-31  Bruno Haible  <bruno@clisp.org>
15940
15941         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
15942         specified, augment Makefile.am variables instead of assigning them.
15943
15944 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15945
15946         Work around a bug in both the Linux and SunOS 64-bit kernels:
15947         nanosleep mishandles sleeps for longer than 2**31 seconds.
15948         Problem reported by Frank v Waveren in
15949         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
15950         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
15951         Check for nanosleep bug.
15952         (LIB_NANOSLEEP): Append clock_gettime library if needed.
15953
15954 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15955
15956         Work around a bug in both the Linux and SunOS 64-bit kernels:
15957         nanosleep mishandles sleeps for longer than 2**31 seconds.
15958         Problem reported by Frank v Waveren in
15959         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
15960         * lib/nanosleep.c (BILLION): New constant.
15961         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
15962         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
15963         implementation.
15964
15965 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15966
15967         * modules/nanosleep (Depends-on): Add gettime.
15968
15969 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15970         and Simon Josefsson  <jas@extundo.com>
15971         and Oskar Liljeblad  <oskar@osk.mine.nu>
15972
15973         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
15974         * gnulib-tool (func_import): New license type 'unmodifiable license
15975         text'.
15976         * modules/fdl: Use it.  Longer description.
15977         * module/gpl, module/lgpl: New files.
15978
15979 2006-08-30  Jim Meyering  <jim@meyering.net>
15980
15981         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
15982         shadowing the parameter.
15983
15984 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15985
15986         Sync from Libtool:
15987
15988         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15989
15990         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
15991         sharing with gnulib.  Report by Eric Blake.
15992
15993 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15994
15995         * modules/isapipe: New file.
15996         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
15997
15998 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15999
16000         * modules/configmake (Makefile.am): Add a comment, and omit
16001         the CONFIGMAKE_ prefix from generated macro names.  Suggested
16002         by Bruno Haible.
16003
16004 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16005
16006         * m4/isapipe.m4: New file.
16007
16008 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16009
16010         * lib/isapipe.c, lib/isapipe.h: New files.
16011
16012 2006-08-29  Jim Meyering  <jim@meyering.net>
16013
16014         * modules/configmake (Makefile.am): Make configmake.h depend on
16015         Makefile.  Otherwise, a stale configmake.h could hang around.
16016
16017 2006-08-29  Eric Blake  <ebb9@byu.net>
16018
16019         * lib/error.c (error_at_line, print_errno_message): Match libc, after
16020         resolution of upstream bug 3044.
16021
16022 2006-08-29  Bruno Haible  <bruno@clisp.org>
16023
16024         * modules/localcharset (Depends-on): Add configmake.
16025         (Makefile.am): Remove setting of LIBDIR through DEFS.
16026
16027 2006-08-29  Bruno Haible  <bruno@clisp.org>
16028
16029         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
16030         defined.
16031
16032 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16033
16034         * modules/fcntl: New file.
16035         * modules/chdir-safer (Depends-on): Add fcntl.
16036         * modules/fts: Likewise.
16037         * modules/mkdir-p: Likewise.
16038
16039         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
16040         This undoes the most recent change, since we're now addressing the
16041         problem in a different way.
16042
16043         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
16044         into output, since the output might be called Makefile.am even
16045         if $makefile_name is something different.
16046         (func_import): Use $makefile_am rather than
16047         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
16048         empty.
16049
16050         * modules/inttypes (Files): Add m4/inttypes-h.m4.
16051
16052 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16053
16054         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
16055         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
16056         recent change to stdint.m4, since we're now addressing the problem in a
16057         different way.
16058
16059 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16060
16061         * m4/fcntl_h.m4: New file.
16062
16063 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16064
16065         * lib/fcntl_.h: New file.
16066         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
16067         the fcntl module.
16068         * lib/dirchownmod.c: Likewise.
16069         * lib/fts.c: Likewise.
16070
16071         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
16072         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
16073         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
16074         just before including <inttypes.h>, to avoid circular inclusion.
16075
16076 2006-08-28  Jim Meyering  <jim@meyering.net>
16077
16078         * doc/visibility.texi: Actually read and correct the grammar of the
16079         sentence affected by yesterday's change.
16080
16081 2006-08-28  Eric Blake  <ebb9@byu.net>
16082
16083         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
16084         needs wrapper.
16085
16086 2006-08-28  Eric Blake  <ebb9@byu.net>
16087
16088         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
16089
16090 2006-08-28  Eric Blake  <ebb9@byu.net>
16091
16092         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
16093
16094 2006-08-28  Bruno Haible  <bruno@clisp.org>
16095
16096         * modules/c-strstr: New file, from GNU gettext.
16097         * MODULES.html.sh (String handling): Add c-strstr.
16098
16099 2006-08-28  Bruno Haible  <bruno@clisp.org>
16100
16101         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
16102         macros.
16103         Reported by Eric Blake.
16104
16105 2006-08-28  Bruno Haible  <bruno@clisp.org>
16106
16107         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
16108         (VASNPRINTF): Return a string of length > INT_MAX without failing.
16109         * lib/vasprintf.c: Include errno.h, limits.h.
16110         (EOVERFLOW): New fallback definition.
16111         (vasprintf): Test here whether the string length is > INT_MAX.
16112         * lib/vsnprintf.c: Include errno.h, limits.h.
16113         (EOVERFLOW): New fallback definition.
16114         (vsnprintf): Fix bug when generated string was too long for the buffer.
16115         Test here whether the string length is > INT_MAX.
16116
16117 2006-08-28  Bruno Haible  <bruno@clisp.org>
16118
16119         * lib/inttypes_.h (SCNX*): Remove definitions.
16120         Reported by Eric Blake.
16121
16122 2006-08-28  Bruno Haible  <bruno@clisp.org>
16123
16124         * lib/c-strstr.h: New file, from GNU gettext.
16125         * lib/c-strstr.c: New file, from GNU gettext.
16126
16127 2006-08-28  Bruno Haible  <bruno@clisp.org>
16128
16129         * gnulib-tool: Reorder some statements.
16130
16131 2006-08-28  Bruno Haible  <bruno@clisp.org>
16132
16133         * gnulib-tool: New option --makefile-name.
16134         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
16135         $makefile_name.
16136         (func_import): Write $makefile_name to the cache file, and read it from
16137         there unless explicitly specified. Use $makefile_name as file name
16138         instead of Makefile.am. Adjust the recommendations accordingly.
16139
16140 2006-08-28  Bruno Haible  <bruno@clisp.org>
16141
16142         * gnulib-tool (func_verify_module): Check against misapplying patch.
16143
16144 2006-08-28  Bruno Haible  <bruno@clisp.org>
16145
16146         * gnulib-tool (func_relativize, func_relconcat): New functions.
16147         Give an error if --local-dir is given with --update.
16148         Remove trailing slashes from $local_gnulib_dir.
16149         (func_import): Store the relativized $local_gnulib_dir in
16150         gnulib-cache.m4, and read it from there if not specified explicitly.
16151
16152 2006-08-28  Bruno Haible  <bruno@clisp.org>
16153
16154         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
16155         is the current directory. Respect also $local_gnulib_dir.
16156
16157 2006-08-28  Bruno Haible  <bruno@clisp.org>
16158             Simon Josefsson  <jas@extundo.com>
16159
16160         BeOS portability.
16161         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
16162
16163 2006-08-27  Jim Meyering  <jim@meyering.net>
16164
16165         * doc/visibility.texi: Remove duplicate word: "pointer".
16166
16167 2006-08-26  Bruno Haible  <bruno@clisp.org>
16168
16169         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
16170         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
16171         (Makefile.am): Create inttypes.h from inttypes_.h.
16172         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
16173
16174         * modules/imaxabs: New file.
16175
16176         * modules/imaxdiv: New file.
16177
16178 2006-08-26  Bruno Haible  <bruno@clisp.org>
16179
16180         * m4/inttypes.m4: New file.
16181         * m4/_inttypes_h.m4: Remove file.
16182         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
16183         PRI_MACROS_BROKEN.
16184         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
16185
16186         * m4/imaxabs.m4: New file.
16187
16188         * m4/imaxdiv.m4: New file.
16189
16190 2006-08-26  Bruno Haible  <bruno@clisp.org>
16191
16192         * lib/inttypes_.h: New file.
16193         * lib/inttypes.h: Remove file.
16194         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
16195
16196         * lib/imaxabs.c: New file.
16197
16198         * lib/imaxdiv.c: New file.
16199
16200 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16201
16202         New config-h module, so that "make" output needn't be cluttered
16203         by -DHAVE_CONFIG_H.
16204         * MODULES.html.sh (Support for building libraries and executables):
16205         Add config-h.
16206         * modules/config-h: New file.
16207         * gnulib-tool (nl, sed_transform_lib_file): New vars.
16208         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
16209         the config-h module is used.
16210
16211         New configmake module, so that "make" output needn't be cluttered
16212         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
16213         * MODULES.html.sh (Support for building libraries and executables):
16214         Add configmake.
16215         * modules/configmake: New file.
16216
16217 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
16218
16219         * m4/config-h.m4: New file.
16220
16221 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16222
16223         * config/srclist.txt: Add elisp-comp.
16224
16225 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16226
16227         * MODULES.html.sh (Support for building libraries and executables):
16228         Add elisp-comp.
16229         * build-aux/elisp-comp: New file.
16230         * modules/elisp-comp: New file.
16231
16232 2006-08-24  Bruno Haible  <bruno@clisp.org>
16233
16234         * gnulib-tool (func_create_testdir): Use non-default values of
16235         sourcebase and m4base.
16236
16237 2006-08-24  Bruno Haible  <bruno@clisp.org>
16238
16239         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
16240         HTML structure.
16241
16242 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16243
16244         * modules/openat (Depends-on): Add lchown.
16245
16246 2006-08-23  Bruno Haible  <bruno@clisp.org>
16247
16248         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
16249         of gl_LOCK_EARLY instead of gl_LOCK.
16250
16251 2006-08-23  Bruno Haible  <bruno@clisp.org>
16252
16253         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
16254         on OSF/1 to no.
16255         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
16256
16257 2006-08-23  Bruno Haible  <bruno@clisp.org>
16258
16259         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
16260         as unusable.
16261
16262         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
16263         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
16264         (gl_LOCK): New macro.
16265
16266 2006-08-22  Simon Josefsson  <jas@extundo.com>
16267
16268         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
16269         to md5 module.
16270
16271 2006-08-22  Simon Josefsson  <jas@extundo.com>
16272
16273         * MODULES.html.sh: Add "Support for maintaining and release
16274         projects".
16275
16276         * build-aux/gnupload: New file, from coreutils.
16277
16278 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16279
16280         Avoid the need for AC_LIBSOURCES in m4 macros.
16281         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
16282         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
16283         * modules/check-version (EXTRA_DIST): Add check-version.h.
16284         * modules/crc (EXTRA_DIST): Add crc.h.
16285         * modules/des (EXTRA_DIST): Add des.h.
16286         * modules/gc (EXTRA_DIST): Add gc.h.
16287         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
16288         * modules/getline (EXTRA_DIST): Add getline.h.
16289         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
16290         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
16291         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
16292         * modules/md2 (EXTRA_DIST): Add md2.h.
16293         * modules/md4 (EXTRA_DIST): Add md4.h.
16294         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
16295         * modules/read-file (EXTRA_DIST): Add read-file.h.
16296         * modules/readline (EXTRA_DIST): Add readline.h.
16297         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
16298         rijndael-api-fst.h.
16299
16300 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16301
16302         * m4/rijndael.m4 (gl_ARCFOUR):
16303         * m4/arctwo.m4 (gl_ARCTWO):
16304         * m4/check-version.m4 (gl_CHECK_VERSION):
16305         * m4/crc.m4 (gl_CRC):
16306         * m4/des.m4 (gl_DES):
16307         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
16308         * m4/gc.m4 (gl_GC):
16309         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
16310         * m4/getline.m4 (gl_FUNC_GETLINE):
16311         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
16312         * m4/hmac-md5.m4 (gl_HMAC_MD5):
16313         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
16314         * m4/md2.m4 (gl_MD2):
16315         * m4/md4.m4 (gl_MD4):
16316         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
16317         * m4/read-file.m4 (gl_FUNC_READ_FILE):
16318         * m4/readline.m4 (gl_FUNC_READLINE):
16319         * m4/rijndael.m4 (gl_RIJNDAEL):
16320         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
16321         to get the necessary .h files and whatnot.
16322
16323 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16324
16325         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
16326         gnulib rather than the other way around.
16327         * config/srclistvars.sh (COREUTILS): Remove.
16328
16329 2006-08-22  Jim Meyering  <jim@meyering.net>
16330
16331         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
16332
16333         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
16334
16335 2006-08-22  Eric Blake  <ebb9@byu.net>
16336
16337         * modules/regexprops-generic: New file.
16338         * MODULES.html.sh (Support for building documentation): List it.
16339
16340 2006-08-22  Eric Blake  <ebb9@byu.net>
16341
16342         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
16343         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
16344         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
16345         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
16346
16347 2006-08-22  Bruno Haible  <bruno@clisp.org>
16348
16349         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
16350         and lib_LTLIBRARIES like the other lib_* variables.
16351
16352 2006-08-22  Bruno Haible  <bruno@clisp.org>
16353
16354         * build-aux/x-to-1.in: New file, from GNU gettext.
16355
16356 2006-08-22  Bruno Haible  <bruno@clisp.org>
16357
16358         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
16359         <utmpx.h> exists.
16360
16361 2006-08-22  Bruno Haible  <bruno@clisp.org>
16362
16363         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
16364         <utmpx.h> exists.
16365
16366 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16367
16368         BeOS portability.
16369         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
16370         exist.
16371         Problem reported by Bruno Haible.
16372
16373 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16374
16375         Avoid the need for AC_LIBSOURCES in m4 macros.
16376         * modules/acl (EXTRA_DIST): Add acl.h.
16377         * modules/argmatch (Files): Add m4/argmatch.m4.
16378         (configure.ac): Add gl_ARGMATCH.
16379         (EXTRA_DIST): Renamed from lib_SOURCES, for
16380         consistency with the other modules.  Remove argmatch.c.
16381         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
16382         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
16383         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
16384         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
16385         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
16386         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
16387         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
16388         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
16389         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
16390         * modules/closeout (EXTRA_DIST): Add closeout.h.
16391         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
16392         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
16393         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
16394         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
16395         dirname.h; remove basename.c and stripslash.c.
16396         * modules/exclude (EXTRA_DIST): Add exclude.h.
16397         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
16398         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
16399         * modules/file-type (EXTRA_DIST): Add file-type.h.
16400         * modules/filemode (EXTRA_DIST): Add filemode.h.
16401         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
16402         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
16403         * modules/fpending (EXTRA_DIST): Add __fpending.h.
16404         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
16405         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
16406         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
16407         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
16408         * modules/getdate (EXTRA_DIST): Add getdate.c.
16409         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
16410         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
16411         * modules/getpass (EXTRA_DIST): Add getpass.h.
16412         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
16413         * modules/group-member (EXTRA_DIST): Add group-member.h.
16414         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
16415         * modules/hash (EXTRA_DIST): Add hash.h.
16416         * modules/human (EXTRA_DIST): Add human.h.
16417         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
16418         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
16419         * modules/lchown (EXTRA_DIST): Add lchown.h.
16420         * modules/long-options (EXTRA_DIST): Add long-options.h.
16421         * modules/lstat (EXTRA_DIST): Add lstat.h.
16422         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
16423         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
16424         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
16425         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
16426         * modules/memxor (EXTRA_DIST): Add memxor.h.
16427         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
16428         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
16429         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
16430         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
16431         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
16432         * modules/physmem (EXTRA_DIST): Add physmem.h.
16433         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
16434         * modules/posixver (EXTRA_DIST): Add posixver.h.
16435         * modules/quote (EXTRA_DIST): Add quote.h.
16436         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
16437         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
16438         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
16439         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
16440         regex_internal.h regexec.c.
16441         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
16442         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
16443         * modules/same (EXTRA_DIST): Add same.h.
16444         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
16445         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
16446         * modules/savedir (EXTRA_DIST): Add savedir.h.
16447         * modules/sha1 (EXTRA_DIST): Add sha1.h.
16448         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
16449         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
16450         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
16451         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
16452         * modules/strdup (EXTRA_DIST): Add strdup.h.
16453         * modules/strftime (EXTRA_DIST): Add strftime.h.
16454         * modules/strndup (EXTRA_DIST): Add strndup.h.
16455         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
16456         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
16457         * modules/time_r (EXTRA_DIST): Add time_r.h.
16458         * modules/timespec (EXTRA_DIST): Add timespec.h.
16459         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
16460         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
16461         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
16462         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
16463         * modules/userspec (EXTRA_DIST): Add userspec.h.
16464         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
16465         * modules/utimens (EXTRA_DIST): Add utimens.h.
16466         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
16467         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
16468         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
16469         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
16470         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
16471         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
16472         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
16473         * modules/yesno (EXTRA_DIST): Add yesno.h.
16474
16475 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16476
16477         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
16478
16479         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
16480         * m4/dev-ino.m4, same-inode.m4: Remove.
16481
16482         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
16483         * m4/acl.m4 (AC_FUNC_ACL):
16484         * m4/backupfile.m4 (gl_BACKUPFILE):
16485         * m4/c-strtod.m4 (gl_C99_STRTOLD):
16486         * m4/canon-host.m4 (gl_CANON_HOST):
16487         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
16488         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
16489         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
16490         * m4/cloexec.m4 (gl_CLOEXEC):
16491         * m4/close-stream.m4 (gl_CLOSE_STREAM):
16492         * m4/closeout.m4 (gl_CLOSEOUT):
16493         * m4/dirfd.m4 (gl_FUNC_DIRFD):
16494         * m4/dirname.m4 (gl_DIRNAME):
16495         * m4/exclude.m4 (gl_EXCLUDE):
16496         * m4/exitfail.m4 (gl_EXITFAIL):
16497         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
16498         * m4/file-type.m4 (gl_FILE_TYPE):
16499         * m4/filemode.m4 (gl_FILEMODE):
16500         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
16501         * m4/fpending.m4 (gl_FUNC_FPENDING):
16502         * m4/fprintftime.m4 (gl_FPRINTFTIME):
16503         * m4/fts.m4 (gl_FUNC_FTS):
16504         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
16505         * m4/getdate.m4 (gl_GETDATE):
16506         * m4/gethrxtime.m4 (gl_GETHRXTIME):
16507         * m4/getpagesize.m4 (gl_GETPAGESIZE):
16508         * m4/getpass.m4 (gl_FUNC_GETPASS):
16509         * m4/gettime.m4 (gl_GETTIME):
16510         * m4/getugroups.m4 (gl_GETUGROUPS):
16511         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
16512         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
16513         * m4/hard-locale.m4 (gl_HARD_LOCALE):
16514         * m4/hash.m4 (gl_HASH):
16515         * m4/idcache.m4 (gl_IDCACHE):
16516         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
16517         * m4/lchown.m4 (gl_FUNC_LCHOWN):
16518         * m4/long-options.m4 (gl_LONG_OPTIONS):
16519         * m4/lstat.m4 (gl_FUNC_LSTAT):
16520         * m4/md5.m4 (gl_MD5):
16521         * m4/memcasecmp.m4 (gl_MEMCASECMP):
16522         * m4/memcoll.m4 (gl_MEMCOLL):
16523         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
16524         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
16525         * m4/memxor.m4 (gl_MEMXOR):
16526         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
16527         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
16528         * m4/modechange.m4 (gl_MODECHANGE):
16529         * m4/mountlist.m4 (gl_MOUNTLIST):
16530         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
16531         * m4/openat.m4 (gl_FUNC_OPENAT):
16532         * m4/pathmax.m4 (gl_PATHMAX):
16533         * m4/physmem.m4 (gl_PHYSMEM):
16534         * m4/posixtm.m4 (gl_POSIXTM):
16535         * m4/posixver.m4 (gl_POSIXVER):
16536         * m4/quote.m4 (gl_QUOTE):
16537         * m4/quotearg.m4 (gl_QUOTEARG):
16538         * m4/readtokens.m4 (gl_READTOKENS):
16539         * m4/readutmp.m4 (gl_READUTMP):
16540         * m4/regex.m4 (gl_REGEX):
16541         * m4/safe-read.m4 (gl_SAFE_READ):
16542         * m4/safe-write.m4 (gl_SAFE_WRITE):
16543         * m4/same.m4 (gl_SAME):
16544         * m4/save-cwd.m4 (gl_SAVE_CWD):
16545         * m4/savedir.m4 (gl_SAVEDIR):
16546         * m4/settime.m4 (gl_SETTIME):
16547         * m4/sha1.m4 (gl_SHA1):
16548         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
16549         * m4/stat-macros.m4 (gl_STAT_MACROS):
16550         * m4/stat-time.m4 (gl_STAT_TIME):
16551         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
16552         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
16553         * m4/strdup.m4 (gl_FUNC_STRDUP):
16554         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
16555         * m4/strndup.m4 (gl_FUNC_STRNDUP):
16556         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
16557         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
16558         * m4/time_r.m4 (gl_TIME_R):
16559         * m4/timespec.m4 (gl_TIMESPEC):
16560         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
16561         * m4/unlinkdir.m4 (gl_UNLINKDIR):
16562         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
16563         * m4/userspec.m4 (gl_USERSPEC):
16564         * m4/utimecmp.m4 (gl_UTIMECMP):
16565         * m4/utimens.m4 (gl_UTIMENS):
16566         * m4/xalloc.m4 (gl_XALLOC):
16567         * m4/xgetcwd.m4 (gl_XGETCWD):
16568         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
16569         * m4/xreadlink.m4 (gl_XREADLINK):
16570         * m4/xstrtod.m4 (gl_XSTRTOD):
16571         * m4/yesno.m4 (gl_YESNO):
16572         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
16573         to get the necessary .h files and whatnot.
16574
16575 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
16576             Bruno Haible  <bruno@clisp.org>
16577
16578         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
16579         /bin/sh understanding of '!' conditional negation.
16580
16581 2006-08-21  Jim Meyering  <jim@meyering.net>
16582
16583         * modules/openat (Depends-on): Really alphabetize.
16584
16585         * modules/acl (Depends-on): Add error and quote.
16586
16587         * check-module (find_included_lib_files): Add at-func.c to the
16588         ok-to-include-more-than-once white list.
16589
16590         * modules/openat (Depends-on): Add lstat.  Alphabetize.
16591
16592 2006-08-21  Bruno Haible  <bruno@clisp.org>
16593
16594         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16595         Emit a pkgdata_DATA variable only if some snippets add contents to it.
16596         Reported by Martin Lambers <marlam@marlam.de>.
16597
16598 2006-08-21  Bruno Haible  <bruno@clisp.org>
16599
16600         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
16601         specify an installation location, don't emit a noinst_LIBRARIES or
16602         noinst_LTLIBRARIES assignment.
16603
16604 2006-08-21  Bruno Haible  <bruno@clisp.org>
16605
16606         BeOS portability.
16607         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
16608         BeOS has mbrtowc() but no <wctype.h>.
16609
16610 2006-08-21  Bruno Haible  <bruno@clisp.org>
16611
16612         BeOS portability.
16613         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
16614         exist.
16615
16616 2006-08-21  Bruno Haible  <bruno@clisp.org>
16617
16618         BeOS portability.
16619         * lib/mbchar.h: Include <wctype.h> only if it exists.
16620
16621 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16622
16623         Remove files that are no longer needed by their respective modules.
16624         * m4/obstack.m4: Remove.
16625         * m4/strerror_r.m4: Remove.
16626         * m4/uint32_t.m4: Remove.
16627         * m4/uintptr_t.m4: Remove.
16628         * m4/ullong_max.m4: Remove.
16629         * m4/xstrtoimax.m4: Remove.
16630         * m4/xstrtoumax.m4: Remove.
16631
16632         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
16633         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
16634         dependencies now capture this.
16635
16636         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
16637         Do not use AC_LIBSOURCES, since gnulib modules now do this.
16638         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
16639         * m4/human.m4 (gl_HUMAN): Likewise.
16640         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
16641         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
16642
16643         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
16644
16645         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
16646         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
16647         stdint.
16648         * m4/human.m4 (gl_HUMAN): Likewise.
16649         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
16650         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
16651         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
16652         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
16653         * m4/xstrtol (gl_XSTRTOL): Likewise.
16654
16655         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
16656         AC_TYPE_LONG_LONG_INT.
16657         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
16658         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
16659         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
16660         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
16661
16662         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
16663         on stdbool.
16664
16665         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
16666         (gl_PREREQ_XSTRTOUL): Remove.
16667
16668         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
16669
16670         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
16671         mode.
16672
16673 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16674
16675         Add and change modules to make it easier for coreutils to use
16676         gnulib-tool.
16677         * modules/backupfile (Files): Remove m4/d-ino.m4.
16678         (Depends-on): Add d-ino.
16679         * modules/cycle-check (Depends-on): Add stdint.
16680         (lib_SOURCES): Add cycle-check.h.
16681         * modules/d-ino: New module.
16682         * modules/d-type: New module.
16683         * modules/error (Files): Remove m4/strerror_r.m4.
16684         * modules/filemode (Files): Add m4/st_dm_mode.m4.
16685         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
16686         m4/inttypes_h.m4, m4/uintmax_t.m4.
16687         (Depends-on): Add stdint.
16688         (lib_SOURCES): Add fsusage.h.
16689         * modules/getcwd (Files): Remove d-ino.m4.
16690         (Depends-on): Add d-ino.
16691         * modules/getndelim2 (Depends-on): Add stdint.
16692         * modules/glob (Files): Remove m4/d-type.m4.
16693         (Depends-on): Add d-type.
16694         * modules/host-os: New module.
16695         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
16696         m4/inttypes_h.m4, m4/uintmax_t.m4.
16697         * Depends-on: Add stdint.
16698         (lib_SOURCES): Add human.h.
16699         * modules/inttostr (Files): Remove m4/intmax_t.m4,
16700         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
16701         m4/uintmax_t.m4, m4/ulonglong.m4.
16702         (Depends-on): Add stdint.
16703         (EXTRA_DIST): Add inttostr.h.
16704         * modules/lchmod: New module.
16705         * modules/link-follow: New module.
16706         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
16707         (Depends-on): Add lchmod.
16708         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
16709         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
16710         (Depends-on): Add stdint.
16711         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
16712         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
16713         (Depends-on): Add stdint.
16714         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
16715         * modules/perl: New module.
16716         * modules/regex (Depends-on): Add stdint.
16717         * modules/rmdir-errno: New module.
16718         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
16719         m4/intmax_t.m4.
16720         (Depends-on): Add stdint.
16721         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
16722         m4/uintmax_t.m4.
16723         (Depends-on): Add stdint.
16724         * modules/unlink-busy: New module.
16725         * modules/utimecmp (Depends-on): Add stdint.
16726         * modules/uptime: New module.
16727         * modules/winsz-ioctl: New module.
16728         * modules/winsz-termios: New module.
16729         * modules/xnanosleep (Depends-on): Add nanosleep.
16730         * modules/ullong_max: Remove.
16731         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
16732         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
16733         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
16734         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
16735         (Depends-on): Add inttypes.
16736         (lib_SOURCES): Add xstrtol.h.
16737         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
16738         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
16739         * MODULES.html.sh: Move 'assert' into the assert section.
16740         Move 'dummy' into the linking section.
16741         Remove ullong_max.
16742         Add section for compatibility checks for POSIX:2001 functions,
16743         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
16744         winsz-ioctl, and winsz-termios into it.
16745         Add lchmod.
16746         Add top-level Misc section and put host-os, perl, and uptime
16747         into it.
16748
16749 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16750
16751         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
16752         now assume the stdint module.  Do not include inttypes.h.
16753         * lib/fsusage.h: Likewise.
16754         * lib/getndelim2.c: Likewise.
16755         * lib/human.h: Likewise.
16756         * lib/inttostr.h: Likewise.
16757         * lib/obstack.c: Likewise.
16758         * lib/regex_internal.h: Likewise.
16759         * lib/tempname.c: Likewise.
16760         * lib/utimecmp.c: Likewise.
16761         * lib/xstrtol.h: Likewise.
16762
16763         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
16764
16765         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
16766         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
16767         * lib/xtime.h: Likewise.
16768
16769 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16770
16771         * modules/openat (Files): Add lib/fchmodat.c.
16772         Fixes problem reported by Jay Youngman.
16773
16774 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16775
16776         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
16777         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
16778
16779 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16780             Bruno Haible  <bruno@clisp.org>
16781
16782         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
16783         and is a script that invokes bison. Tighten the code. Add comments.
16784
16785 2006-08-18  Jim Meyering  <jim@meyering.net>
16786
16787         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
16788         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
16789         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
16790         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
16791
16792 2006-08-18  Bruno Haible  <bruno@clisp.org>
16793
16794         * modules/bison-i18n: New file.
16795         * MODULES.html.sh (Internationalization functions): Add it.
16796
16797 2006-08-18  Bruno Haible  <bruno@clisp.org>
16798
16799         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
16800         sys/statvfs.h. When getmntinfo was found, check its declaration and
16801         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
16802
16803 2006-08-18  Bruno Haible  <bruno@clisp.org>
16804
16805         * m4/bison-i18n.m4: New file, from bison.
16806
16807 2006-08-18  Bruno Haible  <bruno@clisp.org>
16808
16809         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
16810         (ME_DUMMY): Treat "kernfs" as a dummy.
16811         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
16812
16813 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16814
16815         Update from coreutils.
16816
16817         2006-08-15  Jim Meyering  <jim@meyering.net>
16818
16819         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
16820
16821         2006-01-17  Jim Meyering  <jim@meyering.net>
16822
16823         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
16824
16825         2006-01-11  Jim Meyering  <jim@meyering.net>
16826
16827         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
16828         Check for the lchmod function.
16829
16830 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16831
16832         Update from coreutils.
16833
16834         * lib/__fpending.h: Add copyright notice.
16835         * lib/fprintftime.h: Likewise.
16836         * lib/savedir.c: Use (C) in copyright notice.
16837         * lib/savedir.h: Likewise.
16838
16839         2006-08-15  Jim Meyering  <jim@meyering.net>
16840
16841         * lib/at-func.c: New file, with the logic of all emulated at-functions.
16842         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
16843         in support of the EXPECTED_ERRNO macro.
16844         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
16845         definitions.  Instead, define the appropriate symbols and include
16846         "at-func.c".
16847         * lib/mkdirat.c (mkdirat): Likewise.
16848         * lib/fchmodat.c (fchmodat): Likewise.
16849         (ENOSYS): Remove definition.
16850         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
16851         it.  Don't include "unistd--.h" -- it wasn't ever used.
16852
16853         2006-01-17  Jim Meyering  <jim@meyering.net>
16854
16855         Rewrite fts.c not to change the current working directory,
16856         by using openat, fstatat, fdopendir, etc..
16857
16858         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
16859         (HAVE_OPENAT_SUPPORT): Define.
16860         [_LIBC] (fchdir): Don't undef or define; no longer used.
16861         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
16862         Now, this `function' always succeeds, and consumes its file descriptor
16863         parameter -- so callers must not close such FDs.  Update callers.
16864         (diropen_fd, opendirat, cwd_advance_fd): New functions.
16865         (diropen): Add parameter, SP.  Adjust all callers.
16866         Implement using diropen_fd, rather than open.
16867         (fts_open): Initialize new member, fts_cwd_fd.
16868         Remove fts_rft-setting code.
16869         (fts_close): Close fts_cwd_fd, if necessary.
16870         (__opendir2): Define in terms of opendir or opendirat,
16871         depending on whether the FST_NOCHDIR flag is set.
16872         (fts_build): Since fts_safe_changedir consumes its FD, and since
16873         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
16874         and close the dup'd file descriptor upon failure.
16875         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
16876         (fts_safe_changedir): Tweak semantics to reflect that this function
16877         now calls cwd_advance_fd and hence consumes its FD argument.
16878         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
16879         [struct FTS] (fts_rft): Remove now-unused member.
16880         [struct FTS] (fts_cycle.state): Improve comment.
16881
16882         * lib/openat.c (openat_needs_fchdir): New function.
16883         * lib/openat.h (openat_needs_fchdir): Declare it.
16884
16885 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
16886
16887         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
16888         Problem and fix reported by Pádraig Brady in
16889         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
16890
16891 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16892
16893         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
16894
16895 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16896
16897         * lib/memcoll.c (memcoll): Optimize for the common case where the
16898         arguments are bytewise equal.
16899
16900 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16901
16902         * doc/regexprops-generic.texi: Add a copyright notice.
16903
16904 2006-08-15  Bruno Haible  <bruno@clisp.org>
16905
16906         * modules/tmpdir (License): Change to LGPL.
16907
16908 2006-08-15  Bruno Haible  <bruno@clisp.org>
16909
16910         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
16911         module.
16912
16913 2006-08-14  Simon Josefsson  <jas@extundo.com>
16914
16915         * config/srclist.txt: Add gnupload.
16916
16917 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16918
16919         Change copyright notice from LGPL 2 to GPL 2, since that's the
16920         standard form used in the gnulib repository.
16921         * tests/test-lock.c: Likewise.
16922         * tests/test-stdint.c: Likewise.
16923         * tests/test-tls.c: Likewise.
16924
16925         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
16926         prelude-manager.  User shorter URLs for GNU projects, without '?'.
16927         Add copyright notice.
16928
16929         * check-module: Add copyright notice.  Output a copyright
16930         notice if "--version" is specified.
16931         * modules/COPYING: New file.
16932         * tests/test-getaddrinfo.c: Add copyright notice.
16933         * tests/test-verify.c: Likewise.
16934
16935 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16936
16937         Change copyright notice from LGPL 2 to GPL 2, since that's the
16938         standard form used in the gnulib repository.
16939         * lib/lock.c: LGPL -> GPL.
16940         * lib/lock.h: Likewise.
16941         * lib/strnlen1.c: Likewise.
16942         * lib/strnlen1.h: Likewise.
16943         * lib/tls.c: Likewise.
16944         * lib/tls.h: Likewise.
16945         * lib/tmpdir.c: Likewise.
16946
16947         * lib/TODO: Remove; this belongs only in coreutils.
16948
16949 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16950
16951         Add copyright notices to long-enough files that lack them, since
16952         otherwise the files aren't clearly free.  Use the same notice that
16953         getdate.texi already uses.
16954         * doc/alloca-opt.texi: Add copyright notice.
16955         * doc/alloca.texi: Likewise.
16956         * doc/ctime.texi: Likewise.
16957         * doc/functions.texi: Likewise.
16958         * doc/gcd.texi: Likewise.
16959         * doc/gnulib-tool.texi: Likewise.
16960         * doc/inet_ntoa.texi: Likewise.
16961         * doc/visibility.texi: Likewise.
16962
16963         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
16964         * doc/quote.texi: Add copyright notice.
16965
16966         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
16967         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
16968         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
16969         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
16970         is now obsolete, and give a pointer to the Sun list.
16971         Add copyright notice.
16972
16973 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16974
16975         * config/srclistvars.sh: Add copyright notice.
16976
16977 2006-08-14  Eric Blake  <ebb9@byu.net>
16978
16979         Import the following change from libc:
16980
16981         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
16982
16983         Upstream bug 2997.
16984         * lib/misc/error.c: Add space between program name and message if file
16985         name is missing.
16986
16987 2006-08-12  Karl Berry  <karl@gnu.org>
16988
16989         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
16990         remove, these originate in gnulib now.
16991
16992 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16993
16994         * doc/Makefile (standards.info standards.html standards.dvi):
16995         Also depend on make-stds.texi.
16996
16997 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16998
16999         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
17000         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
17001
17002         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
17003         in wchar_t.  Problem reported by Eric Blake.
17004
17005         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
17006         LEN is smaller than SIZE.  Suggested by Bruno Haible.
17007         Also, help the compiler to keep LEN in a register.
17008
17009 2006-08-11  Eric Blake  <ebb9@byu.net>
17010
17011         * users.txt: Sort.  Add tar.
17012
17013 2006-08-11  Bruno Haible  <bruno@clisp.org>
17014
17015         * users.txt: New file.
17016
17017 2006-08-11  Bruno Haible  <bruno@clisp.org>
17018
17019         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
17020         before <wchar.h>. Needed for OSF/1 and BSD/OS.
17021
17022 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17023
17024         * modules/snprintf (Depends-on): Remove minmax.
17025         (Maintainer): Add self and Bruno.
17026
17027 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17028
17029         * lib/.cppi-disable: Add snprintf.h, socket_.h.
17030         * lib/snprintf.c: Include <errno.h> and <limits.h>.
17031         (EOVERFLOW): Define if the system does not.
17032         Do not include "minmax.h"; it wasn't used.
17033         (snprintf): Don't assume size_t promotes to an unsigned type.
17034         Fix bug when generated string was too long for the buffer: the
17035         buffer's contents are supposed to be the initial prefix of the
17036         output.  Don't assume vasnprintf returns EOVERFLOW if the size
17037         exceeds INT_MAX; do the check ourselves.
17038
17039         Import the following changes from libc:
17040
17041         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
17042
17043         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
17044         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
17045         set wc to the byte which couldn't be converted.
17046         (re_string_reconstruct): Don't clear valid_raw_len before calling
17047         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
17048         tip_context using re_string_context_at.
17049
17050         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
17051
17052         * lib/posix/regex.h: g++ still cannot handled [restrict].
17053
17054         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
17055
17056         * lib/posix/regex.h: Remove special handling for VMS.
17057
17058 2006-08-10  Jim Meyering  <jim@meyering.net>
17059
17060         * modules/same-inode: New module.
17061         * modules/dev-ino: New module.
17062         * modules/cycle-check: Depend on these modules, rather than simply
17063         including their .h files.
17064         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
17065         required via m4/cycle-check.m4.
17066         * modules/same: Depend on new same-inode module, rather than
17067         including same-inode.h.
17068         * modules/chdir-safer: New file.
17069
17070         * modules/chown (Depends-on): Add stat-macros.
17071
17072 2006-08-10  Jim Meyering  <jim@meyering.net>
17073
17074         * m4/cycle-check.m4: New file.
17075         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
17076         * m4/dev-ino.m4, m4/same-inode.m4: New files.
17077
17078 2006-08-10  Eric Blake  <ebb9@byu.net>
17079
17080         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
17081         in from original proposal.
17082
17083 2006-08-10  Eric Blake  <ebb9@byu.net>
17084         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17085
17086         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
17087         namespace.
17088
17089 2006-08-10  Bruno Haible  <bruno@clisp.org>
17090
17091         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
17092         as well.
17093
17094 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17095
17096         Sync from coreutils.
17097
17098         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
17099
17100         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
17101         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
17102
17103 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17104
17105         * modules/restrict: Remove; no longer needed now that we assume
17106         Autoconf 2.59 or later.
17107         * MODULES.html.sh: Remove 'restrict'.
17108         * modules/argp (Depends-on): Remove 'restrict'.
17109         * modules/base64 (Depends-on): Likewise.
17110         * modules/gc (Depends-on): Likewise.
17111         * modules/getaddrinfo (Depends-on): Likewise.
17112         * modules/glob (Depends-on): Likewise.
17113         * modules/inet_ntop (Depends-on): Likewise.
17114         * modules/inet_pton (Depends-on): Likewise.
17115         * modules/memxor (Depends-on): Likewise.
17116         * modules/regex (Depends-on): Likewise.
17117         * modules/strtok_r (Depends-on): Likewise.
17118         * modules/time_r (Depends-on): Likewise.
17119
17120 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17121
17122         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
17123         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
17124         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
17125         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
17126         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
17127         * m4/memxor.m4 (gl_MEMXOR): Likewise.
17128         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
17129         gl_C_RESTRICT replaced by AC_C_RESTRICT.
17130
17131         Merge from coreutils.
17132         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
17133         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
17134         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
17135         * m4/time_r.m4 (gl_TIME_R): Likewise.
17136
17137 2006-08-09  Karl Berry  <karl@gnu.org>
17138
17139         * config/srclist.txt: no more gettext-tools, per Bruno.
17140
17141 2006-08-08  Eric Blake  <ebb9@byu.net>
17142
17143         * modules/verror: New module.
17144         * MODULES.html.sh: Document it.
17145
17146 2006-08-08  Eric Blake  <ebb9@byu.net>
17147
17148         * lib/verror.h, lib/verror.c: New files.
17149
17150 2006-08-08  Eric Blake  <ebb9@byu.net>
17151
17152         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
17153         verror_at_line output complies with GNU Coding Standards even when
17154         file is NULL.
17155
17156 2006-08-07  Bruno Haible  <bruno@clisp.org>
17157
17158         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
17159         versions of AIX.
17160         Reported by Ralf Wildenhues.
17161
17162 2006-08-07  Bruno Haible  <bruno@clisp.org>
17163
17164         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
17165         in an AC_DEFUN. Needed so that the autoconf snippets can use
17166         AC_REQUIRE.
17167
17168 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17169
17170         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17171         Initialize pkgdata_DATA.
17172         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
17173         overriding it.
17174
17175 2006-08-06  Eric Blake  <ebb9@byu.net>
17176
17177         * lib/error.h: Fold in some upstream changes from glibc.
17178         * lib/error.c: Likewise.
17179
17180 2006-08-04  Bruno Haible  <bruno@clisp.org>
17181
17182         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17183         Make the mostlyclean-local rule depend on mostlyclean-generic.
17184         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
17185
17186 2006-07-31  Bruno Haible  <bruno@clisp.org>
17187
17188         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
17189         <stdlib.h>, <string.h>.
17190
17191 2006-07-30  Bruno Haible  <bruno@clisp.org>
17192
17193         * modules/readlink (License): Change to LGPL.
17194
17195 2006-07-30  Bruno Haible  <bruno@clisp.org>
17196
17197         * modules/javaversion (Makefile.am): Distribute javaversion.java and
17198         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
17199         set PKGDATADIR to point to it.
17200
17201 2006-07-30  Bruno Haible  <bruno@clisp.org>
17202
17203         * modules/csharpexec (configure.ac): Comment out macro invocation.
17204         * modules/javaexec (configure.ac): Likewise.
17205         * modules/javacomp-script (configure.ac): Likewise.
17206
17207         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
17208
17209 2006-07-30  Bruno Haible  <bruno@clisp.org>
17210
17211         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
17212         linked-list.
17213
17214 2006-07-30  Bruno Haible  <bruno@clisp.org>
17215
17216         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
17217
17218 2006-07-30  Bruno Haible  <bruno@clisp.org>
17219
17220         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17221         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
17222         get removed.
17223
17224 2006-07-29  Bruno Haible  <bruno@clisp.org>
17225
17226         Make it possible for gnulib-tool to work with locally modified or
17227         augmented gnulib repositories.
17228         * gnulib-tool (func_usage): Document --local-dir option.
17229         (local_gnulib_dir): New variable.
17230         Handle --local-dir option.
17231         (func_lookup_file): New function.
17232         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
17233         (func_get_description, func_get_filelist, func_get_description,
17234         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
17235         func_get_automake_snippet, func_get_include_directive,
17236         func_get_license, func_get_maintainer): Use func_lookup_file.
17237         (func_import, func_create_testdir): Use func_lookup_file.
17238
17239 2006-07-29  Bruno Haible  <bruno@clisp.org>
17240
17241         * modules/setenv (Depends-on): Add unistd.
17242
17243 2006-07-29  Bruno Haible  <bruno@clisp.org>
17244
17245         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
17246
17247 2006-07-29  Bruno Haible  <bruno@clisp.org>
17248
17249         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
17250
17251 2006-07-29  Bruno Haible  <bruno@clisp.org>
17252
17253         * gnulib-tool (import, update): If there is no Makefile.am, look at
17254         aclocal.m4, instead of bailing out.
17255
17256 2006-07-29  Bruno Haible  <bruno@clisp.org>
17257
17258         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
17259         Categorize the options by when they are useful.
17260
17261 2006-07-29  Bruno Haible  <bruno@clisp.org>
17262
17263         * gnulib-tool (func_usage): Document option --no-libtool.
17264         Handle option --no-libtool.
17265         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
17266         for changed semantics of $libtool variable.
17267         (func_import): Likewise. If libtool is not used, show this through
17268         an option --no-libtool.
17269         (func_create_testdir): Update.
17270
17271 2006-07-29  Bruno Haible  <bruno@clisp.org>
17272
17273         * gnulib-tool (func_import): Extend error message about missing
17274         --doc-base.
17275
17276 2006-07-29  Bruno Haible  <bruno@clisp.org>
17277
17278         * gnulib-tool (func_import): Don't create the $docbase directory if
17279         there is no file to store there.
17280
17281 2006-07-29  Bruno Haible  <bruno@clisp.org>
17282
17283         * gnulib-tool (autoconf_minversion): If a --dir option is given and
17284         relevant, look for configure.ac there, not in the current directory.
17285         Also use a simple search for AC_PREREQ, not "autoconf --trace".
17286
17287 2006-07-29  Bruno Haible  <bruno@clisp.org>
17288
17289         * gnulib-tool (SORT): New variable.
17290         (func_usage): Undocument --assume-autoconf option.
17291         Remove --assume-autoconf option handling.
17292         (autoconf_minversion): Determine from the contents of configure.ac.
17293         (func_import): Remove autoconf_minversion handling.
17294         Suggested by Eric Blake.
17295
17296 2006-07-29  Bruno Haible  <bruno@clisp.org>
17297
17298         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
17299
17300 2006-07-29  Bruno Haible  <bruno@clisp.org>
17301
17302         * config/srclist.txt (*setenv.[ch]): Remove rules.
17303
17304 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17305
17306         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
17307
17308 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17309
17310         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
17311         arpa/inet.h.
17312
17313 2006-07-28  Simon Josefsson  <jas@extundo.com>
17314
17315         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
17316         * modules/inet_pton (Depends-on): Likewise.
17317
17318 2006-07-28  Simon Josefsson  <jas@extundo.com>
17319
17320         * m4/netinet_in_h.m4: New file.
17321
17322 2006-07-28  Simon Josefsson  <jas@extundo.com>
17323
17324         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
17325         #include's.
17326
17327 2006-07-28  Simon Josefsson  <jas@extundo.com>
17328
17329         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
17330         #include's.
17331
17332 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
17333
17334         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
17335         setgid on directories only if they set these bits.
17336         * lib/modechange.h: Remove obsolete comment about masks.
17337
17338 2006-07-28  Eric Blake  <ebb9@byu.net>
17339
17340         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
17341         macro expansion.
17342
17343 2006-07-28  Bruno Haible  <bruno@clisp.org>
17344
17345         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
17346
17347 2006-07-28  Bruno Haible  <bruno@clisp.org>
17348
17349         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
17350
17351 2006-07-28  Bruno Haible  <bruno@clisp.org>
17352
17353         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17354         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17355         Define fallbacks.
17356         Avoids link error on FreeBSD 4.x.
17357         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17358
17359         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
17360         encoding.
17361         * lib/mbswidth.c (iswcntrl): Likewise.
17362
17363 2006-07-27  Bruno Haible  <bruno@clisp.org>
17364
17365         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
17366         test.
17367
17368 2006-07-27  Bruno Haible  <bruno@clisp.org>
17369
17370         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
17371         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
17372         defined.
17373
17374 2006-07-26  Eric Blake  <ebb9@byu.net>
17375
17376         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
17377
17378 2006-07-26  Eric Blake  <ebb9@byu.net>
17379
17380         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
17381         like mingw that lack mkstemp.
17382         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
17383         avoid compilation warning on mingw.
17384
17385 2006-07-26  Bruno Haible  <bruno@clisp.org>
17386
17387         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
17388         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
17389         INT_FAST*_MIN, INTPTR_MIN.
17390
17391 2006-07-25  Bruno Haible  <bruno@clisp.org>
17392
17393         * modules/version-etc (Depends-on): Add stdarg.
17394
17395 2006-07-25  Bruno Haible  <bruno@clisp.org>
17396
17397         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
17398         complex commands.
17399
17400 2006-07-25  Bruno Haible  <bruno@clisp.org>
17401
17402         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
17403         defined in <stdarg.h> or config.h.
17404
17405 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17406
17407         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
17408         (gl_STDIO_SAFER): Remove.
17409
17410 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
17411
17412         * MODULES.html.sh (File stream based Input/Output):
17413         Add fopen-safer, tmpfile-safer; remove stdio-safer.
17414         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
17415         * modules/fopen-safer, modules/tmpfile-safer: New files.
17416         * modules/stdio-safer: Remove.
17417
17418 2006-07-24  Bruno Haible  <bruno@clisp.org>
17419
17420         * modules/tmpdir: New file.
17421         * MODULES.html.sh (File system functions): Add it.
17422
17423 2006-07-24  Bruno Haible  <bruno@clisp.org>
17424
17425         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
17426         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
17427
17428 2006-07-24  Bruno Haible  <bruno@clisp.org>
17429
17430         * modules/clean-temp: New file.
17431
17432 2006-07-24  Bruno Haible  <bruno@clisp.org>
17433
17434         * m4/tmpdir.m4: New file, from GNU gettext.
17435
17436 2006-07-24  Bruno Haible  <bruno@clisp.org>
17437
17438         * lib/tmpdir.h: New file, from GNU gettext.
17439         * lib/tmpdir.c: New file, from GNU gettext.
17440
17441 2006-07-24  Bruno Haible  <bruno@clisp.org>
17442
17443         * lib/clean-temp.h: New file, from GNU gettext.
17444         * lib/clean-temp.c: New file, from GNU gettext.
17445
17446 2006-07-23  Eric Blake  <ebb9@byu.net>
17447
17448         * modules/stdio-safer (Files): Add tmpfile-safer.c.
17449         (Depends-on): Add binary-io.
17450
17451 2006-07-23  Eric Blake  <ebb9@byu.net>
17452
17453         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
17454
17455 2006-07-23  Eric Blake  <ebb9@byu.net>
17456
17457         * lib/tmpfile-safer.c: New file.
17458         * lib/stdio-safer.h (fopen_safer): Add prototype.
17459         * lib/stdio--.h (tmpfile): Make safer.
17460
17461 2006-07-23  Bruno Haible  <bruno@clisp.org>
17462
17463         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
17464         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
17465         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
17466         gl_linked_remove_at): Use it.
17467
17468 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17469         and Simon Josefsson <jas@extundo.com>
17470
17471         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
17472
17473         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
17474
17475 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17476
17477         * modules/close-stream: New file.
17478         * modules/closeout (Description): Make it clear that it exits
17479         with a diagnostic on error.
17480         (Depends-on): Add close-stream.  Remove fpending, stdbool.
17481         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
17482
17483 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17484
17485         * m4/close-stream.m4: New file.
17486
17487 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
17488
17489         * lib/close-stream.c, lib/close-stream.h: New files.
17490
17491 2006-07-22  Bruno Haible  <bruno@clisp.org>
17492
17493         Merge from GNU gettext 0.15.
17494
17495         2006-05-01  Bruno Haible  <bruno@clisp.org>
17496
17497                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
17498
17499         2006-07-22  Bruno Haible  <bruno@clisp.org>
17500
17501                 * modules/javaversion: New file.
17502                 * MODULES.html.sh (Java): Add javaversion.
17503
17504         2006-03-12  Bruno Haible  <bruno@clisp.org>
17505
17506                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
17507
17508         2005-12-04  Bruno Haible  <bruno@clisp.org>
17509
17510                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
17511                 (untested).
17512
17513         2006-06-21  Bruno Haible  <bruno@clisp.org>
17514
17515                 Avoid warnings from recent versions of mcs.
17516                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
17517                 -o, -L, -r any more. Use options documented since mcs-1.0
17518                 instead. Similarly for -g.
17519
17520         2005-12-04  Bruno Haible  <bruno@clisp.org>
17521
17522                 * build-aux/csharpcomp.sh.in: Suffix for resources is
17523                 .resources, not .resource.
17524
17525         2005-07-09  Bruno Haible  <bruno@clisp.org>
17526
17527                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
17528                 add a .dll suffix.
17529                 Reported by Mark Junker <mjscod@gmx.de>.
17530
17531         2006-07-22  Bruno Haible  <bruno@clisp.org>
17532
17533                 * modules/gettext: Upgrade to gettext-0.15.
17534                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
17535                 m4/visibility.m4.
17536                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
17537
17538 2006-07-22  Bruno Haible  <bruno@clisp.org>
17539
17540         Merge from GNU gettext 0.15.
17541
17542         2006-03-25  Bruno Haible  <bruno@clisp.org>
17543
17544                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
17545
17546         2006-07-21  Bruno Haible  <bruno@clisp.org>
17547
17548                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
17549                 "1.1".
17550
17551         2006-05-09  Bruno Haible  <bruno@clisp.org>
17552
17553                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
17554                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
17555                 for the conftestver execution.
17556
17557         2006-05-01  Bruno Haible  <bruno@clisp.org>
17558
17559                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
17560                 optional target-version argument. Verify that the compiler
17561                 groks source of the specified source-version, or add -source
17562                 option as necessary. Verify that the compiler produces
17563                 bytecode in the specified target-version, or add -target and
17564                 -source options as necessary. Make the result of the test
17565                 available as variable CONF_JAVAC. Also log error output in
17566                 config.log.
17567
17568         2006-03-11  Bruno Haible  <bruno@clisp.org>
17569
17570                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
17571
17572         2006-05-09  Bruno Haible  <bruno@clisp.org>
17573
17574                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
17575                 CLASSPATH_SEPARATOR to a semicolon.
17576
17577         2006-03-12  Bruno Haible  <bruno@clisp.org>
17578
17579                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
17580                 available as variable CONF_JAVA, for subsequent autoconf
17581                 tests. Also log error output in config.log.
17582
17583         2006-07-19  Bruno Haible  <bruno@clisp.org>
17584
17585                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
17586                 that getline works on glibc2 systems. Needed to avoid trouble
17587                 in relocatable.c.
17588                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
17589
17590         2005-12-04  Bruno Haible  <bruno@clisp.org>
17591
17592                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
17593                 launcher (untested).
17594
17595         2005-12-04  Bruno Haible  <bruno@clisp.org>
17596
17597                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
17598
17599         2006-07-22  Bruno Haible  <bruno@clisp.org>
17600
17601                 * gettext.m4: Update from GNU gettext-0.15.
17602                 * nls.m4: Likewise.
17603                 * po.m4: Likewise.
17604                 * inttypes-pri.m4: Likewise.
17605                 * inttypes-h.m4: Renamed from inttypes.m4.
17606                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
17607
17608 2006-07-22  Bruno Haible  <bruno@clisp.org>
17609
17610         Merge from GNU gettext 0.15.
17611
17612         2005-07-05  Bruno Haible  <bruno@clisp.org>
17613
17614                 * printf-args.c (printf_fetchargs): Work around broken
17615                 definition of wint_t on mingw.
17616
17617         2005-02-12  Bruno Haible  <bruno@clisp.org>
17618
17619                 * xallocsa.h: Add extern "C" for C++.
17620
17621         2006-05-17  Bruno Haible  <bruno@clisp.org>
17622
17623                 Cygwin portability.
17624                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
17625
17626         2006-04-30  Bruno Haible  <bruno@clisp.org>
17627
17628                 * progreloc.c: Include <mach-o/dyld.h> if available.
17629                 (find_executable): Use _NSGetExecutablePath when possible.
17630
17631         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
17632
17633                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
17634                 function.
17635
17636         2005-12-29  Bruno Haible  <bruno@clisp.org>
17637
17638                 * progreloc.c (set_program_name_and_installdir): Fix
17639                 compilation error.
17640
17641         2005-12-04  Bruno Haible  <bruno@clisp.org>
17642
17643                 Cygwin portability.
17644                 * progreloc.c: Include <windows.h> also on Cygwin.
17645                 (find_executable): Add support for Cygwin.
17646                 (set_program_name_and_installdir): Handle also platforms with
17647                 nonempty EXEEXT.
17648
17649         2006-07-11  Bruno Haible  <bruno@clisp.org>
17650
17651                 * javacomp.c: Fix a comment.
17652                 Reported by Jim Meyering.
17653
17654         2006-04-30  Bruno Haible  <bruno@clisp.org>
17655
17656                 * javacomp.h (compile_java_class): Add source_version,
17657                 target_version arguments.
17658                 * javacomp.c: Rewritten to choose only a compiler that
17659                 respects the specified source_version and target_version.
17660
17661         2006-06-27  Bruno Haible  <bruno@clisp.org>
17662
17663                 Assume correct S_ISDIR macro.
17664                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
17665
17666         2006-07-22  Bruno Haible  <bruno@clisp.org>
17667
17668                 * javaversion.h: New file, from GNU gettext.
17669                 * javaversion.c: New file, from GNU gettext.
17670                 * javaversion.java: New file, from GNU gettext.
17671                 * javaversion.class: New file, from GNU gettext.
17672
17673         2006-05-17  Bruno Haible  <bruno@clisp.org>
17674
17675                 Cygwin portability.
17676                 * javaexec.c (execute_java_class): Test for jview program
17677                 also on Cygwin.
17678
17679         2006-04-09  Bruno Haible  <bruno@clisp.org>
17680
17681                 * fatal-signal.c: Don't include string.h.
17682                 (at_fatal_signal): Use a copying loop instead of memcpy.
17683
17684         2005-12-04  Bruno Haible  <bruno@clisp.org>
17685
17686                 * csharpexec.c: Add support for 'clix' launcher (untested).
17687                 (execute_csharp_using_sscli): New function.
17688                 (execute_csharp_program): Call it.
17689
17690         2006-06-21  Bruno Haible  <bruno@clisp.org>
17691
17692                 Avoid warnings from recent versions of mcs.
17693                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
17694                 -o, -L, -r any more. Use options documented since mcs-1.0
17695                 instead. Similarly for -g.
17696
17697         2005-07-09  Bruno Haible  <bruno@clisp.org>
17698
17699                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
17700                 add a .dll suffix.
17701                 Reported by Mark Junker <mjscod@gmx.de>.
17702
17703         2006-06-17  Bruno Haible  <bruno@clisp.org>
17704
17705                 * config.charset: Update for NetBSD 3.0.
17706
17707         2006-05-17  Bruno Haible  <bruno@clisp.org>
17708
17709                 Cygwin portability.
17710                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
17711
17712         2006-05-16  Bruno Haible  <bruno@clisp.org>
17713
17714                 * localcharset.c [CYGWIN]: Include <windows.h>.
17715                 (get_charset_aliases): For Cygwin, return the same CPxxx
17716                 aliases list as under WIN32.
17717                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
17718                 the environment variables. Fall back to GetACP().
17719
17720         2006-04-05  Bruno Haible  <bruno@clisp.org>
17721
17722                 * config.charset: Update Juan Manuel Guerrero's address.
17723
17724         2005-02-12  Bruno Haible  <bruno@clisp.org>
17725
17726                 * allocsa.h: Add extern "C" for C++.
17727
17728         2005-02-10  Bruno Haible  <bruno@clisp.org>
17729
17730                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
17731                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
17732
17733         2006-07-22  Bruno Haible  <bruno@clisp.org>
17734
17735                 * gettext.h: Update to GNU gettext-0.15.
17736
17737 2006-07-22  Bruno Haible  <bruno@clisp.org>
17738
17739         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
17740         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
17741         lib-prefix.m4, longdouble.m4, ssize_t.m4.
17742
17743 2006-07-21  Eric Blake  <ebb9@byu.net>
17744
17745         * modules/stdlib-safer: New file.
17746         * MODULES.html.sh (File stream based Input/Output): Add
17747         stdlib-safer.
17748
17749 2006-07-21  Eric Blake  <ebb9@byu.net>
17750
17751         * lib/stdlib-safer.h: New file from coreutils, required by
17752         stdlib--.h.
17753
17754 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
17755
17756         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
17757
17758 2006-07-20  Bruno Haible  <bruno@clisp.org>
17759
17760         * gnulib-tool: Recognize new option --assume-autoconf.
17761         (autoconf_minversion): New variable.
17762         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
17763
17764 2006-07-20  Bruno Haible  <bruno@clisp.org>
17765
17766         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
17767
17768 2006-07-19  Derek R. Price  <derek@ximbiot.com>
17769
17770         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
17771         Reindent and repaginate.
17772
17773 2006-07-19  Derek Price  <derek@ximbiot.com>
17774
17775         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
17776         Correct grammar.
17777
17778 2006-07-17  Bruno Haible  <bruno@clisp.org>
17779
17780         * modules/list: New file.
17781         * modules/array-list: New file.
17782         * modules/carray-list, modules/carray-list-tests: New files.
17783         * modules/linked-list, modules/linked-list-tests: New files.
17784         * modules/avltree-list, modules/avltree-list-tests: New files.
17785         * modules/rbtree-list, modules/rbtree-list-tests: New files.
17786         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
17787         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
17788         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
17789         * modules/oset: New file.
17790         * modules/array-oset: New file.
17791         * modules/avltree-oset, modules/avltree-oset-tests: New files.
17792         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
17793         * tests/test-carray_list.c: New file.
17794         * tests/test-linked_list.c: New file.
17795         * tests/test-avltree_list.c: New file.
17796         * tests/test-rbtree_list.c: New file.
17797         * tests/test-linkedhash_list.c: New file.
17798         * tests/test-avltreehash_list.c: New file.
17799         * tests/test-rbtreehash_list.c: New file.
17800         * tests/test-avltree_oset.c: New file.
17801         * tests/test-rbtree_oset.c: New file.
17802         * MODULES.html.sh (Container data structures): New section.
17803
17804 2006-07-17  Bruno Haible  <bruno@clisp.org>
17805
17806         * m4/gl_list.m4: New file.
17807
17808 2006-07-17  Bruno Haible  <bruno@clisp.org>
17809
17810         * lib/gl_list.h: New file.
17811         * lib/gl_list.c: New file.
17812         * lib/gl_array_list.h: New file.
17813         * lib/gl_array_list.c: New file.
17814         * lib/gl_carray_list.h: New file.
17815         * lib/gl_carray_list.c: New file.
17816         * lib/gl_linked_list.h: New file.
17817         * lib/gl_linked_list.c: New file.
17818         * lib/gl_anylinked_list1.h: New file.
17819         * lib/gl_anylinked_list2.h: New file.
17820         * lib/gl_avltree_list.h: New file.
17821         * lib/gl_avltree_list.c: New file.
17822         * lib/gl_anyavltree_list1.h: New file.
17823         * lib/gl_anyavltree_list2.h: New file.
17824         * lib/gl_rbtree_list.h: New file.
17825         * lib/gl_rbtree_list.c: New file.
17826         * lib/gl_anyrbtree_list1.h: New file.
17827         * lib/gl_anyrbtree_list2.h: New file.
17828         * lib/gl_anytree_list1.h: New file.
17829         * lib/gl_anytree_list2.h: New file.
17830         * lib/gl_linkedhash_list.h: New file.
17831         * lib/gl_linkedhash_list.c: New file.
17832         * lib/gl_anyhash_list1.h: New file.
17833         * lib/gl_anyhash_list2.h: New file.
17834         * lib/gl_avltreehash_list.h: New file.
17835         * lib/gl_avltreehash_list.c: New file.
17836         * lib/gl_rbtreehash_list.h: New file.
17837         * lib/gl_rbtreehash_list.c: New file.
17838         * lib/gl_anytreehash_list1.h: New file.
17839         * lib/gl_anytreehash_list2.h: New file.
17840
17841         * lib/gl_oset.h: New file.
17842         * lib/gl_oset.c: New file.
17843         * lib/gl_array_oset.h: New file.
17844         * lib/gl_array_oset.c: New file.
17845         * lib/gl_avltree_oset.h: New file.
17846         * lib/gl_avltree_oset.c: New file.
17847         * lib/gl_rbtree_oset.h: New file.
17848         * lib/gl_rbtree_oset.c: New file.
17849         * lib/gl_anytree_oset.h: New file.
17850
17851 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17852
17853         * m4/mkancesdirs.m4: New file.
17854         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
17855         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
17856         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
17857         it.
17858
17859 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17860
17861         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
17862         * lib/mkancesdirs.h: New files.
17863         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
17864         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
17865         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
17866         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
17867         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
17868         callers changed.  Revamp internals significantly, by not
17869         attempting to create directories that are temporarily more
17870         permissive than the final results.  Do not attempt to use
17871         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
17872         This removes some race conditions, fixes some bugs, and simplifies
17873         things.  Use new dirchownmod function to do owner and mode changes.
17874         * lib/mkdir-p.h: Likewise.
17875         * lib/modechange.c (octal_to_mode): New function.
17876         (struct mode_change): New member mentioned.
17877         (make_node_op_equals): New arg mentioned.  All callers changed.
17878         (mode_compile): Keep track of which mode bits the user has explicitly
17879         mentioned.
17880         (mode_adjust): New arg DIR, so that we implement the X op correctly.
17881         New arg PMODE_BITS, to keep track of which mode bits the user
17882         mentioned; it treats S_ISUID and S_ISGID speciall.
17883         All callers changed.
17884         * lib/modechange.h: Likewise.
17885
17886 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
17887
17888         * MODULES.html.sh: Add mkancestors.
17889         * modules/mkancesdirs: New module.
17890         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
17891         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
17892         The chdir-safer and afs files are now orphans; I'll remove them
17893         unless someone speaks up.
17894         Add lib/dirchownmod.c, lib/dirchownmod.h.
17895         (Depends-on): Remove alloca, chown, save-cwd, dirname.
17896         Add lchown, mkancesdirs.
17897         (Maintainer): Add self.
17898
17899 2006-07-15  Karl Berry  <karl@gnu.org>
17900
17901         * gnulib-tool: help message wording/arrangement.
17902
17903 2006-07-14  Simon Josefsson  <jas@extundo.com>
17904
17905         * doc/gnulib.texi (Libtool and Windows): New section.
17906
17907 2006-07-12  Simon Josefsson  <jas@extundo.com>
17908
17909         * modules/gendocs (License): Fix license, approved by Karl.
17910
17911 2006-07-12  Eric Blake  <ebb9@byu.net>
17912
17913         * MODULES.html.sh: Add gendocs.
17914
17915 2006-07-11  Eric Blake  <ebb9@byu.net>
17916
17917         * modules/fdl: New module, to install doc/fdl.texi.
17918         * MODULES.html.sh: Add new section for documentation modules.
17919         * gnulib-tool: Avoid space-tab.
17920         (--doc-base): New option, to manage files from doc.
17921
17922 2006-07-11  Eric Blake  <ebb9@byu.net>
17923
17924         * m4/absolute-header.m4: Fix comments to match recent change.
17925
17926 2006-07-11  Eric Blake  <ebb9@byu.net>
17927
17928         * gnulib-tool: List --doc-base before --tests-base.
17929
17930 2006-07-11  Derek R. Price  <derek@ximbiot.com>
17931
17932         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
17933
17934 2006-07-11  Bruno Haible  <bruno@clisp.org>
17935
17936         * README: Mention where to put documentation.
17937
17938 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17939
17940         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
17941
17942 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
17943
17944         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
17945         to stdint.m4.
17946
17947 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
17948
17949         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
17950         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
17951         "no/such/file/stdint.h" when there is no such file, so that
17952         the resulting C code can be parsed by dodgy compilers.
17953         Problems reported by Bob Proulx.
17954
17955 2006-07-10  Derek R. Price  <derek@ximbiot.com>
17956
17957         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
17958         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
17959         macros into the GNU _D_EXACT_NAMLEN.
17960         * lib/savedir.c:  Likewise.
17961         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
17962
17963 2006-07-10  Derek R. Price  <derek@ximbiot.com>
17964         and Paul Eggert  <eggert@cs.ucla.edu>
17965
17966         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
17967         * m4/savedir.m4:
17968         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
17969         macros into the GNU _D_EXACT_NAMLEN.
17970
17971 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17972
17973         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
17974         around the absolute name, to work around a problem with the HP-UX
17975         11.23 native C compiler, reported by Bob Proulx.
17976
17977 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17978
17979         * doc/maintain.texi, make-stds.texi: Sync from
17980         <http://savannah.gnu.org/projects/gnustandards>.
17981
17982 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17983
17984         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
17985
17986 2006-07-09  Jim Meyering  <jim@meyering.net>
17987
17988         * m4/glob.m4: Remove a doubled word in a comment.
17989
17990 2006-07-09  Jim Meyering  <jim@meyering.net>
17991
17992         * lib/argp-pv.c: Remove a doubled word in a comment.
17993         * lib/check-version.c (check_version): Likewise.
17994         * lib/javacomp.c (compile_java_class): Likewise.
17995
17996 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17997
17998         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
17999         for the benefit of people using Autoconf 2.60.  If you want to
18000         support older Autoconf versions you can copy m4/onceonly_2_57.m4
18001         (or m4/onceonly.m4, if pre-2.57) manually.
18002
18003 2006-07-08  Jim Meyering  <jim@meyering.net>
18004
18005         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
18006         comment.
18007         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
18008         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
18009         comment.
18010
18011 2006-07-08  Jim Meyering  <jim@meyering.net>
18012
18013         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
18014
18015 2006-07-07  Simon Josefsson  <jas@extundo.com>
18016
18017         * tests/test-crc.c: Change expected crc value, the test vector
18018         were probably computed using the old broken crc.c?
18019
18020 2006-07-06  Simon Josefsson  <jas@extundo.com>
18021
18022         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
18023         now the canonical place for the M4 file).
18024
18025         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
18026         from the sys_socket dependency now.
18027
18028         * modules/inet_pton (Files): Ditto.
18029
18030         * modules/inet_ntop (Files): Ditto.
18031
18032 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
18033
18034         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
18035         not gl_PREREQ_GETUSERSHELL.
18036
18037 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18038
18039         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
18040         with only one argument, for Autoconf 2.60.
18041         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
18042         expand to nothing, so add a shell command to avoid syntax error.
18043         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
18044
18045 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18046
18047         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
18048
18049 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18050
18051         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
18052         no longer needed.  Check for isblank decl.
18053         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
18054         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
18055         of existence.
18056
18057 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18058
18059         * lib/getloadavg.c: Use __VMS, not VMS.
18060         * lib/getopt.c: Likewise.
18061         * lib/getpagesize.h: Likewise.
18062         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
18063         and probably does not work.
18064
18065 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18066
18067         * lib/.cppi-disable: Add wcwidth.
18068         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
18069         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
18070         (ISGRAPH): Remove.  All uses changed to isgraph.
18071         (FOLD) [!defined _LIBC]: Remove special case.
18072         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
18073         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
18074         HAVE_ISBLANK.
18075         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
18076         case.
18077
18078 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
18079
18080         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
18081         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
18082         brackets.  Other minor changes to suppress some compiler
18083         warnings.
18084
18085 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18086         and Paul Eggert  <eggert@cs.ucla.edu>
18087
18088         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
18089         of invoking obsolescent AC_HEADER_DIRENT macro.
18090         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
18091         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
18092         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
18093         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18094         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
18095         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
18096         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
18097         * m4/readdir.m4: Remove; no longer needed.
18098
18099 2006-07-06  Derek R. Price  <derek@ximbiot.com>
18100         and Paul Eggert  <eggert@cs.ucla.edu>
18101
18102         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
18103         Don't worry about this obsolete case any more.
18104         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
18105         directories.
18106         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
18107         worry about this obsolete case any more.
18108         * lib/fts.c: Likewise.
18109         * lib/getcwd.c: Likewise.
18110         * lib/glob.h: Likewise.
18111         * lib/savedir.c: Likewise.
18112
18113 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18114
18115         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
18116         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
18117         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
18118         needed.
18119         All uses removed.
18120         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18121         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18122         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
18123         needed.
18124         * m4/getdate.m4 (gl_GETDATE): Likewise.
18125         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
18126         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
18127         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18128         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18129         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
18130         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18131         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
18132         needed.
18133
18134 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18135
18136         * lib/memcasecmp.c: Include <limits.h>.
18137         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
18138         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
18139         Don't assume isdigit succeeds only on '0' through '9'.
18140
18141 2006-07-05  Eric Blake  <ebb9@byu.net>
18142
18143         * modules/getaddrinfo (Depends-on): Add snprintf.
18144
18145 2006-07-05  Eric Blake  <ebb9@byu.net>
18146
18147         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
18148         to avoid 'header present but could not be compiled' on cygwin.
18149
18150 2006-07-05  Eric Blake  <ebb9@byu.net>
18151
18152         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
18153         missing from netdb.h.
18154         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
18155
18156 2006-07-05  Derek R. Price  <derek@ximbiot.com>
18157
18158         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
18159         no longer needed.
18160         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
18161         * m4/getdate.m4 (gl_GETDATE): Likewise.
18162         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
18163         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
18164         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
18165         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
18166         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18167
18168 2006-07-05  Derek R. Price  <derek@ximbiot.com>
18169
18170         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
18171         All uses of is_space replaced by isspace.
18172         * lib/exit.h: Don't talk about STDC_HEADERS.
18173         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
18174         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
18175         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
18176         replaced by isprint etc.
18177         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
18178         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
18179         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
18180         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
18181         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
18182         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
18183
18184 2006-07-05  Bruno Haible  <bruno@clisp.org>
18185
18186         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
18187         the function exists, before testing against AIX.
18188         Reported by Martin Lambers <marlam@marlam.de>.
18189
18190 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18191
18192         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
18193         From Mark D. Baushke.
18194
18195 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18196
18197         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
18198         to the absolute name, not just one, to bypass Sun C 5.8's
18199         "warning: #include of /usr/include/... may be non-portable".
18200
18201 2006-07-04  Eric Blake  <ebb9@byu.net>
18202
18203         * modules/dirname-tests: New test module.
18204         * tests/test-dirname.c: New file, replacing dirname.c
18205         TEST_DIRNAME section that was recently deleted.
18206
18207 2006-07-04  Bruno Haible  <bruno@clisp.org>
18208
18209         Assume ANSI C header files and <ctype.h> functions.
18210         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
18211         (mbsnwidth): Use isprint, iscntrl instead.
18212
18213 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18214
18215         Merge from coreutils.
18216         * MODULES.html.sh: Add xstrtold.
18217         * modules/xstrtold: New file.
18218         * modules/cycle-check (Files): Add lib/same-inode.h.
18219         * modules/dirname (Files): Add m4/double-slash-root.m4.
18220         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
18221         * modules/mkdir-p (Files): Add lib/same-inode.h.
18222         * modules/same (Files): Add lib/same-inode.h.
18223
18224 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18225
18226         * m4/absolute-header.m4: Renamed from full-header-path.m4.
18227         This is to keep the terminology clean; POSIX talks about
18228         "absolute pathnames", not "full pathnames", but the GNU
18229         Coding Standards say to use "path" for something else;
18230         so use "absolute" to keep both sides happy.
18231         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
18232         Set gl_absolute_header, not gl_full_header_path.
18233         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
18234         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
18235         All uses changed.
18236
18237         Merge from coreutils.
18238
18239         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18240
18241         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
18242         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
18243         want to require the building of c-strtod.o.
18244         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
18245         needs -lm directly.
18246         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
18247
18248         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18249
18250         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
18251         --as-needed option if available.  Problem reported by Albert Chin in
18252         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
18253         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
18254         cc merely issues a bunch of annoying warnings for --as-needed
18255         (this problem was reported by Bob Proulx).  Also, try linking with
18256         -lm to detect a bug in binutils 2.16 (this problem was reported
18257         by Ralf Wildenhues).
18258
18259         2006-06-18  Jim Meyering  <jim@meyering.net>
18260
18261         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
18262         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
18263         macro.
18264         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
18265         also check for glibc-2.4's abort-inducing bug.
18266
18267         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
18268         Low-probability clean-up should be to use rmdir to get rid of
18269         the just-created directory, not unlink.
18270
18271         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
18272         configure fail, and request a bug report to inform us about it.
18273         Add a comment that, barring reports to the contrary, in 2007 we'll
18274         assume ftruncate is universally available.
18275
18276         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
18277
18278         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
18279
18280         2006-03-12  Jim Meyering  <jim@meyering.net>
18281
18282         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
18283         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
18284         * m4/same.m4 (gl_SAME): Likewise.
18285         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
18286
18287         2006-03-11  Eric Blake  <ebb9@byu.net>
18288
18289         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
18290         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
18291         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
18292         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
18293
18294 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18295
18296         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
18297         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
18298         reported by Mark D. Baushke, one in
18299         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
18300
18301         Merge from coreutils.
18302
18303         * lib/.cppi-disable: Add stdint_.h.
18304         * lib/.cvsignore: Add stdint.h.
18305
18306         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18307
18308         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
18309         both double and long double versions.
18310         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
18311         * lib/xstrtold.c: New file.
18312         * lib/xstrtod.h (xstrtold): New decl.
18313
18314         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
18315
18316         * lib/filemode.c (setst): Remove.
18317         (strmode): Rewrite to avoid setst.  This makes the code shorter,
18318         (arguably) clearer, and the generated code is a bit smaller on my
18319         Debian GNU/Linux stable x86 host.
18320
18321         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
18322
18323         * lib/filemode.c: Include "filemode.h" first, to test the interface.
18324         Assume that filemode.h includes sys/types.h and sys/stat.h.
18325         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
18326         (ftypelet): Reorder to put common cases first, for efficiency.
18327         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
18328         to do 'M'.
18329         (strmode): Renamed from mode_string, and now stores 12 bytes instead
18330         of 10, for compatibility with FreeBSD.  All callers changed.
18331         (filemodestring): Now stores 12 bytes instead of 10, and sets file
18332         types that can't be deduced solely from st_mode.  First arg is now a
18333         const pointer.
18334         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
18335         (strmode): Renamed from mode_string.
18336         (filemodestring): New decl.
18337         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
18338         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
18339         needed.
18340         (S_ISPORT, S_ISWHT): New macros, if not already defined.
18341
18342         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
18343
18344         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
18345         fsusage.h now does that.  Include fsusage.h first, to test interface.
18346         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
18347         at most one method (the old code could have generated decls that
18348         didn't conform to C89, not that this was ever exercised).
18349         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
18350
18351         2006-03-19  Jim Meyering  <jim@meyering.net>
18352
18353         Work even in a chroot where d_ino values for entries in "/"
18354         don't match the stat.st_ino values for the same names.
18355         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
18356         number, iterate through all entries again, using lstat instead.
18357         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
18358         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
18359
18360         * lib/getcwd.c (__getcwd): Clarify a comment.
18361         Use memcpy in place of a call to strcpy.
18362
18363         2006-03-12  Jim Meyering  <jim@meyering.net>
18364
18365         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
18366         matches that of the current directory (which we're about to chdir ".."
18367         out of), then save the dev-ino of the parent, instead.
18368
18369         * lib/same-inode.h (SAME_INODE): New file/macro.
18370         * lib/chdir-safer.c (SAME_INODE): Remove definition.
18371         Include "same-inode.h", instead.
18372         * lib/same.c: Likewise.
18373         * lib/cycle-check.h: Include "same-inode.h".
18374         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
18375         * lib/cycle-check.c (SAME_INODE): Remove definition.
18376         * lib/root-dev-ino.h: Include "same-inode.h".
18377
18378         2006-03-11  Eric Blake  <ebb9@byu.net>
18379
18380         * lib/same.c (same_name): s/base_name/last_component/
18381         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
18382         * lib/filenamecat.c (file_name_concat): Likewise.
18383
18384         2006-03-11  Eric Blake  <ebb9@byu.net>,
18385                     Paul Eggert  <eggert@cs.ucla.edu>
18386
18387         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
18388         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
18389         drive prefix.
18390         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
18391         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
18392         (last_component): New method.
18393         * lib/dirname.c (dir_len): Determine when drive letters need a
18394         subsequent slash.  Preserve // when it is special.
18395         (dir_name): Don't append dot when drive letter is absolute.
18396         [TEST_DIRNAME]: Move into a full-blown gnulib test.
18397         * lib/basename.c (base_name): New semantics - malloc the result.
18398         Preserve // when it is special.  Preserve relative files that look
18399         like drive letters.
18400         (base_len): Preserve // when it is special.
18401         (last_component): New method, similar to old base_name semantics.
18402         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
18403         base_name.  Strip redundant slashes from ///.
18404
18405 2006-07-03  Jim Meyering  <jim@meyering.net>
18406
18407         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
18408         macro is used before the first cycle_check call.
18409
18410 2006-07-03  Eric Blake  <ebb9@byu.net>
18411
18412         * modules/dirname (Depends-on): Add xstrndup.
18413
18414 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18415
18416         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
18417         test cases, so that config.log is a bit easier to follow.
18418
18419 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
18420
18421         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
18422         both are 64 bits, since this seems to be the tradition, and this
18423         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
18424         we ever run into a host that prefers long long to long in this
18425         case, we'll need another configure-time test.  Problem reported by
18426         Jim Meyering.
18427
18428 2006-07-02  Eric Blake  <ebb9@byu.net>
18429
18430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
18431
18432 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18433
18434         * modules/inttypes (Depends-on): No longer depends on stdint.
18435         * modules/stdint (Description): Say more about assumptions.
18436         Say that the fast types might differ.  Say macros are used.
18437         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
18438         (Makefile.am): Revise list of substituted symbols to match
18439         new stdint.m4.
18440         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
18441         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
18442         * tests/test-stdint.c (verify_same_types)
18443         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
18444         the code conforms to C99/C89.
18445         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
18446         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
18447
18448 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18449
18450         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
18451         but fix a bug, by requiring at least 64 bits.
18452         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
18453         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
18454         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
18455         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
18456
18457         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
18458         changes.  Make 2.59 a prerequisite.  Check and substitute for
18459         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
18460         inttypes.h.  Do not use special include files; just use the
18461         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
18462         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
18463         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
18464         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
18465         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
18466         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
18467         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
18468         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
18469         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
18470         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
18471         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
18472         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
18473         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
18474         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
18475         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
18476         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
18477         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
18478         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
18479         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
18480         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
18481         WINT_MAX.  Check for C99 conformance more strictly, by detecting
18482         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
18483         not check for things that C99 does not require, e.g., int8_t.  If
18484         a test isn't needed unless <stdint.h> isn't working, and is
18485         unlikely to be needed for any other reason, then don't do it
18486         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
18487         size_t, since we assume C89 freestanding at least.  Do not check
18488         for sig_atomic_t, wchar_t, or wint_t, since the code now does
18489         the right thing even if the types are not defined.  Instead use:
18490         (gl_STDINT_TYPE_PROPERTIES): New macro.
18491         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
18492         testing whether <sys/types.h> clashes, as Autoconf does this for
18493         us now.  All uses removed.
18494         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
18495         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
18496         (gl_CHECK_TYPE_SAME):
18497         Remove; no longer needed.
18498         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
18499         exists, since we'll return 0 anyway in that case.
18500         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
18501
18502 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18503
18504         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
18505         possible collision with system files.
18506         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
18507         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
18508         WCHAR_MIN and WCHAR_MAX in this case.
18509         (<stddef.h>): Do not include; no longer needed.
18510         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
18511         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
18512         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
18513         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
18514         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
18515         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
18516         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
18517         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
18518         !defined(__c99))]: Include in this case too, since it's harmless
18519         now.
18520         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
18521         dangerous to do so.
18522         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
18523         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
18524         (_STDINT_MIN, _STDINT_MAX): New macros.
18525         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
18526         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
18527         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
18528         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
18529         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
18530         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
18531         macros, not typedefs; this simplifies things quite a bit.
18532         Use long int for all types narrower than int64_t.
18533         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
18534         Define in terms of long long int or int64_t or long int,
18535         not int64_t or int32_t.  This saves some compile-time testing.
18536         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
18537         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
18538         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
18539         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
18540         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
18541         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
18542         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
18543         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
18544         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
18545         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
18546         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
18547         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
18548         undef any previous version and define our own version, for
18549         simplicity and consistency with the new macros for types.
18550         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
18551         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
18552         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
18553         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
18554         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
18555         @WINT_T_SUFFIX@ to keep things simple here.
18556         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
18557         Simplify by assuming typical 8/16/32/64 host, since we're
18558         already doing that elsewhere anyway.
18559         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
18560         and assume long long int is 64 bits if available.  This
18561         speeds up 'configure'.
18562
18563 2006-07-01  Eric Blake  <ebb9@byu.net>
18564
18565         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
18566         Reported by Andreas Buening.
18567
18568 2006-07-01  Eric Blake  <ebb9@byu.net>
18569
18570         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
18571
18572 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
18573
18574         * lib/getaddrinfo.c: fixed typo
18575
18576 2006-06-29  Jim Meyering  <jim@meyering.net>
18577
18578         * modules/strftime (Maintainer): Add my name, since with the
18579         FPRINTFTIME changes strftime.c has forked from glibc.
18580
18581 2006-06-29  Eric Blake  <ebb9@byu.net>
18582
18583         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
18584
18585 2006-06-29  Eric Blake  <ebb9@byu.net>
18586
18587         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
18588
18589 2006-06-29  Eric Blake  <ebb9@byu.net>
18590
18591         * lib/stat_.h: New file.
18592
18593 2006-06-29  Eric Blake  <ebb9@byu.net>
18594
18595         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
18596         unused static function.
18597
18598 2006-06-29  Eric Blake  <ebb9@byu.net>
18599
18600         * doc/functions.texi (Function Portability): Document missing lstat
18601         on mingw.
18602
18603 2006-06-29  Eric Blake  <ebb9@byu.net>
18604
18605         * MODULES.html.sh: Add sys_stat.
18606         * modules/sys_stat: New module.
18607         * modules/mkstemp (Depends-on): Add sys_stat.
18608
18609 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18610
18611         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
18612
18613 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18614
18615         * m4/c-bs-a.m4: Removed.
18616
18617 2006-06-29  Derek R. Price  <derek@ximbiot.com>
18618
18619         * lib/strftime.c: Assume strftime() exists.
18620
18621 2006-06-29  Derek Price  <derek@ximbiot.com>
18622
18623         * modules/c-bs-a: Removed - \a is C89.
18624         * MODULES.html.sh: Remove c-bs-a.
18625
18626 2006-06-29  Bruno Haible  <bruno@clisp.org>
18627
18628         * modules/wcwidth (License): Change to LGPL.
18629
18630 2006-06-28  Simon Josefsson  <jas@extundo.com>
18631
18632         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
18633         on _WIN32.
18634
18635         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
18636         getnameinfo.
18637
18638 2006-06-28  Simon Josefsson  <jas@extundo.com>
18639
18640         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
18641
18642 2006-06-28  Simon Josefsson  <jas@extundo.com>
18643
18644         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
18645         functions there.  It will succeed on Windows XP, but on Windows
18646         2000 and (presumably) earlier, it will fail, and use the internal
18647         re-implementation.
18648         (use_win32_p): New function.
18649         (getaddrinfo): Use strtoul on servname, to support numeric ports.
18650         Support AI_NUMERICSERV to disable getservbyname.
18651         (getnameinfo): New function, only supports
18652         NI_NUMERICHOST|NI_NUMERICSERV for now.
18653
18654         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
18655         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
18656         getnameinfo.
18657
18658 2006-06-28  Eric Blake  <ebb9@byu.net>
18659
18660         * modules/wcwidth: New file.
18661         * modules/mbchar (Depends-on): Add wcwidth.
18662         * modules/mbswidth (Depends-on): Add wcwidth.
18663         * MODULES.html.sh: Add wcwidth.
18664
18665 2006-06-28  Eric Blake  <ebb9@byu.net>
18666
18667         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
18668         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
18669
18670 2006-06-28  Eric Blake  <ebb9@byu.net>
18671
18672         * lib/xvasprintf.h: Fix comments.
18673
18674 2006-06-28  Eric Blake  <ebb9@byu.net>
18675
18676         * lib/mbchar.h (wcwidth): Include wcwidth.h.
18677         * lib/mbswidth.c (wcwidth): Move from here...
18678         * lib/wcwidth.h: ...to this new file.
18679
18680 2006-06-28  Derek R. Price  <derek@ximbiot.com>
18681
18682         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
18683
18684         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
18685         it's obsolete.
18686         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
18687
18688 2006-06-28  Derek R. Price  <derek@ximbiot.com>
18689
18690         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
18691         Autoconf 2.60 says this stuff was obsolete.
18692
18693 2006-06-28  Bruno Haible  <bruno@clisp.org>
18694
18695         * modules/wcwidth (Files): Add m4/wchar_t.m4.
18696
18697 2006-06-28  Bruno Haible  <bruno@clisp.org>
18698
18699         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
18700         gt_TYPE_WCHAR_T.
18701
18702 2006-06-28  Bruno Haible  <bruno@clisp.org>
18703
18704         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
18705         declaration for wcwidth.
18706         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
18707
18708 2006-06-28  Bruno Haible  <bruno@clisp.org>
18709
18710         * lib/mkdtemp.c [MINGW]: Include <io.h>.
18711         (mkdir): Define using _mkdir.
18712
18713 2006-06-28  Bruno Haible  <bruno@clisp.org>
18714
18715         * lib/getaddrinfo.h: Fix POSIX URL.
18716         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
18717         _WIN32.
18718         (use_win32_p): Make static.
18719         (getaddrinfo): Reject service name if it is empty or does not consist
18720         solely of decimal digits, or if its value is > 65535.
18721         (getnameinfo): Remove useless casts.
18722
18723 2006-06-27  Simon Josefsson  <jas@extundo.com>
18724
18725         * modules/sys_select: New file, suggested by Bruno Haible, Paul
18726         Eggert and Martin Lambers.
18727
18728 2006-06-27  Simon Josefsson  <jas@extundo.com>
18729
18730         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
18731         Eggert and Martin Lambers.
18732
18733 2006-06-27  Bruno Haible  <bruno@clisp.org>
18734
18735         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
18736         result to 0, not to empty.
18737         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
18738
18739 2006-06-27  Bruno Haible  <bruno@clisp.org>
18740
18741         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
18742
18743 2006-06-26  Simon Josefsson  <jas@extundo.com>
18744
18745         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
18746         present.
18747
18748 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
18749
18750         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
18751         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
18752         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
18753
18754 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
18755
18756         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
18757
18758 2006-06-26  Bruno Haible  <bruno@clisp.org>
18759
18760         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
18761
18762 2006-06-26  Bruno Haible  <bruno@clisp.org>
18763
18764         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
18765
18766 2006-06-26  Bruno Haible  <bruno@clisp.org>
18767
18768         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
18769         SGI C compiler in pre-C99 mode.
18770         Suggested by Mark D. Baushke and Larry Jones.
18771
18772 2006-06-26  Bruno Haible  <bruno@clisp.org>
18773
18774         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
18775         WCHAR_MAX.
18776         Reported by Mark D. Baushke and Larry Jones.
18777
18778 2006-06-26  Bruno Haible  <bruno@clisp.org>
18779
18780         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
18781         in pre-C99 mode.
18782         Suggested by Mark D. Baushke and Larry Jones.
18783
18784 2006-06-23  Simon Josefsson  <jas@extundo.com>
18785             Bruno Haible  <bruno@clisp.org>
18786
18787         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
18788         Emit mostlyclean-local rule.
18789         (func_emit_tests_Makefile_am): Likewise.
18790         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
18791
18792 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
18793
18794         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
18795
18796 2006-06-23  Bruno Haible  <bruno@clisp.org>
18797
18798         * tests/test-stdint.c: Update to match ISO C 99 Technical
18799         Corrigendum 1.
18800
18801 2006-06-23  Bruno Haible  <bruno@clisp.org>
18802
18803         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
18804
18805 2006-06-23  Bruno Haible  <bruno@clisp.org>
18806
18807         * lib/stdint_.h: Treat IRIX like OpenBSD.
18808
18809 2006-06-23  Bruno Haible  <bruno@clisp.org>
18810
18811         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
18812         ISO C 99 Technical Corrigendum 1.
18813
18814 2006-06-22  Simon Josefsson  <jas@extundo.com>
18815
18816         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
18817         MinGW.
18818
18819 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18820
18821         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
18822         needed.  Some compiler complained about some of them.  Problem reported
18823         by Larry Jones in
18824         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
18825
18826 2006-06-21  Simon Josefsson  <jas@extundo.com>
18827
18828         * tests/test-getaddrinfo.c: New file.
18829
18830         * modules/getaddrinfo-tests: New file.
18831
18832         * MODULES.html.sh: Add inet_pton.
18833
18834         * modules/inet_pton: New file.
18835
18836 2006-06-21  Simon Josefsson  <jas@extundo.com>
18837
18838         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
18839         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
18840         of using the (limited) gnulib implementation on Windows XP.
18841
18842         * m4/inet_pton.m4: New file.
18843
18844 2006-06-21  Simon Josefsson  <jas@extundo.com>
18845
18846         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
18847         variable.
18848
18849         * lib/socket_.h: Don't define WINVER.
18850
18851         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
18852         slightly modified to work in gnulib.
18853
18854 2006-06-21  Simon Josefsson  <jas@extundo.com>
18855
18856         * doc/gnulib.texi (Windows sockets): Add.
18857
18858 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18859
18860         * lib/read-file.c (fread_file): Start with buffer allocation of
18861         0 bytes rather than 1 byte; this simplifies the code.
18862         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
18863         code to free buffer and save/restore errno.
18864         (internal_read_file): Remove unused local.
18865
18866 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
18867
18868         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
18869         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
18870         Problem reported by Denis Excoffier in
18871         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
18872
18873 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18874
18875         * modules/sys_socket, modules/socklen: Include sys/types since
18876         FreeBSD 4.x's sys/socket.h needs it.
18877
18878 2006-06-19  Simon Josefsson  <jas@extundo.com>
18879
18880         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
18881
18882 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
18883
18884         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
18885
18886 2006-06-19  Bruno Haible  <bruno@clisp.org>
18887
18888         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
18889         and FULL_PATH_INTTYPES_H in angle brackets.
18890         Reported by Mark D. Baushke <mdb@gnu.org>.
18891
18892 2006-06-17  Eric Blake  <ebb9@byu.net>
18893
18894         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
18895         errno.
18896
18897 2006-06-17  Bruno Haible  <bruno@clisp.org>
18898
18899         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
18900         <sys/inttypes.h>.
18901
18902 2006-06-17  Bruno Haible  <bruno@clisp.org>
18903
18904         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
18905         whether errno is declared. Assume <errno.h> declares errno.
18906
18907 2006-06-17  Bruno Haible  <bruno@clisp.org>
18908
18909         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
18910
18911 2006-06-17  Bruno Haible  <bruno@clisp.org>
18912
18913         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
18914         problem on Solaris 2.5.1.
18915
18916 2006-06-16  Eric Blake  <ebb9@byu.net>
18917
18918         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
18919         * lib/unicodeio.c [!defined errno]: Likewise.
18920         * lib/strtol.c [!defined errno]: Likewise.
18921         * lib/strtod.c [!defined errno]: Likewise.
18922
18923 2006-06-15  Eric Blake  <ebb9@byu.net>
18924
18925         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
18926
18927 2006-06-15  Eric Blake  <ebb9@byu.net>
18928
18929         * config/srclist.txt (ssize_t.m4): Lose sync.
18930
18931 2006-06-15  Bruno Haible  <bruno@clisp.org>
18932
18933         * modules/stdint (Files): Include m4/full-header-path.m4,
18934         m4/size_max.m4, m4/wchar_t.m4.
18935         (Makefile.am): Many more substitutions.
18936         * modules/stdint-tests: New file.
18937         * tests/test-stdint.c: New file.
18938
18939 2006-06-15  Bruno Haible  <bruno@clisp.org>
18940
18941         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
18942         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
18943         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
18944         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
18945         gl_CHECK_TYPE_SAME): New macros.
18946
18947 2006-06-15  Bruno Haible  <bruno@clisp.org>
18948
18949         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
18950
18951 2006-06-15  Bruno Haible  <bruno@clisp.org>
18952
18953         * lib/stdint_.h: Rewritten to be fully auto-configured.
18954         Fixes bug on HP-UX/IA64.
18955
18956 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18957
18958         * lib/getdate.y (__attribute__): Don't define if already defined.
18959         Problem reported by Larry Jones.
18960         * lib/utimens.c (__attribute__): Likewise.
18961
18962 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
18963
18964         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
18965         reported by Andreas Schwab.
18966
18967 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18968             Bruno Haible  <bruno@clisp.org>
18969
18970         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
18971         check for the declaration of strnlen and a run test that exposes the
18972         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
18973         rpl_strndup.
18974
18975 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18976             Bruno Haible  <bruno@clisp.org>
18977
18978         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
18979
18980 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18981
18982         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
18983         compile test, for Tru64 4.0D.
18984
18985 2006-05-28  Karl Berry  <karl@gnu.org>
18986
18987         * config/srclist.txt (printf-args.c): lose sync.
18988
18989 2006-05-26  Martin Lambers  <marlam@marlam.de>
18990
18991         * lib/getpass.c: Updates the test for the native W32 API, and adds
18992         missing includes, thus fixing compilation warnings.
18993
18994 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
18995
18996         * lib/exclude.c (exclude_fnmatch): New function.
18997         (excluded_file_name): Call exclude_fnmatch.
18998         * lib/exclude.h (excluded_file_name): New prototype
18999
19000 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
19001
19002         * lib/tempname.c (small_open, large_open): New macros.
19003         (__open, __open64) [!_LIBC]: Remove.
19004         (__gen_tempname): Use small_open and large_open instead of __open
19005         and __open64.  This fixes a portability bug on HP-UX 11.11i
19006         reported by Simon Wing-Tang in
19007         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
19008
19009 2006-05-24  Bruno Haible  <bruno@clisp.org>
19010
19011         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
19012         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
19013         Reported by Thorsten Maerz <torte@netztorte.de> via
19014         Aaron Stone <aaron@serendipity.cx>.
19015
19016 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19017
19018         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
19019         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
19020         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
19021         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
19022         not really conditional on the cache.
19023         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
19024
19025 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19026
19027         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
19028         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
19029         (my_usleep): Don't mishandle maximum value.
19030
19031 2006-05-19  Jim Meyering  <jim@meyering.net>
19032
19033         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
19034
19035 2006-05-17  Bruno Haible  <bruno@clisp.org>
19036
19037         Cygwin portability.
19038         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
19039
19040 2006-05-17  Bruno Haible  <bruno@clisp.org>
19041
19042         * lib/stdint_.h: Fix recognition of Cygwin.
19043
19044 2006-05-15  Bruno Haible  <bruno@clisp.org>
19045
19046         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
19047         on libtool patch by Ralf Wildenhues.
19048
19049 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19050
19051         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
19052         test for C99 conformance; (bool) 0.5 is an integer constant
19053         expression, but (bool) -0.5 is not.  Problem reported by Fedor
19054         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
19055
19056 2006-05-11  Simon Josefsson  <jas@extundo.com>
19057
19058         * m4/xvasprintf.m4: Fix obvious typo.
19059
19060 2006-05-11  Jim Meyering  <jim@meyering.net>
19061
19062         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
19063         James Lemley.
19064
19065 2006-05-10  Simon Josefsson  <jas@extundo.com>
19066
19067         * lib/md4.c: Typo fix, update copyright years.
19068         (K1, K2): Don't use L because it turn computations into 64-bit on
19069         64-bit platforms.
19070
19071 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
19072
19073         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
19074         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
19075         unwanted sign propagation, e.g., on hosts with 64-bit int.
19076         There still are some problems with reeelly weird theoretical hosts
19077         (e.g., 33-bit int) but it's not worth worrying about now.
19078         * lib/sha1.c (rol): Likewise.
19079         (K1, K2, K3, K4): Remove unnecessary L suffix.
19080
19081 2006-05-10  Bruno Haible  <bruno@clisp.org>
19082
19083         * lib/des.c: Cast to avoid warnings.
19084
19085 2006-05-09  Bruno Haible  <bruno@clisp.org>
19086
19087         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
19088         (Depends-on): Depend also on xsize, stdarg.
19089         (configure.ac): Add gl_XVASPRINTF.
19090
19091 2006-05-09  Bruno Haible  <bruno@clisp.org>
19092
19093         * m4/xvasprintf.m4: New file.
19094
19095 2006-05-09  Bruno Haible  <bruno@clisp.org>
19096
19097         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
19098         (EOVERFLOW): Define fallback value.
19099         (xstrcat): New function.
19100         (xvasprintf): Recognize the special case of a string concatenation.
19101
19102 2006-05-08  Eric Blake  <ebb9@byu.net>
19103
19104         * gnulib-tool (func_version): Base copyright year on CVS date.
19105         (func_emit_copyright_notice): New function.
19106         (func_emit_lib_Makefile_am): Use it.
19107         (func_emit_tests_Makefile_am): Likewise.
19108         (func_import): Likewise.
19109
19110 2006-05-08  Bruno Haible  <bruno@clisp.org>
19111
19112         * modules/stdarg: New file.
19113         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
19114
19115 2006-05-08  Bruno Haible  <bruno@clisp.org>
19116
19117         * m4/stdarg.m4: New file, from GNU gettext.
19118
19119 2006-05-08  Bruno Haible  <bruno@clisp.org>
19120
19121         * config/srclist.txt (build-aux/config.rpath): different from latest
19122         release.
19123
19124 2006-05-08  Bruno Haible  <bruno@clisp.org>
19125
19126         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
19127
19128 2006-05-05  Jim Meyering  <jim@meyering.net>
19129
19130         * m4/warning.m4: New file, derived from bison's file by the same name.
19131
19132 2006-05-03  Bruno Haible  <bruno@clisp.org>
19133
19134         * lib/stdint_.h: Shorter URL.
19135         * lib/inttypes.h: Likewise.
19136
19137 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19138
19139         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
19140
19141 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19142
19143         * lib/verify.h: Document the internals better.  Most of this change
19144         was written by Bruno Haible.
19145
19146 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
19147
19148         * doc/verify.texi: New file, partly based on a proposal by
19149         Bruno Haible.
19150
19151 2006-05-02  Bruno Haible  <bruno@clisp.org>
19152
19153         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
19154         test from here...
19155         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
19156
19157 2006-04-29  Bruno Haible  <bruno@clisp.org>
19158
19159         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
19160         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
19161
19162 2006-04-29  Bruno Haible  <bruno@clisp.org>
19163
19164         * gnulib-tool: Make --update option actually work.
19165
19166 2006-04-29  Bruno Haible  <bruno@clisp.org>
19167
19168         * doc/gcd.texi: New file.
19169         * doc/gnulib.texi: Include it.
19170
19171 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19172
19173         * lib/getdate.y (get_date): When adding relative date, start with the
19174         initial time, not with the result of the first mktime call.
19175
19176 2006-04-25  Bruno Haible  <bruno@clisp.org>
19177
19178         * gnulib-tool (func_import): Output the include directives in three
19179         blocks, sorted separately.
19180         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19181
19182 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19183
19184         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
19185         to define main with arguments, for C++.  Reported by Eric Blake.
19186         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
19187         Prefer 'int main ()' to 'int main (void)', for C++.
19188         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
19189         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
19190         for 'main', for C99 and C++.
19191
19192 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19193
19194         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
19195         Don't assume that exit status -1 is valid.
19196         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19197         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
19198         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
19199         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
19200         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
19201         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
19202         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
19203         functions can be used without declaring them, or that you can
19204         exit with status -1.
19205         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
19206
19207 2006-04-24  Karl Berry  <karl@gnu.org>
19208
19209         * config/srclist.txt (longdouble.m4): sync lost.
19210
19211 2006-04-24  Eric Blake  <ebb9@byu.net>
19212
19213         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
19214
19215 2006-04-24  Bruno Haible  <bruno@clisp.org>
19216
19217         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
19218         poll() implementation in AIX.
19219         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19220
19221 2006-04-24  Bruno Haible  <bruno@clisp.org>
19222
19223         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
19224         assigned exactly once.
19225
19226 2006-04-23  Claudio Fontana  <claudio@gnu.org>
19227             Bruno Haible  <bruno@clisp.org>
19228
19229         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
19230         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
19231         for AM_CPPFLAGS.
19232
19233 2006-04-23  Bruno Haible  <bruno@clisp.org>
19234
19235         * modules/copy-file: Depend on unistd.
19236         * modules/execute: Likewise.
19237         * modules/fatal-signal: Likewise.
19238         * modules/findprog: Likewise.
19239         * modules/mkdtemp : Likewise.
19240         * modules/pipe: Likewise.
19241         * modules/wait-process: Likewise.
19242
19243 2006-04-23  Bruno Haible  <bruno@clisp.org>
19244
19245         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
19246         condition was already detected.
19247         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19248
19249 2006-04-23  Bruno Haible  <bruno@clisp.org>
19250
19251         * lib/copy-file.c: Include <unistd.h> unconditionally.
19252         * lib/execute.c: Likewise.
19253         * lib/fatal-signal.c: Likewise.
19254         * lib/findprog.c: Likewise.
19255         * lib/mkdtemp.c: Likewise.
19256         * lib/pipe.h: Likewise.
19257         * lib/pipe.c: Likewise.
19258         * lib/wait-process.h: Likewise.
19259
19260 2006-04-23  Bruno Haible  <bruno@clisp.org>
19261
19262         * gnulib-tool (func_usage): Fix --import description. Document
19263         --update.
19264         (func_import): Create temporary file in a temporary directory, if
19265         --dry-run is specified. Silence errors from 'grep' when there are no
19266         m4 files in $m4dir.
19267         (func_create_testdir): Silence errors from 'grep' when there are no
19268         m4 files in $m4dir.
19269         Reported by Karl Berry <karl@freefriends.org>.
19270
19271 2006-04-20  Bruno Haible  <bruno@clisp.org>
19272
19273         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
19274         one argument, so that the code will be portable to Autoconf 2.60.
19275         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
19276         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
19277         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
19278
19279 2006-04-19  Derek Price  <derek@ximbiot.com>
19280             Eric Blake  <ebb9@byu.net>
19281
19282         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
19283         rather than "/full/path.h".  Update comment to match.  Shorten &
19284         generalize m4_translit call via AS_TR_CPP.
19285
19286 2006-04-19  Derek Price  <derek@ximbiot.com>
19287             Eric Blake  <ebb9@byu.net>
19288
19289         * lib/inttypes.h: Correct grammar in comment.
19290
19291 2006-04-18  Derek Price  <derek@ximbiot.com>
19292             Paul Eggert  <eggert@cs.ucla.edu>
19293
19294         * modules/inttypes: New file.
19295         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
19296
19297 2006-04-18  Derek Price  <derek@ximbiot.com>
19298             Paul Eggert  <eggert@cs.ucla.edu>
19299
19300         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
19301         New files.
19302
19303 2006-04-18  Derek Price  <derek@ximbiot.com>
19304             Paul Eggert  <eggert@cs.ucla.edu>
19305
19306         * lib/inttypes.h: New file.
19307         * lib/strtoimax.c: Assume <inttypes.h>.
19308
19309 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
19310
19311         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
19312         isn't mounted.  Problem reported by Kir Kolyshkin.
19313
19314 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
19315
19316         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
19317         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
19318         Derek R. Price.
19319         * lib/regex.h (RE_DUP_MAX): Update comment to match current
19320         implementation.
19321
19322 2006-04-12  Eric Blake  <ebb9@byu.net>
19323
19324         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
19325         is now done automatically by the corresponding Autoconf macro.
19326
19327 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
19328
19329         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
19330         time_r.h.
19331
19332 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19333
19334         Merge regex changes from libc, removing some of our
19335         POSIX-conformance changes that were rejected and redoing them in a
19336         less-intrusive way.
19337
19338         * lib/regcomp.c (re_compile_internal, init_dfa):
19339         Length arg is now size_t, not Idx.  All uses changed.
19340         (peek_token): Forward decl now says internal_function.
19341         (__re_error_msgid, __re_error_msgid_idx):
19342         Now static rather than extern with attribute_hidden.
19343         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
19344         For some reason libc prefers K&R style defns for external functions.
19345         (regerror) [!defined _LIBC]: Likewise.
19346         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
19347         (seek_collating_symbol_entry, lookup_collation_sequence_value):
19348         (build_range_exp, build_collating_symbol):
19349         Use K&R-style defn.
19350         (re_compile_fastmap): Use '\0' to memset, not 0.
19351         (utf8_sb_map): Make the calculations more obvious.
19352         (init_dfa, parse_bracket_exp, build_charclass_op):
19353         Call calloc and cast result, as glibc does.
19354         (init_word_char, fetch_token, peek_token, peek_token_bracket):
19355         (build_range_exp, build_collating_symbol):
19356         Now internal functions.
19357
19358         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
19359
19360         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
19361         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
19362         Don't depend on VMS; depend on __VMS instead, for POSIX
19363         namespace cleanness.
19364         (regoff_t): Define to ssize_t, not long int.
19365
19366         Remove the REG_ macros named below.  Instead, make the old names
19367         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
19368         __USE_GNU_REGEX.
19369         (REG_BACKSLASH_ESCAPE_IN_LISTS):
19370         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
19371         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
19372         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
19373         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
19374         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
19375         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
19376         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
19377         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
19378         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
19379         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
19380         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
19381         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
19382         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
19383         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
19384         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
19385         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
19386         (REG_NREGS):
19387         Remove.  All uses replaced by the old RE_* names.
19388         (RE_BACKSLASH_ESCAPE_IN_LISTS):
19389         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
19390         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
19391         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
19392         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
19393         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
19394         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
19395         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
19396         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
19397         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
19398         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
19399         Don't bother having these macros be independent of each others'
19400         values, since they no longer exist in the POSIX name space.
19401
19402         Rename the following member names back to their old names,
19403         unless !__USE_GNU_REGEX.  All uses changed back.
19404         (buffer): Renamed from re_buffer.
19405         (allocated): Renamed from re_allocated.
19406         (used): Renamed from re_used.
19407         (syntax): Renamed from re_syntax.
19408         (fastmap): Renamed from re_fastmap.
19409         (translate): Renamed from re_translate.
19410         (can_be_null): Renamed from re_can_be_null.
19411         (regs_allocated): Renamed from re_regs_allocated.
19412         (fastmap_accurate): Renamed from re_fastmap_accurate.
19413         (no_sub): Renamed from re_no_sub.
19414         (not_bol): Renamed from re_not_bol.
19415         (not_eol): Renamed from re_not_eol.
19416         (newline_anchor): Renamed from re_newline_anchor.
19417         (num_regs): Renamed from rm_num_regs.
19418         (start): Renamed from rm_start.
19419         (end): Renamed from rm_end.
19420
19421         (free_state): Move up a bit.
19422
19423         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
19424         #define to be empty.
19425         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
19426         when that is what is intended.
19427         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
19428         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
19429         (MAX): New macro.
19430         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
19431         All uses changed back to re_malloc, etc.  It's now the caller's
19432         responsibility to check for overflow; all callers changed.
19433         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
19434         (re_x2nrealloc): Remove.
19435         (free_state): Remove decl.
19436
19437         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
19438         (re_set_registers, re_exec):
19439         Use K&R-style defn.
19440
19441         2006-01-31  Roland McGrath  <roland@redhat.com>
19442
19443         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
19444         Reported by Mike Frysinger <vapier@gentoo.org>.
19445
19446         2006-01-15  Andreas Jaeger  <aj@suse.de>
19447
19448         [BZ #1950]
19449         * lib/regex_internal.c (re_string_reconstruct): Adjust for
19450         build_wcs_upper_buffer change.
19451         (build_wcs_upper_buffer): Change return type.
19452
19453         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
19454
19455         * lib/regex_internal.h: Include <stdint.h> if available.
19456
19457         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
19458
19459         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
19460
19461         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
19462
19463         * lib/regcomp.c: Adjust for changed secondary hash function.
19464
19465         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
19466
19467         * lib/regex.h: Pretty printing.
19468         Clean up namespace a bit.
19469
19470         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
19471
19472         * lib/regexec.c (update_cur_sifted_state, check_arrival,
19473         check_arrival_add_next_nodes): Avoid using uninitialized variable.
19474
19475         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
19476                     Ulrich Drepper  <drepper@redhat.com>
19477
19478         [BZ #1302]
19479         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
19480         changed.
19481         (bitset_word_t): Renamed from bitset_word.  All uses changed.
19482
19483         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
19484
19485         [BZ #281]
19486         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
19487         * lib/regcomp.c: Remove unnecessary uses of
19488         unsigned RE_TRANSLATE_TYPE.
19489         * lib/regex_internal.h: Likewise.
19490         * lib/regex_internal.c: Likewise.
19491         * lib/regexec.c: Likewise.
19492         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
19493
19494         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
19495
19496         * lib/regexec.c (find_recover_state): Remove unnecessary
19497         initialization.
19498         (transit_state_bkref): Make DFA a const pointer.
19499         (get_subexp): Likewise.
19500         (check_arrival): Likewise.
19501         (update_cur_sifted_state): Likewise.
19502         (re_search_internal): Likewise.
19503         (prune_impossible_nodes): Likewise.
19504         (acquire_init_state_context): Likewise.
19505         (proceed_next_node): Likewise.
19506         (set_regs): Likewise.
19507         (free_fail_stack_return): Likewise.
19508         (check_arrival_expand_ecl): Mark DFA parameter as const.
19509         (check_arrival_expand_ecl_sub): Likewise.
19510         (check_subexp_limits): Likewise.
19511         (sub_epsilon_src_nodes):  Likewise.
19512         (add_epsilon_src_nodes):  Likewise.
19513         (merge_state_array): Likewise.
19514         (update_regs): Likewise.
19515         (build_trtable): Likewise.
19516         (sift_states_backward): Mark MCTX parameter as const.
19517         (build_sifted_states): Likewise.
19518         (update_cur_sifted_state): Likewise.
19519         (sift_states_mkref): Likewise.
19520         (check_arrival_expand_ecl): Mark eclosure as const.
19521         (check_dst_limits_calc_pos_1): Likewise.
19522         * lib/regex_internal.h (re_match_context_t): Make dfa a const
19523         pointer.
19524
19525         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
19526
19527         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
19528         (transit_state_sb): Likewise.
19529         (transit_state_mb): Likewise.
19530         (sift_states_iter_mb): Likewise.
19531         (check_arrival_add_next_nodes): Likewise.
19532         (check_node_accept_bytes): Change first parameter to pointer-to-const.
19533         [_LIBC] (re_search_2_stub): Use mempcpy.
19534
19535         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
19536         mbrtowc for very simple UTF-8 case.
19537
19538         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
19539         a pointer-to-const.
19540         (re_acquire_state_context): Likewise.
19541         * lib/regex_internal.h: Adjust prototypes.
19542
19543         * lib/regex.c: Prevent using C++ compilers.
19544
19545         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
19546         (re_acquire_state_context): Likewise.
19547
19548 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19549
19550         * modules/regex (Depends-on): Add ssize_t.
19551
19552 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19553
19554         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
19555         translation table.
19556
19557 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19558
19559         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
19560
19561 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
19562             Bruno Haible  <bruno@clisp.org>
19563
19564         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
19565         <sys/types.h> and <inttypes.h>.
19566
19567 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19568
19569         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
19570         `__error_t_defined', so argp.h will not typedef the former.
19571
19572 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
19573
19574         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
19575         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
19576         glibc names.  Even if glibc is changed to conform to POSIX, the
19577         traditional names will be available anyway, since regex depends on
19578         the extensions module.  Also, fix a longstanding typo in the
19579         implementation of Spencer ERE test #75 from grep 2.3.  Problems
19580         reported by Emanuele Giaquinta.  Also, change sense of cached
19581         variable, so that the message makes sense.
19582
19583 2006-03-24  Simon Josefsson  <jas@extundo.com>
19584
19585         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
19586         including some doc fixes.
19587         (base64_encode_alloc): Fix +1 bug on allocation failures.
19588
19589 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19590
19591         * lib/base64.c (base64_encode): Do not read past end of array with
19592         unsanitized input on systems with CHAR_BIT > 8.
19593
19594 2006-03-24  Eric Blake  <ebb9@byu.net>
19595
19596         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
19597
19598 2006-03-22  Karl Berry  <karl@gnu.org>
19599
19600         * config/srclist.txt (*setenv.[ch]): get from coreutils.
19601         * config/srclistvars.sh (COREUTILS): new var.
19602
19603 2006-03-17  Jim Meyering  <jim@meyering.net>
19604
19605         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
19606         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
19607
19608 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
19609
19610         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
19611         no longer needs it.  Instead, check that regoff_t is as least
19612         as wide as ptrdiff_t.
19613
19614         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
19615         so that our regex.h stays compatible with the installed regex.
19616         This is helpful for installers who configure --without-included-regex.
19617         Problem reported by Emanuele Giaquinta.
19618
19619 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
19620
19621         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
19622         Typedef to long int, not to off_, as POSIX will likely change
19623         in that direction.
19624
19625 2006-03-15  Eric Blake  <ebb9@byu.net>
19626
19627         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
19628
19629 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
19630
19631         * lib/argp-help.c (validate_uparams): Fix typo
19632         * lib/argp-parse.c (argp_default_options): Consistently begin help
19633         messages with a lowercase letter.
19634
19635 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
19636
19637         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
19638         overrun buffers and shouldn't be used (much as gets shouldn't be
19639         used).
19640         * lib/time_r.c (asctime_r, ctime_r): Likewise.
19641
19642 2006-03-08  Simon Josefsson  <jas@extundo.com>
19643
19644         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
19645         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19646
19647 2006-03-08  Simon Josefsson  <jas@extundo.com>
19648
19649         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
19650         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19651
19652 2006-03-08  Simon Josefsson  <jas@extundo.com>
19653
19654         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
19655         signal that configure disabled the device.
19656
19657 2006-03-08  Simon Josefsson  <jas@extundo.com>
19658
19659         * build-aux/maint.mk: Fix refresh-po, to handle no translated
19660         languages.
19661
19662 2006-03-07  Simon Josefsson  <jas@extundo.com>
19663
19664         * modules/getopt (Depends-on): Add unistd.
19665
19666         * modules/unistd: New file.
19667
19668 2006-03-07  Simon Josefsson  <jas@extundo.com>
19669
19670         * modules/gc-random: New file.
19671
19672 2006-03-07  Simon Josefsson  <jas@extundo.com>
19673
19674         * m4/unistd_h.m4: New file.
19675
19676 2006-03-07  Simon Josefsson  <jas@extundo.com>
19677
19678         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
19679         test to be side-effect free by storing the result in the cache
19680         variable gl_cv_lib_readline, and moving the assignment of
19681         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
19682         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19683
19684 2006-03-07  Simon Josefsson  <jas@extundo.com>
19685
19686         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
19687         error on missing devices (the functions will return an error).
19688
19689         * m4/gc.m4: Move random stuff to gc-random.m4
19690
19691 2006-03-07  Simon Josefsson  <jas@extundo.com>
19692
19693         * lib/unistd_.h: New file.
19694
19695 2006-03-07  Simon Josefsson  <jas@extundo.com>
19696
19697         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
19698
19699 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19700
19701         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
19702         Problem reported by Juan Manuel Guerrero.
19703
19704 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19705
19706         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
19707         the unistd module.
19708         * lib/getlogin_r.c: Likewise.
19709         * lib/getlogin_r.h: Likewise.
19710         * lib/glob.c: Likewise.
19711         * lib/pagealign_alloc.c: Likewise.
19712         * lib/unistd_.h: Remove; no longer needed.
19713
19714 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19715
19716         * MODULES.html.sh (Support for systems lacking POSIX:2001):
19717         Add unistd.
19718         * modules/c-stack (Depends-on): Add unistd.
19719         * modules/getlogin_r: Likewise.
19720         * modules/glob: Likewise.
19721         * modules/pagealign_alloc: Likewise.
19722         * modules/unistd (Files): Remove lib/unistd_.h.
19723         (EXTRA_DIST): Remove.
19724         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
19725         need unistd_.h.
19726         (MOSTLYCLEANFILES): Remove unistd.h-t.
19727
19728 2006-03-03  Simon Josefsson  <jas@extundo.com>
19729
19730         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
19731
19732 2006-03-03  Simon Josefsson  <jas@extundo.com>
19733
19734         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
19735         libidn and bison.
19736
19737 2006-03-03  Simon Josefsson  <jas@extundo.com>
19738
19739         * build-aux/maint.mk: Add indent target.
19740
19741 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
19742
19743         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
19744         our replacement poll.h in any case, to avoid a differing
19745         declaration from a system header.  Seen on AIX.
19746
19747 2006-03-01  Simon Josefsson  <jas@extundo.com>
19748
19749         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
19750         <kasal@ucw.cz>.
19751
19752 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
19753
19754         * modules/gettime (Depends-on): Add extensions module.
19755         * modules/nanosleep (Depends-on): Likewise.
19756         * modules/settime (Depends-on): Likewise.
19757
19758 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
19759
19760         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
19761         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
19762         pedantically.
19763         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19764         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
19765
19766         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
19767         not "==".  Reported by Ralf Wildenhues.
19768
19769 2006-03-01  Karl Berry  <karl@gnu.org>
19770
19771         * doc/Copyright/request-*: new files, synced from gnuorg.
19772
19773 2006-03-01  Karl Berry  <karl@gnu.org>
19774
19775         * config/srclist.txt (Copyright/*): new entries.
19776
19777 2006-02-28  Simon Josefsson  <jas@extundo.com>
19778
19779         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
19780
19781 2006-02-27  Simon Josefsson  <jas@extundo.com>
19782
19783         * lib/base64.h: Indent #define's.  From Jim Meyering
19784         <jim@meyering.net>.
19785
19786 2006-02-27  Jim Meyering  <jim@meyering.net>
19787
19788         Revert the change of 2006-02-24, so these files can continue
19789         to be sync'd from gettext.
19790         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
19791         of `config.h'.
19792
19793 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
19794
19795         * modules/intprops: New file.
19796         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
19797         Add intprops.
19798         * modules/getloadavg (Files): Remove lib/intprops.h.
19799         (Depends-on): Add intprops.
19800         * modules/human: Likewise.
19801         * modules/inttostr: Likewise.
19802         * modules/openat: Likewise.
19803         * modules/sig2str: Likewise.
19804         * modules/userspec: Likewise.
19805         * modules/utimecmp: Likewise.
19806         * modules/xnanosleep: Likewise.
19807         * modules/xstrtol: Likewise.
19808
19809 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
19810
19811         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
19812         * modules/lock-tests (TESTS): Use $(EXEEXT).
19813         * modules/tls-tests: Likewise.
19814         * modules/argp-tests: Likewise.
19815         (check_PROGRAMS): New var, replacing...
19816         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
19817
19818 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19819
19820         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
19821         `config.h'.
19822
19823 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19824
19825         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
19826
19827 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19828
19829         Sync from coreutils.
19830         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
19831         gl_CHDIR_SAFER.
19832
19833 2006-02-22  Jim Meyering  <jim@meyering.net>
19834
19835         Sync from coreutils.
19836         * m4/chdir-safer.m4: New file.
19837
19838 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19839
19840         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
19841         AT_FDCWD exceeds INT_MAX.
19842         * lib/openat.h (AT_FDCWD): Likewise.
19843
19844 2006-02-17  Eric Blake  <address@hidden>
19845
19846         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
19847
19848 2006-02-16  Simon Josefsson  <jas@extundo.com>
19849
19850         * modules/getaddrinfo (Depends-on): Add sys_socket.
19851
19852 2006-02-15  Simon Josefsson  <jas@extundo.com>
19853
19854         * build-aux/maint.mk: Add dsyntax-check rule.
19855
19856 2006-02-15  Eric Blake  <ebb9@byu.net>
19857
19858         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
19859         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
19860         'present but cannot compile' warnings on cygwin.
19861         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
19862         use ws2tcpip.h if sys/socket.h works.
19863         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
19864         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
19865
19866 2006-02-14  Simon Josefsson  <jas@extundo.com>
19867
19868         * modules/maintainer-makefile (Files): Rename.
19869
19870         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
19871         and (the local) Makefile.cfg to maint-cfg.mk.
19872
19873         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
19874         to the latter.
19875
19876         * modules/maintainer-makefile: New module.
19877
19878         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
19879         severaly stripped to make it possible to build it up from scratch
19880         with reliable tests.
19881
19882         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
19883         fixes to permit overriding the default actions when configure and
19884         makefile are not available.
19885
19886 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
19887
19888         Sync from coreutils.
19889         * modules/lstat (Depends-on): Don't depend on xalloc.
19890         (License): Change from GPL to LGPL, since this is now simply a
19891         replacement for a libc function.
19892
19893 2006-02-14  Jim Meyering  <jim@meyering.net>
19894
19895         Sync from coreutils.
19896
19897         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
19898         failure on deficient systems, and simplify gnulib lgpl dependencies.
19899         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
19900         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
19901
19902         * lib/xalloc-die.c: Remove unused definition of N_.
19903
19904 2006-02-14  Jim Meyering  <jim@meyering.net>
19905
19906         Sync from coreutils.
19907         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
19908         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
19909         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
19910         double-quote uses of that variable, to accommodate the rare case in
19911         which getmntent is available in none of the libraries checked.  This
19912         happens at least on FreeBSD 5.0.
19913
19914 2006-02-13  Simon Josefsson  <jas@extundo.com>
19915
19916         * gnulib-tool (Usage): Fix --import, from
19917         karl@freefriends.org (Karl Berry).
19918
19919 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
19920
19921         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
19922
19923 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
19924
19925         * lib/argp-namefrob.h: Restore changes accidentally lost during the
19926         "autoupdate" on 2005-12-12.
19927
19928 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
19929
19930         * modules/closeout (Depends-on): Remove atexit.
19931
19932 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
19933
19934         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
19935         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
19936
19937 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
19938
19939         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
19940         __EXTENSIONS__ if this causes compilation to fail.  Problem
19941         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
19942         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
19943
19944 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19945
19946         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
19947         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
19948         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
19949         All uses changed.
19950
19951 2006-01-26  Simon Josefsson  <jas@extundo.com>
19952
19953         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
19954         prototype is visible on mingw32.
19955
19956         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
19957         for mingw32.
19958
19959         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
19960         mingw32).
19961
19962 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
19963
19964         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
19965         attempt to open for write; this always fails, at least on POSIX
19966         hosts.  This reinstates the 2006-01-09 change, which was
19967         inadvertently removed.
19968
19969 2006-01-26  Bruno Haible  <bruno@clisp.org>
19970
19971         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
19972         Reported by Paul Eggert.
19973
19974 2006-01-26  Bruno Haible  <bruno@clisp.org>
19975             Paul Eggert  <eggert@cs.ucla.edu>
19976
19977         * lib/stdbool_.h (_Bool)
19978         [(! (defined __cplusplus || defined __BEOS__)
19979           && !defined __GNUC__
19980           && !(defined __HP_cc || defined __xlc__
19981                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
19982                || defined __sgi))]:
19983         #define to signed char in these cases too; this simplifies
19984         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
19985         etc., separately) and makes it more conservative.
19986
19987 2006-01-25  Simon Josefsson  <jas@extundo.com>
19988
19989         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
19990         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
19991         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
19992
19993 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19994
19995         * lib/argp-namefrob.h: Bugfix. Remove stray #
19996
19997 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19998
19999         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
20000         so that we test the test.
20001         Check for yet another HP-UX cc bug involving *bool |= bool.
20002
20003 2006-01-25  Karl Berry  <karl@gnu.org>
20004
20005         * config/srclist.txt (vasnprintf.c): sync lost.
20006
20007 2006-01-25  Jim Meyering  <jim@meyering.net>
20008
20009         Sync from the stable (b5) branch of coreutils:
20010
20011         * lib/fts.c (fts_children): Don't let close() clobber errno from
20012         failed fchdir().
20013
20014         * lib/fts.c (fts_stat): When following a symlink-to-directory,
20015         don't necessarily interpret stat-fails+lstat-succeeds as indicating
20016         a dangling symlink.  That can also happen at least for ELOOP.
20017         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
20018         FYI, this bug predates the inclusion of fts.c in coreutils.
20019
20020         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
20021         in their own block, so pre-c99 compilers don't object.
20022
20023         Avoid the double-free (first in fts_read, second in fts_close) that
20024         would occur when an `active' directory is made inaccessible (e.g.,
20025         via chmod a-x) during a traversal.
20026         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
20027         before returning.  Reproduce this failure by
20028         mkdir -p a/b; cd a; chmod a-x . b
20029         Reported by Stavros Passas.
20030
20031 2006-01-25  Jim Meyering  <jim@meyering.net>
20032
20033         * lib/fileblocks.c: Remove more useless parentheses.
20034         * lib/readutmp.h: Likewise.
20035
20036 2006-01-25  Bruno Haible  <bruno@clisp.org>
20037
20038         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
20039         warnings.
20040         Reported by Paul Eggert.
20041
20042 2006-01-25  Bruno Haible  <bruno@clisp.org>
20043
20044         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
20045         rid of a trap command. For Solaris sh.
20046         Reported by Mark D. Baushke <mdb@gnu.org>.
20047
20048 2006-01-24  Simon Josefsson  <jas@extundo.com>
20049
20050         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
20051         Bruno.
20052
20053 2006-01-24  Karl Berry  <karl@gnu.org>
20054
20055         * config/srclist.txt (argp-namefrob.h): sync lost.
20056
20057 2006-01-24  Jim Meyering  <jim@meyering.net>
20058
20059         * modules/openat (Files): Add lib/intprops.h.
20060         From Mark D. Baushke.
20061
20062 2006-01-24  Jim Meyering  <jim@meyering.net>
20063
20064         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
20065         Reported by Mark D. Baushke.
20066
20067 2006-01-24  Jim Meyering  <jim@meyering.net>
20068
20069         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
20070
20071 2006-01-24  Bruno Haible  <bruno@clisp.org>
20072
20073         * modules/strnlen (Maintainer): Change from glibc to all.
20074
20075 2006-01-24  Bruno Haible  <bruno@clisp.org>
20076
20077         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
20078         Patch by Paul Eggert.
20079
20080 2006-01-24  Bruno Haible  <bruno@clisp.org>
20081
20082         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
20083         already has it.
20084         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
20085         2005-11-26.
20086
20087         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
20088         'signed char' to avoid problems with the built-in _Bool type.
20089         Reported by Paul Eggert on 2005-11-26.
20090
20091 2006-01-24  Bruno Haible  <bruno@clisp.org>
20092
20093         * gnulib-tool (func_import): Avoid constructing complicated sed
20094         expressions inside backquote.
20095         Report and solution by Mark D. Baushke <mdb@gnu.org>.
20096
20097 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
20098
20099         These changes imported from libc.
20100         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
20101         test and two separate function calls.
20102         * lib/strndup.c (__strndup): Add libc_hidden_def.
20103
20104 2006-01-23  Simon Josefsson  <jas@extundo.com>
20105
20106         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
20107         Remove the test_*_SOURCES variable: automake infers it by default.
20108         * modules/tls-tests: Likewise.
20109
20110 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20111
20112         Work around porting bugs reported by Dieter in
20113         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
20114         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
20115         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
20116         Include "getopt.h" first, to check interface.
20117         (getenv): Declare only if defined HAVE_DECL_GETENV &&
20118         !HAVE_DECL_GETENV.
20119         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
20120         (__strndup): Revert to K&R-style function dfns, the glibc style.
20121         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
20122         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
20123         Include strnlen.h first, to get prototype properly.
20124         (strnlen): Renamed from __strnlen.
20125         Remove weak alias.
20126
20127 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20128
20129         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
20130
20131 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20132
20133         * config/srclist.txt: Adjust to reflect glibc reorganization.
20134         This affects only comments.
20135
20136 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
20137
20138          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
20139          Reported by Bruce Korb <bkorb@gnu.org>.
20140
20141 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
20142
20143         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
20144         to pacify gcc -Wswitch-default.
20145
20146 2006-01-22  Bruno Haible  <bruno@clisp.org>
20147
20148         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
20149         temporary buffer for sprintf, take into account the precision also
20150         for 'd', 'i', 'u', 'o', 'x', 'X'.
20151
20152 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
20153
20154         * modules/argp-tests: New module
20155         * tests/test-argp.c: New file
20156         * tests/test-argp-2.sh: New file
20157
20158 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
20159
20160         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
20161         (__argp_base_name): Removed
20162         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
20163         typo.
20164         (__argp_base_name): Provide macro definition or extern declaration
20165         depending on the configuration
20166
20167 2006-01-20  Simon Josefsson  <jas@extundo.com>
20168
20169         * modules/inet_ntop (Depends-on): Depend on sys_socket.
20170
20171 2006-01-20  Simon Josefsson  <jas@extundo.com>
20172
20173         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
20174
20175 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20176
20177         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
20178         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
20179         Suggested by Bruno Haible.
20180
20181 2006-01-20  Karl Berry  <karl@gnu.org>
20182
20183         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
20184         until changes propagate, I guess.
20185
20186 2006-01-19  Simon Josefsson  <jas@extundo.com>
20187
20188         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
20189
20190 2006-01-19  Simon Josefsson  <jas@extundo.com>
20191
20192         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
20193
20194 2006-01-19  Simon Josefsson  <jas@extundo.com>
20195
20196         * gnulib-tool: Set check_PROGRAMS.
20197
20198         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
20199         modules/des-tests, modules/gc-arcfour-tests,
20200         modules/gc-arctwo-tests, modules/gc-des-tests,
20201         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
20202         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
20203         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
20204         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
20205         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
20206         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
20207         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
20208         test_*_SOURCES.
20209
20210 2006-01-18  Simon Josefsson  <jas@extundo.com>
20211
20212         * modules/socklen (Depends-on): Depend on sys_socket.
20213
20214 2006-01-18  Simon Josefsson  <jas@extundo.com>
20215
20216         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
20217         modules/des-tests, modules/gc-arcfour-tests,
20218         modules/gc-arctwo-tests, modules/gc-des-tests,
20219         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
20220         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
20221         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
20222         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
20223         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
20224         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
20225         $(EXEEXT) to automake TESTS variable, for mingw32.
20226
20227 2006-01-17  Simon Josefsson  <jas@extundo.com>
20228
20229         * modules/socklen (Include): Need sys/socket.h.
20230
20231 2006-01-17  Bruno Haible  <bruno@clisp.org>
20232
20233         * modules/ssize_t (Include): Add <sys/types.h>.
20234
20235 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
20236
20237         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
20238         it's not portable and it doesn't work with cross-compiles.
20239         Problem reported by Bruno Haible.  Fix missing-$ typo in
20240         'test "gl_cv_ignore_unused_libraries" ...' that prevented
20241         -zignore from being used with Sun's C compiler.
20242
20243 2006-01-12  Simon Josefsson  <jas@extundo.com>
20244
20245         * lib/base64.c: Fix warning, reported by Bruno Haible
20246         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
20247
20248 2006-01-12  Bruno Haible  <bruno@clisp.org>
20249
20250         * modules/ldd: New file.
20251         * build-aux/ldd.sh.in: New file.
20252         * MODULES.html.sh (Support for building libraries and executables): Add
20253         ldd.
20254
20255 2006-01-12  Bruno Haible  <bruno@clisp.org>
20256
20257         * m4/ldd.m4: New file.
20258
20259 2006-01-12  Bruno Haible  <bruno@clisp.org>
20260
20261         * gnulib-tool (func_import, func_create_testdir): Don't go into an
20262         endless loop while replacing $auxdir with build-aux.
20263
20264 2006-01-11  Simon Josefsson  <jas@extundo.com>
20265
20266         * lib/stdint_.h (SIZE_MAX): Add missing (.
20267
20268 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20269
20270         Sync from coreutils.
20271         * lib/md5.c: Fix commentary typos.
20272         (alignof, UNALIGNED_P): No need for a GCC-specific version.
20273         * lib/md5.h (__attribute__): Remove; unused.
20274         * lib/sha1.c: Fix commentary to match md5 better.
20275         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
20276         so that we don't need to worry about alignment.  All uses changed.
20277         This merges the 2005-10-28 md5 change into sha1.
20278
20279 2006-01-11  Jim Meyering  <jim@meyering.net>
20280
20281         Sync from coreutils.
20282         * lib/md5.c (OP): Fix spacing.
20283
20284 2006-01-11  Bruno Haible  <bruno@clisp.org>
20285
20286         Ensure automatic ordering between gl_LOCK and gl_ARGP.
20287         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
20288         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
20289
20290 2006-01-11  Bruno Haible  <bruno@clisp.org>
20291
20292         Ensure automatic ordering between gl_LOCK and gl_ARGP.
20293         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
20294         the "early" section as well.
20295
20296 2006-01-11  Bruno Haible  <bruno@clisp.org>
20297
20298         Avoid "ar: no archive members specified" error on MacOS X.
20299         * gnulib-tool (func_modules_add_dummy): New function.
20300         (func_import, func_create_testdir): Invoke it.
20301
20302 2006-01-11  Bruno Haible  <bruno@clisp.org>
20303
20304         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
20305         with $auxdir in AC_CONFIG_FILES statements.
20306
20307 2006-01-11  Bruno Haible  <bruno@clisp.org>
20308
20309         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20310         Initialize also noinst_HEADERS to empty.
20311
20312 2006-01-11  Bruno Haible  <bruno@clisp.org>
20313
20314         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
20315         variables.
20316         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
20317         autoreconf.
20318
20319 2006-01-11  Bruno Haible  <bruno@clisp.org>
20320
20321         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
20322         overridable by the user.
20323         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
20324
20325 2006-01-10  Simon Josefsson  <jas@extundo.com>
20326
20327         * modules/sys_socket: New file.
20328
20329 2006-01-10  Simon Josefsson  <jas@extundo.com>
20330
20331         * m4/sys_socket_h.m4: New file.
20332
20333 2006-01-10  Simon Josefsson  <jas@extundo.com>
20334
20335         * lib/socket_.h: New file.
20336
20337 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20338
20339         * modules/readutmp (Maintainer): Add myself.
20340
20341 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20342
20343         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
20344         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
20345         People who are still concerned with buggy memcmp implementations
20346         can invoke gl_FUNC_MEMCMP themselves.
20347
20348 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20349
20350         * lib/regex_internal.h (BITSET_WORD_BITS):
20351         Work around a bug in 64-bit PGC (before version 6.1-2), where the
20352         preprocessor mishandles large unsigned values as if they were signed.
20353         Problem reported by Claudio Fontana in
20354         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
20355
20356 2006-01-10  Jim Meyering  <jim@meyering.net>
20357
20358         Avoid the double-free (first in fts_read, second in fts_close) that
20359         would occur when an `active' directory is made inaccessible (e.g.,
20360         via chmod a-x) during a traversal.
20361         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
20362         before returning.  Reproduce this failure by
20363         mkdir -p a/b; cd a; chmod a-x . b
20364         Reported by Stavros Passas.
20365
20366         Sync from coreutils.
20367         * lib/sha1.c: Tweak grammar in a comment.
20368
20369 2006-01-10  Jim Meyering  <jim@meyering.net>
20370
20371         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
20372         Patch by Joerg Sonnenberger.
20373
20374 2006-01-10  Bruno Haible  <bruno@clisp.org>
20375
20376         * modules/readutmp: Depend on module free.
20377         * modules/strtok_r: Depend on module restrict.
20378
20379 2006-01-10  Bruno Haible  <bruno@clisp.org>
20380
20381         * modules/gettext (configure.ac): Add an invocation of
20382         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
20383
20384 2006-01-10  Bruno Haible  <bruno@clisp.org>
20385
20386         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
20387         Reported by Werner Lemberg <wl@gnu.org>.
20388
20389 2006-01-10  Bruno Haible  <bruno@clisp.org>
20390
20391         * lib/localcharset.c: Update from GNU gettext.
20392
20393 2006-01-10  Bruno Haible  <bruno@clisp.org>
20394
20395         * lib/argp.h (__const): Remove macro. Use const instead.
20396         * lib/argp-fmtstream.h (__const): Likewise.
20397         * lib/glob_.h (__const): Remove macro.
20398         * lib/glob-libc.h: Use const instead of __const.
20399
20400 2006-01-10  Bruno Haible  <bruno@clisp.org>
20401
20402         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
20403         variable.
20404         Needed to avoid an automake error regarding the 'gettext' module.
20405
20406 2006-01-09  Simon Josefsson  <jas@extundo.com>
20407
20408         * modules/inet_ntop (Depends-on): Add restrict.
20409
20410 2006-01-09  Simon Josefsson  <jas@extundo.com>
20411
20412         * modules/gc-rijndael-tests (License): Put under LGPL.
20413
20414         * modules/gc-des-tests (License): Likewise.
20415
20416         * modules/gc-arcfour-tests (License): Likewise.
20417
20418         * modules/gc-arctwo-tests (License): Likewise.
20419
20420         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
20421
20422         * modules/gc-hmac-sha1-tests (Files): Likewise.
20423
20424         * modules/gc-hmac-md5-tests (License): Likewise.
20425
20426         * modules/gc-sha1-tests (License): Likewise.
20427
20428         * modules/gc-md5-tests (License): Likewise.
20429
20430         * modules/gc-md4-tests (License): Likewise.
20431
20432         * modules/gc-md2-tests (License): Likewise.
20433
20434         * modules/gc-tests (License): Likewise.
20435
20436         * modules/des-tests (License): Likewise.
20437
20438         * modules/md4-tests (License): Likewise.
20439
20440         * modules/md2-tests (License): Likewise.
20441
20442 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20443
20444         Sync from coreutils:
20445
20446         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
20447         * modules/lib-ignore: New file.
20448         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
20449         chdir-safer.m4, lchmod.m4.
20450         * modules/openat: Add mkdirat.c, openat-priv.h.
20451
20452 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20453
20454         Sync from coreutils.
20455         * m4/lib-ignore.m4: New file.
20456         * m4/lchmod.m4: New file.
20457
20458 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20459
20460         Sync from coreutils.
20461         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
20462         for write access: POSIX says that must fail.
20463         * lib/fts.c (diropen): Likewise.
20464         * lib/save-cwd.c (save_cwd): Likewise.
20465         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
20466         well, for minor improvements on hosts that lack O_DIRECTORY.
20467         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
20468         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
20469         Fall back on chown if open failed with EACCES.
20470
20471         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
20472         Report an error at compile-time if only a 1-second nominal clock
20473         resolution is found.
20474
20475         * lib/lchmod.h: New file.
20476         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
20477         (make_dir_parents): Use lchown rather than chown, and
20478         lchmod rather than chmod.
20479
20480         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
20481         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
20482         "proc" reported by n0dalus.
20483
20484         * lib/mountlist.c: Include <limits.h>.
20485         (dev_from_mount_options)
20486         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
20487         New function.  It no longer assumes "dev=" has the System V meaning
20488         on Linux (since it doesn't).  It also parses "dev=" more carefully.
20489         (read_file_system_list)
20490         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
20491         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
20492         dev= in that case.
20493
20494         * lib/posixtm.h (PDS_PRE_2000): New macro.
20495         * lib/posixtm.c (year): Arg is now syntax_bits rather than
20496         allow_century.  All usages changed.  Reject dates outside the range
20497         1969-1999 if PDS_PRE_2000 is used.
20498
20499 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20500
20501         Sync from coreutils.
20502         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
20503         (Time of day items): Mention the possibility of leap seconds.
20504         Problem reported by Dr. David Alan Gilbert.
20505
20506 2006-01-09  Jim Meyering  <jim@meyering.net>
20507
20508         Sync from coreutils.
20509
20510         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
20511
20512         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
20513
20514         * lib/modechange.c (mode_compile): Reject an invalid mode string
20515         that starts with an octal digit.  From Andreas Gruenbacher.
20516
20517         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
20518         and dup to open_safer and dup_safer, respectively.
20519         (openat_permissive): Fix typo in comment.
20520
20521         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
20522         "gettext.h"; either no longer needed or are guaranteed by openat.h.
20523         (_): Remove; no longer needed.
20524         (openat): Renamed from rpl_openat; no need for rpl_openat
20525         since openat.h renames openat for us.
20526         Replace most of the body with a call to openat_permissive,
20527         to avoid duplicate code.
20528         Port to (probably hypothetical) environments were mode_t is
20529         wider than int.
20530         (openat_permissive): Require mode arg, so that we can check
20531         types better.  Put it just after flags.  Change cwd failure
20532         indicator from pointer-to-bool to pointer-to-errno-value.
20533         All callers changed.
20534         Invoke openat_save_fail and/or openat_restore_fail if
20535         cwd_errno is null, so that openat can call us.
20536         (openat_permissive, fdopendir, fstatat, unlinkat):
20537         Simplify errno handling to avoid some duplicate code,
20538         as it's OK to set errno on success.
20539         * lib/openat.h: Revamp code so that function macros depend on
20540         __OPENAT_PREFIX only, not also on AT_FDCWD.
20541         (openat_ro): Remove.  Caller changed to use openat_permissive.
20542         (openat_permissive): Now a macro, if not a function.
20543         (openat_restore_fail, openat_save_fail): Now always functions,
20544         since mkdirat needs them even if __OPENAT_PREFIX is defined.
20545
20546         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
20547         and openat.c.
20548         * lib/mkdirat.c: Include openat-priv.h.
20549         Remove definitions of macros defined therein.
20550         * lib/openat.c: Likewise.
20551
20552         * lib/mkdirat.c (mkdirat): New file and function.
20553         * lib/openat.h (mkdirat): Declare.
20554
20555         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
20556
20557         * lib/openat.h (openat_permissive): Declare.
20558         (openat_ro): Define.
20559
20560         * lib/openat.c (EXPECTED_ERRNO): New macro.
20561         (openat_permissive): New function -- used in remove.c rewrite.
20562         (all functions): Set errno just before returning, only if there
20563         was an actual failure.
20564         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
20565
20566         Emulate openat-family functions using Linux's procfs, if possible.
20567         Idea and some code based on Ulrich Drepper's glibc changes.
20568
20569         * lib/openat.c: (BUILD_PROC_NAME): New macro.
20570         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
20571         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
20572         before falling back on save_cwd and restore_cwd.
20573         (fdopendir, fstatat, unlinkat): Likewise.
20574
20575         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
20576         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
20577
20578         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
20579         as second argument to va_arg.  Otherwise, some versions of gcc
20580         warn that `if this code is reached, the program will abort'.
20581
20582 2006-01-09  Jim Meyering  <jim@meyering.net>
20583
20584         Sync from coreutils.
20585         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
20586         Require openat-priv.h.
20587
20588 2006-01-09  Bruno Haible  <bruno@clisp.org>
20589
20590         * modules/strnlen (Include): Use strnlen.h.
20591
20592 2006-01-09  Bruno Haible  <bruno@clisp.org>
20593
20594         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
20595
20596 2006-01-09  Bruno Haible  <bruno@clisp.org>
20597
20598         * lib/sysexit_.h (EX_OK): New macro.
20599         Suggested by Martin Lambers <marlam@marlam.de>.
20600
20601 2006-01-09  Bruno Haible  <bruno@clisp.org>
20602
20603         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
20604         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
20605
20606 2006-01-09  Bruno Haible  <bruno@clisp.org>
20607
20608         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
20609         numbers.
20610
20611 2006-01-09  Bruno Haible  <bruno@clisp.org>
20612
20613         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
20614         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
20615         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
20616         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
20617
20618 2006-01-09  Bruno Haible  <bruno@clisp.org>
20619
20620         * build-aux/javacomp.sh.in: New file, moved from lib/.
20621         * modules/javacomp-script (Files): Update.
20622         (configure.ac): Add AC_CONFIG_FILES invocation.
20623         (EXTRA_DIST): Remove variable.
20624
20625         * build-aux/javaexec.sh.in: New file, moved from lib/.
20626         * modules/javaexec (Files): Update.
20627         (configure.ac): Add AC_CONFIG_FILES invocation.
20628         (EXTRA_DIST): Remove javaexec.sh.in.
20629
20630         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
20631         * modules/csharpcomp-script (Files): Update.
20632         (configure.ac): Add AC_CONFIG_FILES invocation.
20633         (EXTRA_DIST): Remove variable.
20634
20635         * build-aux/csharpexec.sh.in: New file, moved from lib/.
20636         * modules/csharpexec (Files): Update.
20637         (configure.ac): Add AC_CONFIG_FILES invocation.
20638         (EXTRA_DIST): Remove csharpexec.sh.in.
20639
20640 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
20641
20642         Sync from coreutils.
20643
20644         Add POSIX ACL support
20645         * lib/acl.h (copy_acl, set_acl): Add declarations.
20646         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
20647         systems other than Linux.
20648         (chmod_or_fchmod): New function: use fchmod when possible,
20649         and chmod otherwise.
20650         (file_has_acl): Add a POSIX ACL implementation, with a
20651         Linux-specific subcase.
20652         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
20653         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
20654         acls are unsupported.
20655         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
20656         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
20657         are unsupported.
20658
20659 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
20660
20661         Sync from coreutils.
20662         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
20663
20664 2006-01-07  Bruno Haible  <bruno@clisp.org>
20665
20666         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
20667         gl_EARLY.
20668
20669 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20670
20671         * lib/strftime.c (tzname): Don't declare if it is already #defined.
20672         Problem reported for Mingw by Mark Junker.
20673
20674 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20675
20676         * README: Gnulib normally doesn't generate a tarball.
20677
20678 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20679
20680         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
20681         long int, not int, for nanosecond counts, so that people who are
20682         used to POSIX struct timespec won't be surprised.  Reported by Jim
20683         Meyering.
20684
20685 2005-12-28  Bruno Haible  <bruno@clisp.org>
20686
20687         * build-aux/config.rpath: Update from GNU gettext.
20688
20689 2005-12-16  Jim Meyering  <jim@meyering.net>
20690
20691         * modules/fprintftime: New module.
20692         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
20693
20694 2005-12-16  Jim Meyering  <jim@meyering.net>
20695
20696         * m4/fprintftime.m4: New file.
20697
20698 2005-12-16  Jim Meyering  <jim@meyering.net>
20699
20700         * lib/fprintftime.c, lib/fprintftime.h: New files.
20701
20702 2005-12-15  Simon Josefsson  <jas@extundo.com>
20703
20704         * modules/socklen (configure.ac): Fix M4 macro name, to align with
20705         new m4/socklen.m4.
20706
20707 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
20708
20709         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
20710         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
20711
20712 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
20713
20714         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
20715         * lib/argp-help.c (fill_in_uparams): Check if the constructed
20716         struct uparams is valid. Fall back to the default values if it is
20717         not.
20718
20719 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20720
20721         * modules/argp (Files): Add argp-pin.c
20722         (Depends-on): dirname
20723         (lib_SOURCES): Add argp-pin.c
20724
20725 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20726
20727         * m4/argp.m4:  Check if program_invocation_name and
20728         program_invocation_short_name are declared and define appropriate
20729         macros if they are not.
20730
20731 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
20732
20733         * lib/argp-help.c (__argp_base_name): New function
20734         (__argp_short_program_name): Rewrite using __argp_base_name
20735         * lib/argp-namefrob.h: Define program_invocation_name and
20736         program_invocation_short_name if requested
20737         (__argp_base_name): Add prototype
20738         * lib/argp-parse.c (argp_def): Use gettext wrappers
20739         (argp_default_parser): Use __argp_base_name
20740         * lib/argp-pin.c: New file. Defines program_invocation_name and
20741         program_invocation_short_name on systems that lack them.
20742
20743 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20744
20745         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
20746         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
20747         porting problem reported by Georg Schwarz in
20748         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
20749
20750 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20751
20752         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
20753         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
20754         porting problem reported by Georg Schwarz in
20755         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
20756
20757 2005-12-05  Bruno Haible  <bruno@clisp.org>
20758
20759         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
20760         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
20761         Reported by Mark Junker <mjscod@gmx.de>.
20762
20763 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
20764
20765         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
20766         Use implementation from Albert Chin, with some
20767         comments/corrections by Stepan Kasal and myself.
20768
20769 2005-12-02  Bruno Haible  <bruno@clisp.org>
20770
20771         * gnulib-tool (func_import): Accept GPLed build tool modules when
20772         --lgpl is given.
20773         * modules/csharpcomp-script: New file.
20774         * modules/csharpcomp: Depend on it.
20775         * modules/javacomp-script: New file.
20776         * modules/javacomp: Depend on it.
20777         Suggested by Simon Josefsson.
20778
20779 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20780
20781         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
20782         statement, to work around an HP-UX 10.20 compiler bug reported by
20783         Peter O'Gorman.
20784
20785 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
20786
20787         * modules/savedir (Depends-on): Add openat.
20788
20789 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
20790
20791         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
20792         (uintmax_t) [defined uintmax_t]: Do not declare.
20793         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
20794         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
20795         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
20796         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
20797         sake of portability to weird hosts that C allows (though we don't
20798         know of any practical examples).
20799
20800         * lib/savedir.h (fdsavedir): New decl.
20801         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
20802         contains most of the former guts of savedir.
20803         (savedir): Use savedirstream.
20804         Include "openat.h".
20805
20806 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20807
20808         * modules/obstack (Files): Add m4/ulonglong.m4.
20809         Problem reported by Davide Angelocola.
20810
20811 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20812
20813         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
20814         coreutils no longer futzes with rounding modes.
20815
20816 2005-11-14  Jim Meyering  <jim@meyering.net>
20817
20818         * lib/mkstemp-safer.c: Include <config.h>, required for possible
20819         replacement of mkstemp.
20820
20821 2005-11-10  Simon Josefsson  <jas@extundo.com>
20822
20823         * lib/readline.c: Remove EOL.
20824
20825 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20826
20827         * modules/gethrxtime (Depends-on): Add gettime.
20828
20829 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20830
20831         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
20832         or gettimeofday; no longer needed.
20833
20834 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
20835
20836         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
20837         time business.
20838         (gethrxtime) [! (HAVE_NANOUPTIME
20839         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
20840         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
20841         our own approximation.
20842
20843 2005-11-08  Eric Blake  <ebb9@byu.net>
20844
20845         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
20846
20847 2005-11-08  Eric Blake  <ebb9@byu.net>
20848
20849         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
20850
20851 2005-11-04  Bruno Haible  <bruno@clisp.org>
20852
20853         * gnulib-tool: Implement --update mode.
20854
20855 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20856
20857         Fix porting problem reported by Theodoros V. Kalamatianos.
20858         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
20859         Don't assume that futimes failing means we must fail.
20860
20861 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20862
20863         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
20864         variables to suggest the intended function of the PATH_MAX check.
20865
20866 2005-10-30  Kean Johnston  <jkj@sco.com>
20867
20868         Trivial changes to support SCO systems.
20869         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
20870         as PATH_MAX.
20871         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
20872         where __ptr is null when no I/O is pending.
20873
20874 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
20875
20876         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
20877         leave errno alone.  Problem reported by Dmitry V. Levin.
20878
20879 2005-10-28  Simon Josefsson  <jas@extundo.com>
20880
20881         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
20882         Test more.
20883
20884         * tests/test-gc-md2.c, tests/test-md2.c: New files.
20885
20886         * modules/md2, modules/md2-tests: New files.
20887
20888 2005-10-28  Simon Josefsson  <jas@extundo.com>
20889
20890         * m4/inet_ntop.m4: More tests.
20891
20892         * m4/gc-md2.m4, md2.m4: New file.
20893
20894 2005-10-28  Simon Josefsson  <jas@extundo.com>
20895
20896         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
20897         "restrict" keywords, as per POSIX.  Protect the function
20898         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
20899         Don't use K&R prototypes.  Check the sprintf return values.
20900         Re-define EAFNOSUPPORT if not present.  Indent.
20901
20902         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
20903         suggested by Bruno Haible <bruno@clisp.org>.
20904
20905         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
20906
20907         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
20908
20909         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
20910         libgcrypt).
20911
20912         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
20913
20914         * lib/md2.h, lib/md2.c: New files.
20915
20916 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
20917
20918         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
20919         errno alone.  Problem reported by Frederic Jolliton.
20920
20921 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
20922
20923         * modules/verify (License): Change from GPL to LGPL.  This is a
20924         tiny module and there are apparently near-equivalents that are
20925         under the BSD license.
20926
20927 2005-10-24  Simon Josefsson  <jas@extundo.com>
20928
20929         * modules/sha1: Relicense to LGPL.
20930
20931 2005-10-24  Simon Josefsson  <jas@extundo.com>
20932
20933         * lib/md4.h: Shrink buffer size, now that we changed the type.
20934
20935 2005-10-23  Simon Josefsson  <jas@extundo.com>
20936
20937         * gnulib-tool (func_import): Fix --tests-base.
20938
20939 2005-10-22  Simon Josefsson  <jas@extundo.com>
20940
20941         * modules/arcfour (Depends-on): Need stdint.
20942
20943 2005-10-22  Simon Josefsson  <jas@extundo.com>
20944
20945         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
20946         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
20947
20948 2005-10-22  Simon Josefsson  <jas@extundo.com>
20949
20950         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
20951         suggested by Bruno Haible <bruno@clisp.org>.
20952
20953 2005-10-22  Simon Josefsson  <jas@extundo.com>
20954
20955         * lib/crc.h: Include stddef.h, for size_t.
20956
20957 2005-10-22  Simon Josefsson  <jas@extundo.com>
20958
20959         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
20960         arcfour_context struct (simplify test vector testing in GNU
20961         Shishi).
20962
20963 2005-10-21  Simon Josefsson  <jas@extundo.com>
20964
20965         * modules/des, modules/des-tests: New files.
20966
20967         * modules/gc-des, modules/gc-des-tests: New files.
20968
20969         * tests/test-des.c, tests/test-gc-des.c: New file.
20970
20971 2005-10-21  Simon Josefsson  <jas@extundo.com>
20972
20973         * modules/arctwo, modules/arctwo-tests: New files.
20974
20975         * tests/test-arctwo.c: New file.
20976
20977         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
20978
20979         * tests/test-gc-arctwo.c: New file.
20980
20981 2005-10-21  Simon Josefsson  <jas@extundo.com>
20982
20983         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
20984         Bruno Haible <bruno@clisp.org>.
20985
20986         * m4/gc-des.m4: New file.
20987
20988 2005-10-21  Simon Josefsson  <jas@extundo.com>
20989
20990         * m4/arctwo.m4: New file.
20991
20992         * m4/gc-arctwo.m4: New file.
20993
20994 2005-10-21  Simon Josefsson  <jas@extundo.com>
20995
20996         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
20997         block.
20998
20999 2005-10-21  Simon Josefsson  <jas@extundo.com>
21000
21001         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
21002         <bruno@clisp.org>.
21003
21004         * lib/hmac-sha1.c (hmac_sha1): Likewise.
21005
21006         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
21007         Bruno Haible <bruno@clisp.org>.
21008
21009         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
21010         <bruno@clisp.org>.
21011
21012 2005-10-21  Simon Josefsson  <jas@extundo.com>
21013
21014         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
21015
21016 2005-10-21  Simon Josefsson  <jas@extundo.com>
21017
21018         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
21019
21020 2005-10-21  Simon Josefsson  <jas@extundo.com>
21021
21022         * lib/des.h, lib/des.c: New files.
21023
21024         * lib/gc-gnulib.c: Support DES.c
21025
21026 2005-10-21  Simon Josefsson  <jas@extundo.com>
21027
21028         * lib/arctwo.h, lib/arctwo.c: New files.
21029
21030         * lib/gc-gnulib.c: Support ARCTWO.
21031
21032 2005-10-21  Simon Josefsson  <jas@extundo.com>
21033
21034         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
21035         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21036
21037 2005-10-21  Simon Josefsson  <jas@extundo.com>
21038
21039         * gnulib-tool (func_import, func_create_testdir): Define automake
21040         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
21041         Makefile.am snippet),
21042         suggested by Bruno Haible <bruno@clisp.org>.
21043
21044         * modules/gc (Makefile.am): Use it.
21045
21046 2005-10-21  Bruno Haible  <bruno@clisp.org>
21047
21048         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
21049         patch.
21050
21051 2005-10-19  Simon Josefsson  <jas@extundo.com>
21052
21053         * tests/test-gc-rijndael.c: New file.
21054
21055         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
21056
21057 2005-10-19  Simon Josefsson  <jas@extundo.com>
21058
21059         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
21060         interface too.
21061
21062 2005-10-19  Simon Josefsson  <jas@extundo.com>
21063
21064         * tests/test-gc-arcfour.c: New file.
21065
21066         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
21067
21068 2005-10-19  Simon Josefsson  <jas@extundo.com>
21069
21070         * modules/gc-md4, modules/gc-md4-tests: New file.
21071
21072         * tests/test-gc-md4.c: New file.
21073
21074 2005-10-19  Simon Josefsson  <jas@extundo.com>
21075
21076         * m4/gc-md4.m4: New file.
21077
21078 2005-10-19  Simon Josefsson  <jas@extundo.com>
21079
21080         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
21081         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
21082         <kasal@ucw.cz>.
21083
21084 2005-10-19  Simon Josefsson  <jas@extundo.com>
21085
21086         * m4/gc-arcfour.m4: New file.
21087
21088         * m4/gc-rijndael.m4: New file.
21089
21090 2005-10-19  Simon Josefsson  <jas@extundo.com>
21091
21092         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
21093
21094 2005-10-19  Simon Josefsson  <jas@extundo.com>
21095
21096         * lib/gc-gnulib.c: Support ARCFOUR.
21097
21098 2005-10-19  Simon Josefsson  <jas@extundo.com>
21099
21100         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
21101         support.
21102
21103         * lib/gc.h: Add ECB enum type.
21104
21105         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
21106
21107 2005-10-18  Simon Josefsson  <jas@extundo.com>
21108
21109         * tests/test-md5.c: New file.
21110
21111         * modules/md5-tests: New file.
21112
21113 2005-10-18  Simon Josefsson  <jas@extundo.com>
21114
21115         * tests/test-md4.c: New file.
21116
21117         * modules/md4, modules/md4-tests: New files.
21118
21119 2005-10-18  Simon Josefsson  <jas@extundo.com>
21120
21121         * m4/md4.m4: New file.
21122
21123 2005-10-18  Simon Josefsson  <jas@extundo.com>
21124
21125         * lib/md4.h, lib/md4.c: New files, based on md5.?.
21126
21127 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
21128
21129         * gnulib-tool (func_create_testdir): Omit the second check whether
21130         BUILT_SOURCES in nonempty.
21131
21132 2005-10-17  Simon Josefsson  <jas@extundo.com>
21133
21134         * tests/test-rijndael.c: New file.
21135
21136 2005-10-17  Simon Josefsson  <jas@extundo.com>
21137
21138         * modules/sha1: Depend on stdint instead of md5.
21139
21140         * modules/md5: Depend on stdint, remove uint32_t.
21141
21142 2005-10-17  Simon Josefsson  <jas@extundo.com>
21143
21144         * modules/gc-sha1-tests: New file.
21145
21146         * tests/test-gc-sha1.c: New file.
21147
21148 2005-10-17  Simon Josefsson  <jas@extundo.com>
21149
21150         * m4/md5.m4: Remove call to uint32_t.m4.
21151
21152 2005-10-17  Simon Josefsson  <jas@extundo.com>
21153
21154         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
21155
21156         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
21157         md5.h.
21158
21159         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
21160
21161         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
21162
21163 2005-10-17  Simon Josefsson  <jas@extundo.com>
21164
21165         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
21166
21167 2005-10-17  Simon Josefsson  <jas@extundo.com>
21168
21169         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
21170
21171 2005-10-17  Simon Josefsson  <jas@extundo.com>
21172
21173         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
21174
21175         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
21176
21177 2005-10-17  Bruno Haible  <bruno@clisp.org>
21178
21179         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
21180         that it can also be used in a test.
21181
21182 2005-10-16  Bruno Haible  <bruno@clisp.org>
21183
21184         * gnulib-tool (func_emit_tests_Makefile_am): Also define
21185         TESTS_ENVIRONMENT, so that individual tests can augment it.
21186
21187         * gnulib-tool (func_create_testdir): Use an intermediate target for
21188         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
21189         macros, like $(ALLOCA_H), which cannot be passed through the command
21190         line.
21191
21192 2005-10-15  Simon Josefsson  <jas@extundo.com>
21193
21194         * modules/rijndael-tests: New file.
21195
21196         * modules/rijndael: New file.
21197
21198 2005-10-15  Simon Josefsson  <jas@extundo.com>
21199
21200         * m4/rijndael.m4: New file.
21201
21202 2005-10-15  Simon Josefsson  <jas@extundo.com>
21203
21204         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
21205
21206         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
21207
21208 2005-10-14  Simon Josefsson  <jas@extundo.com>
21209
21210         * tests/test-arcfour.c: New file.
21211
21212         * modules/arcfour, modules/arcfour-tests: New files.
21213
21214 2005-10-14  Simon Josefsson  <jas@extundo.com>
21215
21216         * m4/arcfour.m4: New file.
21217
21218 2005-10-14  Simon Josefsson  <jas@extundo.com>
21219
21220         * lib/arcfour.h, lib/arcfour.c: New files.
21221
21222 2005-10-14  Roland McGrath  <roland@redhat.com>
21223
21224         Import from libc.  [BZ #1331]
21225         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
21226         macro argument.
21227         Reported by Matej Vela <vela@debian.org>.
21228
21229 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
21230
21231         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
21232         include <wchar.h>; no longer needed.
21233
21234 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
21235
21236         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
21237
21238 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
21239         and  Ulrich Drepper  <drepper@redhat.com>
21240
21241         Import from libc.
21242         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
21243         instead of inline stream orientation test and two separate
21244         function calls.  Pay no attention to USE_IN_LIBIO.
21245
21246 2005-10-13  Simon Josefsson  <jas@extundo.com>
21247
21248         * modules/gc-hmac-md5-tests: New file.
21249
21250         * tests/test-gc-hmac-sha1.c: New file.
21251
21252         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
21253
21254         * modules/gc-hmac-md5-tests: New file.
21255
21256         * tests/test-gc-md5.c: New file.
21257
21258         * modules/gc-md5-tests: New file.
21259
21260 2005-10-13  Simon Josefsson  <jas@extundo.com>
21261
21262         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
21263         Move memory allocation outside of loop.
21264
21265 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21266
21267         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
21268         intermediate directory is in a read-only file system.  Problem
21269         reported by Eric Blake.
21270
21271 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
21272
21273         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
21274
21275 2005-10-12  Simon Josefsson  <jas@extundo.com>
21276
21277         * tests/test-hmac-sha1.c: New file.
21278
21279         * modules/hmac-sha1-tests: New file.
21280
21281         * modules/hmac-sha1: New file.
21282
21283 2005-10-12  Simon Josefsson  <jas@extundo.com>
21284
21285         * modules/gc-sha1: New file.
21286
21287 2005-10-12  Simon Josefsson  <jas@extundo.com>
21288
21289         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
21290
21291         * tests/test-gc-pbkdf2-sha1.c: New file.
21292
21293 2005-10-12  Simon Josefsson  <jas@extundo.com>
21294
21295         * modules/gc-md5, modules/gc-hmac-md5: New files.
21296
21297         * modules/gc (Files): Remove md5, memxor and hmac files.
21298
21299 2005-10-12  Simon Josefsson  <jas@extundo.com>
21300
21301         * m4/gc-pbkdf2-sha1.m4: New file.
21302
21303         * m4/gc-hmac-sha1.m4: New file.
21304
21305         * m4/gc-sha1: New file.
21306
21307         * m4/hmac-sha1.m4: New file.
21308
21309 2005-10-12  Simon Josefsson  <jas@extundo.com>
21310
21311         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
21312
21313         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
21314
21315 2005-10-12  Simon Josefsson  <jas@extundo.com>
21316
21317         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
21318         suggested by Bruno Haible <bruno@clisp.org>.
21319
21320 2005-10-12  Simon Josefsson  <jas@extundo.com>
21321
21322         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
21323
21324 2005-10-12  Simon Josefsson  <jas@extundo.com>
21325
21326         * lib/gc-pbkdf2-sha1.c: New file.
21327
21328         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
21329
21330 2005-10-12  Simon Josefsson  <jas@extundo.com>
21331
21332         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
21333
21334         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
21335
21336 2005-10-12  Simon Josefsson  <jas@extundo.com>
21337
21338         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
21339         GC_USE_HMAC_MD5, respectively.
21340
21341         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
21342         (gc_md5): Fix typo.
21343
21344         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
21345
21346         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
21347
21348         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
21349
21350 2005-10-12  Bruno Haible  <bruno@clisp.org>
21351
21352         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
21353         Reported by Stepan Kasal <kasal@ucw.cz>.
21354
21355 2005-10-11  Simon Josefsson  <jas@extundo.com>
21356
21357         * tests/test-crc.c: New file.
21358
21359         * modules/crc, modules/crc-tests: New files.
21360
21361 2005-10-11  Simon Josefsson  <jas@extundo.com>
21362
21363         * m4/crc.m4: New file.
21364
21365 2005-10-11  Simon Josefsson  <jas@extundo.com>
21366
21367         * lib/gc.h: Add gc_hash and gc_hash_buffer.
21368
21369         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
21370
21371         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
21372
21373 2005-10-11  Simon Josefsson  <jas@extundo.com>
21374
21375         * lib/crc.h, lib/crc.c: New files.
21376
21377         * lib/gc.h (gc_hash_buffer): Add doc.
21378
21379 2005-10-11  Bruno Haible  <bruno@clisp.org>
21380
21381         * modules/c-strcasestr: New file.
21382         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
21383
21384 2005-10-11  Bruno Haible  <bruno@clisp.org>
21385
21386         * modules/c-strcase: New file.
21387         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
21388
21389 2005-10-11  Bruno Haible  <bruno@clisp.org>
21390
21391         * lib/strcasecmp.c: Include limits.h.
21392         (strcasecmp): Avoid integer overflow on exotic platforms.
21393         * lib/strncasecmp.c: Include limits.h.
21394         (strncasecmp): Avoid integer overflow on exotic platforms.
21395         Reported by Paul Eggert.
21396
21397 2005-10-11  Bruno Haible  <bruno@clisp.org>
21398
21399         * lib/c-strcasestr.h: New file, from GNU gettext.
21400         * lib/c-strcasestr.c: New file, from GNU gettext.
21401
21402 2005-10-11  Bruno Haible  <bruno@clisp.org>
21403
21404         * lib/c-strcase.h: New file, from GNU gettext.
21405         * lib/c-strcasecmp.c: New file, from GNU gettext.
21406         * lib/c-strncasecmp.c: New file, from GNU gettext.
21407
21408 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21409
21410         * modules/mempcpy (License): GPL -> LGPL.
21411         * modules/strchrnul (License): Likewise.
21412         * modules/sysexits (License): Likewise.
21413
21414 2005-10-08  Simon Josefsson  <jas@extundo.com>
21415
21416         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
21417
21418 2005-10-07  Simon Josefsson  <jas@extundo.com>
21419
21420         * m4/memxor.m4: Remove gl_C_RESTRICT call.
21421
21422 2005-10-06  Simon Josefsson  <jas@extundo.com>
21423
21424         * tests/test-hmac-md5.c: New file.
21425
21426         * modules/hmac-md5-tests: New file.
21427
21428         * modules/hmac-md5: New file.
21429
21430 2005-10-06  Simon Josefsson  <jas@extundo.com>
21431
21432         * m4/hmac-md5.m4: New file.
21433
21434         * m4/memxor.m4: Require gl_C_RESTRICT.
21435
21436 2005-10-06  Simon Josefsson  <jas@extundo.com>
21437
21438         * lib/memxor.c (memxor): Avoid casts and warnings.
21439
21440 2005-10-06  Simon Josefsson  <jas@extundo.com>
21441
21442         * lib/hmac-md5.c: New file.
21443
21444         * lib/hmac.h: New file.
21445
21446 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
21447
21448         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
21449         promotes to int, not unsigned int, to catch the AIX 5.3
21450         compiler bug.
21451
21452 2005-10-05  Simon Josefsson  <jas@extundo.com>
21453
21454         * modules/memxor: New file.
21455
21456         * modules/iconv (Files): Move config.rpath to havelib, it is used
21457         there.
21458
21459         * modules/havelib (Files): Add config.rpath.
21460
21461 2005-10-05  Simon Josefsson  <jas@extundo.com>
21462
21463         * m4/memxor.m4: New file.
21464
21465 2005-10-05  Simon Josefsson  <jas@extundo.com>
21466
21467         * lib/memxor.c (memxor): Fix compiler error.
21468
21469         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
21470         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
21471
21472         * lib/memxor.h, lib/memxor.c: New files.
21473
21474         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
21475         we assume all systems have it, suggested by Jim Meyering
21476         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
21477         any systems lack sys/socket.h; mingw32 is known to lack it, but we
21478         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
21479         same reasons.
21480
21481 2005-10-05  Simon Josefsson  <jas@extundo.com>
21482
21483         * config/srclist.txt: Add glibc bug 1423 for md5.h.
21484
21485 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21486
21487         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
21488         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
21489         needed, since the source code now assumes these .h files.
21490
21491 2005-10-05  Derek Price  <derek@ximbiot.com>
21492
21493         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
21494
21495 2005-10-05  Bruno Haible  <bruno@clisp.org>
21496
21497         * modules/stdint (License): Change to LGPL.
21498
21499 2005-10-04  Simon Josefsson  <jas@extundo.com>
21500
21501         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
21502         D. Baushke" <mdb@gnu.org>.
21503
21504 2005-10-04  Bruno Haible  <bruno@clisp.org>
21505
21506         * lib/verify.h (verify_true): Provide alternative definition for C++.
21507
21508 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21509
21510         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
21511         (SSIZE_MAX): New macro, if not already defined.
21512         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
21513         than 2 GiB.
21514
21515 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21516
21517         Sync from coreutils.
21518         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
21519         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
21520         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
21521         ULLONG_MAX doesn't work with 2.7.2.1.
21522
21523 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21524
21525         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
21526         From Ben Pfaff.
21527
21528         * modules/exclude (Depends-on): Depend on verify.
21529         * modules/strtoimax (Depends-on): Likewise.
21530         * modules/utimecmp (Depends-on): Likewise.
21531
21532 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21533
21534         * lib/exclude.c: Include verify.h.
21535         (verify): Remove.  All callers changed to use verify.h's version.
21536         * lib/strtoimax.c: Likewise.
21537         * lib/utimecmp.c: Likewis.e
21538
21539         Sync from coreutils.
21540         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
21541         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
21542         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
21543         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
21544         bother returning ENOSYS if settimeofday or stime fails; just let
21545         them return whatever errno they want to return.
21546         * lib/utimens.c: Include unistd.h, for dup2.
21547         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
21548         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
21549
21550 2005-10-02  Jim Meyering  <jim@meyering.net>
21551
21552         Sync from coreutils.
21553         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
21554         from glibc-2.2.5 that fails for read-only files.
21555
21556 2005-10-02  Jim Meyering  <jim@meyering.net>
21557
21558         Sync from coreutils.
21559         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
21560         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
21561         `#if HAVE_CONFIG_H'.
21562         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
21563         Remove AT_FDCWD test.
21564         Do not consume the fd unless successful.
21565         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
21566         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
21567         block, so that we don't even try to compile it if settimeofday is
21568         available.  This works around a compilation failure on OSF1 V5.1,
21569         due to stime requiring a `long int*' while tv_sec is `int'.
21570
21571 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
21572
21573         Sync from coreutils.
21574         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
21575         against `yes', rather than just testing for nonempty.
21576
21577 2005-10-01  Simon Josefsson  <jas@extundo.com>
21578
21579         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
21580         and Darwin.
21581
21582         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
21583         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
21584         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
21585         freeaddrinfo and gai_strerror are declared by the POSIX headers.
21586         Check if struct addrinfo is declared.
21587
21588 2005-10-01  Simon Josefsson  <jas@extundo.com>
21589
21590         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
21591         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
21592         AI_* and EAI_* definitions.  Protect function declarations.
21593
21594 2005-10-01  Jim Meyering  <jim@meyering.net>
21595
21596         Sync from coreutils.
21597
21598         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
21599         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
21600         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
21601         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
21602         in the inet and nsl libraries.  Required on Solaris 5.7.
21603
21604 2005-10-01  Jim Meyering  <jim@meyering.net>
21605
21606         Sync from coreutils.
21607         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
21608         in the inet and nsl libraries.  Required on Solaris 5.7.
21609
21610 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
21611
21612         * lib/getdelim.c (getdelim): Remove unused variables.
21613
21614 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
21615
21616         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
21617         so that the code works even with ancient cpp.  Portability problem
21618         with GCC 2.7.2.1 reported by Thomas M.Ott.
21619
21620 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
21621
21622         * modules/regex (Depends-on): Add strcase.
21623
21624         * modules/gethostname (Licence): Change from GPL to LGPL, since
21625         gethostname.c is a trivial implementation of a standard library
21626         function.
21627         * modules/poll (License): Change from GPL to LGPL, since it's
21628         derived from LGPL code.
21629
21630 2005-09-27  Jim Meyering  <jim@meyering.net>
21631
21632         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
21633         HAVE_CONFIG_H.
21634
21635         * lib/intprops.h (signed_type_or_expr__): Define.
21636         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
21637         for unsigned types.
21638
21639 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21640
21641         * lib/verify.h (verify_expr): Remove, replacing with:
21642         (verify_true): New macro that returns true instead of void.
21643         (verify_type__): Remove.
21644         (verify): Use verify_true rather than verify_type__.
21645
21646 2005-09-26  Bruno Haible  <bruno@clisp.org>
21647
21648         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
21649         is necessary.
21650         (lib_SOURCES): Remove mbchar.c.
21651         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
21652         (Files): Add m4/mbrtowc.m4.
21653         * modules/mbiter: Likewise.
21654         * modules/mbuiter: Likewise.
21655
21656 2005-09-26  Bruno Haible  <bruno@clisp.org>
21657
21658         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
21659         compile mbchar.c if they are not both present.
21660         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
21661         * m4/mbiter.m4 (gl_MBITER): Likewise.
21662         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
21663         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
21664         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
21665
21666 2005-09-25  Jim Meyering  <jim@meyering.net>
21667
21668         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
21669         also uses socklen_t.
21670
21671 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
21672
21673         * lib/utimens.c (ENOSYS): Define if not already defined.
21674         (futimens): Support having a null PATH if the file descriptor
21675         is nonnegative.
21676
21677         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
21678         Remove.
21679         (__attribute): Define to empty unless GCC 3.1 or later.
21680         This works around a core dump on OpenBSD 3.4, which has GCC
21681         2.95.3, which dumps core when given __attribute__(()).  It also
21682         simplifies other tests, since we really don't want to bother with
21683         worrying about which ancient version of GCC supported what.
21684         Original problem reported by Yoann Vandoorselaere, with part of
21685         the fix suggested by Derek Price.
21686
21687 2005-09-24  Jim Meyering  <jim@meyering.net>
21688
21689         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
21690         so we can once again use a positive bitfield width of 1 -- now we
21691         don't have to explain why we were using a bitfield width of 2.
21692
21693 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
21694
21695         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
21696         and similarly for the other external symbols.  Problem reported
21697         by James Gallager.
21698
21699         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
21700         bug reported by Jim Meyering.
21701
21702         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
21703         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
21704         not needed, since socklen is a prerequisite module.
21705
21706 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
21707
21708         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
21709         Problem reported by Eric Blake.
21710         (getaddrinfo): Initialize se so that it's not garbage.
21711         Redo internal storage allocation so that it doesn't make unportable
21712         assumptions about alignment.
21713         Fix a memory leak.
21714
21715         * lib/utimens.c (futimens): Use futimesat if available.
21716         Prefer it to futimes since it doesn't have the futimes bug.
21717
21718         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
21719         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
21720         Instead, declare a function that returns a pointer to an array,
21721         and use verify_type__ to declare the size of the array.
21722         Problem and germ of a solution reported by Bruno Haible.
21723         (verify_type__): Use 2, not 1, for bitfield size, to avoid
21724         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
21725
21726 2005-09-23  Jim Meyering  <jim@meyering.net>
21727
21728         Sync from coreutils.
21729         Correct build failure (socklen_t not defined) on at least
21730         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
21731         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
21732
21733 2005-09-23  Jim Meyering  <jim@meyering.net>
21734
21735         * modules/getaddrinfo (Depends-on): Add socklen.
21736
21737 2005-09-23  Bruno Haible  <bruno@clisp.org>
21738
21739         * tests/test-verify.c: New file.
21740
21741 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21742
21743         Sync from coreutils.
21744
21745         * modules/argmatch (Depends-on): Add verify.
21746         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
21747         unistd-safer.
21748         * modules/save-cwd (Depends-on): Likewise.
21749
21750         * modules/openat (Files): Add lib/openat-die.c.
21751         (Depends-on): Remove error, exitfail.
21752         Add dirname.
21753
21754         * modules/verify: New file.
21755         * MODULES.html.sh (Diagnostics <assert.h>): New section,
21756         with "verify" module.
21757
21758 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21759
21760         Sync from coreutils.
21761
21762         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
21763         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
21764         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
21765         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
21766         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
21767         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
21768         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
21769         Don't bother checking for string.h, stdlib.h, unistd.h.
21770         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
21771         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
21772         module's job.
21773         * m4/jm-macros.m4 (gl_MACROS): Likewise.
21774         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
21775
21776         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
21777         (gl_GETDATE): Use it.
21778
21779         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
21780
21781 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21782
21783         Sync from coreutils.
21784
21785         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
21786         stat-time.h.
21787         * lib/argmatch.h: Include verify.h
21788         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
21789         (ARGMATCH_ASSERT): Remove; unused.
21790         * lib/canonicalize.c: Assume STDC_HEADERS.
21791         * lib/exclude.c: Include "strcase.h".
21792         * lib/regex_internal.h [!defined _LIBC]: Likewise.
21793         * lib/getusershell.c: Include stdio--.h rather than stdio.h
21794         and stdio-safer.h.
21795         (getusershell): Call fopen, not fopen_safer.
21796         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
21797         Do not include unistd-safer.h.
21798         (save_cwd): Don't call fd_safer; no longer needed
21799         now that we include fcntl--.h.
21800
21801         * lib/getdate.y (relative_time): New type.
21802         (RELATIVE_TIME_0): New constant.
21803         (parser_control): Use relative_time instead of doing it ourselves.
21804         (%union): Add new relative_time rel member.
21805         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
21806         Now typeless.
21807         (relunit, relunit_snumber): Now of type rel.
21808         (zone, rel, relunit, get_date): Adjust to above changes.
21809
21810         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
21811         Do not include unistd-safer.h.
21812         (getloadavg): Don't call fd_safer; no longer needed
21813         now that we include fcntl--.h.
21814
21815         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
21816         (make_dir_parents): Treat ENOSYS like EEXIST.
21817
21818         Improve quality of diagnostics on restore_cwd failure.
21819         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
21820         (make_dir_parents): Last arg is now int * (for errno), not bool *.
21821         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
21822         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
21823         each time through the loop.  Do not diagnose restore_cwd failure;
21824         that is the caller's job (and perhaps the caller does not care).
21825
21826         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
21827         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
21828         If the file already exists but is not a directory, don't bother
21829         to try to make its parents.
21830         Close potential file descriptor leak if we can't chdir("/") (!).
21831         Don't always return true if chdir($PWD) fails; return true only
21832         if the requested action was done successfully (except for the
21833         chdir($PWD)).
21834         Don't log final directory unless we actually made it.
21835         Refactor to avoid duplicate code to fix up permissions.
21836         Don't attempt to fix up parent permissions if chdir($PWD) fails.
21837
21838         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
21839         to make it a bit faster and (I hope) clearer.
21840         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
21841         Fix bug in formats like %2N.
21842
21843         * lib/verify.h: New file.
21844
21845 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21846
21847         Sync from coreutils.
21848         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
21849
21850 2005-09-22  Jim Meyering  <jim@meyering.net>
21851
21852         Sync from coreutils.
21853
21854         * m4/lstat.m4 (gl_FUNC_LSTAT):
21855         Use AC_LIBSOURCES to require lstat.c and lstat.h.
21856         Remove obsolete comment.
21857         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
21858         * m4/xstrtod.m4: Likewise.
21859
21860         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
21861
21862 2005-09-22  Jim Meyering  <jim@meyering.net>
21863
21864         Sync from coreutils.
21865
21866         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
21867
21868         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
21869         the .tm_year member, since otherwise gcc-4.0 would now warn about
21870         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
21871
21872         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
21873         order to avoid an unsuppressible warning from gcc on 64-bit systems.
21874
21875         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
21876         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
21877         when run in a time zone for which daylight savings time is in effect
21878         for the starting date.
21879
21880         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
21881         stop us from restricting permissions of just-created absolute-named
21882         directories.
21883         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
21884         to restore initial working directory.
21885         * lib/mkdir-p.c (make_dir_parents): New parameter:
21886         different_working_dir, to tell caller if/when we change the working
21887         directory and are unable to return to the initial one.
21888         * lib/mkdir-p.h (make_dir_parents): Update prototype.
21889         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
21890         `return false'.  This fixes a bug introduced on 2004-07-30.
21891
21892         * lib/openat.c (fdopendir): Be sure to close the supplied
21893         file descriptor before returning.  This makes our replacement
21894         implementation a little closer to Solaris's, where fdopendir
21895         ties the file descriptor to the returned DIR* pointer.
21896         * lib/openat.c (unlinkat): New function.
21897         * lib/openat.h (unlinkat): Add prototype.
21898         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
21899         (openat_restore_fail): Rename from openat_restore_die.
21900         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
21901
21902         Provide an alternative to exiting immediately upon save_cwd or
21903         restore_cwd failure.  Now, an application can arrange e.g.,
21904         to perform a longjump in that case.
21905         * lib/openat.c: Include dirname.h.
21906         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
21907         (rpl_openat, fdopendir, fstatat): Call openat_save_die
21908         and openat_restore_die rather than calling error directly.
21909         Don't include "error.h" or "exitfail.h"; they're no longer needed.
21910
21911         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
21912         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
21913         define.
21914
21915         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
21916         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
21917                             int utc, int nanoseconds);
21918         Background:
21919         date should not have to allocate a megabyte of virtual memory to
21920         handle a format argument like +%1048575T.  When implemented with
21921         strftime, it must allocate such a buffer, use strftime to fill it
21922         in, print it, then free it.
21923         With fprintftime, it simply prints everything and exits.
21924         With no need for memory allocation, that's one fewer way to fail.
21925         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
21926         optional field width, not before, so we accept %9:z, not %:9z.
21927         (my_strftime): Be sure to use L_('x') for literals.
21928
21929         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
21930         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
21931         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
21932         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
21933         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
21934         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
21935         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
21936         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
21937         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
21938         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
21939         * lib/xgethostname.c, lib/xreadlink.c:
21940         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
21941
21942         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
21943         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
21944         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
21945         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
21946         and don't include <sys/file.h>).
21947
21948 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
21949
21950         Sync from coreutils.
21951
21952         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
21953         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
21954         [!LDAV_DONE]: Avoid unused variable warning.
21955
21956 2005-09-21  Bruno Haible  <bruno@clisp.org>
21957
21958         * lib/unicodeio.h (unicode_to_mb): New declaration.
21959
21960 2005-09-20  Derek Price  <derek@ximbiot.com>
21961
21962         * lib/getaddrinfo.c: Don't include <netdb.h> included from
21963         getaddrinfo.h.
21964
21965 2005-09-20  Bruno Haible  <bruno@clisp.org>
21966
21967         * gnulib-tool: Remove trailing slashes from the values specified for
21968         --source-base, --m4-base, --tests-base, --aux-dir.
21969         Suggested by Simon Josefsson <jas@extundo.com>.
21970
21971 2005-09-20  Bruno Haible  <bruno@clisp.org>
21972
21973         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
21974         func_modules_to_filelist, func_import, func_create_testdir): Make all
21975         sorting results locale-independent, so that gnulib-cache.m4 doesn't
21976         change when gnulib-tool is invoked in a different locale.
21977
21978 2005-09-19  Simon Josefsson  <jas@extundo.com>
21979
21980         * m4/socklen.m4: Fix typo.
21981
21982 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21983
21984         Use a consistent style for including <config.h>.
21985         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
21986         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
21987         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
21988         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
21989         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
21990         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
21991         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
21992         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
21993         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
21994         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
21995         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
21996         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
21997         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
21998         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
21999         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
22000         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
22001         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
22002         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
22003         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
22004         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
22005         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
22006         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
22007         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
22008         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
22009         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
22010         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
22011         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
22012         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
22013         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
22014         lib/xstrtoumax.c, lib/yesno.c:
22015         Standardize inclusion of config.h.
22016         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
22017         lib/inttostr.h:  Removed inclusion of config.h from header files.
22018         * lib/inttostr.c:  Adjusted in-tree users.
22019         * lib/timespec.h: Remove superfluous warning to include config.h.
22020         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
22021         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
22022         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
22023         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
22024         config.h with HAVE_CONFIG_H.
22025
22026 2005-09-19  Jim Meyering  <jim@meyering.net>
22027
22028         * modules/pathmax (License): Change to LGPL.
22029
22030 2005-09-19  Derek Price  <derek@ximbiot.com>
22031
22032         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
22033
22034 2005-09-19  Bruno Haible  <bruno@clisp.org>
22035
22036         * gnulib-tool (import): Provide default for --tests-base.
22037
22038 2005-09-19  Bruno Haible  <bruno@clisp.org>
22039
22040         * doc/quote.texi: New file, extracted from gnulib.texi.
22041         * doc/ctime.texi: New file, extracted from gnulib.texi.
22042         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
22043         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
22044         * doc/gnulib.texi: Include them.
22045
22046 2005-09-18  Bruno Haible  <bruno@clisp.org>
22047
22048         Portability fix.
22049         * gnulib-tool (func_readlink): New function.
22050         (func_ln_if_changed): Use it.
22051
22052 2005-09-18  Bruno Haible  <bruno@clisp.org>
22053
22054         * gnulib-tool: Support --with-tests also with --import.
22055         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
22056         (func_import): Use variables $testsbase and $inctests. Emit a
22057         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
22058         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
22059         SUBDIRS += $testsdir.
22060         (func_create_testdir): Update.
22061
22062 2005-09-18  Bruno Haible  <bruno@clisp.org>
22063
22064         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
22065         instead of $dry_run.
22066         (func_cp_if_changed, func_mv_if_changed): Remove functions.
22067         (func_ln_if_changed): Don't handle dry-run here.
22068         (func_import): In dry-run mode, detect more precisely which actions
22069         would be performed, and don't use "...ing" verbs.
22070
22071 2005-09-18  Bruno Haible  <bruno@clisp.org>
22072
22073         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
22074         (func_import): Use join on two temporary files instead of three nested
22075         loops, in order to determine which files are new or old.
22076
22077 2005-09-18  Bruno Haible  <bruno@clisp.org>
22078
22079         * gnulib-tool (func_import): Comment out code that spits out the
22080         new files with --dry-run.
22081
22082 2005-09-18  Bruno Haible  <bruno@clisp.org>
22083
22084         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
22085
22086 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22087
22088         * lib/stat-time.h: New file.
22089         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
22090         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
22091         in a different way.
22092         (timespec_cmp): New function.
22093         * lib/utimecmp.c: Include stat-time.h.
22094         (SYSCALL_RESOLUTION): Depend on whether various struct stat
22095         members exist, not on the obsolescent ST_MTIM_NSEC.
22096         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
22097
22098 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22099
22100         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
22101
22102 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
22103
22104         * MODULES.html.sh (File system functions): Add stat-time.
22105         * modules/stat-time: New file.
22106         * modules/timespec (Files): Remove m4/st_mtim.m4; this
22107         is now done in a different way, by the stat-time module.
22108         * modules/utimecmp (Depends-on): Add stat-time.
22109
22110 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
22111
22112         * m4/st_mtim.m4: Remove.  Superseded by...
22113         * m4/stat-time.m4: New file.
22114         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
22115         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
22116
22117 2005-09-15  Derek Price  <derek@ximbiot.com>
22118
22119         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
22120
22121 2005-09-15  Derek Price  <derek@ximbiot.com>
22122
22123         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
22124         * lib/regex_internal.c: Ditto, using this...
22125         (__GNUC_PREREQ): ...new macro.
22126         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
22127         using...
22128         (__GNUC_PREREQ): ...this new macro.
22129
22130         * lib/strstr.h: Include string.h. Define strstr as a macro here.
22131
22132 2005-09-15  Derek Price  <derek@ximbiot.com>
22133             Paul Eggert  <eggert@cs.ucla.edu>
22134
22135         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
22136         changes, consolidating in...
22137         * lib/regex_internal.h: ...this file.
22138
22139 2005-09-13  Jim Meyering  <jim@meyering.net>
22140
22141         * lib/canon-host.c: Filter through gnu indent and reword comments
22142         slightly.
22143         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
22144
22145 2005-09-13  Derek Price  <derek@ximbiot.com>
22146
22147         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
22148         failure.
22149         Reported by Jim Meyering  <jim@meyering.net>.
22150
22151 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
22152
22153         * lib/base64.c: Typo.
22154         (base64_encode): Put b64str in initialized data section.
22155
22156 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22157
22158         Merge glibc and coreutils changes into gnulib, plus a few
22159         extra fixes.
22160         * lib/md5.c: Use #error rather than a string.
22161         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
22162         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
22163         (__attribute__): Define to empty for non recent-GCC.
22164         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
22165         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
22166         Renamed from their non-__ counterparts, with new macros replacing
22167         them if not _LIBC.  Add __THROW attribute.
22168         (rol): Remove.
22169         (struct md5_ctx): Align buffer if using GCC.
22170         * lib/sha1.h (struct sha1_ctx): Likewise.
22171         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
22172         The old name was backwards.
22173         (NOTSWAP): Remove; not used.
22174         (rol): New macro, moved here from md5.h.
22175         (sha1_process_block): Remove a FIXME that doesn't make sense.
22176
22177 2005-09-12  Derek Price  <derek@ximbiot.com>
22178
22179         Return usable errors from canon-host.
22180         * lib/canon-host.h: New file.
22181         * lib/canon-host.c (canon_host): Wrap...
22182         (canon_host_r): ...this new function, which now relies exclusively on
22183         getaddrinfo.
22184         (ch_strerror): New function.
22185         (last_cherror): New global.
22186         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
22187         interface.
22188         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
22189         void *.
22190         (freeaddrinfo): Free ai->ai_canonname when set.
22191
22192 2005-09-12  Derek Price  <derek@ximbiot.com>
22193
22194         Make canon-host require getaddrinfo.
22195         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
22196         AC_LIBSOURCE canon-host.h.  Call...
22197         (gl_PREREQ_CANON_HOST): ...this new function, which requires
22198         gl_GETADDRINFO.
22199         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
22200
22201 2005-09-12  Derek Price  <derek@ximbiot.com>
22202
22203         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
22204         LGPL.
22205         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
22206
22207 2005-09-12  Derek Price  <derek@ximbiot.com>
22208
22209         * lib/gai_strerror.c: Include config.h when available.  Include
22210         getaddrinfo.h before other headers to test interface.
22211         Reported by Larry Jones <lawrence.jones@ugs.com>.
22212
22213 2005-09-12  Derek Price  <derek@ximbiot.com>
22214             Paul Eggert  <eggert@cs.ucla.edu>
22215
22216         * modules/glob (Files): Add glob-libc.h.
22217
22218 2005-09-12  Derek Price  <derek@ximbiot.com>
22219             Paul Eggert  <eggert@cs.ucla.edu>
22220
22221         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
22222         glob_.h, glob-libc.h.
22223         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
22224
22225 2005-09-12  Derek Price  <derek@ximbiot.com>
22226             Paul Eggert  <eggert@cs.ucla.edu>
22227
22228         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
22229         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
22230         protecting things that should be done only in gnulib contexts.
22231         * lib/glob_.h: New file, containing only the glob things needed for
22232         gnulib.
22233         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
22234         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
22235         (glob, globfree, glob_pattern_p): Now defined simply in terms of
22236         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
22237         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
22238         and to respect the namespace rules better.
22239
22240 2005-09-08  Simon Josefsson  <jas@extundo.com>
22241
22242         * modules/socklen: New file.
22243
22244 2005-09-08  Simon Josefsson  <jas@extundo.com>
22245
22246         * m4/socklen.m4: New file.
22247
22248 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22249
22250         * modules/utimens (Files): Add m4/utimbuf.m4, since
22251         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
22252         Reported by Sergey Poznyakoff.
22253
22254 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22255
22256         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
22257         definitions, since that's the preferred style in glibc.
22258         Fix a minor spacing issue, and update copyright notice to match
22259         glibc's.
22260
22261 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
22262
22263         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
22264
22265 2005-09-06  Simon Josefsson  <jas@extundo.com>
22266
22267         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
22268         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
22269
22270 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22271
22272         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
22273         warning.
22274
22275 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
22276
22277         * config/srclist.txt: Add glibc bug 1302.
22278
22279 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
22280
22281         Change bitset word type from unsigned int to unsigned long int,
22282         as this has better performance on typical 64-bit hosts.
22283         Port bitset code to hosts with unusual word sizes.
22284         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
22285         (build_collating_symbol):
22286         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
22287         argument is a bitset.  This is merely a style issue, but it makes
22288         it clearer that an entire array is expected.
22289         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
22290         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
22291         Port to the case where bitset_word is not the same as unsigned int.
22292         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
22293         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
22294         Likewise.
22295         * lib/regexec.c (check_dst_limits_calc_pos_1,
22296         check_subexp_matching_top):
22297         (build_trtable, group_nodes_into_DFAstates):
22298         Likewise.
22299         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
22300         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
22301         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
22302         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
22303         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
22304         * lib/regcomp.c (optimize_subexps, lower_subexp):
22305         Work even if bitset_word has holes in its bitwise representation.
22306         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
22307         * lib/regexec.c (check_dst_limits_calc_pos_1,
22308         check_subexp_matching_top):
22309         Likewise.
22310         * lib/regex_internal.c (re_string_reconstruct):
22311         Don't assume UCHAR_MAX == 255.
22312         * lib/regex_internal.h (bitset_set_all): Likewise.
22313         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
22314         All uses changed.
22315         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
22316         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
22317         All uses changed.
22318         (BITSET_WORD_MAX): New macro.
22319         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
22320         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
22321         (bitset_empty, bitset_copy):
22322         Prefer sizeof (bitset) to multiplying it out ourselves.
22323         (bitset_not_merge): Remove; unused.
22324         (bitset_contain): Return bool, not unsigned int with one bit on.
22325         All callers changed.
22326         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
22327         alignment than re_node_set; do this by defining a new internal
22328         type struct dests_alloc and using it to allocate memory.
22329
22330 2005-09-05  Bruno Haible  <bruno@clisp.org>
22331
22332         * gnulib-tool (func_import): Fix comparison in handling of symbolic
22333         links.
22334
22335 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
22336
22337         * modules/size_max (Makefile.am): Add size_max.h
22338
22339 2005-09-04  Derek Price  <derek@ximbiot.com>
22340
22341         * gnulib-tool (func_import): Fix reversed $symbolic logic.
22342
22343 2005-09-03  Simon Josefsson  <jas@extundo.com>
22344
22345         * gnulib-tool: Fix typo.
22346
22347 2005-09-03  Simon Josefsson  <jas@extundo.com>
22348
22349         * config/srclist.txt: Add glibc bug 1293.
22350
22351 2005-09-03  Derek Price  <derek@ximbiot.com>
22352
22353         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
22354         From Larry Jones <lawrence.jones@ugs.com>.
22355
22356 2005-09-02  Simon Josefsson  <jas@extundo.com>
22357
22358         * modules/socklen: New file.
22359
22360 2005-09-02  Simon Josefsson  <jas@extundo.com>
22361
22362         * modules/havelib: New module.
22363
22364         * modules/gettext, modules/iconv, modules/lock, modules/readline:
22365         Use havelib.
22366
22367 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22368
22369         Check for arithmetic overflow when calculating sizes, to prevent
22370         some buffer-overflow issues.  These patches are conservative, in the
22371         sense that when I couldn't determine whether an overflow was possible,
22372         I inserted a run-time check.
22373         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
22374         macros.
22375         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
22376         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
22377         (re_xnrealloc, re_x2nrealloc): New inline functions.
22378         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
22379         parse_bracket_exp):
22380         (build_equiv_class, build_charclass): Check for arithmetic overflow
22381         in size expression calculations.
22382         * lib/regex_internal.c (re_string_realloc_buffers):
22383         (build_wcs_upper_buffer, re_node_set_add_intersect):
22384         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
22385         (re_dfa_add_node, register_state): Likewise.
22386         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
22387         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
22388         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
22389         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
22390
22391 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22392
22393         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
22394         m4/ulonglong.m4.  Problem reported by Martin Lambers.
22395
22396 2005-09-02  Bruno Haible  <bruno@clisp.org>
22397
22398         Support for lib vs. lib64 distinction on biarch platforms.
22399         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
22400         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
22401         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
22402
22403 2005-09-02  Bruno Haible  <bruno@clisp.org>
22404
22405         * gnulib-tool (import): In the other first-use case, provide defaults
22406         as well.
22407
22408 2005-09-02  Bruno Haible  <bruno@clisp.org>
22409
22410         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
22411         patches not yet found in the latest gettext release.
22412
22413 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22414
22415         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
22416         to avoid a collision with bits/local_lim.h in glibc.
22417         All uses changed.  Problem reported by Dmitry V. Levin in
22418         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
22419
22420         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
22421         bugs in int versus size_t comparisons.
22422         (re_string_context_at): Fix bug where the code assumed that
22423         Idx is signed.
22424
22425         Use bool where appropriate.
22426         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
22427         All callers changed.
22428         (calc_eclosure_iter): Likewise, for ROOT arg.
22429         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
22430         (build_charclass_op): Likewise, for NON_MATCH arg.
22431         * lib/regex_internal.c (re_string_allocate, re_string_construct):
22432         (re_string_construct_common): Likewise, for ICASE arg.
22433         * lib/regexec.c (re_search_2_stub, re_search_stub):
22434         Likewise, for RET_LEN arg.
22435         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
22436         (set_regs): Likewise, for FL_BACKTRACK arg.
22437         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
22438         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
22439         (calc_eclosure_iter, parse_bracket_exp):
22440         Use bool for internal variables that are booleans.
22441         * lib/regexec.c (re_search_internal, check_matching,
22442         proceed_next_node):
22443         (set_regs, build_sifted_states, sift_states_bkref):
22444         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
22445         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
22446         (find_collation_sequence_value):
22447         Likewise.
22448         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
22449         (re_node_set_compare):
22450         Return bool, not int. All callers changed.
22451         * lib/regexec.c (check_halt_node_context, check_dst_limits):
22452         (build_trtable, check_node_accept): Likewise.
22453         * lib/regex_internal.h: Include stdbool.h.
22454
22455         Fix bugs uncovered when converting to bool.
22456         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
22457         failure instead of charging ahead blindly.
22458         * lib/regex_internal.c (register_state): Likewise.
22459         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
22460         for freeing internal storage.
22461         (group_nodes_into_DFA_states): Use unsigned int, not int, for
22462         bitset pieces used as boolean, to avoid undefined behavior
22463         on hosts that do int overflow checking.
22464
22465 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22466
22467         * config/srclist.txt: Add glibc bugs 1285-1287.
22468
22469 2005-09-01  Jim Meyering  <jim@meyering.net>
22470
22471         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
22472         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
22473         Require gl_STAT_MACROS, too.
22474
22475 2005-09-01  Bruno Haible  <bruno@clisp.org>
22476
22477         * gnulib-tool (import): In the first-use case, provide defaults.
22478
22479 2005-09-01  Bruno Haible  <bruno@clisp.org>
22480
22481         * gnulib-tool (func_import): Remove the .tmp files.
22482
22483 2005-09-01  Bruno Haible  <bruno@clisp.org>
22484
22485         * gnulib-tool (func_import): Fix handling of symbolic links.
22486
22487 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22488
22489         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
22490         old glibc regex code mishandles strings longer than 2**31 bytes.
22491         This patch fixes this when the regex code is used in gnulib
22492         (i.e., outside glibc).
22493
22494         This patch should not affect the use of the regex code inside
22495         glibc.  No doubt this problem also needs to be handled for glibc
22496         as well, but the result will be an incompatible change to the
22497         glibc ABI, and the old ABI will have to be supported too.  That
22498         can be the the subject for another patch.
22499
22500         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
22501         governing whether the rest of this patch is active.  By default,
22502         the macro is disabled and the patch has no effect.
22503         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
22504         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
22505         (struct re_pattern_buffer, re_search, re_search_2, re_match):
22506         (re_match_2, re_set_registers): Use the new types.
22507         * lib/regex_internal.h (Idx, re_hashval_t): New types.
22508         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
22509         New macros.
22510         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
22511         (re_string_context_at, bin_tree_t, re_dfastate_t):
22512         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
22513         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
22514         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
22515         (re_string_char_size_at, re_string_wchar_at):
22516         (re_string_elem_size_at):
22517         Use the new types and macros to port to 64-bit hosts.
22518         Use unsigned types for internal values, so that the code
22519         mostly works even for arrays larger than SSIZE_MAX.
22520         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
22521         (search_duplicated_node, calc_eclosure_iter, fetch_number):
22522         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
22523         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
22524         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
22525         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
22526         (calc_inveclosure, parse_dup_op, build_range_exp):
22527         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
22528         (fetch_number, create_token_tree, mark_opt_subexp):
22529         Likewise.
22530         * lib/regex_internal.c (re_string_construct_common,
22531         create_ci_newstate):
22532         (create_cd_newstate, re_string_allocate, re_string_construct):
22533         (re_string_realloc_buffers, build_wcs_upper_buffer):
22534         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
22535         (re_string_reconstruct, re_string_peek_byte_case):
22536         (re_string_fetch_byte_case, re_string_context_at):
22537         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
22538         (re_node_set_init_copy, re_node_set_add_intersect):
22539         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
22540         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
22541         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
22542         (re_acquire_state, re_acquire_state_context, register_state):
22543         Likewise.
22544         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
22545         search_cur_bkref_entry):
22546         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
22547         (re_search_internal, re_search_2_stub, re_search_stub)
22548         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
22549         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
22550         (update_cur_sifted_state, check_dst_limits):
22551         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
22552         (check_subexp_limits, sift_states_bkref, merge_state_array):
22553         (check_subexp_matching_top, get_subexp, get_subexp_sub):
22554         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
22555         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
22556         (expand_bkref_cache, check_node_accept_bytes):
22557         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
22558         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
22559         (acquire_init_state_context, check_halt_node_context):
22560         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
22561         (sift_states_backward, clean_state_log_if_needed):
22562         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
22563         (find_recover_state, transit_state_sb, transit_state_mb):
22564         (transit_state_bkref, build_trtable, match_ctx_clean):
22565         Likewise.
22566         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
22567         to work around an assumption that REG_MISSING is negative.
22568
22569         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
22570         (seek_collating_symbol_entry) [defined _LIBC]:
22571         (lookup_collation_sequence_value) [defined _LIBC]:
22572         (build_range_exp, build_collating_symbol) [defined _LIBC]:
22573         Use prototypes rather than old-style function definitions.
22574         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
22575         (transit_state_sb) [0]:
22576         (find_collation_sequence_value) [defined _LIBC]: Likewise.
22577
22578         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
22579         rm_eo.
22580
22581         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
22582         (optimize_subexps, lower_subexp):
22583         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
22584         since the signed shift might overflow.  Use 1u<<31 instead.
22585         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
22586         Likewise.
22587         * lib/regexec.c (check_dst_limits_calc_pos_1,
22588         check_subexp_matching_top): Likewise.
22589
22590         * lib/regcomp.c (optimize_subexps, lower_subexp):
22591         Use CHAR_BIT rather than 8, for clarity.
22592         * lib/regexec.c (check_dst_limits_calc_pos_1):
22593         (check_subexp_matching_top): Likewise.
22594         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
22595         have to worry about portability issues when shifting it left.
22596         Remove no-longer-needed test for table_size > 0.
22597         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
22598         in a word, as the resulting behavior is undefined.
22599         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
22600         in one case, a <= should have been an <, and in another case the
22601         whole test was missing.
22602         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
22603         the standard name CHAR_BIT.
22604         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
22605         this is not true on one's complement and signed-magnitude hosts.
22606
22607         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
22608         next_last_offset.
22609         (struct re_dfa_t): Remove unused member states_alloc.
22610         * lib/regcomp.c (init_dfa): Don't initialize unused members.
22611
22612 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22613
22614         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
22615         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
22616         and large-file glibc and in 32-bit large-file Solaris.
22617
22618 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22619
22620         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
22621         lengths fit in regoff_t; this isn't true if regoff_t is the same
22622         width as size_t.
22623         * lib/regex.c (re_search_internal): 5th arg is LAST_START
22624         (= START + RANGE) instead of RANGE.  This avoids overflow
22625         problems when regoff_t is the same width as size_t.
22626         All callers changed.
22627         (re_search_2_stub): Check for overflow when adding the
22628         sizes of the two strings.
22629         (re_search_stub): Check for overflow when adding START
22630         to RANGE; if it occurs, substitute the extreme value.
22631
22632 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
22633
22634         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
22635
22636 2005-08-31  Jim Meyering  <jim@meyering.net>
22637
22638         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
22639         a pointer-to-const.
22640         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
22641         (register_state): Likewise.
22642         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
22643         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
22644         (group_nodes_into_DFAstates): Likewise.
22645
22646 2005-08-31  Jim Meyering  <jim@meyering.net>
22647
22648         * check-module: Add a FIXME comment.
22649
22650 2005-08-31  Eric Blake  <ebb9@byu.net>
22651
22652         * modules/unistd-safer (Files): Add unistd--.h.
22653         * modules/stdio-safer (Files): Add stdio--.h.
22654
22655 2005-08-31  Derek Price  <derek@ximbiot.com>
22656
22657         * lib/getdelim.c (getdelim): Return EOF on EOF.
22658         Reported by Larry Jones <lawrence.jones@ugs.com>.
22659
22660 2005-08-31  Bruno Haible  <bruno@clisp.org>
22661
22662         Avoid unnecessary diffs in the generated lib/Makefile.am.
22663         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
22664         the generated files.
22665         (func_import): Don't set cmd.
22666
22667 2005-08-31  Bruno Haible  <bruno@clisp.org>
22668
22669         * lib/strstr.c: Include <stddef.h>, for NULL.
22670         * lib/strcasestr.c: Likewise.
22671         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
22672
22673 2005-08-31  Bruno Haible  <bruno@clisp.org>
22674
22675         * gnulib-tool: New option --macro-prefix.
22676         (func_import): Use macro_prefix.
22677         (import): Handle option --macro-prefix.
22678
22679 2005-08-31  Bruno Haible  <bruno@clisp.org>
22680
22681         * gnulib-tool (import): Rename most ac_* variables to cached_*.
22682         Also use new variables cached_lgpl, cached_libtool.
22683
22684 2005-08-31  Bruno Haible  <bruno@clisp.org>
22685
22686         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
22687         always instantiating them.
22688
22689 2005-08-31  Bruno Haible  <bruno@clisp.org>
22690
22691         * gnulib-tool (func_import): Read the previous cached settings
22692         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
22693         earlier added by gnulib but are now dropped. Warn when a gnulib file
22694         overwrites a non-gnulib file.
22695
22696 2005-08-31  Bruno Haible  <bruno@clisp.org>
22697
22698         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
22699         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
22700         projects that don't keep autogenerated files in CVS. Put into
22701         actioncmd only the specified modules, not the transitive closure.
22702
22703 2005-08-31  Bruno Haible  <bruno@clisp.org>
22704
22705         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
22706         Create directories that shall be filled.
22707         (import): Don't look for gl_* macros in configure.ac. Recurse across
22708         all directories containing a gnulib-cache.m4 files, if meaningful.
22709
22710 2005-08-31  Bruno Haible  <bruno@clisp.org>
22711
22712         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
22713         (import): Set seen_libtool when we see gl_LIBTOOL.
22714
22715 2005-08-31  Bruno Haible  <bruno@clisp.org>
22716
22717         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
22718         declaration macro definitions from generated gnulib.m4.
22719
22720 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
22721
22722         * lib/iconvme.h: Add prototype for iconv_alloc.
22723
22724 2005-08-29  Simon Josefsson  <jas@extundo.com>
22725
22726         * lib/iconvme.c: Fix errno.
22727
22728 2005-08-29  Bruno Haible  <bruno@clisp.org>
22729
22730         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
22731         that it works when the directory contains spaces.
22732
22733 2005-08-29  Bruno Haible  <bruno@clisp.org>
22734
22735         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
22736
22737 2005-08-29  Bruno Haible  <bruno@clisp.org>
22738
22739         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
22740         Emit more advice.
22741
22742 2005-08-29  Bruno Haible  <bruno@clisp.org>
22743         and Stepan Kasal  <kasal@ucw.cz>
22744
22745         * check-module: If more parameters are given, check each of them
22746         separately; add more exceptions, as noted by Jim Meyering.
22747         (check_module): New procedure.
22748         (%exempt_header): Now contains all exceptions.
22749
22750 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
22751
22752         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
22753
22754 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
22755
22756         * lib/iconvme.c: Split iconv_string into iconv_alloc.
22757
22758 2005-08-28  Bruno Haible  <bruno@clisp.org>
22759
22760         * m4/gnulib-tool.m4: New file.
22761
22762 2005-08-27  Jim Meyering  <jim@meyering.net>
22763
22764         * modules/unistd-safer (Files): Add pipe-safer.c.
22765         * modules/fcntl-safer (Files): Add creat-safer.c.
22766
22767 2005-08-27  Jim Meyering  <jim@meyering.net>
22768
22769         * m4/stdlib-safer.m4: New file.  From coreutils.
22770         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
22771         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
22772         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
22773         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
22774         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
22775
22776 2005-08-27  Jim Meyering  <jim@meyering.net>
22777
22778         * lib/fopen-safer.c: Merge minor changes from coreutils.
22779         * lib/dup-safer.c: Likewise.
22780         * lib/fd-safer.c: Likewise.
22781
22782         Merge from coreutils.
22783         * lib/stdio--.h: New file.
22784         * lib/stdlib--.h: New file.
22785         * lib/mkstemp-safer.c: New file.
22786
22787         GNU tar needs these.
22788         * lib/pipe-safer.c: New file.
22789         * lib/creat-safer.c: New file.
22790         * lib/fcntl--.h (creat): Define to creat_safer.
22791         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
22792         * lib/unistd--.h (pipe): Define to pipe_safer.
22793         * lib/unistd-safer.h: Declare pipe_safer.
22794
22795 2005-08-26  Simon Josefsson  <jas@extundo.com>
22796
22797         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
22798         Haible <bruno@clisp.org>.
22799
22800 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
22801
22802         * lib/regex_internal.h: Remove all references to
22803         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
22804         or better.
22805         (bitset_not, bitset_merge, bitset_not_merge):
22806         (bitset_mask, re_string_allocate, re_string_construct):
22807         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
22808         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
22809         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
22810         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
22811         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
22812         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
22813         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
22814         (re_acquire_state_context):
22815         Remove unnecessary forward decls.
22816         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
22817         Put __attribute at function definition,
22818         now that the function decl has been removed.
22819         * lib/regex_internal.c (re_string_peek_byte_case):
22820         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
22821         Likewise.
22822
22823 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
22824
22825         * m4/regex.m4: Add AC_PREREQ(2.50).
22826         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
22827
22828 2005-08-25  Simon Josefsson  <jas@extundo.com>
22829
22830         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
22831         __fsetlocking.
22832
22833 2005-08-25  Simon Josefsson  <jas@extundo.com>
22834
22835         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
22836         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
22837         GLIBC specific code.
22838
22839 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22840
22841         Make regex safe for g++.  This fixes one real bug (an "err"
22842         that should have been "*err").  g++ problem reported by
22843         Sam Steingold.
22844         * lib/regex_internal.h (re_calloc): New macro, consistent with
22845         re_malloc etc.  All callers of calloc changed to use re_calloc.
22846         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
22847         not int.  All callers changed.
22848         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
22849         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
22850         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
22851         (find_recover_state): Change "err" to "*err"; this fixes what
22852         appears to be a real bug.
22853         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
22854         versus int.
22855
22856 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22857
22858         * modules/regex (Depends-on): Add malloc, since the code
22859         assumes that !malloc(0) means failure.
22860
22861 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22862
22863         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
22864
22865         alloca modernization/simplification for regex.
22866         * lib/regex.c: Remove portability cruft for alloca.  This no longer
22867         needs to be at the start of the file, and can be moved into
22868         regex_internal.h and simplified.
22869         * lib/regex_internal.h: Include <alloca.h>.
22870         (__libc_use_alloca) [!defined _LIBC]: New macro.
22871         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
22872         now works outside glibc.
22873
22874 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
22875
22876         * config/srclist.txt: Add glibc bugs 1241, 1245.
22877
22878 2005-08-25  Jim Meyering  <jim@meyering.net>
22879
22880         * lib/open-safer.c: Include <config.h>.
22881         Otherwise, we'd lose LARGEFILE support in any file using
22882         e.g. "fcntl--.h"
22883
22884 2005-08-25  Bruno Haible  <bruno@clisp.org>
22885
22886         * m4/minmax.m4: Require autoconf 2.52.
22887         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
22888         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
22889         alternatives of translit over the alphabet.
22890         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
22891
22892 2005-08-24  Simon Josefsson  <jas@extundo.com>
22893
22894         * tests/test-getpass.c: New file.
22895
22896 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22897
22898         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
22899         for GNU regex features.
22900
22901 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22902
22903         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
22904         * lib/regex.h (regerror): Likewise.
22905
22906         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
22907         requires this.  (The code never needed it.)
22908
22909         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
22910         All uses of recently-renamed identifiers changed to use the new,
22911         POSIX-compliant names.  The code will build and run just fine
22912         without these changes, but it's better to eat our own dog food
22913         and use the standard-conforming names.
22914
22915         * lib/regex.h: Fix a multitude of POSIX name space violations.
22916         These changes have an effect only for programs that define
22917         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
22918         do not change anything for programs compiled in the normal way.
22919         Also, there is no effect on the ABI.
22920
22921         (_REGEX_SOURCE): New macro.
22922         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
22923         defined and _GNU_SOURCE is not; this fixes a name space violation.
22924
22925         Rename the following macros to obey POSIX requirements.
22926         The old names are still visible as macros if _REGEX_SOURCE is defined.
22927         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
22928         RE_BACKSLASH_ESCAPE_IN_LISTS.
22929         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
22930         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
22931         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
22932         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
22933         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
22934         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
22935         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
22936         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
22937         (REG_INTERVALS): renamed from RE_INTERVALS.
22938         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
22939         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
22940         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
22941         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
22942         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
22943         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
22944         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
22945         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
22946         RE_UNMATCHED_RIGHT_PAREN_ORD.
22947         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
22948         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
22949         (REG_DEBUG): renamed from RE_DEBUG.
22950         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
22951         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
22952         unusual, since we can't clash with the POSIX REG_ICASE.
22953         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
22954         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
22955         (REG_NO_SUB): renamed from RE_NO_SUB.
22956         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
22957         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
22958         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
22959         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
22960         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
22961         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
22962         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
22963         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
22964         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
22965         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
22966         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
22967         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
22968         RE_SYNTAX_POSIX_MINIMAL_BASIC.
22969         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
22970         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
22971         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
22972         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
22973         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
22974         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
22975         (REG_FIXED): Renamed from REGS_FIXED.
22976         (REG_NREGS): Renamed from RE_NREGS.
22977
22978         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
22979         of other REG_* macros, since POSIX says the user is allowed to
22980         #undef these macros selectively.
22981
22982         (reg_errcode_t): Update comment stating what other tables need
22983         to be consistent.
22984
22985         Rename the following enum values to obey POSIX requirements.
22986         The old names are still visible as macros.
22987         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
22988         is not defined, since GNU is supposed to be a superset of POSIX as
22989         much as possible, and since we want reg_errcode_t to be a signed
22990         type for implementation consistency.
22991         (_REG_NOERROR): Renamed from REG_NOERROR.
22992         (_REG_NOMATCH): Renamed from REG_NOMATCH.
22993         (_REG_BADPAT): Renamed from REG_BADPAT.
22994         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
22995         (_REG_ECTYPE): Renamed from REG_ECTYPE.
22996         (_REG_EESCAPE): Renamed from REG_EESCAPE.
22997         (_REG_ESUBREG): Renamed from REG_ESUBREG.
22998         (_REG_EBRACK): Renamed from REG_EBRACK.
22999         (_REG_EPAREN): Renamed from REG_EPAREN.
23000         (_REG_EBRACE): Renamed from REG_EBRACE.
23001         (_REG_BADBR): Renamed from REG_BADBR.
23002         (_REG_ERANGE): Renamed from REG_ERANGE.
23003         (_REG_ESPACE): Renamed from REG_ESPACE.
23004         (_REG_BADRPT): Renamed from REG_BADRPT.
23005         (_REG_EEND): Renamed from REG_EEND.
23006         (_REG_ESIZE): Renamed from REG_ESIZE.
23007         (_REG_ERPAREN): Renamed from REG_ERPAREN.
23008         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
23009         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
23010         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
23011         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
23012
23013         (_REG_RE_NAME, _REG_RM_NAME): New macros.
23014         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
23015         changed.  But support the old name if the new one is not defined
23016         and if _REGEX_SOURCE.
23017
23018         Change the following member names in struct re_pattern_buffer.
23019         The old names are still supported if !_REGEX_SOURCE.
23020         The new names are always supported, regardless of _REGEX_SOURCE.
23021         (re_buffer): Renamed from buffer.
23022         (re_allocated): Renamed from allocated.
23023         (re_used): Renamed from used.
23024         (re_syntax): Renamed from syntax.
23025         (re_fastmap): Renamed from fastmap.
23026         (re_translate): Renamed from translate.
23027         (re_can_be_null): Renamed from can_be_null.
23028         (re_regs_allocated): Renamed from regs_allocated.
23029         (re_fastmap_accurate): Renamed from fastmap_accurate.
23030         (re_no_sub): Renamed from no_sub.
23031         (re_not_bol): Renamed from not_bol.
23032         (re_not_eol): Renamed from not_eol.
23033         (re_newline_anchor): Renamed from newline_anchor.
23034
23035         Change the following member names in struct re_registers.
23036         The old names are still supported if !_REGEX_SOURCE.
23037         The new names are always supported, regardless of _REGEX_SOURCE.
23038         (rm_num_regs): Renamed from num_regs.
23039         (rm_start): Renamed from start.
23040         (rm_end): Renamed from end.
23041
23042         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
23043         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
23044         Prepend __ to parameter names.
23045
23046         Undo yesterday's changes.
23047
23048 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23049
23050         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
23051         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
23052         lib/regex.c.
23053
23054 2005-08-24  Jim Meyering  <jim@meyering.net>
23055
23056         Sync from coreutils.
23057         * m4/fcntl-safer.m4: New file.
23058
23059         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
23060         and object files for this module.
23061
23062 2005-08-24  Jim Meyering  <jim@meyering.net>
23063
23064         Sync from coreutils.
23065         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
23066
23067 2005-08-24  Jim Meyering  <jim@meyering.net>
23068
23069         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
23070         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
23071
23072 2005-08-24  Jim Meyering  <jim@meyering.net>
23073
23074         * modules/fcntl-safer: New module.
23075         * modules/fts (Depends-on): Add fcntl-safer.
23076         * MODULES.html.sh (File descriptor based Input/Output):
23077         Add fcntl-safer.
23078
23079 2005-08-24  Bruno Haible  <bruno@clisp.org>
23080
23081         Support for unit test modules.
23082         * modules/README: Mention tests modules.
23083         * modules/TEMPLATE-TESTS: New file.
23084         * gnulib-tool: New options --extract-tests-module, --with-tests and
23085         --tests-base (unused for the moment).
23086         (testsbase, inctests): New variables.
23087         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
23088         (func_verify_module): Exclude TEMPLATE-TESTS.
23089         (func_verify_nontests_module, func_verify_tests_module): New functions.
23090         (func_get_dependencies): Add implicit dependency for tests modules.
23091         (func_get_tests_module): New function.
23092         (func_modules_transitive_closure): When --with-tests was specified,
23093         include the unit tests as well, unless explicitly avoided.
23094         (func_emit_lib_Makefile_am): Ignore the tests modules here.
23095         (func_emit_tests_Makefile_am): New function.
23096         (func_create_testdir): When --with-tests was specified, emit a
23097         tests/ directory.
23098         * MODULES.html.sh (Future developments): Update.
23099
23100 2005-08-24  Bruno Haible  <bruno@clisp.org>
23101
23102         * modules/tls-tests: New file.
23103         * tests/test-tls.c: New file, from GNU gettext.
23104
23105 2005-08-24  Bruno Haible  <bruno@clisp.org>
23106
23107         * modules/lock-tests: New file.
23108         * tests/test-lock.c: New file, from GNU gettext.
23109
23110 2005-08-24  Bruno Haible  <bruno@clisp.org>
23111
23112         * lib/lock.h: Add multiple inclusion guard.
23113         * lib/tls.h: Add multiple inclusion guard.
23114
23115 2005-08-24  Bruno Haible  <bruno@clisp.org>
23116
23117         * gnulib-tool: Add support for the --aux-dir option to
23118         --create-testdir, --create-megatestdir, --test, --megatest.
23119         (func_create_testdir, func_create_megatestdir): Optionally emit a
23120         AC_CONFIG_AUX_DIR directive.
23121         (create-testdir, create-megatestdir, test, megatest): Provide a
23122         default value for $auxdir.
23123
23124 2005-08-24  Bruno Haible  <bruno@clisp.org>
23125
23126         * gnulib-tool (import): Use compound statement instead of subshell
23127         where possible.
23128
23129 2005-08-24  Bruno Haible  <bruno@clisp.org>
23130
23131         * gnulib-tool (import): Change --aux-dir default to "build-aux".
23132
23133 2005-08-24  Bruno Haible  <bruno@clisp.org>
23134
23135         * gnulib-tool (func_version): Update.
23136
23137 2005-08-24  Bruno Haible  <bruno@clisp.org>
23138
23139         * gnulib-tool (func_import, func_create_testdir,
23140         func_create_megatestdir): Quote all autoconf macro arguments.
23141
23142 2005-08-24  Bruno Haible  <bruno@clisp.org>
23143
23144         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
23145         option --force, because --force causes the aclocal.m4 of each
23146         subdirectory to be newer than the corresponding config.h.in.
23147
23148 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23149
23150         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
23151         All contents moved to gl_REGEX.
23152         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
23153         assume that it does.
23154
23155 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23156
23157         * lib/regex.h (REG_NOSYS)
23158         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
23159         Define, since POSIX requires it as of 2001.
23160         (_REG_ENOSYS)
23161         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
23162         New private symbol, used to keep the enum signed in all cases.
23163         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
23164         Youngman in
23165         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
23166
23167         * lib/regex_internal.c (re_string_skip_chars, register_state):
23168         (calc_state_hash):
23169         Remove forward decls; no longer needed now that we use prototypes.
23170         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
23171         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
23172         (clean_state_log_if_needed): Likewise.
23173
23174 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23175
23176         * config/srclist.txt: Add glibc bugs 1231-1233.
23177
23178 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23179
23180         Fix problems reported by Sam Steingold in
23181         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
23182         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
23183         assumed that reg_errcode_t is a signed type, which is not
23184         necessarily true if _XOPEN_SOURCE is not defined.
23185         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
23186         since some compilers warn about it otherwise.
23187
23188 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23189
23190         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
23191         (init_word_char, create_initial_state, duplicate_node_closure):
23192         (fetch_token, peek_token_bracket, build_range_exp):
23193         (build_collating_symbol): Remove forward decls; no longer needed
23194         now that we use prototypes.
23195
23196         * lib/regcomp.c:
23197         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
23198         (re_compile_fastmap_iter, regcomp, regerror, regfree):
23199         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
23200         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
23201         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
23202         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
23203         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
23204         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
23205         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
23206         (build_range_exp, build_collating_symbol, parse_bracket_exp):
23207         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
23208         (build_charclass, build_charclass_op, fetch_number, create_tree):
23209         (create_token_tree, mark_opt_subexp, duplicate_tree):
23210         Use prototypes rather than old-style definitions.
23211
23212         * lib/regex_internal.c:
23213         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
23214         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
23215         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
23216         (re_string_reconstruct, re_string_peek_byte_case):
23217         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
23218         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
23219         (re_node_set_init_copy, re_node_set_add_intersect):
23220         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
23221         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
23222         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
23223         (re_acquire_state, re_acquire_state_context, register_state):
23224         (create_ci_newstate, create_cd_newstate, free_state):
23225         Likewise.
23226         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
23227         re_search_2):
23228         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
23229         (re_search_internal, prune_impossible_nodes):
23230         (acquire_init_state_context, check_matching, static):
23231         (check_halt_node_context, check_halt_state_context, proceed_next_node):
23232         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
23233         (update_regs, sift_states_backward, build_sifted_states):
23234         (clean_state_log_if_needed, merge_state_array):
23235         (update_cur_sifted_state, add_epsilon_src_nodes):
23236         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
23237         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
23238         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
23239         (find_recover_state, check_subexp_matching_top, transit_state_mb):
23240         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
23241         (check_arrival, check_arrival_add_next_nodes):
23242         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
23243         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
23244         (check_node_accept_bytes, check_node_accept, extend_buffers):
23245         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
23246         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
23247         (sift_ctx_init):
23248         Likewise.
23249
23250         * lib/regex_internal.h:
23251         (re_string_allocate, re_string_construct, re_string_reconstruct):
23252         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
23253         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
23254         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
23255         (re_string_context_at, re_string_peek_byte_case):
23256         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
23257         is defined, since we now use prototypes always.
23258
23259         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
23260         C89 or better.  All uses removed.
23261
23262 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
23263
23264         * config/srclist.txt: Add glibc bugs 1220-1227.
23265
23266 2005-08-20  Jim Meyering  <jim@meyering.net>
23267
23268         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
23269         of unused local, dfa.
23270
23271 2005-08-20  Bruno Haible  <bruno@clisp.org>
23272
23273         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
23274
23275 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23276
23277         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
23278         (re_node_set_insert_last, re_dfa_add_node):
23279         Rename local variables to avoid GCC shadowing warnings.
23280
23281 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23282
23283         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
23284         [defined lint]: Suppress bogus uninitialized-variable warnings.
23285
23286         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
23287         and let the caller return REG_ESPACE if out of space.  This
23288         removes an uninitialied-variable warning with GCC 4.0.1, and also
23289         avoids taking the address of a local variable.  All callers
23290         changed.
23291
23292 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
23293
23294         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
23295         $LIBCSRC/posix/regexec.c.
23296         Add glibc bug 1217 for regcomp.c.
23297
23298 2005-08-19  Jim Meyering  <jim@meyering.net>
23299
23300         * lib/regexec.c (proceed_next_node): Redo local variables to
23301         avoid GCC shadowing warnings.
23302
23303 2005-08-18  Bruno Haible  <bruno@clisp.org>
23304
23305         * lib/strstr.c (strstr): Fix return value in multibyte case.
23306         * lib/strcasestr.c (strcasestr): Likewise.
23307
23308 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
23309
23310         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
23311
23312 2005-08-17  Jim Meyering  <jim@meyering.net>
23313
23314         Make the %s format (seconds since the epoch) work for a negative
23315         number and when used with a zero-padded field width, e.g. %015s.
23316
23317         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
23318         label so that it precedes the code to set `digits'.  Otherwise,
23319         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
23320         print `00-22'.  Now, it prints `-0022', as it should.
23321
23322 2005-08-17  Bruno Haible  <bruno@clisp.org>
23323
23324         * modules/strstr (Files): Add m4/mbrtowc.m4.
23325         (Depends-on): Add mbuiter.
23326
23327 2005-08-17  Bruno Haible  <bruno@clisp.org>
23328
23329         * modules/strcasestr: New file.
23330         * MODULES.html.sh (String handling, based on ANSI C 89): Add
23331         strcasestr.
23332
23333 2005-08-17  Bruno Haible  <bruno@clisp.org>
23334
23335         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
23336
23337 2005-08-17  Bruno Haible  <bruno@clisp.org>
23338
23339         * modules/mbuiter: New file.
23340         * MODULES.html.sh (Extended multibyte and wide character utilities):
23341         Add mbuiter.
23342
23343 2005-08-17  Bruno Haible  <bruno@clisp.org>
23344
23345         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
23346         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
23347
23348 2005-08-17  Bruno Haible  <bruno@clisp.org>
23349
23350         * m4/strcasestr.m4: New file.
23351
23352 2005-08-17  Bruno Haible  <bruno@clisp.org>
23353
23354         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
23355         * lib/strstr.c: Completely rewritten, with multibyte locale support.
23356
23357 2005-08-17  Bruno Haible  <bruno@clisp.org>
23358
23359         * lib/strcasestr.h: New file.
23360         * lib/strcasestr.c: New file.
23361
23362 2005-08-17  Bruno Haible  <bruno@clisp.org>
23363
23364         * lib/strcasecmp.c: Use mbuiter.h.
23365
23366 2005-08-17  Bruno Haible  <bruno@clisp.org>
23367
23368         * lib/mbuiter.h: New file.
23369
23370 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
23371
23372         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
23373         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
23374         and gl_GETOPT are both invoked via different paths (as happens
23375         with GNU tar CVS because it uses both argp and getopt), the former
23376         wins.
23377
23378 2005-08-16  Bruno Haible  <bruno@clisp.org>
23379
23380         * modules/tls: New file.
23381         * MODULES.html.sh (Multithreading): Add tls.
23382
23383 2005-08-16  Bruno Haible  <bruno@clisp.org>
23384
23385         * modules/strnlen1: New file.
23386         * MODULES.html.sh (String handling): Add strnlen1.
23387
23388 2005-08-16  Bruno Haible  <bruno@clisp.org>
23389
23390         * modules/strcase (Files): Add m4/mbrtowc.m4.
23391         (Depends-on): Add strnlen1, mbchar.
23392
23393 2005-08-16  Bruno Haible  <bruno@clisp.org>
23394
23395         * modules/mbiter: New file.
23396         * MODULES.html.sh (Extended multibyte and wide character utilities):
23397         Add mbiter.
23398
23399 2005-08-16  Bruno Haible  <bruno@clisp.org>
23400
23401         * modules/mbfile: New file.
23402         * MODULES.html.sh (Extended multibyte and wide character utilities):
23403         Add mbfile.
23404
23405 2005-08-16  Bruno Haible  <bruno@clisp.org>
23406
23407         * modules/mbchar: New file.
23408         * MODULES.html.sh (Extended multibyte and wide character utilities):
23409         New section.
23410
23411 2005-08-16  Bruno Haible  <bruno@clisp.org>
23412
23413         * m4/tls.m4: New file, from GNU gettext.
23414
23415 2005-08-16  Bruno Haible  <bruno@clisp.org>
23416
23417         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
23418         always.
23419         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
23420
23421 2005-08-16  Bruno Haible  <bruno@clisp.org>
23422
23423         * m4/mbiter.m4: New file.
23424
23425 2005-08-16  Bruno Haible  <bruno@clisp.org>
23426
23427         * m4/mbfile.m4: New file.
23428
23429 2005-08-16  Bruno Haible  <bruno@clisp.org>
23430
23431         * m4/mbchar.m4: New file.
23432
23433 2005-08-16  Bruno Haible  <bruno@clisp.org>
23434
23435         * lib/tls.h: New file, from GNU gettext.
23436         * lib/tls.c: New file, from GNU gettext.
23437
23438 2005-08-16  Bruno Haible  <bruno@clisp.org>
23439
23440         * lib/strnlen1.h: New file.
23441         * lib/strnlen1.c: New file.
23442
23443 2005-08-16  Bruno Haible  <bruno@clisp.org>
23444
23445         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
23446         (mbi_init): Update.
23447         (mbi_avail, mbi_advance): Let the iteration end before the terminating
23448         NUL byte, not after it.
23449
23450 2005-08-16  Bruno Haible  <bruno@clisp.org>
23451
23452         * lib/strcase.h (strcasecmp): Add note in comments.
23453         * lib/strncasecmp.c: Use code from strcasecmp.c.
23454         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
23455         (strcasecmp): Work correctly in multibyte locales.
23456
23457 2005-08-16  Bruno Haible  <bruno@clisp.org>
23458
23459         * lib/mbiter.h: New file.
23460
23461 2005-08-16  Bruno Haible  <bruno@clisp.org>
23462
23463         * lib/mbfile.h: New file.
23464
23465 2005-08-16  Bruno Haible  <bruno@clisp.org>
23466
23467         * lib/mbchar.h: New file.
23468         * lib/mbchar.c: New file.
23469
23470 2005-08-16  Bruno Haible  <bruno@clisp.org>
23471
23472         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
23473         the valid ones. Makes the comparison operations transitive:
23474         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
23475         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
23476
23477 2005-08-15  Simon Josefsson  <jas@extundo.com>
23478
23479         * modules/ssize_t (License): Change to 'unlimited'.
23480
23481         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
23482
23483 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
23484
23485         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
23486         Add comments for each pending glibc patch.
23487
23488 2005-08-15  Bruno Haible  <bruno@clisp.org>
23489
23490         * lib/regex.h (__restrict_arr): Don't define to __restrict if
23491         __cplusplus is defined.
23492
23493 2005-08-14  Jim Meyering  <jim@meyering.net>
23494
23495         Sync from coreutils.
23496
23497         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
23498         Use the hash-table-based cycle-detection code not just when
23499         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
23500         Reported by James Youngman in
23501         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
23502         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
23503         FTS_TIGHT_CYCLE_CHECK.
23504         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
23505         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
23506         once again.
23507         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
23508         * lib/fts.c (fd_safer): Remove decl.
23509         Include fcntl--.h rather than unistd-safer.h
23510         (fts_safe_changedir): Don't call fd_safer; no longer needed
23511         now that we include fcntl--.h.
23512
23513 2005-08-12  Simon Josefsson  <jas@extundo.com>
23514
23515         * modules/getndelim2: Use ssize_t module.
23516         * modules/getnline: Likewise.
23517         * modules/safe-read: Likewise.
23518         * modules/xreadlink: Likewise.
23519
23520         * modules/ssize_t: New file.
23521
23522 2005-08-12  Simon Josefsson  <jas@extundo.com>
23523
23524         * m4/readline.m4: Look for termcap, curses or ncurses if required.
23525
23526 2005-08-12  Simon Josefsson  <jas@extundo.com>
23527
23528         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23529         ssize_t.
23530
23531 2005-08-12  Simon Josefsson  <jas@extundo.com>
23532
23533         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
23534         readline, getdelim and check_version.
23535         (Support for systems lacking ISO C 99: Sizes of integer types):
23536         Add size_max.
23537
23538 2005-08-12  Bruno Haible  <bruno@clisp.org>
23539
23540         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
23541
23542 2005-08-11  Simon Josefsson  <jas@extundo.com>
23543
23544         * modules/readline: New file.
23545
23546         * modules/strnlen (Files): Add strnlen.h.
23547
23548 2005-08-11  Simon Josefsson  <jas@extundo.com>
23549
23550         * m4/readline.m4: New file.
23551
23552 2005-08-11  Simon Josefsson  <jas@extundo.com>
23553
23554         * lib/readline.h, readline.c: New file.
23555
23556 2005-08-11  Simon Josefsson  <jas@extundo.com>
23557
23558         * doc/gnulib.texi (Initial import, Finishing touches): Mention
23559         gl_AVOID.
23560
23561 2005-08-11  Bruno Haible  <bruno@clisp.org>
23562
23563         * lib/strnlen.h (strnlen): Change parameter name to match comment.
23564
23565 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
23566
23567         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
23568
23569 2005-08-10  Simon Josefsson  <jas@extundo.com>
23570
23571         * tests/test-iconvme.c: New file.
23572
23573 2005-08-10  Simon Josefsson  <jas@extundo.com>
23574
23575         * m4/strnlen.m4: New file.
23576
23577         * m4/strndup.m4: Don't check for strnlen declaration, done in
23578         strnlen.m4.
23579
23580 2005-08-10  Simon Josefsson  <jas@extundo.com>
23581
23582         * lib/strndup.c: Use strnlen.h.
23583
23584         * lib/strnlen.h: New file.
23585
23586 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
23587
23588         * README: Typos.
23589
23590 2005-08-02  Simon Josefsson  <jas@extundo.com>
23591
23592         * modules/readline: New file.
23593
23594 2005-08-02  Simon Josefsson  <jas@extundo.com>
23595
23596         * modules/getdelim: New file.
23597
23598         * modules/getline: Rewrite, don't use getndelim2.
23599
23600 2005-08-02  Simon Josefsson  <jas@extundo.com>
23601
23602         * m4/getline.m4: Separate out getdelim stuff into separate module.
23603
23604         * m4/getdelim.m4: New file.
23605
23606 2005-08-02  Simon Josefsson  <jas@extundo.com>
23607
23608         * lib/getline.h, getline.c: Rewrite.
23609
23610         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
23611
23612 2005-07-31  Bruno Haible  <bruno@clisp.org>
23613
23614         * lib/lock.h (gl_lock_initializer): New macro.
23615         (gl_lock_define_initialized): Use it.
23616         (gl_rwlock_initializer): New macro.
23617         (gl_rwlock_define_initialized): Use it.
23618         (gl_recursive_lock_initializer): New macro.
23619         (gl_recursive_lock_define_initialized): Use it.
23620
23621 2005-07-30  Karl Berry  <karl@gnu.org>
23622
23623         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
23624         Report from Ben Pfaff, regarding getopt.
23625
23626 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
23627
23628         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
23629         normal way.
23630         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
23631         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
23632         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
23633         (gl_GETOPT): Use the new macros.  Most of the implementation
23634         is moved to the new macros.  This is for programs like Emacs
23635         that don't want all the functionality of gl_GETOPT.
23636
23637 2005-07-26  Bruno Haible  <bruno@clisp.org>
23638
23639         * m4/lock.m4: Update from GNU gettext.
23640
23641 2005-07-26  Bruno Haible  <bruno@clisp.org>
23642
23643         * lib/lock.h: Update from GNU gettext.
23644         * lib/lock.c: Update from GNU gettext.
23645
23646 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
23647
23648         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
23649         obsolescent AC_TRY_RUN.  Include the default includes files, for
23650         'exit'.
23651
23652 2005-07-24  Bruno Haible  <bruno@clisp.org>
23653
23654         * modules/visibility: New file.
23655         * MODULES.html.sh (Misc): Add visibility.
23656
23657 2005-07-24  Bruno Haible  <bruno@clisp.org>
23658
23659         * m4/visibility.m4: New file.
23660
23661 2005-07-24  Bruno Haible  <bruno@clisp.org>
23662
23663         * doc/visibility.texi: New file.
23664
23665 2005-07-22  Bruno Haible  <bruno@clisp.org>
23666
23667         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
23668         $(ALLOCA_H), redundant through BUILT_SOURCES.
23669         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
23670         redundant through BUILT_SOURCES.
23671         * modules/byteswap (Makefile.am): Remove explicit dependency on
23672         $(BYTESWAP_H), redundant through BUILT_SOURCES.
23673         * modules/fnmatch (Makefile.am): Remove explicit dependency on
23674         $(FNMATCH_H), redundant through BUILT_SOURCES.
23675         * modules/getopt (Makefile.am): Remove explicit dependency on
23676         $(GETOPT_H), redundant through BUILT_SOURCES.
23677         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
23678         redundant through BUILT_SOURCES.
23679         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
23680         redundant through BUILT_SOURCES.
23681         * modules/stdbool (Makefile.am): Remove explicit dependency on
23682         $(STDBOOL_H), redundant through BUILT_SOURCES.
23683         * modules/stdint (Makefile.am): Remove explicit dependency on
23684         $(STDINT_H), redundant through BUILT_SOURCES.
23685         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
23686         Remove explicit dependency on $(SYSEXITS_H).
23687         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
23688
23689 2005-07-18  Simon Josefsson  <jas@extundo.com>
23690
23691         * lib/check-version.c (check_version): Accept identical versions too.
23692
23693 2005-07-18  Bruno Haible  <bruno@clisp.org>
23694
23695         * modules/lock: New file.
23696         * MODULES.html.sh (Multithreading): New section.
23697
23698 2005-07-18  Bruno Haible  <bruno@clisp.org>
23699
23700         * m4/lock.m4: New file, from GNU gettext.
23701
23702 2005-07-18  Bruno Haible  <bruno@clisp.org>
23703
23704         * lib/lock.h: New file, from GNU gettext.
23705         * lib/lock.c: New file, from GNU gettext.
23706
23707 2005-07-18  Bruno Haible  <bruno@clisp.org>
23708
23709         * lib/lock.h (gl_once_t): New type.
23710         (gl_once_define, gl_once): New macros.
23711         * lib/lock.c (fresh_once): New variable.
23712         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
23713         functions.
23714
23715 2005-07-16  Simon Josefsson  <jas@extundo.com>
23716
23717         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
23718         workaround, suggested by Bruno.
23719
23720 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23721
23722         * modules/xalloc (Depends-on): Add xalloc-die.
23723         * modules/xvasprintf (Depends-on): Add xalloc-die.
23724
23725 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23726
23727         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
23728         with a minor change.
23729
23730 2005-07-15  Bruno Haible  <bruno@clisp.org>
23731
23732         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
23733         When using lib/poll.c, define poll as rpl_poll.
23734
23735 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
23736
23737         * modules/argp (Depends-on): Remove unlocked-io.
23738
23739 2005-07-14  Derek Price  <derek@ximbiot.com>
23740
23741         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
23742         for glob symlink bug.
23743
23744 2005-07-14  Bruno Haible  <bruno@clisp.org>
23745
23746         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
23747         Instead, test for *_unlocked function declarations directly.
23748
23749 2005-07-11  Simon Josefsson  <jas@extundo.com>
23750
23751         * modules/size_max: New file.
23752
23753         * modules/xsize: Depend on size_max module for size_max.m4.
23754
23755 2005-07-11  Simon Josefsson  <jas@extundo.com>
23756
23757         * lib/size_max.h: New file.
23758
23759 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
23760
23761         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
23762         copyright symbol and the year.
23763         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
23764         (version_etc_va): Use parameterized copyright notice.
23765         Reword to conform to the current GNU coding standards.
23766
23767 2005-07-11  Karl Berry  <karl@gnu.org>
23768
23769         * doc/gnulib.texi (Quoting): new node.
23770         (Initial import): more info, from Patrice.
23771
23772 2005-07-11  Bruno Haible  <bruno@clisp.org>
23773
23774         * gnulib-tool (func_usage): Document option --avoid.
23775         (Command line options): Handle --avoid.
23776         (func_acceptable): New function.
23777         (func_modules_transitive_closure): Use it.
23778
23779 2005-07-11  Bruno Haible  <bruno@clisp.org>
23780
23781         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
23782         Reported by Jim Meyering.
23783
23784 2005-07-10  Bruno Haible  <bruno@clisp.org>
23785
23786         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
23787         Needed when size_t is smaller than 'unsigned int'.
23788         Reported by Paul Eggert.
23789
23790 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23791
23792         * modules/argp (Depends-on): Add unlocked-io
23793
23794 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
23795
23796         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
23797         block of defines.
23798
23799 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23800
23801         * config/srclist.txt: Comment out regcomp.c, since we have a porting
23802         fix now.
23803
23804 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
23805         and Paul Eggert  <eggert@cs.ucla.edu>
23806
23807         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
23808         in wint_t, not wchar_t.  Remove now-unnecessary cast.
23809
23810 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23811
23812         * modules/regex (Files): Add lib/regex_internal.c,
23813         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
23814         (Depends-on): Add extensions.
23815         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
23816
23817 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23818
23819         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
23820         pathconf.
23821         * m4/same.m4 (gl_SAME): Likewise.
23822         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
23823
23824         * m4/regex.m4: Adjust to new libc regex implementation.
23825         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
23826         all the .c and .h parts of (the new) regex.
23827         Quote the m4 stuff better.
23828         Check for RE_ICASE bug of old gnulib.
23829         Check for REG_STARTEND of recent libc.
23830         Rename local variables from jm_* to gl_*.
23831         Quote operand of "test -f".
23832         Say "recent enough" version of libc, not "version 2".
23833         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
23834         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
23835         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
23836         Remove check for btowc, isascii.
23837         Require AM_LANGINFO_CODESET.
23838
23839 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23840
23841         * lib/regex.c, regex.h: Sync from libc.
23842         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
23843         * lib/regexec.c:
23844         New files, synced from libc, except that regex_internal.h
23845         currently has a small porting fix.
23846
23847 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
23848
23849         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
23850         regex_internal.c, regexec.c.
23851         Add regex_internal.h too, but as a comment, since the libc version
23852         is currently broken in gnulib mode.
23853
23854 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23855
23856         Support programs like Emacs that use gnulib but not gettext.
23857         * MODULES.html.sh (Internationalization functions): Add gettext-h.
23858         * modules/gettext-h: New file.
23859         * modules/gettext (Files): Remove lib/gettext.h.
23860         (Depends-on): Add gettext-h.
23861         (Makefile.am): Remove lib_SOURCES.
23862         * modules/argmatch, modules/c-stack, modules/closeout:
23863         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
23864         * modules/execute, modules/file-type, modules/getaddrinfo:
23865         * modules/getopt, modules/human, modules/javacomp:
23866         * modules/javaexec, modules/mkdir-p, modules/obstack:
23867         * modules/openat, modules/pagealign_alloc, modules/pipe:
23868         * modules/quotearg, modules/regex, modules/rpmatch:
23869         * modules/unicodeio, modules/userspec, modules/version-etc:
23870         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
23871         * modules/xsetenv:
23872         Depend on gettext-h, not gettext.
23873
23874 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
23875
23876         * gnulib-tool (func_import): Add support for 'public domain' license.
23877         * modules/alloca, modules/atexit, modules/memmove:
23878         Now public domain, not GPL.
23879         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
23880         * modules/realloc, modules/strerror, modules/strtod:
23881         Now LGPL, not GPL.
23882
23883 2005-07-05  Bruno Haible  <bruno@clisp.org>
23884
23885         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
23886         autoconf CVS. Needed for mingw.
23887
23888 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23889
23890         Remove the dependency of the strftime module on the tzset module.
23891         * modules/strftime (Depends-on): Remove dependency on tzset.
23892
23893 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23894
23895         Remove the dependency of the strftime module on the tzset module.
23896         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
23897         gl_FUNC_TZSET_CLOBBER.
23898
23899 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
23900
23901         Remove the dependency of the strftime module on the tzset module.
23902         * lib/strftime.c (my_strftime)
23903         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
23904         Copy the input structure, to work around some of the bug with
23905         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
23906         Solaris releases, you should also use the tzset module, but we won't
23907         require it as a dependency any more since we don't want LGPLed code
23908         to depend on GPLed code.
23909
23910 2005-07-02  Jim Meyering  <jim@meyering.net>
23911
23912         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
23913         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
23914         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
23915         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
23916
23917 2005-07-02  Jim Meyering  <jim@meyering.net>
23918
23919         * lib/backupfile.c (backup_args): Change a `0' to NULL.
23920
23921 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
23922
23923         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
23924         declares only 'struct timespec;' (!).
23925
23926 2005-07-01  Jim Meyering  <jim@meyering.net>
23927
23928         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
23929         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
23930         * lib/save-cwd.c, tempname.c:
23931         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
23932         and don't include <sys/file.h>).
23933
23934 2005-06-29  Jim Meyering  <jim@meyering.net>
23935
23936         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
23937         type name.  Use the variable name instead.
23938         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
23939         Likewise.
23940
23941 2005-06-28  Simon Josefsson  <jas@extundo.com>
23942
23943         * modules/check-version (Files): Add check-version.m4.
23944
23945 2005-06-28  Simon Josefsson  <jas@extundo.com>
23946
23947         * m4/check-version.m4: New file, suggested by Jim Meyering
23948         <jim@meyering.net>.
23949
23950 2005-06-28  Simon Josefsson  <jas@extundo.com>
23951
23952         * lib/check-version.h, lib/check-version.c: New files.
23953
23954 2005-06-28  Simon Josefsson  <jas@extundo.com>
23955
23956         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
23957         collision with global variable.  Better indentation.  Don't
23958         increment buffer pointer beyond buffer end.  Based on comments
23959         from Paul Eggert <eggert@cs.ucla.edu>.
23960
23961         * lib/base64.h: Indent.
23962
23963 2005-06-28  Simon Josefsson  <jas@extundo.com>
23964
23965         * doc/gnulib.texi (Library version handling): New section.
23966
23967 2005-06-28  Jim Meyering  <jim@meyering.net>
23968
23969         * check-module (find_included_lib_files): Hard-code another
23970         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
23971         but modules/fts-lgpl (correctly) does not list those files.
23972
23973         * modules/canonicalize (Files): Add lib/pathmax.h.
23974
23975 2005-06-25  Simon Josefsson  <jas@extundo.com>
23976
23977         * modules/check-version: New file.
23978
23979 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
23980
23981         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
23982         initializer of struct addrinfo, as an indication that we don't
23983         care how many members the structure has.
23984
23985 2005-06-24  Derek Price  <derek@ximbiot.com>
23986         and Bruno Haible  <bruno@clisp.org>
23987
23988         Remove stat module & update lstat.
23989         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
23990         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23991         * m4/stat.m4: Remove this file.
23992
23993 2005-06-24  Derek Price  <derek@ximbiot.com>
23994         and Bruno Haible  <bruno@clisp.org>
23995
23996         Remove stat module & update lstat.
23997         * lib/stat.c: Remove this file...
23998         (slash_aware_lstat): ...moving this content and its support...
23999         * lib/lstat.c (rpl_lstat): ...into here.
24000         * lib/lstat.h: New file.
24001
24002 2005-06-24  Derek Price  <derek@ximbiot.com>
24003         and Bruno Haible  <bruno@clisp.org>
24004
24005         Remove stat module & update lstat.
24006         * config/srclist.txt (libc sources): Remove stat.
24007
24008 2005-06-24  Derek Price  <derek@ximbiot.com>
24009         and Bruno Haible  <bruno@clisp.org>
24010
24011         Remove stat module & update lstat.
24012         * MODULES.html.sh (stat): Remove.
24013         * MODULES.html: Regenerated.
24014         * modules/lstat (Description): Correct function name.
24015         (Files): Add "lstat.h".
24016         (Depends-on): Remove stat, add xalloc, stat-macros.
24017         * modules/stat: Remove this file.
24018         (Include): Add "lstat.h", remove <sys/stat.h>.
24019
24020 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
24021
24022         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
24023         (ranged_convert): Don't save conversion in a temporary struct.
24024         This causes a warning with GCC 4.0.0, and anyway in the typical
24025         case it's not worth the extra 100 bytes or so of code.
24026         (ranged_convert, __mktime_internal): When calling a function via a
24027         pointer P, use P () rather than (*P) (), as we now assume C89 or
24028         better.
24029
24030 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24031
24032         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
24033         "who -r" failed to give output.  Problem reported by Tim Waugh.
24034
24035         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
24036         (xcalloc): Use it to avoid needless tests.
24037         Problem reported by Jim Meyering.
24038
24039 2005-06-20  Derek Price  <derek@ximbiot.com>
24040
24041         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
24042         unnecessary for Autoconfs > 2.59c.
24043
24044 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24045
24046         * lib/argp.h (__option_is_short): Check upper limit of
24047         __key. Isprint() requires its argument to have the value
24048         of an unsigned char or EOF.
24049
24050 2005-06-16  Jim Meyering  <jim@meyering.net>
24051
24052         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
24053         when either N or S is zero.
24054
24055 2005-06-16  Derek Price  <derek@ximbiot.com>
24056
24057         * m4/bison.m4: Declare YACC & YFLAGS precious.
24058
24059 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
24060
24061         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
24062         multibyte string or pattern, fall back on unibyte matching.
24063         Problem reported by James Youngman.
24064
24065 2005-06-08  Bruno Haible  <bruno@clisp.org>
24066
24067         * modules/csharpcomp: New file.
24068         * MODULES.html.sh (C#): Add csharpcomp.
24069
24070 2005-06-08  Bruno Haible  <bruno@clisp.org>
24071
24072         * m4/csharpcomp.m4: New file, from GNU gettext.
24073
24074 2005-06-08  Bruno Haible  <bruno@clisp.org>
24075
24076         * lib/csharpcomp.h: New file, from GNU gettext.
24077         * lib/csharpcomp.c: New file, from GNU gettext.
24078         * lib/csharpcomp.sh.in: New file, from GNU gettext.
24079
24080 2005-06-08  Bruno Haible  <bruno@clisp.org>
24081
24082         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
24083         warning on mingw.
24084
24085 2005-06-07  Derek Price  <derek@ximbiot.com>
24086
24087         Sync from CVS.
24088         * lib/glob_.h: Indent nested #ifdef.
24089
24090 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24091
24092         Sync from coreutils.
24093         Use "file name" when talking about file names, instead of "filename"
24094         or "path", as per the GNU coding standards.
24095         * lib/mkdir-p.c: Renamed from makepath.c.
24096         (make_dir_parents): Renamed from make_path.  All callers changed.
24097         * lib/mkdir-p.h: Likewise.  All includers changed.
24098         * lib/filenamecat.c: Renamed from path-concat.c.
24099         (file_name_concat): Renamed from path_concat.  All callers changed.
24100         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
24101         * lib/filenamecat.h: Likewise.  All includers changed.
24102         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
24103         in comments or local variable names.
24104         * lib/basename.c: Likewise.
24105         * lib/canonicalize.c, canonicalize.h: Likewise.
24106         * lib/dirname.c, dirname.h: Likewise.
24107         * lib/euidaccess.c: Likewise.
24108         * lib/exclude.c: Likewise
24109         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
24110         * lib/fsusage.c, fsuage.h: Likewise.
24111         * lib/fts.c, fts_.h: Likewise.
24112         * lib/getcwd.c: Likewise.
24113         * lib/getloadavg.c: Likewise.
24114         * lib/mkstemp.c: Likewise.
24115         * lib/mountlist.c, mountlist.h: Likewise.
24116         * lib/openat.c, openat.h: Likewise.
24117         * lib/readlink-stub.c: Likewise.
24118         * lib/readutmp.c, readutmp.h: Likewise.
24119         * lib/rename.c: Likewise.
24120         * lib/rmdir.c: Likewise.
24121         * lib/same.c: Likewise.
24122         * lib/savedir.c: Likewise.
24123         * lib/stripslash.c: Likewise.
24124         * lib/tempname.c: Likewise.
24125         * lib/xreadlink.c: Likewise.
24126         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
24127         All uses changed.
24128         * lib/exclude.h: Likewise.
24129
24130         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
24131         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24132         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
24133         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24134         * lib/pathmax.h: Include <limits.h> unconditionally, since other
24135         files have been getting away with it for years (MORE/BSD 4.3
24136         is extinct now).
24137         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
24138         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
24139
24140         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
24141         Define to 256, not 255, as per modern POSIX.
24142
24143 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24144
24145         Sync from coreutils.
24146         Use "file name" when talking about file names, instead of "filename"
24147         or "path", as per the GNU coding standards.
24148         * MODULES.html.sh: mkdir-p renamed from makepath.
24149         filenamecat renamed from path-concat.
24150         * modules/filenamecat: Renamed from modules/path-concat.
24151         (Files): filenamecat.h and filenamecat.c renamed from
24152         path-concat.h and path-concat.c.
24153         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
24154         (Include): filenamecat.h, not path-concat.h.
24155         * modules/mkdir-p: Renamed from modules/makepath.
24156         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
24157         makepath.c.
24158         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
24159         (Include): mkdir-p.h, not makepath.h.
24160
24161 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
24162
24163         Sync from coreutils.
24164         * m4/mkdir-p.m4: Renamed from makepath.m4.
24165         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
24166         Rename files from makepath.c to mkdir-p.c, and from
24167         makepath.h to mkdir-p.h.
24168         * m4/filenamecat.m4: Renamed from path-concat.m4.
24169         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
24170         Rename files from path-concat.c to filenamecat.c,
24171         and from path-concat.h to filenamecat.h.
24172         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
24173         "file name" in local variables or comments.
24174         * m4/rename.m4: Likewise.
24175
24176 2005-06-01  Bruno Haible  <bruno@clisp.org>
24177
24178         * modules/csharpexec: New file.
24179         * MODULES.html.sh (C#): New section.
24180
24181 2005-06-01  Bruno Haible  <bruno@clisp.org>
24182
24183         * m4/csharp.m4: New file, from GNU gettext.
24184         * m4/csharpexec.m4: New file, from GNU gettext.
24185
24186 2005-06-01  Bruno Haible  <bruno@clisp.org>
24187
24188         * lib/csharpexec.h: New file, from GNU gettext.
24189         * lib/csharpexec.c: New file, from GNU gettext.
24190         * lib/csharpexec.sh.in: New file, from GNU gettext.
24191
24192 2005-05-31  Derek Price  <derek@ximbiot.com>
24193             Paul Eggert  <eggert@cs.ucla.edu>
24194
24195         Sync from cvs.
24196         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
24197
24198 2005-05-31  Derek Price  <derek@ximbiot.com>
24199             Paul Eggert  <eggert@cs.ucla.edu>
24200
24201         Sync from cvs.
24202         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
24203
24204 2005-05-29  Derek Price  <derek@ximbiot.com>
24205
24206         * config/srclist.txt (glob_.h, glob.c): Add these files.
24207
24208 2005-05-29  Derek Price  <derek@ximbiot.com>
24209
24210         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
24211         * modules/glob: New file.
24212         * modules/getlogin_r: Add link to POSIX spec in description.
24213
24214 2005-05-29  Derek Price  <derek@ximbiot.com>
24215             Paul Eggert  <eggert@cs.ucla.edu>
24216
24217         * m4/glob.m4: New file.
24218
24219 2005-05-29  Derek Price  <derek@ximbiot.com>
24220             Paul Eggert  <eggert@cs.ucla.edu>
24221
24222         * lib/glob_.h, lib/glob.c: New files.
24223
24224 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24225
24226         * modules/fts (Files): Remove m4/inttypes-pri.m4.
24227         * modules/fts-lgpl (Depends-on): Remove gettext.
24228
24229 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24230
24231         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
24232         and don't require gt_INTTYPES_PRI.
24233
24234 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
24235
24236         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
24237
24238         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
24239         the configuration hassle isn't worth it.
24240         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
24241         (LONGEST_MODIFIER, PRIuMAX): Remove.
24242
24243 2005-05-27  Bruno Haible  <bruno@clisp.org>
24244
24245         * lib/getlogin_r.h: Remove second include of <stddef.h>.
24246
24247 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
24248
24249         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
24250         _POSIX_PTHREAD_SEMANTICS for Solaris.
24251
24252 2005-05-25  Derek Price  <derek@ximbiot.com>
24253
24254         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
24255
24256 2005-05-25  Derek Price  <derek@ximbiot.com>
24257             Paul Eggert  <eggert@cs.ucla.edu>
24258
24259         * modules/getlogin_r, m4/getlogin_r.m4: New files.
24260         * lib/getlogin_r.c, getlogin_r.h: New files.
24261
24262 2005-05-25  Bruno Haible  <bruno@clisp.org>
24263             Derek Price  <derek@ximbiot.com>
24264
24265         * lib/getlogin_r.h: Simplify API documentation.
24266
24267 2005-05-23  Derek Price  <derek@ximbiot.com>
24268
24269         * modules/minmax (Files): Add m4/minmax.m4.
24270         (configure.ac): Add gl_MINMAX.
24271
24272 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
24273
24274         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
24275         so that unistd-safer.h (GPL'ed code) need not be included.
24276
24277 2005-05-22  Bruno Haible  <bruno@clisp.org>
24278
24279         * m4/minmax.m4: New file.
24280         Based on a patch by Derek Price <derek@ximbiot.com>.
24281
24282 2005-05-22  Bruno Haible  <bruno@clisp.org>
24283
24284         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
24285         (INT64_MIN): Fix definition.
24286         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
24287
24288         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
24289         NEED_SIGNED_INT_TYPES.
24290
24291         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
24292         HAVE_SYSTEM_INTTYPES.
24293
24294 2005-05-22  Bruno Haible  <bruno@clisp.org>
24295
24296         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
24297         Also include <sys/param.h> if it defines MIN, MAX.
24298         Based on a patch by Derek Price <derek@ximbiot.com>.
24299
24300 2005-05-21  Jim Meyering  <jim@meyering.net>
24301
24302         * modules/fts (Files): Add m4/inttypes-pri.m4.
24303         (Depends-on): Add lstat and remove gettext.  Alphabetize.
24304
24305 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24306
24307         New fts module.
24308         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
24309         (setup_dir, free_dir): New functions.
24310         (enter_dir, leave_dir): Define trivial
24311         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
24312         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
24313         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
24314         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
24315         Move to fts-cycle.c.
24316         (fts_open): Use setup_dir.
24317         (fts_close): Use free_dir.
24318         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
24319         This adds a label and some gotos, but the alternatives were messier.
24320         Check for memory allocation failure when entering a dir.
24321         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
24322         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
24323         (FTS): New member fts_cycle, that is a union that contains the
24324         old active_dir_ht and cycle_state.  All uses changed to mention
24325         fts_cycle.ht and fts_cycle.state.
24326         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
24327         fts.c, with the following changes:
24328         (setup_dir, free_dir): New functions.
24329         (enter_dir): Now returns bool.  Return true if successful, false
24330         if memory exhausted.  All callers changed.
24331         Do not bother partly cleaning up on
24332         memory allocation failure; that is free_dir's job.
24333         However, free ad if hash_insert fails, to avoid memory leak.
24334         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
24335         fts->fts_options to see which union member to use.
24336
24337 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24338
24339         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
24340         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
24341
24342 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
24343
24344         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
24345
24346 2005-05-20  Jim Meyering  <jim@meyering.net>
24347
24348         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
24349         Now a macro, to pacify GCC.
24350
24351 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
24352
24353         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
24354         of -1.
24355
24356 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
24357
24358         * lib/chown.c (rpl_chown): Return -1 on failure.
24359
24360 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
24361
24362         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
24363         Don't check for stddef.h.
24364         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
24365         don't use its results.
24366         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
24367         since we include them unconditionally.  Don't require
24368         AM_STDBOOL_H, since stdbool is a prerequisite.
24369         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
24370         since we assume C89 or better.
24371         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
24372         as we don't use their results.
24373         Don't check for fchdir, memmove, memset, strrchr, as we use
24374         them unconditionally.
24375         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
24376         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
24377
24378 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
24379
24380         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
24381         Include <stddef.h> unconditionally, since we assume C89 now.
24382         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
24383         * lib/fts.c: Include fts_.h first, to check interface.
24384         Do not include intprops.h; no longer needed.
24385         Include cycle-check.h and hash.h, since fts_.h no longer does.
24386         Remove unnecessary casts of closedir to void.
24387         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
24388         decide whether to decrement nlinks.
24389         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
24390         (FTS): Use struct hash_table * instead of Hash_table, so that
24391         we no longer need to include hash.h here.
24392
24393 2005-05-18  Jim Meyering  <jim@meyering.net>
24394
24395         * modules/dirfd (License): Change to LGPL.  Most of the code
24396         is already in the public domain.
24397
24398 2005-05-18  Jim Meyering  <jim@meyering.net>
24399
24400         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
24401         Reported by Yoann Vandoorselaere.
24402
24403 2005-05-17  Jim Meyering  <jim@meyering.net>
24404
24405         * m4/fts.m4: New file, from coreutils.
24406
24407 2005-05-17  Jim Meyering  <jim@meyering.net>
24408
24409         * lib/fts.c, lib/fts_.h: New files, from coreutils.
24410
24411 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24412
24413         Sync from coreutils.
24414         * m4/unlinkdir.m4: New file.
24415
24416 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24417
24418         Sync from coreutils.
24419         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
24420         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
24421         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
24422         White space changes only.
24423         * lib/makepath.c (make_path): Port to hosts where leading "//" is
24424         special.
24425         * lib/yesno.c: Include getline.h, not ctype.h.
24426         (yesno): Don't remove leading white space; POSIX doesn't allow it.
24427         Use getline to remove arbitrary restriction on response length.
24428
24429 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
24430
24431         * config/srclist-update: Spell out "Street" in FSF postal
24432         mail address; this is the style the FSF seems to prefer.
24433
24434         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
24435         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
24436         this updates FSF postal mail address.
24437
24438         Sync from coreutils.
24439         * modules/unlinkdir: New file.
24440         * modules/yesno (Depends-on): Add getline.
24441         * MODULES.html.sh (File system functions): Add unlinkdir.
24442
24443 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24444
24445         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
24446         lib/strsep.h:
24447         Change the initial comment to refer to GPL, not LGPL.
24448         gnulib-tool will change it to LGPL as needed.
24449
24450         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
24451         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
24452         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
24453         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
24454         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
24455         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
24456         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
24457         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
24458         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
24459         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
24460         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
24461         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
24462         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
24463         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
24464         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
24465         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
24466         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
24467         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
24468         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
24469         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
24470         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
24471         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
24472         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
24473         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
24474         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
24475         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
24476         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
24477         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
24478         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
24479         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
24480         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
24481         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
24482         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
24483         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
24484         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
24485         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
24486         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
24487         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
24488         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
24489         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
24490         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
24491         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
24492         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
24493         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
24494         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
24495         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
24496         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
24497         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
24498         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
24499         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
24500         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
24501         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
24502         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
24503         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
24504         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
24505         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
24506         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
24507         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
24508         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
24509         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
24510         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
24511         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
24512         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
24513         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
24514         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
24515         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
24516         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
24517         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
24518         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
24519         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
24520         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
24521         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
24522         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
24523         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
24524         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
24525         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
24526         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
24527         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
24528         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
24529         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
24530         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
24531         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
24532         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
24533         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
24534         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
24535         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
24536         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
24537         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
24538         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
24539         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
24540         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
24541         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
24542         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
24543         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
24544         lib/yesno.c, lib/yesno.h:
24545         Update FSF postal mail address.
24546
24547 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
24548
24549         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
24550         tests/test-memmem.c, tests/test-stpncpy.c:
24551         Update FSF postal mail address.
24552
24553 2005-05-13  Bruno Haible  <bruno@clisp.org>
24554
24555         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
24556         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
24557         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
24558         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
24559         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
24560         Add support for 64-bit integers in the MSVC compiler.
24561
24562 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
24563
24564         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
24565
24566 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
24567
24568         * gnulib-tool (func_import): Sort and uniquify recommended includes.
24569
24570 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
24571
24572         * doc/getdate.texi (General date syntax): Don't say that date
24573         date --iso-8601=ns generates acceptable dates; it doesn't yet.
24574         Problem reported by Nic Ferrier.
24575
24576 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24577
24578         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
24579         specified in ai_socktype. Fix invalid ai_protocol
24580         check. ai_protocol is usually set to 0 or depending on
24581         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
24582         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
24583         ai_socktype / ai_protocol in the returned addrinfo structure.
24584
24585 2005-05-10  Simon Josefsson  <jas@extundo.com>
24586
24587         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
24588         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24589
24590 2005-05-10  Karl Berry  <karl@gnu.org>
24591
24592         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
24593         (from http://www.gnu.org/licenses).
24594         * doc/COPYING.LIB: also rename to COPYING.LESSER.
24595         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
24596         fdl.texi suffices.
24597
24598 2005-05-10  Karl Berry  <karl@gnu.org>
24599
24600         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
24601         (COPYING.DOC): remove.
24602
24603         * config/srclist-update: new FSF address.
24604
24605 2005-05-10  Derek Price  <derek@ximbiot.com>
24606
24607         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
24608         possible.
24609
24610 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24611             Bruno Haible  <bruno@clisp.org>
24612
24613         * modules/inet_ntop: New file.
24614         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24615         inet_ntop.
24616
24617 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24618             Bruno Haible  <bruno@clisp.org>
24619
24620         * m4/inet_ntop.m4: New file.
24621
24622 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24623             Bruno Haible  <bruno@clisp.org>
24624
24625         * lib/inet_ntop.h: New file.
24626         * lib/inet_ntop.c: New file, from glibc with modifications.
24627
24628 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
24629
24630         * modules/time_r (License): Change to LGPL.
24631         * modules/extensions (License): Change to LGPL.  Actually,
24632         the license is more permissive than that, but currently gnulib-tool
24633         doesn't know how to handle more-permissive licenses.
24634
24635         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
24636         Problem reported by Dave Love.
24637
24638 2005-05-08  Jim Meyering  <jim@meyering.net>
24639
24640         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
24641         blank.
24642
24643 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
24644
24645         * modules/argmatch (Depends-on): Add stdbool.
24646         * modules/backupfile (Depends-on): Likewise.
24647         * modules/chdir-long (Depends-on): Likewise.
24648         * modules/closeout (Depends-on): Likewise.
24649         * modules/cycle-check (Depends-on): Likewise.
24650         * modules/dirname (Depends-on): Likewise.
24651         * modules/fnmatch (Depends-on): Likewise.
24652         * modules/fsusage (Depends-on): Likewise.
24653         * modules/fwriteerror (Depends-on): Likewise.
24654         * modules/getcwd (Depends-on): Likewise.
24655         * modules/getloadavg (Depends-on): Likewise.
24656         * modules/hard-locale (Depends-on): Likewise.
24657         * modules/makepath (Depends-on): Likewise.
24658         * modules/mountlist (Depends-on): Likewise.
24659         * modules/nanosleep (Depends-on): Likewise.
24660         * modules/posixtm (Depends-on): Likewise.
24661         * modules/quotearg (Depends-on): Likewise.
24662         * modules/readtokens (Depends-on): Likewise.
24663         * modules/readtokens0 (Depends-on): Likewise.
24664         * modules/readutmp (Depends-on): Likewise.
24665         * modules/save-cwd (Depends-on): Likewise.
24666         * modules/strftime (Depends-on): Likewise.
24667         * modules/userspec (Depends-on): Likewise.
24668         * modules/utimecmp (Depends-on): Likewise.
24669         * modules/xgetcwd (Depends-on): Likewise.
24670         * modules/xnanosleep (Depends-on): Likewise.
24671         * modules/xstrtod (Depends-on): Likewise.
24672         * modules/yesno (Depends-on): Likewise.
24673
24674 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
24675
24676         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
24677         needless checks.
24678
24679 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24680
24681         Merge from coreutils.  Among other things,
24682         add bulletproofing for cases where stdin, stdout, or stderr are closed.
24683         * lib/fd-safer.c: New file.
24684         * lib/fcntl-safer.h, open-safer.c: Remove.
24685         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
24686         * lib/dup-safer.c: Include unistd-safer.h first.
24687         Don't include errno.h.
24688         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
24689         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
24690         * lib/file-type.c: Rely on file-type.h change.
24691         * lib/getloadavg.c: Include unistd-safer.h.
24692         (getloadavg): Use safer open.
24693         * lib/getusershell.c: Include "stdio-safer.h".
24694         (getusershell): Use safer fopen.
24695         * lib/long-options.c (long_options): Use NULL rather than 0.
24696         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
24697         'free'.
24698         * lib/modechange.c: Likewise.
24699         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
24700         (MODE_DONE): New constant.
24701         (struct mode_change): Remove 'next' member.
24702         (make_node_op_equals): New function; like the old one of the
24703         same name, except it allocates an array.
24704         (mode_compile, mode_create_from_ref): Use it.
24705         (mode_compile): Allocate result as an array, not a linked list.
24706         Parse octal string ourself, so that we catch mistakes like "+0".
24707         (mode_adjust): Arg is an array, not a linked list.
24708         * lib/modechange.c: Include stat-macros.h, xalloc.h.
24709         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
24710         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
24711         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
24712         Remove.  This is now stat-macros.h's job.
24713         (talloc): Remove.  All callers replaced by xalloc, so that
24714         our invokers don't have to worry about reporting memory failures.
24715         (make_node_op_equals): Remove.
24716         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
24717         New constants.
24718         (struct mode_change): Moved here from modechange.h.
24719         (mode_append_entry): Remove.
24720         (mode_compile): Remove MASKED_OPS arg, since it encouraged
24721         apps to have incorrect behavior.  Use simpler algorithm for head
24722         and tail.  Don't futz with umask; that's now the job of mode_adjust.
24723         Detect more invalid usages rather than having somewhat-random behavior.
24724         Don't insert an "a=" action, as that leads to incorrect behavior.
24725         (mode_compile, mode_create_from_ref): Return NULL on error instead
24726         of an enum, since now there's only one way to have an error.  All
24727         callers changed.
24728         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
24729         at the correct time.  Simplify calculation of "+u" and its ilk.
24730         Don't mishandle "+X".
24731         (mode_free): Remove "register" and localize decls.
24732         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
24733         (struct mode_change): Move to modechange.c; callers don't
24734         need to see this stuff.
24735         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
24736         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
24737         (mode_change, mode_adjust): Reflect the new signatures noted above.
24738         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
24739         that might redefine system include files.
24740         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
24741         (my_usleep): Use NULL rather than (void *) 0.
24742         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
24743         Use siginterrupt to specify that system calls should be interrupted.
24744         (rpl_nanosleep): Move initialization of suspended closer to call of
24745         my_usleep.
24746         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
24747         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
24748         (desirable_utmp_entry): New function.
24749         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
24750         using x2nrealloc, to simplify logic.
24751         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
24752         size calculation.  Do not assume utmp file is a regular file.
24753         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
24754         (READ_UTMP_CHECK_PIDS): New constant.
24755         * lib/save-cwd.c: Include unistd-safer.h.
24756         (save_cwd): Use fd_safer.
24757         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
24758         [!_LIBC] Include "stat-macros.h" instead.
24759         * lib/unistd-safer.h (fd_safer): New decl.
24760
24761 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24762
24763         * modules/getloadavg (Depends-on): Add unistd-safer.
24764         * modules/getusershell (Depends-on): Add stdio-safer.
24765         * modules/lstat (Depends-on): Remove xalloc.
24766         * modules/mkstemp (Depends-on): Add stat-macros.
24767         * modules/modechange (Depends-on): Remove xstrtol.
24768         Add stat-macros, xalloc.
24769         * modules/save-cwd (Depends-on): Add unistd-safer.
24770         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
24771         * modules/unistd-safer (Files): Add lib/fd-safer.c
24772         (Makefile.am): Remove lib_SOURCES.
24773
24774         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
24775         Remove fcntl-safer; unistd-safer supersedes it.
24776
24777 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24778
24779         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
24780         AC_HEADER_STAT.
24781         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
24782         (gl_PREREQ_CHOWN): Remove.
24783         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
24784         it.  Don't require AC_HEADER_STAT.
24785         (gl_PREREQ_LSTAT): Remove.
24786         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
24787         Don't require AC_HEADER_STAT.
24788         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
24789         (gl_PREREQ_RMDIR): Remove.
24790         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
24791         mention stat-macros.h or AC_HEADER_STAT, since we'll make
24792         the stat-macros module a prerequisite.
24793         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
24794         * m4/filemode.m4 (gl_FILEMODE): Likewise.
24795         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
24796         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
24797         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
24798         variable names.
24799         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
24800         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
24801         variable prefixes.
24802         * m4/fcntl-safer.m4: Remove.
24803         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
24804         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
24805         Invoke gl_PREREQ_FD_SAFER.
24806         (gl_PREREQ_FD_SAFER): New macro.
24807         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
24808         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
24809         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
24810         Remove duplicate call to AC_LIBOBJ(readutmp).
24811         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
24812
24813         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
24814         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
24815
24816 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24817
24818         * MODULES.html.sh (Misc): Add byteswap.
24819
24820 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24821
24822         * modules/getcwd (Depends-on): Add extensions.
24823         * modules/openat (Depends-on): Likewise.
24824
24825 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24826
24827         * modules/byteswap: New file.
24828
24829 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24830
24831         * m4/byteswap.m4: New file.
24832
24833 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
24834
24835         * lib/byteswap_.h: New file.
24836
24837 2005-04-25  Karl Berry  <karl@gnu.org>
24838
24839         * m4/gettext.m4: Update from GNU gettext 0.14.4.
24840
24841 2005-04-25  Albert Chin  <china@thewrittenword.com>
24842
24843         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
24844         Toolkit C bug.
24845
24846 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
24847
24848         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
24849         (func_ln_if_changed) Remove forcibly for no error message
24850         in case file does not exist.
24851
24852 2005-04-19  Simon Josefsson  <jas@extundo.com>
24853
24854         * gnulib-tool (Options): Make --symlink mean --symbolic.
24855
24856 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
24857
24858         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
24859
24860 2005-04-16  Simon Josefsson  <jas@extundo.com>
24861
24862         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
24863
24864 2005-04-15  Simon Josefsson  <jas@extundo.com>
24865
24866         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
24867
24868 2005-04-15  Simon Josefsson  <jas@extundo.com>
24869
24870         * gnulib-tool: Rename --symlink to --symbolic.
24871
24872 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
24873
24874         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
24875         symbolic links to files instead of copying/moving.  Add --aux-dir,
24876         specifying directory relative --dir where auxiliary build tools
24877         are placed.
24878
24879 2005-04-14  Bruno Haible  <bruno@clisp.org>
24880
24881         * modules/allocsa (License): Change to LGPL.
24882         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24883
24884 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
24885
24886         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
24887         that "UTC +1 second" continues to work.  Problem reported
24888         by Dmitry V. Levin.
24889         (relunit_snumber): New rule.
24890         (relunit): Use it.
24891
24892 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
24893
24894         * lib/getdate.y (universal_time_zone_table): New constant.
24895         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
24896         universal_time_zone_table.
24897         (lookup_zone): Prefer universal_time_zone_table to
24898         local_time_zone_table, so that "GMT" time stamps are allowed in
24899         London during the summer.  Problem reported by Ian Abbott.
24900
24901 2005-04-12  Jim Meyering  <jim@meyering.net>
24902
24903         * lib/human.c (humblock): Set *options even when returning due to
24904         xstrtoumax conversion failure.  Thanks to a used-uninitialized
24905         warning from gcc-4.
24906
24907 2005-04-09  Jim Meyering  <jim@meyering.net>
24908
24909         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
24910         -Wuninitialized: initialize tm0.tm_year.
24911
24912 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
24913
24914         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
24915         count, since there's no maximum.  All uses changed.
24916         Add member dsts_seen.
24917         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
24918         not being INT_MAX.
24919         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
24920         Use pc_rels_seen to decide whther a date is absolute.
24921
24922         * lib/getdate.y (number): Don't overwrite year.
24923         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
24924         check.
24925
24926 2005-04-02  Simon Josefsson  <jas@extundo.com>
24927
24928         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
24929         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
24930
24931 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
24932
24933         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
24934         where no absolute path name can be longer than PATH_MAX.
24935
24936 2005-03-27  Jim Meyering  <jim@meyering.net>
24937
24938         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
24939
24940 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
24941
24942         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
24943         "one's complement" -> "ones' complement" in comment, as per Knuth.
24944         "value of type" -> "type or expression" in comment.
24945         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
24946
24947 2005-03-26  Jim Meyering  <jim@meyering.net>
24948
24949         Comment nits.
24950         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
24951         Correct typos: s/or/of/.
24952
24953 2005-03-26  Jim Meyering  <jim@meyering.net>
24954
24955         * modules/check-include-files: Move to ../ and rename to...
24956         * check-module: ...this.
24957
24958 2005-03-25  Jim Meyering  <jim@meyering.net>
24959
24960         * modules/xvasprintf (Files): Add xalloc.h.
24961
24962 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
24963
24964         * modules/gettext (Files): config/config.rpath ->
24965         build-aux/config.rpath
24966         * modules/iconv (Files): Likewise.
24967         Problem reported by Oskar Liljeblad.
24968
24969 2005-03-23  Jim Meyering  <jim@meyering.net>
24970
24971         * modules/check-include-files: New script to check for
24972         missing dependencies, multiple includes, etc.
24973
24974         * modules/c-strtold (Depends-on): Add xalloc.
24975         * modules/c-strtod (Depends-on): Add xalloc.
24976         * modules/hash (Depends-on): Add xalloc.
24977         (Files): Remove lib/xalloc.h.
24978
24979         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
24980         * modules/userspec (Files): Add lib/inttostr.h.
24981
24982 2005-03-23  Jim Meyering  <jim@meyering.net>
24983
24984         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
24985
24986 2005-03-22  Jim Meyering  <jim@meyering.net>
24987
24988         * modules/stat-macros: New module.
24989         * modules/canonicalize, modules/euidaccess, modules/file-type,
24990         * modules/filemode, modules/lchown, modules/makepath,
24991         * modules/rmdir, modules/stat: Depend on new stat-macros module
24992         rather than listing lib/stat-macros.h manually.
24993         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
24994
24995 2005-03-22  Jim Meyering  <jim@meyering.net>
24996
24997         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
24998
24999 2005-03-22  Bruno Haible  <bruno@clisp.org>
25000
25001         * config/srclist.txt: Replace target directory 'config' with
25002         'build-aux'.
25003         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
25004         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
25005         ../build-aux/.
25006
25007 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
25008
25009         * modules/chdir-long (Depends-on): Add mempcpy.
25010
25011         * modules/acl, modules/backupfile, modules/c-strtod,
25012         modules/c-strtold, modules/canon-host, modules/canonicalize,
25013         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
25014         modules/exclude, modules/exitfail, modules/file-type,
25015         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
25016         modules/getdate, modules/getline, modules/getpagesize,
25017         modules/getpass, modules/getugroups, modules/group-member,
25018         modules/hard-locale, modules/hash, modules/human, modules/idcache,
25019         modules/inttostr, modules/long-options, modules/makepath,
25020         modules/md5, modules/memcasecmp, modules/memcoll,
25021         modules/modechange, modules/mountlist, modules/path-concat,
25022         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
25023         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
25024         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
25025         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
25026         modules/strftime, modules/strndup, modules/strverscmp,
25027         modules/timespec, modules/unlocked-io, modules/userspec,
25028         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
25029         modules/yesno:
25030         Remove lib_SOURCES line from Makefile.am section, as this is now
25031         done automatically by the corresponding Autoconf macro.
25032
25033 2005-03-21  Jim Meyering  <jim@meyering.net>
25034
25035         Changes imported from coreutils.
25036
25037         * lib/cycle-check.c: Don't include xalloc.h.
25038
25039         * lib/path-concat.c: Don't include assert.h.
25040         (path_concat): Remove assertion that would have triggered
25041         for ABASE starting with more than one slash.
25042         Reported by Andreas Schwab.
25043
25044         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
25045         properly when ABASE is an absolute file name.
25046         Correct the description of this function.
25047         Include <assert.h>.
25048         Add an assertion and a test driver.
25049         This fixes a bug introduced on 2004-07-02.
25050         Andreas Schwab reported the resulting failure of cp --parents:
25051         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
25052
25053 2005-03-21  Jim Meyering  <jim@meyering.net>
25054
25055         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
25056         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
25057
25058 2005-03-21  Jim Meyering  <jim@meyering.net>
25059         and  Paul Eggert  <eggert@cs.ucla.edu>
25060
25061         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
25062         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
25063         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
25064         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
25065         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
25066         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
25067         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
25068         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
25069         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
25070         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
25071         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
25072         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
25073         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
25074         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
25075         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
25076         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
25077         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
25078         for these modules.
25079
25080 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
25081
25082         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
25083         (which shouldn't happen), generate nothing instead of returning 0
25084         immediately, so that nstrftime (NULL, ...) doesn't return 0.
25085
25086 2005-03-16  Bruno Haible  <bruno@clisp.org>
25087
25088         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
25089         HAVE_LONGLONG_64BIT.
25090
25091 2005-03-16  Bruno Haible  <bruno@clisp.org>
25092
25093         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
25094         HAVE_LONGLONG_64BIT.
25095
25096 2005-03-16  Bruno Haible  <bruno@clisp.org>
25097
25098         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
25099         HAVE_LONGLONG_64BIT.
25100
25101 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25102
25103         * lib/strftime.c (my_strftime): Prepend space to format so that we can
25104         reliably distinguish strftime failure from empty output on POSIX
25105         hosts.
25106
25107 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
25108
25109         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
25110         (iconv_string): Don't guess a size-zero buffer, as that might cause
25111         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
25112         result would be 'too large', where 'too large' is (heuristically)
25113         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
25114         overflow concerns.  This will prevent some unwanted malloc failures
25115         when the inputs are very large.
25116
25117 2005-03-15  Karl Berry  <karl@gnu.org>
25118
25119         * config/srclist.txt (config.rpath): from gettext.
25120         * config/config.rpath: update.
25121
25122 2005-03-15  Bruno Haible  <bruno@clisp.org>
25123
25124         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
25125         to 'negate'.
25126
25127         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
25128         variable.
25129
25130         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
25131         results.
25132
25133 2005-03-14  Simon Josefsson  <jas@extundo.com>
25134
25135         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
25136         <fx@gnu.org>.
25137
25138 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
25139
25140         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
25141         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
25142         intprops.h.
25143         * lib/strtol.c: Likewise.
25144
25145 2005-03-14  Jim Meyering  <jim@meyering.net>
25146
25147         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
25148         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
25149         to be nonzero so that we (and caller) can detect the difference
25150         between a valid zero-length expansion and an error return, even
25151         when the underlying strftime fails before writing anything into
25152         that location.
25153
25154 2005-03-14  Bruno Haible  <bruno@clisp.org>
25155
25156         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
25157         Update from GNU gettext 0.14.3.
25158
25159 2005-03-10  Jim Meyering  <jim@meyering.net>
25160
25161         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
25162
25163 2005-03-10  Jim Meyering  <jim@meyering.net>
25164
25165         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
25166         so that this module works on systems without fchdir.
25167
25168 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
25169
25170         Factor int-properties macros into a single file, except for
25171         glibc-related files.
25172         * lib/intprops.h: New file.
25173         * lib/getloadavg.c: Include it instead of limits.h.
25174         (INT_STRLEN_BOUND): Remove.
25175         * lib/human.c: Include intprops.h.
25176         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
25177         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
25178         302/1000.
25179         * lib/inttostr.h: Include intprops.h instead of limits.h.
25180         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
25181         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
25182         for consistency with intprops.h.
25183         (time_t_is_integer, twos_complement_arithmetic): Use them.
25184         * lib/sig2str.h: Include <signal.h>, intprops.h.
25185         (INT_STRLEN_BOUND): Remove.
25186         * lib/strftime.c (TYPE_SIGNED): Remove.
25187         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
25188         * lib/strtol.c: Adjust comments to match intprops.h.
25189         * lib/userspec.c: Include intprops.h.
25190         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
25191         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
25192         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
25193         instead of rolling our own expressions.
25194         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
25195
25196         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
25197         instead of int.
25198         (my_strftime): Do not mishandle years close to INT_MAX, by doing
25199         the right thing even if adding 1900 would overflow.  Similarly
25200         for tm_mon + 1 and tm_yday + 1.
25201         Make %Y always equivalent to %C%y, and similarly for %G and %g.
25202         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
25203         (DO_SIGNED_NUMBER): New macro.
25204         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
25205
25206 2005-03-07  Bruno Haible  <bruno@clisp.org>
25207
25208         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
25209
25210 2005-03-07  Bruno Haible  <bruno@clisp.org>
25211
25212         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
25213
25214 2005-03-04  Derek R. Price  <derek@ximbiot.com>
25215
25216         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
25217         (func_import): Only replace files via --import when they have actually
25218         changed.
25219
25220 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25221
25222         * m4/mmap-anon.m4: New file.
25223         * m4/pagealign_alloc.m4: New file.
25224
25225 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25226             Bruno Haible  <bruno@clisp.org>
25227
25228         * modules/pagealign_alloc: New file.
25229         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
25230
25231 2005-03-03  Derek R. Price  <derek@ximbiot.com>
25232             Bruno Haible  <bruno@clisp.org>
25233
25234         * lib/pagealign_alloc.h: New file.
25235         * lib/pagealign_alloc.c: New file.
25236
25237 2005-03-03  Bruno Haible  <bruno@clisp.org>
25238
25239         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
25240         Use an all-permissive copyright notice, recommended by RMS.
25241
25242 2005-03-02  Bruno Haible  <bruno@clisp.org>
25243
25244         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
25245         of AIX, the replacement has to be done only after <string.h> is
25246         included, therefore not in config.h. stpncpy.h does the replacement,
25247         and stpncpy.c uses it.
25248
25249 2005-03-02  Bruno Haible  <bruno@clisp.org>
25250
25251         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
25252         stpncpy.c uses it.
25253
25254 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25255
25256         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
25257         The workaround isn't strictly needed for POSIX conformance, and
25258         it's too much of a pain to configure and maintain.  We'll ask
25259         people to fix their kernels instead.
25260         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
25261         (NANOSLEEP_BUG_WORKAROUND): Remove.
25262         (xnanosleep): Remove the workaround.
25263
25264 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25265
25266         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
25267         Reported by Derek Price.
25268         (Include): Add "timespec.h".
25269
25270         * modules/xnanosleep (Depends-on): Remove gethrxtime.
25271
25272 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25273
25274         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
25275         to detect nanosleep bug.
25276
25277 2005-03-01  Bruno Haible  <bruno@clisp.org>
25278
25279         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
25280
25281 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25282
25283         * modules/gethrxtime: New file.
25284         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
25285         (Depends-on): Add gethrxtime.
25286         (configure.ac): Add gl_XNANOSLEEP.
25287         (Makefile.am): Remove lib_SOURCES line.
25288
25289 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
25290
25291         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
25292         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
25293
25294 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
25295
25296         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
25297         * lib/timespec.h (gettime): Return void, since it always
25298         succeeds now.  All uses changed.
25299         * lib/gettime.c (gettime) Likewise.
25300         [HAVE_NANOTIME]: Prefer nanotime.
25301         Assume gettimeofday succeeds, as POSIX requires.
25302         Assime time () succeeds, since other code already does.
25303         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
25304         (timespec_subtract): Remove.
25305         (NANOSLEEP_BUG_WORKAROUND): New constant.
25306         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
25307         things considerably.  Use it only on GNU/Linux hosts, since the
25308         workaround shouldn't be needed elsewhere.
25309
25310 2005-02-24  Bruno Haible  <bruno@clisp.org>
25311
25312         * modules/gettext (Files): Add m4/glibc2.m4.
25313
25314 2005-02-24  Bruno Haible  <bruno@clisp.org>
25315
25316         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
25317         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
25318         * m4/progtest.m4:
25319         Update from GNU gettext 0.14.2.
25320         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
25321
25322 2005-02-24  Bruno Haible  <bruno@clisp.org>
25323
25324         * lib/localcharset.c: Update from GNU gettext 0.14.2.
25325         * lib/config.charset: Update from GNU gettext 0.14.2.
25326
25327 2005-02-24  Bruno Haible  <bruno@clisp.org>
25328
25329         * lib/gettext.h: Update from GNU gettext 0.14.2.
25330
25331 2005-02-23  Simon Josefsson  <jas@extundo.com>
25332
25333         * m4/iconvme.m4: New file.
25334
25335 2005-02-23  Jim Meyering  <jim@meyering.net>
25336
25337         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
25338         change.
25339         Thanks to Bruno Haible for catching it.
25340
25341 2005-02-22  Simon Josefsson  <jas@extundo.com>
25342
25343         * modules/iconvme: New file.
25344
25345         * MODULES.html.sh: Add iconvme.
25346
25347 2005-02-22  Simon Josefsson  <jas@extundo.com>
25348
25349         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
25350
25351 2005-02-22  Simon Josefsson  <jas@extundo.com>
25352
25353         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
25354
25355 2005-02-22  Jim Meyering  <jim@meyering.net>
25356
25357         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
25358         s/ifndef/ifdef/.
25359
25360 2005-02-20  Neil Conway  <neilc@samurai.com>
25361
25362         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
25363         returned by OSX/Darwin if the specified buffer is not large
25364         enough for the hostname.
25365
25366 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25367
25368         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
25369         pass it to _help, otherwise the latter coredumps trying to
25370         dereference state.root_argp.
25371
25372 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25373
25374         * modules/chdir-long (Depends-on): Add memrchr.
25375         * modules/memrchr (Files): Add lib/memrchr.h.
25376         (Include): "memrchr.h".
25377
25378 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25379
25380         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
25381
25382 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
25383
25384         * lib/memrchr.h: New file.
25385         * lib/chdir-long.c: Include it.
25386         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
25387         Don't bother including stddef.h.
25388
25389 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
25390
25391         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
25392         inclusion.
25393         Include <sys/types.h>, for dev_t.
25394         (ME_DUMMY, ME_REMOTE): Move from here....
25395         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
25396         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
25397         Dmitry V. Levin.
25398         Include mountlist.h first, to test the interface.
25399
25400 2005-01-29  Bruno Haible  <bruno@clisp.org>
25401
25402         * lib/progname.c (program_name): Initialize.
25403         Needed when linking statically on MacOS X.
25404
25405 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25406
25407         Sync from coreutils.
25408         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
25409         (Depends-on): Add c-strtod.
25410         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
25411
25412 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25413
25414         Sync from coreutils.
25415         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
25416
25417         Remove files that are specific to coreutils.
25418         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
25419
25420 2005-01-28  Bruno Haible  <bruno@clisp.org>
25421
25422         * modules/javacomp: New file.
25423         * MODULES.html.sh (Java): Add javacomp.
25424
25425 2005-01-28  Bruno Haible  <bruno@clisp.org>
25426
25427         * m4/javacomp.m4: New file, from GNU gettext.
25428
25429 2005-01-28  Bruno Haible  <bruno@clisp.org>
25430
25431         * lib/javacomp.sh.in: New file, from GNU gettext.
25432         * lib/javacomp.h: New file, from GNU gettext.
25433         * lib/javacomp.c: New file, from GNU gettext.
25434
25435 2005-01-26  Simon Josefsson  <jas@extundo.com>
25436
25437         * lib/gai_strerror.c: Use GPL in header.
25438
25439 2005-01-26  Bruno Haible  <bruno@clisp.org>
25440
25441         * modules/javaexec: New file.
25442         * MODULES.html.sh (Java): Add javaexec.
25443
25444 2005-01-26  Bruno Haible  <bruno@clisp.org>
25445
25446         * m4/javaexec.m4: New file, from GNU gettext.
25447
25448 2005-01-26  Bruno Haible  <bruno@clisp.org>
25449
25450         * lib/javaexec.sh.in: New file, from GNU gettext.
25451         * lib/javaexec.h: New file, from GNU gettext.
25452         * lib/javaexec.c: New file, from GNU gettext.
25453
25454 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25455
25456         * modules/lchown (Depends-on): Remove lchown.h
25457
25458 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25459
25460         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
25461         must be defined if the header file was not found, in order
25462         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
25463
25464 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25465
25466         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
25467         initializers for struct pentry_state.
25468         (__argp_error): Check return value of __asprintf
25469         (__argp_failure): Translate error message
25470
25471         * lib/argp-parse.c: Removed braces around the expansion of N_()
25472
25473 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25474
25475         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
25476         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
25477         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
25478         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
25479         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
25480         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
25481         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
25482         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
25483         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
25484         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
25485         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
25486         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
25487         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
25488         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
25489         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
25490         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
25491         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
25492         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
25493         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
25494         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
25495         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
25496         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
25497         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
25498         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
25499         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
25500         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
25501         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
25502         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
25503         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
25504         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
25505         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
25506         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
25507         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
25508         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
25509         xstrtol.m4, xstrtoumax.m4, yesno.m4:
25510         Use an all-permissive copyright notice, recommended by RMS.
25511
25512 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25513
25514         * modules/chdir-long (Depends-on): Remove mempcpy.
25515
25516 2005-01-21  Jim Meyering  <jim@meyering.net>
25517
25518         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
25519         same value as for Solaris 9.
25520
25521         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
25522         component length.  This included changing the parameter to be
25523         of type `char *' rather than `char const *'.
25524         * lib/chdir-long.h (chdir_long): Update prototype.
25525
25526         * lib/openat.c (fdopendir, fstatat): New functions.
25527         * lib/openat.h: Include headers required for use of DIR and struct
25528         stat.
25529         [AT_SYMLINK_NOFOLLOW]: Define.
25530         (fdopendir, fstatat): Add prototypes.
25531
25532 2005-01-21  Bruno Haible  <bruno@clisp.org>
25533
25534         * modules/classpath: New file.
25535         * MODULES.html.sh (Java): Add classpath.
25536
25537 2005-01-21  Bruno Haible  <bruno@clisp.org>
25538
25539         * lib/classpath.h: New file, from GNU gettext.
25540         * lib/classpath.c: New file, from GNU gettext.
25541
25542 2005-01-20  Simon Josefsson  <jas@extundo.com>
25543
25544         * modules/version-etc-fsf: New file.
25545
25546 2005-01-20  Simon Josefsson  <jas@extundo.com>
25547
25548         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
25549         * lib/version-etc.c: Remove version_etc_copyright.
25550         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
25551         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
25552
25553 2005-01-20  Simon Josefsson  <jas@extundo.com>
25554
25555         * lib/base64.h (isbase64): Add.
25556
25557         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
25558         using a unsigned prototype, don't inline.
25559         (base64_decode): Use it.
25560
25561 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25562
25563         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
25564         it.
25565
25566 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25567
25568         * lib/save-cwd.c (save_cwd): Remove code to support the case
25569         where fchdir is missing or flaky.
25570
25571 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25572
25573         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
25574
25575 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25576
25577         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
25578         AC_LIBSOURCES now does this.
25579         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
25580         with new ullong_max module.
25581
25582 2005-01-19  Bruno Haible  <bruno@clisp.org>
25583
25584         * modules/sh-quote: New file.
25585         * MODULES.html.sh (Executing programs): Add sh-quote.
25586
25587 2005-01-19  Bruno Haible  <bruno@clisp.org>
25588
25589         * lib/sh-quote.h: New file, from GNU gettext.
25590         * lib/sh-quote.c: New file, from GNU gettext.
25591
25592 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25593
25594         Merge from coreutils.
25595         * m4/ullong_max.m4: New file.
25596         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
25597         (gl_MACROS): Assume localeconv exists.
25598
25599 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25600
25601         Merge changes from coreutils, as described below in several
25602         changelogs dated today.
25603
25604         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
25605         (O_DIRECTORY): Remove; not needed here, since "." must be
25606         a directory.  All uses removed.
25607         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
25608         universal on Suns, and we also need to test for IRIX.
25609         Revamp code to use 'if' rather than '#if'.
25610         Avoid unnecessary comparison of cwd->desc to 0.
25611
25612         * lib/utimens.c (futimens): Robustify the previous patch, by checking
25613         for known valid error numbers rather than observed invalid ones.
25614
25615 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25616
25617         * modules/ullong_max: New file.
25618
25619         * modules/chdir-long, modules/openat: New files.
25620         * modules/save-cwd (Depends-on): Depend on chdir-long.
25621         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
25622
25623 2005-01-18  Jim Meyering  <jim@meyering.net>
25624
25625         Merge from coreutils.
25626         * m4/chdir-long.m4, m4/openat.m4: New files.
25627         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
25628         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
25629         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
25630         is sane and DOES follow symlinks.  Besides, testing 20 different
25631         systems found no broken chown implementations.
25632         Prompted by a change in rsync's copy of this macro.
25633         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
25634
25635         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
25636
25637         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
25638         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
25639         NULL-means-set-to-current-time semantics.
25640         Remove temporary file immediately, rather than waiting
25641         for configure's at-exit trap code to do it.
25642
25643 2005-01-18  Jim Meyering  <jim@meyering.net>
25644
25645         * lib/version-etc.c (version_etc_copyright): Update copyright date.
25646
25647         * lib/utimens.c (futimens): Account for the fact that futimes
25648         can also fail with errno == ENOSYS or errno == ENOENT.
25649         Patch from Dmitry V. Levin.
25650
25651         Change the name of the robust chdir function from chdir to chdir_long.
25652         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
25653         (restore_cwd): Use chdir_long, not chdir.
25654         * lib/chdir-long.c: Renamed from chdir.c.
25655         * lib/chdir-long.h: Renamed from chdir.h.
25656         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
25657         Hurd.
25658
25659 2005-01-18  Bruno Haible  <bruno@clisp.org>
25660
25661         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
25662         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
25663         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
25664         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
25665         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
25666         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
25667         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
25668         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
25669         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
25670         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
25671         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
25672         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
25673         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
25674         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
25675         Use an all-permissive copyright notice, recommended by RMS.
25676
25677 2005-01-18  Bob Proulx  <bob@proulx.com>
25678
25679         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
25680         simplify offsetof() macro construct to avoid compile failure with
25681         native HP-UX 11.0 ANSI C compiler.
25682
25683 2005-01-17  Bruno Haible  <bruno@clisp.org>
25684
25685         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
25686         redundant because stpncpy.m4 takes care of it.
25687
25688 2005-01-17  Bruno Haible  <bruno@clisp.org>
25689
25690         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
25691
25692 2005-01-17  Bruno Haible  <bruno@clisp.org>
25693
25694         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
25695         used.
25696
25697 2005-01-17  Bruno Haible  <bruno@clisp.org>
25698
25699         * lib/fwriteerror.h (fwriteerror): Change specification to include
25700         fclose.
25701         * lib/fwriteerror.c: Include <stdbool.h>.
25702         (fwriteerror): At the end, close the file stream. Record whether
25703         stdout was already closed.
25704
25705 2005-01-17  Bruno Haible  <bruno@clisp.org>
25706
25707         * lib/execute.c (environ): Declare if needed.
25708         * lib/pipe.c (environ): Likewise.
25709         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
25710
25711 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25712
25713         * modules/argp: Depend on vsnprintf
25714
25715 2005-01-10  Jim Meyering  <jim@meyering.net>
25716
25717         * modules/closeout (Depends-on): Add atexit.
25718
25719 2005-01-06  Bruno Haible  <bruno@clisp.org>
25720
25721         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
25722
25723 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
25724
25725         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
25726         definitions to be after all include files, to avoid collisions.
25727         Problem reported by Bob Proulx.
25728
25729 2005-01-04  Jim Meyering  <jim@meyering.net>
25730
25731         Changes imported from coreutils.
25732         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
25733         as the mkstemp template, use a temporary directory and an
25734         8.3-friendly template to avoid trouble on systems like DJGPP.
25735         Reported by Juan M. Guerrero via Stepan Kasal.
25736         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
25737         close. Remove the temporary directory right away, rather than waiting
25738         for configure's at-exit trap code to do it.
25739         Suggestion from Stepan Kasal.
25740
25741 2005-01-01  Simon Josefsson  <jas@extundo.com>
25742
25743         * gnulib-tool: Print #include directives when --import'ing.
25744
25745 2004-12-28  Simon Josefsson  <jas@extundo.com>
25746
25747         * tests/test-base64.c: Include required header files.  Remove
25748         unused variables.
25749
25750 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25751
25752         * modules/error (Depends-on): Remove gettext.
25753
25754 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25755
25756         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
25757         not needed.  This removes a dependency on the gettext module.
25758         [defined _LIBC]: Do not include <libintl.h>; not needed.
25759
25760 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25761
25762         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
25763         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
25764
25765 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
25766
25767         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
25768         HAVE_DECL_STRTOLD.
25769
25770 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25771
25772         * modules/getdate (Depends-on): Remove alloca-opt.
25773
25774 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25775
25776         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
25777
25778 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25779
25780         * lib/argp-parse.c: Include <stddef.h>.
25781         (alignof, alignto): New macros.
25782         (parser_init): Don't assume that void * is aligned sufficiently
25783         for struct option.
25784
25785         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
25786         need to extend the stack.
25787         (YYINITDEPTH): New macro, so that the initial stack isn't overly
25788         large.
25789
25790 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
25791
25792         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
25793
25794 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25795
25796         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
25797         (2004-10-24) change.  Apparently this was a false alarm.
25798
25799         * modules/getdate: Depend on alloca-opt, not alloca.
25800
25801 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25802
25803         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
25804         Remove now-obsolete comment about AIX.
25805         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
25806         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
25807         (YYMAXDEPTH): New macro.
25808
25809 2004-12-18  Simon Josefsson  <jas@extundo.com>
25810
25811         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
25812
25813 2004-12-18  Bruno Haible  <bruno@clisp.org>
25814
25815         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
25816
25817 2004-12-18  Bruno Haible  <bruno@clisp.org>
25818
25819         * lib/fatal-signal.c (fatal_signals): Make non-const.
25820         (init_fatal_signals): New function.
25821         (uninstall_handlers, install_handlers): Ignore signals that were set to
25822         SIG_IGN.
25823         (at_fatal_signal): Call init_fatal_signals.
25824         (init_fatal_signal_set): Likewise. Ignore signals that were set to
25825         SIG_IGN.
25826         Reported by Paul Eggert.
25827
25828 2004-12-18  Bruno Haible  <bruno@clisp.org>
25829
25830         * doc/alloca.texi: New file.
25831         * doc/alloca-opt.texi: New file.
25832
25833 2004-12-17  Jim Meyering  <jim@meyering.net>
25834
25835         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
25836         Otherwise, install-sh could exit with improper exit status when
25837         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
25838
25839 2004-12-16  Simon Josefsson  <jas@extundo.com>
25840
25841         * tests/test-base64.c: Add license.
25842
25843 2004-12-15  Stepan Kasal  <address@hidden>
25844
25845         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
25846
25847 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
25848
25849         * modules/getcwd (Files): Add m4/d-ino.m4.
25850         Suggested by Mark D. Baushke.
25851
25852 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
25853
25854         * lib/getdate.y (textint): New member "negative".
25855         (time_zone_hhmm): New function.
25856         Expect 14 shift-reduce conflicts, not 13.
25857         (o_colon_minutes): New rule.
25858         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
25859         (yylex): Set the "negative" member of signed numbers.
25860
25861 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
25862
25863         * doc/getdate.texi (Time of day items, Time zone items):
25864         Describe new formats +00:00, UTC+00:00.
25865
25866 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
25867
25868         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
25869         spurious "-l"s.  Problem reported by Stepan Kasal.
25870
25871 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
25872
25873         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
25874         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
25875
25876 2004-12-04  Simon Josefsson  <jas@extundo.com>
25877
25878         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
25879         Vandoorselaere <yoann@prelude-ids.org>.
25880
25881 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25882
25883         Changes imported from coreutils.
25884         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
25885         exist.
25886         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
25887
25888 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25889
25890         Changes imported from coreutils.
25891         * lib/hard-locale.c: Assume <locale.h> exists.
25892         Include "strdup.h".
25893         (GLIBC_VERSION): New macro.
25894         (hard_locale): Assume setlocale exists.
25895         Rewrite to avoid #ifdef.
25896         Use strdup rather than malloc + strcpy.
25897         * lib/human.c: Assume <locale.h> exists.
25898         (human_readable): Assume localeconv exists.
25899
25900 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
25901
25902         * modules/hard-locale (Depends-on): Add strdup.
25903
25904 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
25905
25906         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
25907         convert T2, not T.  (Imported from libc.)
25908
25909 2004-11-30  Simon Josefsson  <jas@extundo.com>
25910
25911         * modules/restrict (License): Change to LGPL.
25912
25913 2004-11-30  Simon Josefsson  <jas@extundo.com>
25914
25915         * m4/restrict.m4: Add copyright and copying conditions.
25916
25917 2004-11-30  Simon Josefsson  <jas@extundo.com>
25918
25919         * m4/base64.m4: New file.
25920
25921 2004-11-30  Simon Josefsson  <jas@extundo.com>
25922
25923         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
25924         base64.
25925
25926         * tests/test-base64.c: New file.
25927
25928         * modules/base64: New file.
25929
25930 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
25931
25932         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
25933         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
25934
25935         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
25936
25937 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
25938
25939         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
25940         (__getcwd.c): Don't restore errno; glibc doesn't.
25941         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
25942         first, falling back to our code only if its results look suspicious.
25943         Ensure that the resulting buffer is only as large as necessary.
25944
25945         * lib/readutmp.c: Include readutmp.h first.
25946         Include <errno.h>, since readutmp.h no longer does that.
25947         * lib/readutmp.h: Don't include <errno.h>,
25948         <sys/param.h>, <time.h>; not needed to establish interface.
25949         (errno): Remove decl.
25950         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
25951         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
25952         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
25953
25954 2004-11-28  Simon Josefsson  <jas@extundo.com>
25955
25956         * lib/base64.h, base64.c: New file.
25957
25958 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
25959
25960         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
25961
25962 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
25963
25964         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
25965         (Depends-on): Remove pathmax, same.  Add mempcpy.
25966         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
25967         (Makefile.am): Append getcwd.h to lib_SOURCES.
25968         (Include): Add getcwd.h.
25969         (Maintainer): Change from Jim Meyering to "all, glibc",
25970         since getdate now uses intended-for-glibc code.
25971         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
25972         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
25973
25974 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25975
25976         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
25977         HP's ANSI C compiler.
25978         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
25979         Declaring int functions causes warnings on some modern systems and
25980         shouldn't be needed to compile on ancient ones.
25981         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
25982         defined.
25983
25984         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
25985         with the following changes.
25986         (__set_errno): Parenthesize properly.
25987         Include <stdbool.h>.
25988         (MIN, MAX, MATCHING_INO): New macros.
25989         (__getcwd): Define with prototype, not K&R form.
25990         Use heuristics to allocate default buffer on stack if possible.
25991         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
25992         behavior, and to avoid the PATH_MAX limit when computing
25993         ../../../../...
25994         Use MATCHING_INO to compare inode number to file.
25995         Check for arithmetic overflow in size calculations.
25996         Fix bug in reallocation of dot array that caused getcwd to fail
25997         on directories nested deeper than 75.
25998         Be more careful about saving errno on error.
25999         Do not use realloc; use only free+malloc, as this is a bit
26000         more flexible and avoids a needless copy operation.
26001         Do not inspect st_dev and st_ino for symbolic links; POSIX
26002         doesn't specify the latter.
26003         Check for closedir errors.
26004         Avoid needless casts.
26005         Use "#ifdef weak_alias" around weak_alias, to be like other
26006         glibc code.
26007         The following changes to getcwd.c have effect only when used in
26008         gnulib; they have no effect inside glibc proper.
26009         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
26010         as alloca isn't used.
26011         (alloca, __alloca): Likewise.
26012         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
26013         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
26014         unconditionally, as gnulib assumes C89 or better.
26015         Do not include <sys/param.h>.
26016         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
26017         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
26018         better.
26019         (NULL) [!defined NULL]: Remove; we assume C89 or better.
26020         Include <dirent.h> in a way that is compatible with modern Autoconf.
26021         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
26022         New macros, if not already defined.
26023         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
26024         Use "_LIBC", not "defined _LIBC", for consistency.
26025         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
26026         a mempcpy module.
26027         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
26028         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
26029         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
26030         credit only to Jim Meyering and adjust the copyright dates.
26031         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
26032         <stdlib.h>, <unistd.h>, "pathmax.h".
26033         Instead, include "xgetcwd.h" (first) and "getcwd.h".
26034         (INITIAL_BUFFER_SIZE): Remove.
26035         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
26036
26037 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26038
26039         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
26040         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
26041         Use the _ONCE methods, for efficiency.
26042         Check for fcntl.h.  In test program, include <errno.h>
26043         and <fcntl.h> if available.  Remove old K&R cruft from
26044         test program.  Check for common errors in GNU/Linux,
26045         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
26046         don't do AC_LIBOBJ, as that's getcwd.m4's job.
26047         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
26048         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
26049         name accordingly.
26050         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
26051         accommodate new getcwd.c.
26052         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
26053         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
26054         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
26055         that's all we need now.
26056
26057 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26058
26059         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
26060         argp-parse.c depends on getopt internals, that means we should
26061         always use our getopt, to be on the safe side.
26062         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
26063         order not to spoil the result of an eventual previous invocation
26064         of gl_GETOPT_SUBSTITUTE.
26065
26066 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26067
26068         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
26069         redefinition warnings. To avoid them, include the defines
26070         in `#if !defined __need_getopt ... #endif'. The only place
26071         where __getopt_argv_const is used is in definitions
26072         of getopt_long and getopt_long_only below, which are as well
26073         protected by `#ifndef __need_getopt'.
26074         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
26075         __need_getopt after including <stdio.h> and <unistd.h> These
26076         headers might have defined it.
26077
26078 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26079
26080         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
26081
26082 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
26083
26084         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
26085         (futimens): New function, which uses futimes if available.
26086         (futimens, utimens): Support timespec==NULL, with same semantics
26087         as utime and utimens.
26088         * lib/utimens.h (futimens): New decl.
26089
26090 2004-11-23  Jim Meyering  <jim@meyering.net>
26091
26092         * lib/getopt_.h: Remove trailing blanks.
26093
26094 2004-11-23  Jim Meyering  <jim@meyering.net>
26095
26096         * lib/__fpending.c: Add comment.
26097
26098 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
26099
26100         * modules/canonicalize (Depends-on): Add xreadlink.
26101         Problem reported by James Youngman.
26102
26103 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26104
26105         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
26106         New macros.
26107         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
26108         optopt): Use them instead of invoking ## directly; otherwise, the
26109         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
26110
26111 2004-11-19  Bruno Haible  <bruno@clisp.org>
26112
26113         * lib/strtok_r.c: Move comments from here...
26114         * lib/strtok_r.h: ... to here.
26115
26116 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26117
26118         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
26119         implementations that mishandle size_t overflow.
26120
26121 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26122
26123         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
26124         might fail.  Problem reported by Yoann Vandoorselaere.
26125         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
26126         implementations that mishandle size_t overflow.
26127
26128 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26129
26130         * modules/canon-host (Depends-on): Add strdup.
26131
26132 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26133
26134         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
26135
26136 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26137
26138         * lib/canon-host.c: Include "strdup.h".
26139         (canon_host): Use getaddrinfo if available, so that IPv6 works.
26140         Use strdup instead of malloc/strcpy to duplicate strings.
26141
26142         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
26143         (human_space_before_unit): New constant.
26144         * lib/human.c (human_readable): Support it.
26145
26146         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
26147         (xgetcwd): Set errno correctly when failing.
26148         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
26149         the failure is actually due to a PATH_MAX problem.
26150
26151         Further getopt changes to make it more likely that glibc will
26152         buy the changes back.
26153         * lib/getopt.c (POSIXLY_CORRECT): New constant.
26154         (getopt): Use it, so to preserve glibc semantic
26155         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
26156         when compiling for libc.
26157         * lib/getopt_.h (__getopt_argv_const): Bring it back.
26158         (getopt_long, getopt_long_only): Use it.
26159
26160         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
26161         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
26162         (getopt): Argv is now char * const *, as per standard.
26163         (_getopt_internal_r, _getopt_internal): Argv is now char **,
26164         not char *__getopt_argv_const *.
26165         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
26166         _getopt_long_only_r): Likewise.
26167         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
26168         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
26169         _getopt_long_r, _getopt_long_only_r): Likewise.
26170         * lib/getopt_.h (__getopt_argv_const): Remove.
26171         (getopt): Argv is now char * const *, as per standard.
26172
26173         * lib/getdate.y (tORDINAL): New token.
26174         (day, relunit): Allow it for relative times.
26175         (relative_time_table): Use tORDINAL for ordinals.
26176
26177 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
26178
26179         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
26180         Document that "second" isn't allowed as an ordinal number.
26181
26182 2004-11-16  Jim Meyering  <jim@meyering.net>
26183
26184         * modules/closeout (Depends-on): Add fpending.
26185
26186 2004-11-15  Jim Meyering  <jim@meyering.net>
26187
26188         * lib/closeout.c: Include "__fpending.h" once again.
26189         Include <stdbool.h>.
26190         (close_stdout): Don't fail just because stdout was closed initially,
26191         since some programs don't write to stdout in the normal course of
26192         operation (other than --version and --help), and we don't want this
26193         function to make e.g. `touch file >&-' fail.
26194         But do fail if it was closed and someone has tried to write to it.
26195         E.g., `printf foo >&-' must fail.
26196
26197 2004-11-13  Jim Meyering  <jim@meyering.net>
26198
26199         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
26200
26201 2004-11-12  Simon Josefsson  <jas@extundo.com>
26202
26203         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
26204         small doc fix is still pending.
26205
26206 2004-11-11  Simon Josefsson  <jas@extundo.com>
26207
26208         * modules/strtok_r: New file.
26209
26210         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26211         strtok_r.
26212
26213 2004-11-11  Simon Josefsson  <jas@extundo.com>
26214
26215         * m4/strtok_r.m4: New file.
26216
26217         * m4/getopt.m4: Replace opterr.
26218
26219 2004-11-11  Simon Josefsson  <jas@extundo.com>
26220
26221         * lib/strtok_r.h, strtok_r.c: New file.
26222
26223 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26224
26225         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
26226         of replacing opterr, getopt, etc.  This should handle the
26227         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
26228
26229 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26230
26231         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
26232         we can stop lying to compilers about the constness of argv when we
26233         are compiled outside glibc.
26234         (getopt, getopt_long, getopt_long_only): Use it.
26235         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
26236         _getopt_internal, getopt): Likewise.
26237         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
26238         _getopt_long_only_r): Likewise.
26239         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
26240         _getopt_long_r, _getopt_long_only_r): Likewise.
26241
26242         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
26243         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
26244         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
26245         the other external symbols.
26246         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
26247         declaration, since the above renaming now works around collisions.
26248
26249 2004-11-11  Jim Meyering  <jim@meyering.net>
26250
26251         * lib/linebreak.c: Remove trailing blanks.
26252         * lib/alloca_.h: Likewise.
26253         * lib/acosl.c: Likewise.
26254         * lib/euidaccess.c: Likewise.
26255         * lib/allocsa.h: Likewise.
26256
26257 2004-11-10  Simon Josefsson  <jas@extundo.com>
26258
26259         * m4/getaddrinfo.m4: New file.
26260
26261 2004-11-10  Simon Josefsson  <jas@extundo.com>
26262
26263         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
26264
26265 2004-11-10  Simon Josefsson  <jas@extundo.com>
26266
26267         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26268         getaddrinfo.
26269
26270         * modules/getaddrinfo: New file.
26271
26272 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
26273
26274         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
26275
26276 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
26277
26278         * lib/mktime.c (SHR): New macro, which is a portable
26279         substitute for >> that should work even on Crays.
26280         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
26281         Problem reported by Mark D. Baushke in
26282         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
26283         * lib/getdate.y (SHR): Likewise.
26284         (tm_diff): Use it.
26285         * lib/strftime.c (SHR): Likewise.
26286         (tm_diff): Use it.
26287         * lib/quotearg.c (struct quoting_options): Use unsigned int for
26288         quote_these_too, so that right shifts are well defined.  All uses
26289         changed.
26290
26291 2004-11-10  Jim Meyering  <jim@meyering.net>
26292
26293         Ensure that no close failure goes unreported.
26294         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
26295         return early when it seems there's nothing to flush.
26296         Don't include __fpending.h.
26297
26298 2004-11-10  Jim Meyering  <jim@meyering.net>
26299
26300         * modules/closeout (Depends-on): Remove fpending.
26301
26302 2004-11-10  Jim Meyering  <jim@meyering.net>
26303
26304         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
26305
26306 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
26307
26308         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
26309         gl_FUNC_STRFTIME.
26310         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
26311         and AC_REQUIRE when possible, to avoid duplicate checks.
26312         Check for <wchar.h>.
26313
26314 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
26315
26316         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
26317
26318 2004-11-09  Bruno Haible  <bruno@clisp.org>
26319
26320         * m4/sockpfaf.m4: New file.
26321
26322 2004-11-05  Bruno Haible  <bruno@clisp.org>
26323
26324         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
26325         Reported by Mark D. Baushke <mdb@cvshome.org>.
26326
26327 2004-11-04  Bruno Haible  <bruno@clisp.org>
26328
26329         2004-09-11  Bruno Haible  <bruno@clisp.org>
26330                 * allocsa.valgrind: New file.
26331         2004-02-06  Bruno Haible  <bruno@clisp.org>
26332                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
26333                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
26334                 Reported by Christopher Seip <chris.seip@hp.com>.
26335
26336 2004-11-04  Bruno Haible  <bruno@clisp.org>
26337
26338         * modules/allocsa (Files): Add lib/allocsa.valgrind.
26339         (Makefile.am): Distribute it.
26340
26341 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
26342
26343         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
26344         with errno == ERANGE if the buffer is too small.
26345         Problem reported by Mark D. Baushke.
26346
26347 2004-11-03  Albert Chin  <china@thewrittenword.com>
26348             Paul Eggert  <eggert@cs.ucla.edu>
26349
26350         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
26351         equivalent, substitute $ac_type for equivalent type rather than
26352         blindly using uint32_t *always* which won't work if uint32_t is not
26353         available.  Define _UINT32_T to work around typedef of uint32_t if
26354         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
26355         2.5.1.
26356
26357 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26358
26359         * m4/jm-macros.m4: Sync from coreutils.
26360         (gl_MACROS): Check for mbrlen, for pathchk.
26361         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
26362
26363 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26364
26365         * lib/xreadlink.c (MAXSIZE): New macro.
26366         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
26367         size does not exceed MAXSIZE.  Avoid cast.
26368         As suggested by Mark D. Baushke in
26369         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
26370         if readlink fails with buffer size just under MAXSIZE, try again
26371         with MAXSIZE.
26372
26373 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
26374
26375         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
26376
26377 2004-11-02  Derek R. Price  <derek@ximbiot.com>
26378         and  Paul Eggert  <eggert@cs.ucla.edu>
26379
26380         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
26381         (get_date): Overparenthesize to avoid GCC warning.
26382
26383 2004-11-02  Bruno Haible  <bruno@clisp.org>
26384
26385         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
26386         returns void.
26387
26388 2004-11-02  Bruno Haible  <bruno@clisp.org>
26389
26390         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
26391         function returns void.
26392
26393 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26394
26395         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
26396         fflush_unlocked, flockfile, funlockfile, funlockfile,
26397         fputs_unlocked, putc_unlocked.
26398
26399 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26400
26401         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
26402         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
26403         already declared.
26404
26405 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26406
26407         * modules/getdate (Files): Add doc/getdate.texi.
26408         (Depends-on): Add setenv, xalloc.
26409
26410 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26411
26412         * lib/getdate.y: Add support for TZ="foo" within a date string.
26413         Fix some bugs near time_t boundaries.  Reject dates with
26414         out-of-range components, e.g., "Sept 31".
26415         Include <stdlib.h>, "setenv.h", "xalloc.h".
26416         (ISDIGIT_LOCALE): Remove; unused.
26417         Note that the TZ and time functions used here are not reentrant.
26418         (mktime_ok, get_tz): New functions.
26419         (TZBUFSIZE): New constant.
26420         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
26421         This requires that we sometimes generate our own TZ="XXX..." setting.
26422
26423 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
26424
26425         * doc/getdate.texi: New file, from coreutils with modifications for
26426         the new TZ parsing.
26427
26428 2004-10-27  Derek R. Price  <derek@ximbiot.com>
26429
26430         * lib/mktime.c (not_equal_tm): Remove redundant check.
26431
26432 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26433
26434         * modules/regex (lib_SOURCES): Add regex.c.
26435         Reported by James Youngman in
26436         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
26437
26438 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
26439
26440         * lib/getdate.y: Use Bison 1.875 features, and some minor
26441         code cleanups.  This change does not affect semantics.
26442         Don't include <stdlib.h>; no longer needed.
26443         Don't include unlocked-io.h; only the "#if TEST" code uses
26444         stdio, and performance isn't crucial there.
26445         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
26446         Bison 1.875 features as described below.
26447         All uses of "PC." replaced by "pc->".
26448         (YYSTYPE): Add a forward declaration.
26449         (yylex, yyerror): Use full prototypes in forward decls.
26450         Use "%pure-parser" rather than obsolescent "%pure_parser".
26451         Use %parse-param and %lex-param instead of obsolescent
26452         YYPARSE_PARAM and YYLEX_PARAM.
26453         (meridian_table, month_and_day_table, time_units_table,
26454         relative_time_table, time_zone_table, military_table,
26455         lookup_zone, lookup_word, get_date):
26456         Use NULL instead of 0 where appropriate.
26457         (to_hour): Avoid abort (), to avoid a dependency on
26458         stdlib.h.
26459         (yyerror, yylex): Now accepts parser_control * arg.
26460         (main) [TEST]: Use '\0' rather than 0 for char.
26461
26462 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26463
26464         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
26465
26466 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
26467
26468         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
26469         It's now the caller's responsibility to handle the case where
26470         !HAVE_GETPAGESIZE && !defined getpagesize.
26471
26472         * lib/mktime.c (leapyear): Arg is long int, not int.
26473
26474 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
26475
26476         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
26477
26478 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
26479
26480         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
26481         missing.  Problem reported by James Youngman.
26482
26483 2004-10-16  Simon Josefsson  <jas@extundo.com>
26484
26485         * gnulib-tool: Fix comments.  Fix parse problem.
26486         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
26487
26488 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
26489
26490         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
26491         implementation of getopt_long.  Problem reported by Alexander Taler in:
26492         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
26493
26494 2004-10-15  Bruno Haible  <bruno@clisp.org>
26495
26496         * gnulib-tool: Untabify. Initialize supplied_libname.
26497         (func_usage): More homogenous output.
26498         (func_modules_transitive_closure, func_modules_to_filelist,
26499         func_emit_lib_Makefile_am): New functions.
26500         (func_import): New function, extracted from big case statement. Use
26501         func_get_license, func_modules_transitive_closure,
26502         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
26503         opt_lgpl. Don't use test -a, as it's not portable.
26504         (func_create_testdir): Use func_modules_transitive_closure,
26505         func_modules_to_filelist, func_emit_lib_Makefile_am.
26506
26507 2004-10-15  Bruno Haible  <bruno@clisp.org>
26508
26509         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
26510
26511 2004-10-15  Bruno Haible  <bruno@clisp.org>
26512
26513         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
26514         the portions belonging to each module.
26515         Suggested by Derek Robert Price <derek@ximbiot.com>.
26516
26517 2004-10-12  Simon Josefsson  <jas@extundo.com>
26518
26519         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
26520         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
26521         to real functions.
26522
26523 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26524
26525         * modules/vsnprintf: New file.
26526
26527 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26528
26529         * m4/vsnprintf.m4: New file.
26530
26531 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26532
26533         * lib/vsnprintf.h: New file.
26534         * lib/vsnprintf.c: New file.
26535
26536 2004-10-11  Bruno Haible  <bruno@clisp.org>
26537
26538         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
26539         vsnprintf.
26540
26541 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26542
26543         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
26544
26545 2004-10-07  Bruno Haible  <bruno@clisp.org>
26546
26547         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
26548         fits into the provided buffer.
26549
26550 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
26551
26552         * lib/diacrit.c, diacrit.h: Add GPL notice.
26553
26554         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
26555         notice.
26556         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
26557         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
26558         This avoids a potential constant-folding bug.
26559
26560 2004-10-05  Bruno Haible  <bruno@clisp.org>
26561
26562         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
26563         for the declaration of strsep.
26564
26565 2004-10-05  Bruno Haible  <bruno@clisp.org>
26566
26567         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
26568
26569 2004-10-04  Simon Josefsson  <jas@extundo.com>
26570
26571         * modules/memmem: New file.
26572         * tests/test-memmem.c: New file.
26573         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
26574
26575 2004-10-04  Simon Josefsson  <jas@extundo.com>
26576
26577         * m4/memmem.m4: New file.
26578
26579 2004-10-04  Simon Josefsson  <jas@extundo.com>
26580
26581         * lib/memmem.h: New file.
26582         * lib/memmem.c: New file, taken from glibc.
26583
26584 2004-10-04  Simon Josefsson  <jas@extundo.com>
26585
26586         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
26587         '#ifdef USE_UNLOCKED_IO'.
26588
26589 2004-10-04  Simon Josefsson  <jas@extundo.com>
26590
26591         * config/srclist.txt: Add memmem from glibc.
26592
26593 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26594
26595         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
26596
26597         * modules/argmatch, modules/argp, modules/closeout, modules/error,
26598         modules/exclude, modules/getdate, modules/getline,
26599         modules/getndelim2, modules/getpass, modules/getpass-gnu,
26600         modules/getusershell, modules/linebuffer, modules/md5,
26601         modules/mountlist, modules/posixtm, modules/readtokens,
26602         modules/readutmp, modules/regex, modules/sha1,
26603         modules/version-etc, modules/yesno:
26604         Remove dependency on unlocked-io.
26605
26606 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26607
26608         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
26609
26610         * m4/unlocked-io.m4: Add copyright notice.
26611         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
26612
26613 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26614
26615         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
26616         * lib/xmalloc.c (xmemdup): Likewise.
26617         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
26618         XFREE): Remove these long-obsolescent macros.
26619         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
26620         * lib/xstrdup.c: Remove.
26621
26622         * lib/regex.c (re_comp): Cast gettext return value to char *,
26623         Problem reported by Martin Neitzel via Mark D. Baushke.
26624
26625 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
26626
26627         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
26628         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
26629         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
26630         regex.c, sha1.c, version-etc.c, yesno.c:
26631         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
26632         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
26633         the includer's responsibility.
26634
26635         Sync from coreutils.
26636
26637         * lib/modechange.c (mode_compile): Don't decrement a pointer that
26638         points to the start of a string, as the C Standard says the
26639         resulting behavior is undefined.
26640
26641         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
26642         simple -> simple_backups, numbered_existing ->
26643         numbered_existing_backups, numbered -> numbered_backups
26644         to avoid shadowing problems.  All uses changed.
26645         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
26646         * lib/backupfile.c (check_extension, numbered_backup):
26647         Rename locals to avoid shadowing 'basename'.
26648         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
26649         once.
26650
26651         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
26652         * lib/.cvsignore: Add getopt.h.
26653
26654 2004-10-04  Bruno Haible  <bruno@clisp.org>
26655
26656         * modules/README: New file.
26657         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
26658         not a module.
26659
26660 2004-10-02  Jim Meyering  <jim@meyering.net>
26661
26662         * lib/dirfd.h, getpagesize.h: Add copyright notice.
26663
26664 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26665
26666         * modules/strsep: New file.
26667
26668 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26669
26670         * m4/strsep.m4: New file.
26671
26672 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26673
26674         * lib/strsep.h: New file.
26675         * lib/strsep.c: New file.
26676
26677 2004-10-01  Simon Josefsson  <jas@extundo.com>
26678
26679         * lib/snprintf.c (snprintf): Handle size==0.
26680
26681 2004-10-01  Simon Josefsson  <jas@extundo.com>
26682             Bruno Haible  <bruno@clisp.org>
26683
26684         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
26685         (snprintf): Declare 'args'.
26686
26687 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
26688
26689         * lib/snprintf.c: Remove comments as to why each header is needed.
26690
26691 2004-10-01  Bruno Haible  <bruno@clisp.org>
26692
26693         * MODULES.html.sh: Add strsep.
26694
26695 2004-09-30  Simon Josefsson  <jas@extundo.com>
26696
26697         * modules/snprintf: New file.
26698
26699 2004-09-30  Simon Josefsson  <jas@extundo.com>
26700
26701         * m4/snprintf.m4: New file.
26702
26703 2004-09-30  Simon Josefsson  <jas@extundo.com>
26704
26705         * lib/snprintf.h, lib/snprintf.c: New files.
26706
26707 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
26708
26709         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
26710         (hol_entry_help): Never translate an empty string.
26711         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
26712         * lib/argp.h (OPTION_NO_TRANS): New option.
26713
26714 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26715
26716         * modules/argp (Maintainer): Replace Simon Josefsson
26717         by Sergey Poznyakoff.
26718
26719 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26720
26721         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
26722         changes merged back into glibc.
26723
26724 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
26725
26726         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
26727
26728 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
26729
26730         * lib/xvasprintf.c: Include xalloc.h.
26731         (xvasprintf): Use xalloc_die, not xmalloc_die.
26732
26733 2004-09-29  Bruno Haible  <bruno@clisp.org>
26734
26735         * modules/alloca-opt: New file, derived from modules/alloca.
26736         * modules/allocsa: Depend on alloca-opt instead of alloca.
26737         * modules/setenv: Likewise.
26738         * modules/vasnprintf: Likewise.
26739         * MODULES.html.sh: Add alloca-opt.
26740
26741 2004-09-28  Simon Josefsson  <jas@extundo.com>
26742
26743         * gnulib-tool: New parameter --lgpl, to asseert that modules are
26744         LGPL, and to replace license template from GPL to LGPL.
26745
26746 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
26747
26748         * modules/dummy: Change license to LGPL.
26749
26750 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
26751
26752         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
26753
26754 2004-09-24  Simon Josefsson  <jas@extundo.com>
26755
26756         * modules/minmax (License): Change from GPL to LGPL.
26757
26758 2004-09-23  Simon Josefsson  <jas@extundo.com>
26759
26760         * gnulib-tool (--import): Typo.
26761
26762 2004-09-23  Simon Josefsson  <jas@extundo.com>
26763
26764         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
26765
26766 2004-09-22  Bruno Haible  <bruno@clisp.org>
26767
26768         * modules/*: Add 'License' field.
26769         * gnulib-tool: Accept --extract-license option.
26770         (func_get_license): New function.
26771
26772 2004-09-21  Bruno Haible  <bruno@clisp.org>
26773
26774         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
26775         Reported by Simon Josefsson.
26776
26777 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26778
26779         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
26780         gl_AC_TYPE_LONG_LONG.
26781
26782 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26783
26784         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
26785
26786 2004-09-18  Simon Josefsson  <jas@extundo.com>
26787         and  Paul Eggert  <eggert@cs.ucla.edu>
26788
26789         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
26790         calls with autoreconf.  Define GL_LIB.
26791
26792 2004-09-14  Karl Berry  <karl@gnu.org>
26793
26794         * config/srclist.txt: unsync setenv.c, sigh.
26795
26796 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26797
26798         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
26799         Problem reported by Bruno Haible in:
26800         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
26801
26802 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26803
26804         * config/srclist.txt: Comment out argp-pvh.c.
26805
26806 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
26807
26808         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
26809         in case some system header has #define'd it.  Problem reported by
26810         Soeren D. Schulze in
26811         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
26812
26813 2004-09-09  Karl Berry  <karl@gnu.org>
26814
26815         * regex.[ch]: delete from the root.  These were supposed to be
26816                 synced with emacs cvs, but this has not happened for about
26817                 a year, and anyway nothing else uses emacs regex.[ch].
26818                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
26819                 lib/regex[.ch] is untouched.
26820
26821 2004-09-09  Bruno Haible  <bruno@clisp.org>
26822
26823         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
26824
26825 2004-09-09  Bruno Haible  <bruno@clisp.org>
26826
26827         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
26828         modifications.
26829         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
26830
26831 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
26832
26833         * modules/xvasprintf: New file.
26834         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
26835
26836 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
26837
26838         * lib/xvasprintf.h: New file.
26839         * lib/xvasprintf.c: New file.
26840         * lib/xasprintf.c: New file.
26841
26842 2004-09-08  Bruno Haible  <bruno@clisp.org>
26843
26844         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
26845
26846 2004-09-08  Bruno Haible  <bruno@clisp.org>
26847
26848         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
26849         length is > INT_MAX.
26850         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
26851         more.
26852
26853 2004-09-08  Bruno Haible  <bruno@clisp.org>
26854
26855         * lib/stdint_.h: New file, taken from GNU clisp.
26856
26857 2004-09-08  Bruno Haible  <bruno@clisp.org>
26858             Oskar Liljeblad  <oskar@osk.mine.nu>
26859
26860         * modules/stdint: New file.
26861         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
26862
26863 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26864
26865         Import from coreutils.
26866         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
26867         strings on unbounded length.  alloca's performance benefits aren't
26868         that important here.
26869         (V_STRDUP): Remove.
26870         (parse_with_separator): New function, with most of the internals
26871         of the old parse_user_spec.  Allow user to omit both user and group,
26872         for compatibility with FreeBSD.
26873         Clone only the user name, not the entire spec.
26874         Do not set *uid, *gid unless entirely successful.
26875         Avoid memory leak in some failing cases.
26876         Fix regression for USER.GROUP reported by Dmitry V. Levin in
26877         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
26878         (parse_user_spec): Rewrite to use parse_with_separator.
26879
26880 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26881
26882         * modules/userspec: Don't depend on alloca.
26883
26884 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
26885
26886         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
26887
26888 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
26889
26890         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
26891         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
26892         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
26893
26894 2004-08-16  Simon Josefsson  <jas@extundo.com>
26895
26896         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
26897         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
26898         Add --dry-run for --import.
26899         Let user provided command line parameters override configure.ac
26900         settings.
26901
26902 2004-08-12  Simon Josefsson  <jas@extundo.com>
26903
26904         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
26905         as discussed with Paul Eggert in threads rooted at
26906         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
26907         and
26908         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
26909         Before, the test was empty, and relied on ELIDE_CODE in source
26910         code.)
26911         (gl_PREREQ_GETOPT): New macro.
26912         (gl_GETOPT): Use them.
26913
26914 2004-08-12  Simon Josefsson  <jas@extundo.com>
26915
26916         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
26917         * lib/getopt_.h: Renamed from getopt.h.
26918
26919 2004-08-12  Simon Josefsson  <jas@extundo.com>
26920
26921         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
26922         Change default library name from libfoo to libgnu.
26923         Now, if you have a configure.ac that says:
26924                 gl_SOURCE_BASE(gl)
26925                 gl_M4_BASE(gl/m4)
26926                 gl_MODULES(error getopt etcetera)
26927                 gl_INIT
26928         you can import all you need by running:
26929                 ../gnulib/gnulib-tool --import
26930
26931         * modules/getopt (Files): Rename getopt.h to getopt_.h.
26932         (Makefile.am): Rewrite, use logic from argz.
26933         (Include): Use <getopt.h> instead of "getopt.h".
26934
26935 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26936
26937         * modules/argp (Files): Add m4/unlocked-io.m4.
26938         (Depends-on): Add extensions.
26939
26940 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26941
26942         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
26943         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
26944         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
26945         Check for program_invocation_name, program_invocation_short_name,
26946         flockfile, funlockfile, features.h, _getopt_long_only_r.
26947
26948 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26949
26950         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
26951         its complicated substitute.
26952         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
26953         and program_invocation_name.
26954         (__argp_basename) [!_LIBC]: Remove; the only use was
26955         replaced by its body.
26956         (__argp_short_program_name): Change condition from
26957         !defined __argp_short_program_name to
26958         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
26959         to match argp-namefrob.h.
26960         (__argp_failure): Don't assume strerror_r returns char *.
26961         * lib/argp-parse.c (N_): Define unconditionally.
26962         (argp_default_options): Fill out initializers with 0 to avoid
26963         gcc warnings.
26964
26965 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
26966
26967         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
26968         getopt1.c.
26969
26970 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
26971
26972         Merge from coreutils.
26973
26974         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
26975
26976         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
26977         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
26978
26979 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
26980
26981         Merge from coreutils.
26982
26983         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
26984         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
26985         for Reliant Unix 5.43.
26986
26987         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
26988         (union fooround): Use uintmax_t, not long int.
26989         The rest is a merge from libc:
26990         [defined _LIBC]: Include <shlib-compat.h>.
26991         (_obstack) [defined _LIBC]: Remove after 2.3.4.
26992
26993         * lib/settime.c (settime): Recode to avoid warning with
26994         Sun Forte C 6U2.
26995
26996         * lib/strverscmp.c: Convert to UTF-8.
26997
26998 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
26999
27000         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
27001         m4/uintmax_t.m4.
27002
27003 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27004
27005         * modules/xalloc-die: New file.
27006         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
27007
27008         * modules/md5 (Files): Add m4/uint32_t.m4.
27009         * modules/sha1: Renamed from modules/sha.
27010         (Files):
27011         Rename lib/sha.h to lib/sha1.h.
27012         Rename lib/sha.c to lib/sha1.c.
27013         Rename m4/sha.m4 to m4/sha1.m4.
27014         (lib_SOURCES): Likewise.
27015         (configure.ac): Rename gl_SHA to gl_SHA1.
27016         (Include): sha.h -> sha1.h.
27017
27018 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27019
27020         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
27021         * m4/sha1.m4: Renamed from sha.m4.
27022         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
27023
27024 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
27025
27026         * lib/obstack.h (obstack_empty_p):
27027         Don't assume that chunk->contents is suitably aligned.
27028         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
27029         Likewise. Problem reported by Benno in
27030         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
27031
27032         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
27033         readable.  This could be improved further but it'd take some work.
27034
27035 2004-08-08  Simon Josefsson  <jas@extundo.com>
27036
27037         * modules/xgethostname (Depends-on): Remove exit and error (not
27038         used).
27039
27040         * modules/getpass-gnu: Add getpass.h.
27041         (Depends-on): Add stdbool.
27042         * modules/getpass: Add getpass.h.
27043
27044 2004-08-08  Simon Josefsson  <jas@extundo.com>
27045
27046         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
27047         Check getpass declaration.
27048
27049 2004-08-08  Simon Josefsson  <jas@extundo.com>
27050
27051         * lib/xgethostname.c: Don't include error.h (not used).
27052
27053         * lib/getpass.h: Add.
27054         * lib/getpass.c: Include getpass.h first.
27055
27056 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
27057
27058         * lib/xalloc-die.c: New file.
27059         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
27060         All uses removed.
27061         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
27062         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
27063         xalloc-die.c.
27064         (_, N_, xalloc_die): Move to xalloc-die.c.
27065         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
27066         so that we needn't mess with xalloc_msg_memory_exhausted.
27067
27068         * lib/sha1.h: Renamed from sha.h.
27069         (SHA1_H): Renamed from _SHA_H.
27070         (sha1_ctx): Renamed from sha_ctx.
27071         (sha1_init_ctx): Renamed from sha_init_ctx.
27072         (sha1_process_block): Renamed from sha_process_block.
27073         (sha1_process_bytes): Renamed from sha_process_bytes.
27074         (sha1_finish_ctx): Renamed from sha_finish_ctx.
27075         (sha1_read_ctx): Renamed from sha_read_ctx.
27076         (sha1_stream): Renamed from sha_stream.
27077         (sha1_buffer): Renamed from sha_buffer.
27078         * lib/sha1.c: Likewise; renamed from sha.c.
27079         Do not include <sys/types.h>.
27080         Include <stddef.h> rather than <stdlib.h>.
27081
27082 2004-08-08  Bruno Haible  <bruno@clisp.org>
27083
27084         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
27085         FILESYSTEM_PREFIX_LEN.
27086         * lib/progreloc.c: Likewise.
27087         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
27088
27089 2004-08-06  Simon Josefsson  <jas@extundo.com>
27090
27091         * modules/progname (Depends-on): Don't depend on stdbool.
27092
27093 2004-08-06  Simon Josefsson  <jas@extundo.com>
27094
27095         * modules/getsubopt: New file.
27096         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27097         getsubopt.
27098
27099 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27100
27101         More merge from coreutils.
27102
27103         * m4/utimens.m4, m4/utimecmp.m4: New files.
27104         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
27105         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
27106         prereq.m4, sha.m4: Import changes from coreutils.
27107
27108 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27109
27110         More merge from coreutils.
27111         * modules/raise, modules/readtokens0, modules/utimens:
27112         * modules/utimecmp, module/xnanosleep: New files.
27113         * modules/strftime: Add lib/strftime.h.
27114         Change include from <time.h> to "strftime.h".
27115         * modules/yesno: Add lib/yesno.h.
27116         * modules/backupfile: Remove lib/addext.c.
27117         * modules/euidaccess: Add stat-macros.h.
27118         * modules/canonicalize, modules/euidaccess,
27119         modules/filemode, modules/lchown, modules/makepath,
27120         modules/rmdir, modules/stat: Likewise.
27121
27122 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
27123
27124         Merge from tar.
27125         * lib/argp-help.c (make_hol, hol_append): Don't assume that
27126         SIZE_MAX is a valid preprocessor constant.
27127         (__argp_basename): Change from "#ifndef _LIBC"
27128         to "#ifndef __argp_short_program_name", so that
27129         we don't compile these functions for tar.
27130
27131         More merges from coreutils.
27132         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
27133         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
27134         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
27135         * lib/addext.c: Remove; no longer needed.
27136         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
27137         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
27138         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
27139         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
27140         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
27141         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
27142         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
27143         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
27144         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
27145         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
27146         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
27147         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
27148         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
27149         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
27150         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
27151         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
27152         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
27153         Import changes from coreutils.
27154
27155 2004-08-05  Simon Josefsson  <jas@extundo.com>
27156
27157         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
27158
27159 2004-08-05  Simon Josefsson  <jas@extundo.com>
27160
27161         * m4/getsubopt.m4: New file.
27162
27163 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27164
27165         Merge from coreutils.
27166
27167         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
27168         * m4/getcwd-path-max.m4: New files.
27169
27170         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
27171         FILESYSTEM_PREFIX_LEN ->
27172         FILE_SYSTEM_PREFIX_LEN.
27173         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
27174         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
27175         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
27176         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
27177
27178         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
27179         prerequisite modules now handle the DOS stuff.
27180         Don't check for unistd.h.
27181
27182 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27183
27184         Merge from coreutils.
27185
27186         * lib/.gdb-history: Remove; this doesn't belong here.
27187
27188         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
27189         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
27190         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
27191         * lib/getcwd.c: New files.
27192
27193         * lib/dirname.h: Include <stdbool.h>.
27194         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
27195         for consistency with POSIX terminology.  All uses changed.
27196         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
27197         (strip_trailing_slashes): Use bool for booleans.
27198         * lib/stripslash.c (strip_trailing_slashes): Likewise.
27199
27200         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
27201         sometimes returns a positive errno value even when it succeeds.
27202         (print_errno_message) [!LIBC]: Fall back on strerror if
27203         __strerror_r fails.
27204
27205         * lib/path-concat.c (mempcpy): Don't define if a system header defines
27206         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
27207         (longest_relative_suffix): New function.
27208         (path_concat): Use it.  Assume first argument is not NULL.
27209         Port to DOS.  Omit redundant separators.
27210         Report an error instead of returning NULL.
27211         Use mempcpy instead of memcpy.
27212         (xpath_concat): Remove: not declared or used.
27213
27214         * lib/same.h: Include <stdbool.h>
27215         (same_name): Return bool, not int.
27216         * lib/same.c (same_name): Likewise.
27217         (errno): Don't declare; we assume C89 or better now.
27218
27219         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
27220         if not already defined.
27221
27222         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
27223         * lib/dup-safer.c (errno): Likewise.
27224
27225 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
27226
27227         Merge from coreutils.
27228         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
27229         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
27230         * modules/path-concat: Don't depend on strdup.
27231
27232 2004-08-03  Simon Josefsson  <jas@extundo.com>
27233
27234         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
27235         * lib/progname.h: Don't include stdbool.h.
27236
27237 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27238
27239         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
27240         * MODULES.html.sh (func_all_modules): Remove fatal.
27241
27242 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27243
27244         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
27245
27246 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
27247
27248         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
27249         working.
27250
27251 2004-08-02  Simon Josefsson  <jas@extundo.com>
27252
27253         * lib/getsubopt.h: New file, with comments from Bruno Haible.
27254         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
27255         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
27256
27257 2004-08-01  Simon Josefsson  <jas@extundo.com>
27258
27259         * lib/xgetdomainname.c: Include stdlib.h, for free().
27260
27261 2004-07-19  Bruno Haible  <bruno@clisp.org>
27262
27263         * MODULES.html.sh (func_all_modules): Add dummy.
27264
27265 2004-07-16  Simon Josefsson  <jas@extundo.com>
27266
27267         * modules/dummy: New file.
27268
27269 2004-07-16  Simon Josefsson  <jas@extundo.com>
27270
27271         * lib/dummy.c: New file.
27272
27273 2004-07-16  Bruno Haible  <bruno@clisp.org>
27274
27275         * lib/backupfile.h: Add extern "C" for C++.
27276         * lib/closeout.h: Likewise.
27277         * lib/copy-file.h: Likewise.
27278         * lib/findprog.h: Likewise.
27279         * lib/full-write.h: Likewise.
27280         * lib/pathname.h: Likewise.
27281         * lib/progname.h: Likewise.
27282         * lib/stpcpy.h: Likewise.
27283         * lib/stpncpy.h: Likewise.
27284         * lib/strcase.h: Likewise.
27285         * lib/strstr.h: Likewise.
27286         * lib/xalloc.h: Likewise.
27287
27288         * lib/mbswidth.h: Add extern "C" for C++.
27289         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
27290
27291 2004-07-13  Robert Millan  <robertmh@gnu.org>
27292
27293         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
27294
27295 2004-07-09  Simon Josefsson  <jas@extundo.com>
27296
27297         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
27298         failed without this.)
27299
27300 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
27301
27302         * modules/chown (Files): Add lib/fchown-stub.c, since
27303         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
27304
27305 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
27306
27307         * lib/fchown-stub.c: New file.
27308
27309 2004-06-24  Jim Meyering  <jim@meyering.net>
27310
27311         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
27312
27313 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27314
27315         * modules/argz: Omit "#include".
27316
27317         * MODULES.html.sh (func_all_modules): Add calloc, to match
27318         2004-06-01 addition of calloc module.
27319
27320 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27321
27322         * m4/argz.m4: New file, which is autoupdated from libtool.
27323
27324 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27325
27326         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
27327         libtool.
27328
27329 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
27330
27331         * config/srclist-update: Don't insist on "USA." before the
27332         close-comment, as libtool omits the period and puts the */ on a
27333         separate line.
27334         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
27335         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
27336
27337 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
27338
27339         * modules/argz: New file.
27340         * MODULES.html.sh (func_all_modules): Add argz.
27341
27342 2004-06-12  Jim Meyering  <jim@meyering.net>
27343         and  Paul Eggert  <eggert@cs.ucla.edu>
27344
27345         * modules/hash (Files): Add lib/xalloc.h.
27346         * modules/pipe (Depends-on): Add wait-process.
27347         * modules/stat (Depends-on): Add xalloc.
27348         * modules/userspec (Files): Add lib/userspec.h.
27349         * modules/xstrto
27350
27351         Upgrade from gettext-0.13.
27352         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
27353         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
27354         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
27355
27356 2004-06-10  Jim Meyering  <jim@meyering.net>
27357
27358         * lib/calloc.c: New file.
27359
27360 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
27361
27362         * lib/getdate.y (yylex): Allow space between sign and number.
27363         Problem reported by Dan Jacobson.
27364
27365 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27366
27367         Merge from coreutils CVS.
27368
27369         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
27370         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
27371         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
27372         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
27373         xstrtol.m4: Fix copyright date and/or serial number.
27374
27375         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
27376         See if we need an fchown replacement.
27377         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
27378         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
27379         and use the replacement function if we detect either defect.
27380
27381         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
27382         gl_UTIMECMP.
27383
27384 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27385         and  Jim Meyering  <jim@meyering.net>
27386
27387         Merge from coreutils CVS.
27388
27389         * lib/stat-macros.h: New file, with contents from file-type.h
27390         and coreutils' system.h.
27391         * lib/file-type.c: Include "stat-macros.h".
27392         * lib/file-type.h (file_type): Move all macro definitions to new file,
27393         stat-macros.h.
27394
27395         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
27396         Wrap old code with this conditional.
27397         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
27398         function that does not dereference symlinks.
27399         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
27400
27401         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
27402         dependency problems.
27403         (xreadlink): Accept new arg SIZE, for efficiency.
27404         All decls and uses changed.
27405         * lib/xreadlink.h: Include <stddef.h>, for size_t.
27406
27407         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
27408         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
27409
27410         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
27411         sysexits.h.
27412
27413 2004-06-01  Jim Meyering  <jim@meyering.net>
27414
27415         * m4/calloc.m4: New file.
27416
27417 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27418
27419         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
27420         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
27421         Also, fix a typo in a diagnostic.
27422
27423 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27424
27425         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
27426         or AC_FUNC_REALLOC.
27427
27428 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27429
27430         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
27431         macros to be defined.
27432         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
27433         the allocator returns NULL because the requested size is zero.
27434
27435 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27436
27437         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
27438         var.  Add comment explaining why libc still defines it.  This
27439         merges the following patch from glibc:
27440         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
27441
27442 2004-05-20  Andreas Schwab  <schwab@suse.de>
27443
27444         * m4/free.m4: Replace free if it not known to work, not the other
27445         way round.
27446
27447 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27448
27449         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
27450         present in glibc since revision 1.1 of this file.
27451         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
27452         obstack_alignment_mask, obstack_alloc, obstack_base,
27453         obstack_blank, obstack_blank_fast, obstack_chunk_size,
27454         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
27455         obstack_grow0, obstack_init, obstack_int_grow,
27456         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
27457         obstack_next_free, obstack_object_size, obstack_ptr_grow,
27458         obstack_ptr_grow_fast, obstack_room): Remove declarations of
27459         nonexistent functions.
27460
27461 2004-05-18  Karl Berry  <karl@gnu.org>
27462
27463         * config/srclist.txt: break link for vasnprintf.c.
27464
27465 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27466
27467         Port obstack to the AS/400, where pointers are 16 bytes wide and
27468         you cannot cast an integer to a valid pointer.  This patch is
27469         currently waiting to be integrated into glibc; see
27470         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
27471
27472         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
27473         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
27474         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
27475         (struct obstack): temp member is now a union of a pointer and
27476         an integer, instead of an integer.  All integer uses changed.
27477         This does not affect the physical layout of struct obstack,
27478         except on hosts (like the AS/400) where the size or alignment of
27479         void * is greater than that of ptrdiff_t.
27480         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
27481         __STDC__)]: Store temporary in pointer member of union, not
27482         integer member.
27483         * lib/obstack.c: Include <stddef.h>, for offsetof.
27484         (struct fooalign): Remove; it doesn't need a name.
27485         (union fooround): Change double to long double, and add void *.
27486         (DEFAULT_ALIGNMENT): Use offsetof to compute.
27487         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
27488         not a macro.  Hence the values are always int; so remove all
27489         casts-to-int in uses.
27490
27491 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27492
27493         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
27494         we can get this patch merged into glibc.
27495
27496 2004-05-17  Derek R. Price  <derek@ximbiot.com>
27497             Paul Eggert  <eggert@cs.ucla.edu>
27498
27499         * m4/argp: Depend on alloca.
27500
27501 2004-05-17  Derek R. Price  <derek@ximbiot.com>
27502             Paul Eggert  <eggert@cs.ucla.edu>
27503
27504         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
27505         freecoding.
27506
27507 2004-05-17  Bruno Haible  <bruno@clisp.org>
27508
27509         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
27510         precision that consists of a '.' followed by an empty digit string.
27511         Patch by Tor Lillqvist <tml@iki.fi>.
27512
27513 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27514
27515         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
27516         for backward compatibility with older code.  We need our own
27517         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
27518         it under some other name, and our alloca.h will define it.
27519
27520 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27521             Derek Price  <derek@ximbiot.com>
27522
27523         * lib/alloca.c: Include <alloca.h>, to get our interface.
27524         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
27525         include <alloca.h> first.  Use C89 prototype for alloca; this
27526         requires including <stddef.h> for size_t.  Use extern "C" if C++.
27527         Use #elif for simplicity, since we can assume C89 now.
27528         Don't try to source the system alloca.h since it will not be found
27529         and to prevent recursively including its replacement.
27530         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
27531         * lib/regex.c: Likewise.
27532
27533 2004-05-16  Derek Price  <derek@ximbiot.com>
27534             Paul Eggert  <eggert@cs.ucla.edu>
27535
27536         getline cleanup.  This changes the getndelim2 API: both order of
27537         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
27538         no delimiter).
27539
27540         * lib/getline.c: Don't include stddef.h or stdio.h, since our
27541         interface does that.
27542         (getline): Always use getdelim, so that we don't have two
27543         copies of this code.
27544         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
27545         if available.
27546         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
27547         (GETNDELIM2_MAXIMUM): New macro.
27548         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
27549         instead of the old practice of delim2==0.  All callers changed.
27550         Return -1 on overflow, instead of returning junk.
27551         Do not set *linesize unless allocation succeeds.
27552         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
27553         that we include sys/types.h.
27554         * lib/getnline.h: Likewise.
27555         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
27556         (getndelim2): Reorder arguments.
27557         * lib/getnline.c (getnline, getndelim):
27558         Don't discard the NMAX argument.
27559         (getnline): Invoke getndelim, to avoid code duplication.
27560         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
27561         of (size_t) -1 by callers of the getnline family.
27562
27563 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27564
27565         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
27566         Check for gettimeofday.
27567         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
27568         Check for settimeofday, stime.
27569
27570 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
27571
27572         * lib/nanosleep.c (suspended): Change its type from int to
27573         sig_atomic_t volatile.
27574         (first_call): Make it private to rpl_nanosleep, and have it
27575         be zero initially as that's a bit faster.
27576         (my_usleep): Round up fractional times instead of truncating them,
27577         as this is the usual meaning for 'sleep'.
27578
27579         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
27580         doesn't work.
27581         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
27582         (ENOSYS): Define if not defined.
27583         (settime): Fall back on stime if it exists and settimeofday fails.
27584         But don't bother with fallbacks if a method fails with errno == EPERM.
27585
27586 2004-05-11  Jim Meyering  <jim@meyering.net>
27587
27588         Prior to this change, the save_cwd caller required read access to the
27589         current directory on most systems (ones with the fchdir function).
27590
27591         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
27592         fails, try write-only, and finally, resort to using xgetcwd.
27593
27594 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
27595
27596         * lib/obstack.c, obstack.h: Import changes from libc.
27597
27598 2004-04-28  Bruno Haible  <bruno@clisp.org>
27599
27600         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
27601         also implicitly appends .exe to executables.
27602         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
27603         accepts Windows pathnames.
27604         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
27605         Treat Cygwin like Windows, since it now accepts Windows pathnames.
27606         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
27607         Treat Cygwin like Windows, since it now accepts Windows pathnames.
27608         Reported by Derek Robert Price <derek@ximbiot.com>.
27609
27610 2004-04-21  Karl Berry  <karl@gnu.org>
27611
27612         * config/srclist.txt (localcharset.c): break sync.
27613
27614 2004-04-20  Paul Eggert  <eggert@twinsun.com>
27615
27616         * m4/host-os.m4: Add a copyright notice.
27617
27618 2004-04-20  Jim Meyering  <jim@meyering.net>
27619
27620         Change UTILS_ to gl_ in AC_DEFINE'd names.
27621         Change utils_- and jm_-prefixed variables, too.
27622         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
27623         UTILS_FUNC_MKDIR_TRAILING_SLASH.
27624         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
27625
27626         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
27627         Don't emit trailing blanks.
27628         Also rename jm_-prefixed variables to have gl_ prefix.
27629
27630         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
27631         Also rename jm_-prefixed variables to have gl_ prefix.
27632
27633         * m4/jm-macros.m4: Reflect the renamings.
27634         * m4/prereq.m4: Likewise.
27635
27636 2004-04-20  Jim Meyering  <jim@meyering.net>
27637
27638         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
27639         memory.
27640
27641 2004-04-20  Jim Meyering  <jim@meyering.net>
27642             Bruno Haible  <bruno@clisp.org>
27643
27644         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
27645         memory when realloc fails.
27646
27647 2004-04-19  Jim Meyering  <jim@meyering.net>
27648
27649         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
27650         now that readutmp.c may call `free (0)'.
27651
27652 2004-04-19  Bruno Haible  <bruno@clisp.org>
27653
27654         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
27655         * m4/inttypes_h.m4: Likewise.
27656         * m4/stdint_h.m4: Likewise.
27657         * m4/intmax_t.m4: Likewise.
27658         * m4/uintmax_t.m4: Likewise.
27659
27660 2004-04-18  Jim Meyering  <jim@meyering.net>
27661
27662         * m4/prereq.m4: Don't forbid jm_ prefix.
27663
27664         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
27665         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
27666         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
27667         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
27668         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
27669         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
27670         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
27671         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
27672         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
27673         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
27674         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
27675         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
27676         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
27677         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
27678         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
27679         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
27680         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
27681         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
27682         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
27683
27684 2004-04-18  Jim Meyering  <jim@meyering.net>
27685
27686         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
27687         failure, don't leak memory and do call END_UTMP_ENT.
27688
27689 2004-04-16  Jim Meyering  <jim@meyering.net>
27690
27691         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
27692         coreutils' stat program.
27693         (gl_PREREQ): Don't require jm_PREREQ_STAT.
27694
27695 2004-04-11  Paul Eggert  <eggert@twinsun.com>
27696
27697         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
27698         C89.
27699         (CHAR_BIT): Remove, since we assume C89.
27700         Include <stdint.h> if available, as per current Autoconf CVS advice.
27701
27702 2004-03-31  Jim Meyering  <jim@meyering.net>
27703
27704         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
27705         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
27706         * m4/xalloc.m4: Likewise.
27707
27708 2004-03-30  Paul Eggert  <eggert@twinsun.com>
27709
27710         Merge from coreutils.
27711
27712         * m4/inttostr.m4: New file.
27713         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
27714         Require AM_STDBOOL_H and gl_TIMESPEC instead.
27715         Require gl_CLOCK_TIME.
27716         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
27717
27718 2004-03-30  Paul Eggert  <eggert@twinsun.com>
27719
27720         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
27721         not bool, to be more consistent with Unix conventions.
27722         Suggested by Bruno Haible.
27723
27724         Merge from coreutils.
27725
27726         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
27727         * lib/umaxtostr.c: New files.
27728
27729         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
27730         the usual <time.h> dance.
27731         (get_date): Change signature to support fractional time stamps.
27732         All callers changed.
27733         * lib/getdate.y: Include "getdate.h" first, as we can now
27734         assume C89 and don't need to worry about 'const'.
27735         Similarly, include "unlocked-io.h" near start, not in middle.
27736         Include <limits.h>.
27737         (textint.value): Use long int rather than int.
27738         (textint.digits): Use size_t rather than int.
27739         (BILLION, LOG10_BILLION): New constants.
27740         (parser_control): New member rel_ns.  Members day_ordinal,
27741         time_zone, month, day, hour, minutes, rel_year, rel_month,
27742         rel_day, rel_hour, rel_minutes, rel_seconds
27743         are now long int, not int.  Member seconds is now struct timespec,
27744         not int.  New member timespec_seen.  Members dates_seen, days_seen,
27745         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
27746         not int.
27747         (%union.intval): Now long int, not int.
27748         New member timespec.
27749         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
27750         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
27751         (spec): Now is a timespec or an item list.
27752         (timespec, items): New nonterminals.
27753         (time, rel, relunit, number, get_date):
27754         Add support for fractional seconds.
27755         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
27756         (gmtime, localtime, mktime): Remove decls; not needed with C89.
27757         (to_hour): First arg is now long int, not int.
27758         (to_year): Returns long int, not int.
27759         Don't treat year -70 like 70.
27760         (tm_diff): Returns long int, not int.
27761         (lookup_word): Use bool instead of int when appropriate.
27762         (yylex): Use size_t for count, not int.
27763         Detect overflow when parsing large integer constants.
27764         Add support for fractions.
27765         (get_date): Make pointers 'const' if possible.
27766         Use more-portable code to detect integer overflow.
27767         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
27768         Don't use ctime; it's not reliable if the year has >4 digits.
27769
27770         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
27771         This is for compatibility with BSD.
27772
27773         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
27774         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
27775         From coreutils' system.h.
27776
27777         * lib/userspec.c: Don't include "posixver.h".
27778         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
27779         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
27780         compatible extension.  Simplify code by removing a boolean int
27781         that was always nonzero if a string was nonnull.
27782
27783 2004-03-30  Jim Meyering  <jim@meyering.net>
27784
27785         Merge from coreutils.
27786
27787         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
27788         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
27789         on some systems one must include <grp.h> before it.
27790         Reported by Christian Krackowizer.
27791
27792 2004-03-30  Jim Meyering  <jim@meyering.net>
27793
27794         Merge from coreutils.
27795
27796         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
27797
27798         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
27799         an empty input stream.
27800
27801         * lib/readtokens.c: Include <stdbool.h>.
27802         (readtoken): Use `size_t' rather than int/long.
27803         All callers adjusted.
27804         Use `bool' rather than `int' where appropriate.
27805         Use memset rather than an explicit loop.
27806         Use x2nrealloc rather than xrealloc.
27807         Allow the use of `\0' as a delimiter.
27808         (readtokens): Likewise.
27809         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
27810
27811 2004-03-30  Jim Meyering  <jim@meyering.net>
27812
27813         * m4/realloc.m4: Remove file, since now it does no more than
27814         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
27815         the `configure.ac' section of module/realloc.
27816         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
27817
27818 2004-03-30  Bruno Haible  <bruno@clisp.org>
27819
27820         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
27821         nonnull.
27822
27823 2004-03-29  Paul Eggert  <eggert@twinsun.com>
27824
27825         Merge changes to getloadavg.c from coreutils and Emacs.
27826
27827         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
27828         Define to an expression, not to the empty string.
27829         Include cloexec.h and xalloc.h.
27830         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
27831         Use set_cloexec_flag rather than rolling our own.
27832         * lib/cloexec.c, lib/cloexec.h: New files.
27833
27834 2004-03-29  Paul Eggert  <eggert@twinsun.com>
27835
27836         * m4/cloexec.m4: New file.
27837
27838 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27839
27840         * lib/getopt.h: Sync with libc CVS.
27841
27842 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27843             Bruno Haible  <bruno@clisp.org>
27844
27845         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
27846         mbswidth.
27847
27848 2004-03-18  Paul Eggert  <eggert@twinsun.com>
27849             Bruno Haible  <bruno@clisp.org>
27850
27851         * lib/mbswidth.h: Include <wchar.h> only if
27852         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
27853         <wchar.h>.
27854         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
27855
27856 2004-03-09  Paul Eggert  <eggert@twinsun.com>
27857
27858         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
27859         Sync with libc CVS.
27860         * lib/getopt_int.h: New file, also synced from libc.
27861
27862 2004-03-09  Paul Eggert  <eggert@twinsun.com>
27863
27864         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
27865         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
27866         Bring back getopt.c, getopt.h, getopt1.c.
27867
27868 2004-03-07  Paul Eggert  <eggert@twinsun.com>
27869
27870         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
27871         All uses changed.  Check for sa_sigaction member; this fixes
27872         a bug first reported by Jason Andrade in
27873         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
27874
27875 2004-03-07  Paul Eggert  <eggert@twinsun.com>
27876
27877         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
27878         '#if' expressions.  Unlike the code it replaces, it does not
27879         depend on (defined _SC_PAGESIZE).  However, it does depend on
27880         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
27881         first reported by Jason Andrade in
27882         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
27883
27884 2004-02-25  Simon Josefsson  <jas@extundo.com>
27885
27886         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
27887
27888 2004-02-25  Simon Josefsson  <jas@extundo.com>
27889
27890         * lib/strdup.h: New file.
27891         * lib/strdup.c: Include it.
27892         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
27893         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
27894
27895 2004-02-23  Karl Berry  <karl@gnu.org>
27896
27897         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
27898         (from fencepost.gnu.org:/gd/gnuorg).
27899
27900 2004-02-23  Karl Berry  <karl@gnu.org>
27901
27902         * config/srclistvars.sh (GNUORG) [karl]: redefine.
27903         * config/srclist.txt: add maintain/standards documents.
27904
27905 2004-02-18  Bruno Haible  <bruno@clisp.org>
27906
27907         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
27908         Reported by Derek Robert Price <derek@ximbiot.com>.
27909
27910 2004-02-16  Karl Berry  <karl@gnu.org>
27911
27912         * config/mkinstalldirs, install-sh: update from automake.
27913
27914 2004-02-06  Karl Berry  <karl@gnu.org>
27915
27916         * m4/po.m4: update from gettext 0.14.1.
27917
27918 2004-02-06  Karl Berry  <karl@gnu.org>
27919
27920         * lib/config.charset: update from gettext 0.14.1.
27921
27922 2004-02-05  Paul Eggert  <eggert@twinsun.com>
27923
27924         Add comments and code, prompted by suggestions from Bruno Haible
27925         for sh-quote.
27926         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
27927         describing the enum quoting_style values.
27928         * lib/quotearg.c (quotearg_alloc): New function.
27929         (quotearg_buffer_restyled): Treat lone { and } as special.
27930         Treat = as special.  Work around bug with older shells
27931         that "see" a '\' that is really the 2nd byte of a multibyte char.
27932         Quote empty string with shell_quoting_style.
27933
27934 2004-02-03  Bruno Haible  <bruno@clisp.org>
27935
27936         * m4/pipe.m4: New file, from GNU gettext.
27937
27938 2004-02-03  Bruno Haible  <bruno@clisp.org>
27939
27940         * lib/pipe.h: New file, from GNU gettext.
27941         * lib/pipe.c: New file, from GNU gettext.
27942
27943 2004-01-27  Bruno Haible  <bruno@clisp.org>
27944
27945         * m4/execute.m4: New file, from GNU gettext.
27946
27947 2004-01-27  Bruno Haible  <bruno@clisp.org>
27948
27949         * lib/execute.h: New file, from GNU gettext.
27950         * lib/execute.c: New file, from GNU gettext.
27951         * lib/w32spawn.h: New file, from GNU gettext.
27952
27953 2004-01-24  Paul Eggert  <eggert@twinsun.com>
27954
27955         Merge from diffutils.
27956
27957         * lib/file-type.c (file_type): Add typed memory objects.
27958         * lib/file-type.h (S_TYPEISTMO): New macro.
27959
27960         * lib/c-stack.h (c_stack_action): Remove argv argument.
27961         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
27962         (die): Don't calculate message unless segv_action returns.
27963         (get_stack_location, min_address_from_argv, max_address_from_argv,
27964         volatile stack_base, volatile_stack_size): Remove.
27965         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
27966         that every segmentation violation is a stack overflow.  (Ouch!)
27967         See Debian bug 136249 (still outstanding) for more info about why
27968         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
27969
27970 2004-01-24  Paul Eggert  <eggert@twinsun.com>
27971
27972         Exit-status fix from coreutils.
27973
27974         Use exit_failure consistently in place of EXIT_FAILURE,
27975         so that program exit statuses are consistent on failure.
27976
27977         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
27978         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
27979         * lib/argmatch.h: Comment fix to match the above.
27980         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
27981         Now a macro referring to exit_failure, instead of a separate
27982         variable.  Include "exitfail.h" to get it.
27983         * lib/xstrtol.h: Include "exitfail.h".
27984         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
27985
27986         * lib/long-options.c (parse_long_options): Use prototype
27987         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
27988         for clarity.
27989
27990 2004-01-21  Jim Meyering  <jim@meyering.net>
27991
27992         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
27993         so as not to conflict with a different-sized __mktime_internal
27994         function in GNU libc.
27995         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
27996         Problem building statically-linked `ls' reported by Michael Brunnbauer.
27997
27998 2004-01-20  Karl Berry  <karl@gnu.org>
27999
28000         * config/config.guess: update from config.
28001
28002         * config/srclistvars.sh: GNUWWWLICENSES for karl.
28003
28004 2004-01-20  Bruno Haible  <bruno@clisp.org>
28005
28006         Safer stack allocation.
28007         * lib/setenv.c: Include allocsa.h.
28008         (alloca): Remove fallback definition.
28009         (freea): Remove macro.
28010         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
28011         instead of freea.
28012
28013 2004-01-20  Bruno Haible  <bruno@clisp.org>
28014
28015         * m4/eealloc.m4: New file, from GNU gettext.
28016
28017 2004-01-20  Bruno Haible  <bruno@clisp.org>
28018
28019         * m4/allocsa.m4: New file, from GNU gettext.
28020
28021 2004-01-20  Bruno Haible  <bruno@clisp.org>
28022
28023         * lib/xallocsa.h: New file, from GNU gettext.
28024         * lib/xallocsa.c: New file, from GNU gettext.
28025
28026 2004-01-20  Bruno Haible  <bruno@clisp.org>
28027
28028         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
28029
28030 2004-01-20  Bruno Haible  <bruno@clisp.org>
28031
28032         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
28033         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
28034         specially.
28035
28036 2004-01-20  Bruno Haible  <bruno@clisp.org>
28037
28038         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
28039         patch.
28040
28041 2004-01-20  Bruno Haible  <bruno@clisp.org>
28042
28043         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
28044
28045 2004-01-20  Bruno Haible  <bruno@clisp.org>
28046
28047         * lib/eealloc.h: New file.
28048
28049 2004-01-20  Bruno Haible  <bruno@clisp.org>
28050
28051         * lib/binary-io.h: Avoid warnings on Cygwin.
28052
28053 2004-01-20  Bruno Haible  <bruno@clisp.org>
28054
28055         * lib/allocsa.h: New file, from GNU gettext.
28056         * lib/allocsa.c: New file, from GNU gettext.
28057
28058 2004-01-18  Karl Berry  <karl@gnu.org>
28059
28060         * doc/gpl.texi, doc/lgpl.texi: new files.
28061
28062 2004-01-18  Karl Berry  <karl@gnu.org>
28063
28064         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
28065         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
28066
28067 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28068
28069         Merge from coreutils.
28070
28071         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
28072         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
28073         (gl_DEFAULT_POSIX2_VERSION): Move
28074         the documentation from 'configure' into 'config.hin',
28075         so that 'configure --help' isn't burdened by it and
28076         we don't have to worry about its formatting there.
28077         Reword the documentation so that it's more succinct
28078         and can be run together into a single paragraph.
28079         * m4/same.m4 (gl_SAME): Check for pathconf.
28080
28081 2004-01-15  Paul Eggert  <eggert@twinsun.com>
28082
28083         Merge from coreutils.
28084
28085         * lib/posixver.c: Include posixver.h.
28086
28087         * lib/same.c: Include <stdbool.h>, <limits.h>.
28088         (_POSIX_NAME_MAX): Define if not defined.
28089         (MIN): New macro.
28090         (same_name): If file names are silently truncated, report
28091         that the file names are the same if they are the same after
28092         the silent truncation.
28093
28094         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
28095         conversion function.
28096         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
28097         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
28098         longer needed.
28099
28100 2004-01-15  Jim Meyering  <jim@meyering.net>
28101
28102         Merge from coreutils.
28103
28104         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
28105         if no library is required.
28106         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
28107         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
28108         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
28109         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
28110         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
28111         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
28112         value, $ac_cv_search_crypt, if it's "none required".
28113         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
28114         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
28115         not gl_FUNC_GETLOADAVG.
28116         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
28117         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
28118
28119 2004-01-15  Jim Meyering  <jim@meyering.net>
28120
28121         Merge from coreutils.
28122
28123         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
28124         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
28125         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
28126
28127         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
28128         optional configure-time default.
28129
28130         * lib/version-etc.c (version_etc_copyright): Update copyright date.
28131
28132         * lib/xreadlink.c (xreadlink): Correct outdated comment.
28133
28134 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
28135
28136         Merge from coreutils.
28137
28138         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
28139         value, $ac_cv_search_nanosleep, if it's "none required".
28140
28141 2004-01-14  Paul Eggert  <eggert@twinsun.com>
28142
28143         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
28144         with like-named macro in fnmatch.c.
28145         (EXT): Use an internal constant instead.
28146
28147         Merge fnmatch patches from glibc.
28148         * lib/fnmatch.c (mbsinit): Remove define.
28149         Add libc_hidden_ver (__fnmatch, fnmatch).
28150         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
28151         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
28152
28153 2004-01-14  Karl Berry  <karl@gnu.org>
28154
28155         * config/install-sh: update from automake.
28156
28157 2004-01-13  Karl Berry  <karl@gnu.org>
28158
28159         * config/install-sh: update from automake.
28160
28161 2004-01-09  Karl Berry  <karl@gnu.org>
28162
28163         * config/install-sh: update from automake.
28164
28165 2004-01-05  Karl Berry  <karl@gnu.org>
28166
28167         * config/config.{sub,guess}: update from config.
28168
28169 2003-12-31  Karl Berry  <karl@gnu.org>
28170
28171         * config/depcomp: update from automake.
28172
28173 2003-12-14  Karl Berry  <karl@gnu.org>
28174
28175         * lib/config.charset: update from gettext-runtime.
28176
28177 2003-12-03  Paul Eggert  <eggert@twinsun.com>
28178
28179         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
28180         Bug reported by Alfred M. Szmidt.
28181
28182 2003-12-03  Bruno Haible  <bruno@clisp.org>
28183
28184         * m4/gettext.m4: Upgrade from gettext-0.13.
28185         * m4/po.m4: Upgrade from gettext-0.13.
28186         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
28187         * m4/intmax.m4: New file, from gettext-0.13.
28188         * m4/printf-posix.m4: New file, from gettext-0.13.
28189
28190 2003-11-29  Karl Berry  <karl@gnu.org>
28191
28192         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
28193
28194 2003-11-25  Paul Eggert  <eggert@twinsun.com>
28195             Bruno Haible  <bruno@clisp.org>
28196
28197         * lib/printf-parse.h: Don't include sys/types.h.
28198         (ARG_NONE): New macro.
28199         (char_directive): Change type of *arg_index fields to size_t.
28200         * lib/printf-parse.c: Don't include sys/types.h.
28201         (SSIZE_MAX): Remove macro.
28202         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
28203         Remove unnecessary overflow check.
28204         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
28205         fields.
28206
28207 2003-11-25  Bruno Haible  <bruno@clisp.org>
28208
28209         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
28210
28211 2003-11-25  Bruno Haible  <bruno@clisp.org>
28212
28213         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
28214         gt_TYPE_SSIZE_T.
28215
28216 2003-11-24  Paul Eggert  <eggert@twinsun.com>
28217
28218         * modules/alloca: Remove dependency on xalloc.
28219
28220 2003-11-24  Paul Eggert  <eggert@twinsun.com>
28221
28222         * lib/alloca.c: Remove dependency on xalloc module.
28223         (xalloc_die): Remove.
28224         (memory_full) [!defined emacs]: New macro.
28225         [!defined emacs]: Don't include xalloc.h.
28226         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
28227         address arithmetic overflows.  Change datatypes a bit to avoid
28228         unnecessary casts.
28229
28230 2003-11-22  Jim Meyering  <jim@meyering.net>
28231
28232         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
28233         s/size/size_t/.
28234
28235 2003-11-21  Karl Berry  <karl@gnu.org>
28236
28237         * config/config.{sub,guess}: update from config.
28238
28239 2003-11-18  Karl Berry  <karl@gnu.org>
28240
28241         * config/config.{sub,guess}: update from config.
28242
28243         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
28244
28245 2003-11-17  Paul Eggert  <eggert@twinsun.com>
28246
28247         * README: Mention that S+T cannot overflow if S is the size of
28248         an existing object and T is sufficiently small.
28249
28250 2003-11-17  Jim Meyering  <jim@meyering.net>
28251
28252         On systems without utime and without a utimes function capable of
28253         dealing with a NULL struct utimbuf* argument, this utime replacement
28254         could -- in unusual circumstances -- leak a file descriptor.
28255         * lib/utime.c: Include <unistd.h> and <errno.h>.
28256         (utime_null): Be sure to close `fd' and to preserve errno.
28257         Reported by Geoff Collyer via Arnold Robbins.
28258
28259 2003-11-17  Bruno Haible  <bruno@clisp.org>
28260
28261         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
28262         (Depends-on): Add xsize.
28263
28264 2003-11-17  Bruno Haible  <bruno@clisp.org>
28265
28266         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
28267
28268 2003-11-17  Bruno Haible  <bruno@clisp.org>
28269
28270         * lib/vasnprintf.c (alloca): Remove fallback definition.
28271         (freea): Remove definition.
28272         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
28273         Reported by Paul Eggert.
28274
28275 2003-11-16  Paul Eggert  <eggert@twinsun.com>
28276             Bruno Haible  <bruno@clisp.org>
28277
28278         Protect against address arithmetic overflow.
28279         * lib/printf-args.h: Include stddef.h.
28280         (arguments): Change type of field 'count' to size_t.
28281         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
28282         'unsigned int' where appropriate.
28283         * lib/printf-parse.h: Include sys/types.h.
28284         (char_directive): Change type of *arg_index fields to ssize_t.
28285         (char_directives): Change type of fields 'count', max_*_length to
28286         size_t.
28287         * lib/printf-parse.c: Include sys/types.h and xsize.h.
28288         (SSIZE_MAX): Define fallback value.
28289         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
28290         instead of 'int' where appropriate. Check a_allocated, d_allocated
28291         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
28292         * lib/vasnprintf.c: Include xsize.h.
28293         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
28294         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
28295         overflow. Avoid wraparound when converting a width or precision from
28296         decimal to binary.
28297
28298 2003-11-16  Bruno Haible  <bruno@clisp.org>
28299
28300         Update from GNU gettext.
28301         * lib/printf-parse.c: Generalize to it can be compiled for wide
28302         strings.
28303         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
28304         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
28305         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
28306         SNPRINTF): New macros.
28307         Don't include <alloca.h> if the file is used inside libintl.
28308         (local_wcslen): New function, for Solaris 2.5.1.
28309         (VASNPRINTF): Use it instead of wcslen.
28310
28311 2003-11-16  Bruno Haible  <bruno@clisp.org>
28312
28313         * lib/xsize.h (xmax): New function.
28314         (xsum, xsum3, xsum4): Declare as "pure" functions.
28315
28316 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28317
28318         * modules/xalloc (Files): Undo latest change, since xalloc.h
28319         no longer needs SIZE_MAX or PTRDIFF_MAX.
28320
28321 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28322
28323         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
28324         gl_PTRDIFF_MAX.
28325
28326 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28327
28328         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
28329         "return", to pacify some unknown compiler.  Problem reported
28330         by Joerg Schilling.
28331
28332 2003-11-12  Paul Eggert  <eggert@twinsun.com>
28333
28334         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
28335         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
28336         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
28337         heuristic is just as accurate as far as we know, and it removes a
28338         dependency on size_max.m4 and ptrdiff_max.m4.
28339
28340 2003-11-11  Bruno Haible  <bruno@clisp.org>
28341
28342         * modules/xsize (Files): Add m4/size_max.m4.
28343         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
28344
28345 2003-11-11  Bruno Haible  <bruno@clisp.org>
28346
28347         * m4/size_max.m4: New file.
28348         * m4/ptrdiff_max.m4: New file.
28349         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
28350         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
28351         (gl_XALLOC): Invoke it.
28352
28353 2003-11-11  Bruno Haible  <bruno@clisp.org>
28354
28355         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
28356         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
28357         defined.
28358
28359 2003-11-10  Paul Eggert  <eggert@twinsun.com>
28360
28361         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
28362         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
28363         rejected some allocations of exactly SIZE_MAX - 2 bytes.
28364         From Bruno Haible.
28365         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
28366         not (size_t) -1, since it's defined here.
28367
28368 2003-11-09  Karl Berry  <karl@gnu.org>
28369
28370         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
28371
28372 2003-11-06  Paul Eggert  <eggert@twinsun.com>
28373
28374         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
28375         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
28376         Reject sizes of exactly SIZE_MAX bytes.
28377         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
28378         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
28379
28380 2003-11-05  Bruno Haible  <bruno@clisp.org>
28381
28382         * lib/xsize.h: Include limits.h, to avoid a possible collision with
28383         SIZE_MAX defined in <limits.h> on Solaris.
28384
28385 2003-11-04  Jim Meyering  <jim@meyering.net>
28386
28387         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
28388         variable names, rather than @VAR@.
28389         * modules/poll: Likewise.
28390
28391 2003-11-04  Bruno Haible  <bruno@clisp.org>
28392
28393         * modules/xsize: New file.
28394         * modules/linebreak: Depend on xsize.
28395         * MODULES.html.sh (func_all_modules): Add xsize.
28396
28397 2003-11-04  Bruno Haible  <bruno@clisp.org>
28398
28399         * m4/xsize.m4: New file.
28400
28401 2003-11-04  Bruno Haible  <bruno@clisp.org>
28402
28403         * lib/xsize.h: New file.
28404         * lib/linebreak.c: Include xsize.h.
28405         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
28406         argument for overflow.
28407         Suggested by Paul Eggert.
28408
28409 2003-11-03  Karl Berry  <karl@gnu.org>
28410
28411         * config/config.{guess,sub}: update from config.
28412
28413 2003-11-03  Jim Meyering  <jim@meyering.net>
28414
28415         * modules/userspec (lib_SOURCES): Add userspec.h.
28416         (Include): Add "userspec.h".
28417         Improve description.
28418
28419 2003-11-03  Jim Meyering  <jim@meyering.net>
28420
28421         * lib/userspec.c: Include "userspec.h".
28422         * lib/userspec.h: New file.
28423
28424 2003-11-03  Bruno Haible  <bruno@clisp.org>
28425
28426         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
28427
28428 2003-11-03  Bruno Haible  <bruno@clisp.org>
28429
28430         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
28431         available, to avoid (extremely rare) race condition.
28432         Suggested by Paul Eggert.
28433
28434 2003-11-02  Karl Berry  <karl@gnu.org>
28435
28436         * config/srclist.txt (vasprintf.c): sync broken, sigh.
28437
28438 2003-10-31  Paul Eggert  <eggert@twinsun.com>
28439
28440         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
28441         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
28442         (read_filesystem_list): Set and use me_type_malloced.
28443         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
28444         whatever the type happens to be), for brevity and consistency.
28445         Check for size calculation overflow on Alphas running OSF/1.
28446
28447 2003-10-31  Jim Meyering  <jim@meyering.net>
28448
28449         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
28450
28451         * lib/linebuffer.c: Include <string.h> for declaration of memset.
28452
28453 2003-10-30  Paul Eggert  <eggert@twinsun.com>
28454             Bruno Haible  <bruno@clisp.org>
28455
28456         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
28457         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
28458
28459 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
28460
28461         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
28462         netbsd*-gnu*.  Suggested by Robert Millan.
28463
28464 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28465
28466         * modules/group-member: Depend on stdbool.
28467
28468 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28469
28470         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
28471
28472 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28473
28474         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
28475         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
28476         after the 'gnu' in these cases.  This fixes some bugs in the
28477         previous change, and is based on suggestions by Robert Millan.
28478
28479 2003-10-29  Paul Eggert  <eggert@twinsun.com>
28480
28481         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
28482         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
28483         no longer needed.
28484         * lib/quotearg.c (quotearg_n_options): Use it.
28485         * lib/group-member.c: Include <stdbool.h>.
28486         (free_group_info): Arg is now const *; don't free arg.
28487         (get_group_info): Now returns bool and accepts struct group_info *,
28488         rather than returning a malloc'ed struct group_info *.
28489         All uses changed.  Check for overflow in internal size calculation.
28490
28491         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
28492         rather than xmalloc/xrealloc.
28493         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
28494         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
28495         conformance bug: the old code used a pointer after freeing the
28496         storage that it addressed.
28497         * lib/hash.c (hash_initialize): Simplify the code by using
28498         xalloc_oversized rather than doing it by hand.
28499         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
28500         the buffer preserved.  Use free and xmalloc instead.
28501         * lib/quotearg.c (quotearg_n_options): Likewise.
28502         Use a simpler test for size overflow.  Don't use xalloc_oversized
28503         because unsigned int might be wider than size_t (!); this suggests
28504         that we should switch from unsigned int to size_t for slot numbers.
28505
28506 2003-10-28  Paul Eggert  <eggert@twinsun.com>
28507
28508         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
28509         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
28510         NetBSD kernels.  Requested by Richard Stallman.
28511
28512 2003-10-27  Paul Eggert  <eggert@twinsun.com>
28513
28514         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
28515         to allocate the returned structure.  Do not allocate a subarray,
28516         as x2nrealloc will do that.
28517         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
28518         instead of xnrealloc.
28519         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
28520
28521 2003-10-27  Bruno Haible  <bruno@clisp.org>
28522
28523         * lib/stdbool_.h: Better support for BeOS.
28524
28525 2003-10-26  Paul Eggert  <eggert@twinsun.com>
28526
28527         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
28528         now uses inline.
28529
28530 2003-10-26  Paul Eggert  <eggert@twinsun.com>
28531
28532         * lib/xalloc.h (xalloc_oversized): New static inline function, for
28533         callers that want to do their own size-overflow checking.  Include
28534         <stdbool.h>, since xalloc_oversized returns bool.
28535         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
28536         to use xalloc_oversized.
28537
28538         Add two functions x2realloc, x2nrealloc, for programs that grow
28539         arrays dynamically by doubling their sizes.
28540         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
28541         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
28542         New functions.
28543
28544         Port to C99 semantics for 'inline' of external functions.
28545         Bug reported by Bruno Haible.
28546         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
28547         with the old contents of xnmalloc.
28548         (xnmalloc, xmalloc): Use it.
28549         (xnrealloc_inline): New static inline function,
28550         with the old contents of xnrealloc.
28551         (xnrealloc, xrealloc): Use it.
28552
28553         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
28554         that.
28555
28556 2003-10-26  Karl Berry  <karl@gnu.org>
28557
28558         * config/srclist.txt (COPYING.DOC): no longer available from
28559         /gd/gnuorg; don't know where the ultimate source is.
28560
28561 2003-10-25  Paul Eggert  <eggert@twinsun.com>
28562
28563         Fix several address-calculation bugs in the hash modules,
28564         plus some minor code cleanup.
28565
28566         * lib/hash.h: Include <stdbool.h>, for bool.
28567         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
28568         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
28569         hash_get_n_entries, hash_get_max_bucket_length,
28570         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
28571         hash_rehash): Use size_t rather than unsigned.
28572         * lib/hash.c (struct hash_table, hash_get_n_buckets,
28573         hash_get_n_buckets_used, hash_get_n_entries,
28574         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
28575         hash_get_entries, hash_do_for_each, hash_string, is_prime,
28576         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
28577         Likewise.
28578         (SIZE_MAX): Define if not defined.
28579         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
28580         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
28581         hash_print):
28582         Use const * when possible.
28583         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
28584         (check_tuning): Fix bug: if tuning parameters were very close to
28585         0 or 1, rounding errors could have caused subscript violations.
28586         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
28587         (hash_initialize): Add 'fail:' label
28588         to free table and return NULL, and use it to simplify code.
28589         Use calloc rather than clearing the storage ourself.
28590         (hash_initialize, hash_rehash): Check for arithmetic overflow in
28591         buffer size calculations.
28592         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
28593         Include <stddef.h>, for size_t.
28594         * lib/hash-pjw.c (hash_pjw): Likewise.
28595         Switch to method described by Bruno Haible.
28596         Include <limits.h>, for CHAR_BIT.
28597         (SIZE_BITS): New macro.
28598
28599 2003-10-23  Paul Eggert  <eggert@twinsun.com>
28600
28601         * m4/getline.m4 (AM_FUNC_GETLINE):
28602         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
28603         hosts.  Problem reported by Derek Robert Price in
28604         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
28605         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
28606         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
28607
28608 2003-10-21  Paul Eggert  <eggert@twinsun.com>
28609
28610         * lib/getndelim2.c (getndelim2): When size calculation overflows,
28611         ceiling the allocation at NMAX bytes rather than silently
28612         discarding input bytes before NMAX is reached.  This makes
28613         a difference only if NMAX exceeds SIZE_MAX / 2.
28614
28615         * lib/obstack.c: Merge from glibc.
28616         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
28617         Add libc_hidden_def (_obstack_newchunk).
28618         (_obstack_free) [! defined _LIBC]: Remove.
28619         [defined _LIBC]: Make a strong alias from obstack_free, rather than
28620         a clone of the function body.
28621         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
28622         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
28623
28624         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
28625         glibc.
28626         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
28627         arg to memcpy.
28628
28629         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
28630         (obstack_ptr_grow_fast, obstack_int_grow_fast):
28631         Don't use lvalue casts, as GCC plans to remove support for them
28632         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
28633         was also present in the non-GCC version, indicating that this
28634         code had always been buggy and had never been widely used.
28635         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
28636         Use the fast variant of each macro, rather than copying the
28637         definiens of the fast variant; that way, we'll be more likely to
28638         catch future bugs in the fast variants.
28639
28640 2003-10-20  Bruno Haible  <bruno@clisp.org>
28641
28642         * modules/wait-process: New file.
28643         * MODULES.html.sh (func_all_modules): Add wait-process.
28644
28645 2003-10-20  Bruno Haible  <bruno@clisp.org>
28646
28647         * m4/wait-process.m4: New file.
28648
28649 2003-10-20  Bruno Haible  <bruno@clisp.org>
28650
28651         * lib/wait-process.h: New file, from GNU gettext.
28652         * lib/wait-process.c: New file, from GNU gettext.
28653
28654 2003-10-19  Jim Meyering  <jim@meyering.net>
28655
28656         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
28657         HPUX 10.20.
28658
28659 2003-10-18  Karl Berry  <karl@gnu.org>
28660
28661         * config/config.guess: update from config.
28662
28663 2003-10-16  Paul Eggert  <eggert@twinsun.com>
28664
28665         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
28666         (getgroups): First arg is int, not size_t.
28667         Don't let 'free' mangle errno.
28668
28669 2003-10-16  Paul Eggert  <eggert@twinsun.com>
28670
28671         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
28672
28673 2003-10-16  Karl Berry  <karl@gnu.org>
28674
28675         * config/config.{guess,sub}: update from config.
28676
28677 2003-10-16  Jim Meyering  <jim@meyering.net>
28678
28679         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
28680         memcpy.
28681
28682 2003-10-15  Paul Eggert  <eggert@twinsun.com>
28683
28684         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
28685         (SIZE_MAX): Remove.
28686         (new_exclude, add_exclude_file): Initial size no longer needs to
28687         be a power of 2.
28688         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
28689         our own address arithmetic overflow checking.
28690
28691         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
28692         (fnmatch): Do not alloca more than 2000 wide characters;
28693         instead, use malloc for large buffers.
28694         Check for address arithmetic overflow, and return -1
28695         with errno set to ENOMEM in that case.
28696         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
28697         (NEW_PATTERN): Do not alloca more than 8000 bytes;
28698         instead, return -1.  Check for address arithmetic overflow.
28699
28700 2003-10-14  Paul Eggert  <eggert@twinsun.com>
28701
28702         Handle invalid suffixes and overflow independently, so that
28703         callers can treat them independently as needed.  Fix some bugs in
28704         suffix handling, e.g., "100k@" was not diagnosed as an invalid
28705         suffix for a human-readable blocksize.  The major caller-visible
28706         change is the addition of a new
28707         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
28708         that both overflow and suffix chars were found.
28709
28710         * lib/human.c (humblock): Don't check separately for invalid suffix
28711         char; that is xstrtoumax's job (now that its bug is fixed).
28712         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
28713         INTMAX_MAX]: New macros.
28714         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
28715         TYPE_MAXIMUM): New macros.
28716         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
28717         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
28718         if overflow occurs, as it's what __strtol does and it's more useful
28719         in practice.
28720         (__xstrtol): If __strtol reports some error other than ERANGE,
28721         reflect it to the caller as LONGINT_INVALID.  If it reports
28722         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
28723         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
28724         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
28725         value.
28726         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
28727         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
28728         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
28729         [defined UINTMAX_MAX]: New macros.
28730
28731 2003-10-14  Bruno Haible  <bruno@clisp.org>
28732
28733         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
28734
28735 2003-10-14  Bruno Haible  <bruno@clisp.org>
28736
28737         * m4/sig_atomic_t: New file, from GNU gettext.
28738         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
28739
28740 2003-10-14  Bruno Haible  <bruno@clisp.org>
28741
28742         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
28743         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
28744         Also use volatile where needed.
28745
28746 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28747
28748         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
28749         Change maintainer from Bruno Haible to 'all'.
28750
28751 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28752
28753         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
28754
28755 2003-10-12  Paul Eggert  <eggert@twinsun.com>
28756
28757         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
28758         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
28759         and define in terms of the other primitives.
28760         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
28761         (SIZE_MAX): Define if not already defined.
28762         (array_size_overflow): New function.
28763         (xalloc_die): Abort instead of exiting if 'error' returns.
28764         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
28765         (xmalloc, xrealloc): Use them.
28766         (xcalloc): Check for address arithmetic overflow.
28767         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
28768         a bit faster than strcpy.
28769
28770 2003-10-10  Simon Josefsson  <jas@extundo.com>
28771
28772         * modules/argp (Depends-on): Add restrict and strcase.
28773
28774 2003-10-10  Simon Josefsson  <jas@extundo.com>
28775
28776         * m4/argp.m4: Add AC_C_INLINE.
28777
28778 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28779
28780         Merge getpass from libc, plus a few fixes.
28781
28782         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
28783         Include <stdbool.h>.
28784         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
28785         __fsetlocking to empty.
28786         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
28787         do include <bits/libc-lock.h>.
28788         Do not include <fcntl.h>; not needed.
28789         [_LIBC]: Include <wchar.h>.
28790         (NOTCANCEL_MODE): New macro.
28791         (flockfile, funlockfile) [_LIBC]: New macros.
28792         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
28793         [!_LIBC]: New macros.
28794         (call_fclose): New function.
28795         (getpass): Use it.  Save tty stream separately; this simplifies the
28796         code and makes it more reliable if stdin happens to equal stdout.
28797         Invoke __fsetlocking on tty.
28798         Handle thread cancellation if needed.
28799         Namespace cleanup (use __tcgetattr, __getline).
28800         Use bool for Booleans.
28801         [USE_IN_LIBIO]: Handle wide streams.
28802         [!_LIBC]: Unconditionally do the fseek, since we don't know what
28803         stream might go where.
28804
28805         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
28806         doesn't have to include <stdio.h> before us.
28807         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
28808         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
28809         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
28810         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
28811         if not declared, so that we can use getpass.c code from libc without
28812         rewriting it.
28813         (flockfile, ftrylockfile, funlockfile): New macros.
28814
28815 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28816
28817         * modules/getpass: Depend on stdbool.
28818
28819 2003-10-08  Paul Eggert  <eggert@twinsun.com>
28820
28821         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
28822
28823 2003-10-07  Karl Berry  <karl@gnu.org>
28824
28825         * config/config.{guess,sub}: update from config.
28826
28827 2003-10-06  Jim Meyering  <jim@meyering.net>
28828             Bruno Haible  <bruno@clisp.org>
28829
28830         This lets translators provide better translations for the
28831         "Written by ..." part of --version output.
28832         * lib/version-etc.h: Include stdarg.h.
28833         (version_etc_copyright): Declare as readonly.
28834         (version_etc): Make this function variadic with a NULL-terminated list
28835         of author name strings.
28836         (version_etc_va): New declaration.
28837         * lib/version-etc.c: Include stdarg.h, stdlib.h.
28838         (version_etc_copyright): Declare as readonly.
28839         (version_etc_va): New function. Provide a different translatable string
28840         for each possible number of authors < 10. Abbreviate when there are 10
28841         authors or more.
28842         (version_etc): Make this function variadic. Call version_etc_va.
28843         Suggestion from Gary V. Vaughan.
28844
28845         * lib/long-options.h (parse_long_options): Change prototype: the
28846         authors string is moved to the end and becomes variadic.
28847         * lib/long-options.c: Include stdarg.h.
28848         (parse_long_options): Make this function variadic, too.
28849         Call version_etc_va, not version_etc.
28850
28851 2003-10-06  Bruno Haible  <bruno@clisp.org>
28852
28853         * modules/version-etc-2: Remove file.
28854         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
28855
28856 2003-10-06  Bruno Haible  <bruno@clisp.org>
28857
28858         * modules/fatal-signal: New file.
28859         * MODULES.html.sh (func_all_modules): Add fatal-signal.
28860
28861 2003-10-06  Bruno Haible  <bruno@clisp.org>
28862
28863         * m4/fatal-signal.m4: New file.
28864         * m4/signalblocking.m4: New file, from GNU gettext.
28865
28866 2003-10-06  Bruno Haible  <bruno@clisp.org>
28867
28868         * lib/version-etc-2.h: Remove file.
28869         * lib/version-etc-2.c: Remove file.
28870
28871 2003-10-06  Bruno Haible  <bruno@clisp.org>
28872
28873         * lib/fatal-signal.h: New file, from GNU gettext.
28874         * lib/fatal-signal.c: New file, from GNU gettext.
28875
28876 2003-10-05  Paul Eggert  <eggert@twinsun.com>
28877
28878         * README: Rework advice for preventing empty .o files.
28879         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
28880         not <sys/types.h>.
28881
28882 2003-10-04  Karl Berry  <karl@gnu.org>
28883
28884         * lib/argp*: update from libc.
28885
28886 2003-10-04  Karl Berry  <karl@gnu.org>
28887
28888         * config/config.{guess,sub}: update from config.
28889
28890 2003-10-02  Bruno Haible  <bruno@clisp.org>
28891
28892         * modules/lchown (Include): Add lchown.h.
28893         * modules/time_r (Include): Use "..." syntax.
28894         * modules/xgetdomainname (Include): Add xgetdomainname.h.
28895
28896 2003-10-01  Simon Josefsson  <jas@extundo.com>
28897
28898         * MODULES.html.sh (func_all_modules): Move gethostname from section
28899         'based on' to section 'lacking' POSIX:2001.
28900
28901 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
28902
28903         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
28904         to output mode on the same stream.
28905
28906 2003-09-29  Paul Eggert  <eggert@twinsun.com>
28907
28908         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
28909         Fix arg typo in previous patch.
28910
28911 2003-09-28  Jim Meyering  <jim@meyering.net>
28912
28913         * lib/error.c: Correct cpp indentation.
28914
28915 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28916
28917         * modules/free: New file.
28918
28919 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28920
28921         * m4/free.m4: New file.
28922
28923 2003-09-27  Paul Eggert  <eggert@twinsun.com>
28924
28925         * lib/minmax.h (MIN, MAX)
28926         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
28927         Omit the special code that used __typeof__, since we worry that
28928         it could be more trouble than it's worth.  See:
28929         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
28930         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
28931
28932         * lib/free.c: New file.
28933
28934 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
28935
28936         Trivial fixes to Makefile.am parts of module listings.
28937         * modules/strstr: Append strstr.h to lib_SOURCES.
28938         * modules/strcase: Likewise, for strcase.h.
28939
28940 2003-09-27  Karl Berry  <karl@gnu.org>
28941
28942         * config/mkinstalldirs: update from automake.
28943
28944 2003-09-26  Paul Eggert  <eggert@twinsun.com>
28945
28946         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
28947         (error_tail): Do not loop, reallocating temporary buffer, since
28948         the output cannot contain more wide characters than the input
28949         contains bytes, the size must be big enough already.  This avoids
28950         one potential size overflow calculation.  Check for size overflow
28951         when calculating temporary buffer size.  Free temporary buffer
28952         when done, if it was allocated with malloc; this plugs a memory
28953         leak.  Remove casts from void * to pointers, that are no longer
28954         needed now that we're assuming C89 or better.
28955
28956         Merge error changes from glibc.
28957
28958         * lib/error.c, error.h: Update copyright notice header to match glibc.
28959         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
28960         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
28961         Disable cancellation while printing error.
28962         * lib/error.h: Prepend __ to parameter names.
28963
28964 2003-09-26  Jim Meyering  <jim@meyering.net>
28965
28966         * lib/error.c (error_tail): Move some declarations
28967         into inner scope where the local variables are used.
28968
28969 2003-09-26  Bruno Haible  <bruno@clisp.org>
28970
28971         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
28972         stpncpy().
28973         Don't define stpncpy through config.h; it's now done through stpncpy.h.
28974
28975 2003-09-26  Bruno Haible  <bruno@clisp.org>
28976
28977         * lib/stpncpy.h (gnu_stpncpy): New declaration.
28978         (stpncpy): Define as alias for gnu_stpncpy.
28979         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
28980
28981 2003-09-25  Simon Josefsson  <jas@extundo.com>
28982
28983         * lib/xgetdomainname.h: New file.
28984         * lib/xgetdomainname.c: New file.
28985
28986 2003-09-25  Simon Josefsson  <jas@extundo.com>
28987             Bruno Haible  <bruno@clisp.org>
28988
28989         * modules/getdomainname: New file.
28990         * modules/xgetdomainname: New file.
28991         * MODULES.html.sh (func_all_modules): Add getdomainname,
28992         xgetdomainname.
28993
28994 2003-09-25  Simon Josefsson  <jas@extundo.com>
28995             Bruno Haible  <bruno@clisp.org>
28996
28997         * m4/getdomainname.m4: New file.
28998
28999 2003-09-25  Simon Josefsson  <jas@extundo.com>
29000             Bruno Haible  <bruno@clisp.org>
29001
29002         * lib/getdomainname.h: New file.
29003         * lib/getdomainname.c: New file.
29004
29005 2003-09-25  Karl Berry  <karl@gnu.org>
29006
29007         * lib/argp-fmtstream.c, argp-help.c: update from libc.
29008
29009 2003-09-25  Karl Berry  <karl@gnu.org>
29010
29011         * config/install-sh: update from automake.
29012
29013 2003-09-25  Bruno Haible  <bruno@clisp.org>
29014
29015         * modules/version-etc-2: New file, from modules/version-etc with
29016         modifications.
29017         * MODULES.html.sh (func_all_modules): Add version-etc-2.
29018
29019 2003-09-25  Bruno Haible  <bruno@clisp.org>
29020
29021         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
29022         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
29023
29024 2003-09-24  Simon Josefsson  <jas@extundo.com>
29025
29026         * modules/xgethostname: Add xgethostname.h.
29027
29028 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29029
29030         * lib/linebuffer.c (freebuffer): Don't free the argument, just
29031         the buffer associated with the argument.  Bug reported by
29032         Simon Josefsson.
29033
29034 2003-09-24  Paul Eggert  <eggert@twinsun.com>
29035
29036         * README: Document assumptions that 'int' is at least 32 bits
29037         wide, that integer arithmetic is 2's complement without overflow,
29038         that there are no holes in integer values, that adding sizes of
29039         two nonoverlapping objects can't overflow, and that all-bits-zero
29040         yields scalar zero.  Fix spelling and capitalization typos.
29041
29042 2003-09-19  Karl Berry  <karl@gnu.org>
29043
29044         * lib/argp.h: update from libc.
29045
29046 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29047
29048         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
29049         to avoid spurious warnings like "AC_RUN_IFELSE was called before
29050         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
29051
29052 2003-09-17  Paul Eggert  <eggert@twinsun.com>
29053
29054         * gnulib-tool: Use "test -h", not "test -L", for portability
29055         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
29056         (tags_regexp): Remove, since \| doesn't conform to POSIX.
29057         (sed_extract_prog): Issue s commands one-by-one, rather than
29058         using \| in one s command.
29059
29060 2003-09-16  Paul Eggert  <eggert@twinsun.com>
29061
29062         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
29063         input error, instead of returning NULL the next time we are called
29064         (and therefore losing track of errno).
29065
29066 2003-09-16  Bruno Haible  <bruno@clisp.org>
29067
29068         * gnulib-tool (func_create_testdir): Warn about duplicated
29069         dependencies.
29070
29071 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29072
29073         * modules/argmatch, modules/fatal, modules/obstack,
29074         modules/xalloc, modules/xgethostname: Sort dependencies by
29075         importance, not alphabetically.
29076
29077 2003-09-15  Paul Eggert  <eggert@twinsun.com>
29078
29079         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
29080         fails, so that the caller gets the proper errno.
29081
29082         * lib/readutmp.c (read_utmp): Likewise.
29083         Check for fstat error.  Close stream and free storage
29084         when failing.
29085
29086 2003-09-14  Karl Berry  <karl@gnu.org>
29087
29088         * config/srclist.txt (strdup.c): disable for c89 changes.
29089
29090 2003-09-14  Jim Meyering  <jim@meyering.net>
29091
29092         * lib/getloadavg.c: Correct cpp indentation.
29093         * lib/strdup.c: Likewise.
29094         * lib/vasnprintf.c: Likewise.
29095
29096 2003-09-14  Bruno Haible  <bruno@clisp.org>
29097
29098         * modules/fwriteerror: New file.
29099         * MODULES.html.sh (func_all_modules): Add fwriteerror.
29100
29101 2003-09-14  Bruno Haible  <bruno@clisp.org>
29102
29103         * lib/fwriteerror.h: New file.
29104         * lib/fwriteerror.c: New file.
29105
29106 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29107
29108         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
29109         modules/xgethostname, modules/xalloc: Depend on exit.
29110
29111 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29112
29113         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
29114
29115         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
29116         and AC_MINIX, too, so that their extensions are available.
29117
29118         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
29119         This macro has been superseded by gl_BACKUPFILE.
29120
29121         More patches to assume C89 or better.
29122
29123         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
29124
29125         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
29126         unconditionally.
29127         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
29128         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
29129         Include <string.h>, <stdlib.h> unconditionally.
29130         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
29131         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
29132         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
29133         headers or for string.h.
29134         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
29135         or strtoul.
29136
29137         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
29138         headers.
29139         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
29140         * m4/userspec.m4 (gl_USERSPEC): Likewise.
29141         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
29142         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
29143         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
29144         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
29145         memcpy, memset.
29146         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
29147         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
29148         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
29149         strtol.
29150         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
29151         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
29152         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
29153         strtoul.
29154
29155 2003-09-12  Paul Eggert  <eggert@twinsun.com>
29156
29157         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
29158         * lib/obstack.c [!defined _LIBC]: Likewise.
29159         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
29160         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
29161         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
29162
29163         More changes to assume C89 or better.
29164
29165         * lib/error.c (error_tail): Assume vprintf.
29166
29167         * lib/argmatch.c (getenv): Remove decl.
29168         * lib/progreloc.c (get_full_program_name): Define via prototype.
29169         * lib/setenv.c (clearenv): Likewise.
29170         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
29171         needed.
29172         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
29173         (malloc, memcpy): Remove decls.
29174         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
29175         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
29176         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
29177         (memcpy): Remove macro.
29178         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
29179         (__P): Remove.  All uses removed.
29180         (PTR): Remove.  All uses changed to void *.
29181         (CHAR_BIT, NULL): Remove.
29182         (spaces, zeros, memset_space, memset_zero)
29183         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
29184         Remove.
29185         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
29186         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
29187         Define with prototype.
29188         Remove now-unnecessary prototype decl.
29189         (extra_args_spec): Assume ANSI C.  All uses changed.
29190         (extra_args_spec_iso): Remove.
29191         (my_strftime, emacs_strftimeu): Define via prototype.
29192         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
29193         unconditionally.
29194         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
29195         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
29196         (strtoul, strtol): Remove decls.
29197         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
29198         LONG_MAX): Remove.
29199         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
29200         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
29201         (LOCALE_PARAM_PROTO): New macro.
29202         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
29203         (INTERNAL (strtol), strtol): Define with a prototype.
29204         (PARAMS): Remove.  All uses removed.
29205         * lib/tempname.c: Include <string.h> unconditionally.
29206         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
29207         * lib/xgethostname.c (main): Define with a prototype.
29208         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
29209         Include <stdlib.h> unconditionally.
29210         (calloc, malloc, realloc, free): Remove decls.
29211         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
29212         Include <stdlib.h> unconditionally.  Sort include file names.
29213         (strtod): Remove.
29214         (xstrtod): Define with a prototype.
29215         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
29216         (strtol, strtoul): Remove decls.
29217
29218 2003-09-11  Paul Eggert  <eggert@twinsun.com>
29219
29220         More patches to assume C89 or better.
29221         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
29222         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
29223         string.h, memchr, STDC_HEADERS.
29224
29225 2003-09-11  Paul Eggert  <eggert@twinsun.com>
29226
29227         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
29228         Include <stdlib.h>, <string.h> unconditionally.
29229         Remove now-unnecessary cast to char *.
29230         * lib/strnlen.c: Include <string.h> unconditionally.
29231         * lib/yesno.c (yesno): Define with a prototype.
29232
29233 2003-09-11  Bruno Haible  <bruno@clisp.org>
29234
29235         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
29236
29237 2003-09-10  Jim Meyering  <jim@meyering.net>
29238
29239         * lib/error.c: Correct indentation of cpp directives.
29240
29241 2003-09-10  Bruno Haible  <bruno@clisp.org>
29242
29243         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
29244         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
29245         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
29246         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
29247         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
29248         <stdlib.h> and <string.h> checks.
29249         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
29250         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
29251
29252 2003-09-10  Bruno Haible  <bruno@clisp.org>
29253
29254         * lib/strcspn.c: Include <string.h> unconditionally.
29255         * lib/strpbrk.c: Include <string.h> unconditionally.
29256         * lib/strstr.c: Include <string.h> unconditionally.
29257         * lib/unicodeio.c: Include <string.h> unconditionally.
29258         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
29259         * lib/unsetenv.c: Likewise.
29260         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
29261         * lib/yesno.c: Include <stdlib.h> unconditionally.
29262         (rpmatch): Add prototype.
29263
29264 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29265
29266         More patches to assume C89 or better.
29267         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
29268         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
29269         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
29270         or for string.h.
29271         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
29272         stdlib.h.
29273         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
29274         C headers.
29275         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
29276         string.h.
29277         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
29278         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
29279         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
29280         or for string.h.
29281         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
29282         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
29283         C headers.
29284         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
29285         memcpy.
29286         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
29287         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
29288         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
29289         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
29290         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
29291         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
29292         string.h, free.
29293         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
29294         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
29295         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
29296         C headers, or for string.h.
29297         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
29298         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
29299         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
29300         headers, memory.h, stdlib.h, string.h, strings.h.
29301         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
29302         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
29303         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
29304         strchr.
29305         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
29306         headers, memory.h, string.h.
29307         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
29308         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
29309         free.
29310         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
29311         headers.
29312         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
29313         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
29314         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
29315         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
29316         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
29317
29318 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29319
29320         More K&R removal.
29321
29322         * lib/acosl.c (main): Use a prototype.
29323         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
29324         tanl.c: Likewise.
29325
29326         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
29327
29328         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
29329         (getopt, etopt_long, getopt_long_only, _getopt_internal)
29330         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
29331         with a prototype.
29332         * lib/getopt.c (const): Remove macro.
29333         Include <string.h> unconditionally.
29334         (my_index): Remove; all uses changed to strchr.
29335         (strlen): Remove decl.
29336         (exchange): Remove forward decl; no longer needed.
29337         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
29338         Define with prototype.
29339         * lib/getopt1.c (const): Remove macro.
29340         (getopt_long, getopt_long_only, main): Define with prototype.
29341
29342         * lib/getugroups.c: Include <string.h> unconditionally.
29343
29344         * lib/getusershell.c: Include <stdlib.h> unconditionally.
29345         (getusershell, setusershell, endusershell, readname, main):
29346         Define with prototypes.
29347
29348         * lib/group-member.c: Include group-member.h first.
29349         Include <stdlib.h> unconditionally.
29350
29351         * lib/hard-locale.c: Include hard-locale.h first.
29352         Include <stdlib.h>, <string.h> unconditionally.
29353
29354         * lib/hash.c (free, malloc): Remove decls.
29355         Include <stdlib.h> unconditionally.
29356
29357         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
29358         (getenv): Do not declare.
29359
29360         * lib/idcache.c: Include <string.h> unconditionally.
29361
29362         * lib/long-options.c: Include long-options.h first, to test interface.
29363         Include <stdlib.h> unconditionally.
29364
29365         * lib/makepath.c: Include makepath.h first, to test interface.
29366         Include <stdlib.h> and <string.h> unconditionally.
29367
29368         * lib/linebuffer.c: Include <stdlib.h>.
29369         (free): Remove decl.
29370
29371         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
29372         stddef.h. rpl_malloc returns void *, not char *.
29373         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
29374         prototype.
29375
29376         * lib/md5.h: Include <limits.h> unconditionally.
29377         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
29378         (__P): Remove; all uses removed.
29379         * lib/md5.c: Include "md5.h" first.
29380         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
29381         md5_buffer, md5_process_bytes, md5_process_block):
29382         Define with prototypes.
29383         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
29384         * lib/sha.c: Include "sha.h" first.
29385         Include <stdlib.h>, <string.h> unconditionally.
29386
29387         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
29388         * lib/memcmp.c (__ptr_t): Likewise.
29389         * lib/memrchr.c (__ptr_t): Likewise.
29390         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
29391         Include <string.h> unconditionally.
29392         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
29393         * lib/memchr.c: Include <stdlib.h> unconditionally.
29394         * lib/memchr.c (LONG_MAX): Remove.
29395         * lib/memrchr.c (LONG_MAX): Likewise.
29396         * lib/memchr.c (__memchr): Define via a prototype.
29397         * lib/memrchr.c (__memrchr): Likewise.
29398         * lib/memcmp.c (__P): Remove, and remove all uses.
29399         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
29400         Remove forward decls; no longer needed.
29401         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
29402         Use types required by C89 in prototype.
29403
29404         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
29405         * lib/savedir.c: Likewise.
29406         * lib/mkdir.c (free): Remove decl.
29407         * lib/rmdir.c (rmdir): Define with a prototype.
29408         * lib/savedir.c: Include savedir.h first, to test interface.
29409
29410         * lib/mktime.c (STDC_HEADERS): Remove.
29411         Include <stdlib.h>, <string.h> unconditionally.
29412
29413         * lib/modechange.c: Include <stdlib.h> unconditionally.
29414         (malloc): Remove decl.
29415
29416         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
29417         (free): Remove decl.
29418
29419         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
29420         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
29421         (This type really should be intptr_t, but that's a C99ism.)
29422         (_obstack_memcpy): Remove: all uses changed to memcpy.
29423         Include <string.h> unconditionally.
29424         (struct obstack): Assume __STDC__ for types of members
29425         chunkfun, freefun, extra_arg.
29426         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
29427         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
29428         obstack_begin, obstack_specify_allocation,
29429         obstack_specify_allocation_with_arg, obstack_chunkfun,
29430         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
29431         Remove unprototyped decls and the macros that use them.
29432         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
29433         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
29434         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
29435         (defined __STDC__ && __STDC__)]:
29436         Remove nonprototyped code.
29437         Include <stdlib.h> unconditionally.
29438         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
29439         _obstack_allocated_p, _obstack_free, obstack_free,
29440         _obstack_memory_used, print_and_abort):
29441         Define using prototypes.
29442         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
29443         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
29444         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
29445         obstack_next_free, obstack_object_size, obstack_room) [0]:
29446         Remove unused, unprototyped code.
29447
29448         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
29449
29450         * lib/physmem.c (physmem_total, physmem_available, main): Define
29451         with prototypes.
29452
29453         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
29454         (main): Define with a prototype.
29455
29456         * lib/posixver.c (getenv): Remove decl.
29457
29458         * lib/putenv.c (malloc): Returns void *, not char *.
29459         Include <string.h> unconditionally.
29460         (strchr, memcpy, NULL): Do not define.
29461
29462         * lib/readtokens.c: Include readtokens.h first, to test interface.
29463         Include <stdlib.h>, <string.h> unconditionally.
29464         (init_tokenbuffer): Define with a prototype.
29465
29466         * lib/regex.c (PARAMS): Remove.  All uses removed.
29467         All uses of _RE_ARGS removed, too.
29468         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
29469         unconditionally.
29470         (bzero): Assume memset exists.
29471         (memcmp, memcpy, NULL): Remove.
29472         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
29473         char, or assignments to local vars of type signed char.
29474         (init_syntax_once, PREFIX(extract_number_and_incr),
29475         PREFIX(print_partial_compiled_pattern),
29476         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
29477         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
29478         PREFIX(regex_grow_registers), PREFIX(regex_compile),
29479         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
29480         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
29481         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
29482         wcs_compile_range, byte_compile_range, truncate_wchar,
29483         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
29484         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
29485         count_mbs_length, wcs_re_match_2_internal,
29486         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
29487         PREFIX(alt_match_null_string_p),
29488         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
29489         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
29490         regfree, PREFIX(extract_number)): Define with prototype.  Remove
29491         now-unnecessary declaration, if any.
29492         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
29493         regcomp, regexec):
29494         Remove now-unnecessary casts among pointer types.
29495         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
29496
29497         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
29498         (free): Remove decl.
29499
29500         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
29501
29502         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
29503         (free): Remove decl.
29504
29505         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
29506         * lib/xgetcwd.c: Likewise.
29507
29508         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
29509         (free): Remove decl.
29510
29511         * lib/strchrnul.c (strchrnul): Define with a prototype.
29512         Fix bug: c_in was not converted to char before searching.
29513
29514         The following changes are not K&R related:
29515
29516         * lib/group-member.h: Include <sys/types.h>, so that this file is
29517         self-contained.
29518         * lib/makepath.h: Likewise.
29519
29520         * lib/getusershell.c (readname, default_index, line_size, readname):
29521         Use size_t, not int, for sizes.
29522         (readname): If the size overflows, report an error instead of
29523         looping forever.
29524
29525 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29526
29527         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
29528         libc.
29529
29530 2003-09-09  Paul Eggert  <eggert@twinsun.com>
29531
29532         * README: New section: portability guidelines.
29533
29534 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
29535
29536         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
29537         C89 spec.
29538
29539 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
29540
29541         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
29542
29543 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29544
29545         Assume C89 or better; remove K&R cruft.
29546         A few of these changes were first proposed by Derek Robert Price
29547         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
29548
29549         * lib/addext.c: Include <string.h> unconditionally.
29550         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
29551         Don't declare getenv or malloc.
29552
29553         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
29554         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
29555         (NULL): Remove.
29556         (find_stack_direction, alloca): Use prototypes.
29557
29558         * lib/atexit.c (atexit): Define using a prototype.
29559
29560         * lib/basename.c, dirname.c, stripslash.c:
29561         Include <string.h> unconditionally.
29562
29563         * lib/bcopy.c: Include <stddef.h>.
29564         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
29565
29566         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
29567
29568         * lib/error.h (error, error_at_line, error_print_progname)
29569         [! (defined (__STDC__) && __STDC__)]: Remove decls.
29570         * lib/error.c: Include error.h first, to check interface.
29571         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
29572         (VA_START): Remove; all uses changeed to va_start.
29573         (exit, strerror): Remove decls.
29574         (error_print_progname): Prototype uncondionally.
29575         Don't include <errno.h>; no longer needed.
29576         (private_strerror): Remove.
29577         (error_tail): Always define.
29578         (error, error_at_line): Assume C89 or better; always use prototypes.
29579         * lib/fatal.c: Include "fatal.h" first, to test interface.
29580         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
29581         (VA_START): Remove; all uses changed to va_start.
29582         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
29583         this case.
29584         (exit): Remove decl.
29585         (fatal): Prototype unconditionally.  Assume va_start works.
29586         Abort at end, to pacify gcc.
29587
29588         * lib/euidaccess.c (main): Define with a prototype.
29589
29590         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
29591
29592         * lib/exitfail.c: Include <stdlib.h> unconditionally.
29593
29594         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
29595         prototypes.
29596         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
29597         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
29598         (getenv): Remove decl.
29599         (fnmatch): Define using a prototype.
29600         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
29601         (FCT): Define using a prototype.
29602
29603         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
29604
29605         * lib/gethostname.c: Include <stddef.h>.
29606         (gethostname): Define with prototype.  Length is size_t, not int.
29607
29608 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29609
29610         Assume C89 or better; remove K&R cruft.
29611         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
29612         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
29613         string.h, getenv, malloc.
29614         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
29615         headers.
29616         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
29617         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
29618         do not check for strerror.
29619         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
29620         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
29621         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
29622         do not check for doprnt or vprintf.
29623         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
29624         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
29625
29626 2003-09-08  Paul Eggert  <eggert@twinsun.com>
29627
29628         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
29629         getversion.c should have been removed then, but was accidentally
29630         preserved.
29631
29632         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
29633         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
29634
29635 2003-09-08  Karl Berry  <karl@gnu.org>
29636
29637         * config/config.sub, config.guess, srclistvars.sh: update from savannah
29638                 config, forget about prep.
29639
29640         * config/depcomp, missing: update from automake.
29641
29642 2003-09-07  Paul Eggert  <eggert@twinsun.com>
29643
29644         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
29645         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
29646
29647 2003-09-07  Paul Eggert  <eggert@twinsun.com>
29648
29649         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
29650         copy_tm_result.  Bug reported by Simon Josefsson in
29651         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
29652
29653 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29654
29655         * m4/time_r.m4: New file.
29656         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
29657         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
29658         is. Check for timegm declaration.
29659         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
29660         Do not check for gmtime_r.
29661         Replace mktime if __mktime_internal does not exist and if mktime
29662         hasn't been replaced already.
29663
29664 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29665
29666         * lib/time_r.c, lib/time_r.h: New files.
29667
29668         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
29669         __localtime_r.
29670         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
29671         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
29672
29673         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
29674         __gmtime_r.
29675         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
29676         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
29677         Include <time_r.h>.
29678
29679         * lib/timegm.c: Switch to glibc implementation, with the following
29680         changes:
29681         [defined HAVE_CONFIG_H]: Include <config.h>.
29682         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
29683         (__mktime_internal) [!defined _LIBC]: New decl.
29684         (__gmtime_r) [!defined _LIBC]: New macro and function.
29685         (timegm): Use a prototype, since gnulib assumes C89.
29686         Do not bother declaring tmp to be const, as it's not really usefu.
29687         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
29688         (timegm): Declare only if HAVE_DECL_TIMEGM.
29689
29690 2003-09-06  Paul Eggert  <eggert@twinsun.com>
29691
29692         * MODULES.html.sh (func_all_modules): Add time_r.
29693         * modules/time_r: New file.
29694         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
29695         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
29696
29697 2003-09-03  Paul Eggert  <eggert@twinsun.com>
29698
29699         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
29700         Bug reported by Lute Kamstra in
29701         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
29702
29703         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
29704         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
29705         course with correspondingly smaller numbers for tomorrow and
29706         yesterday.  From Tadayoshi Funaba.  Originally installed into
29707         sh-utils on 1999-08-07, but the patch got lost (I guess during the
29708         coreutils merge?).
29709
29710 2003-08-31  Simon Josefsson  <jas@extundo.com>
29711
29712         * modules/timegm: New file.
29713         * MODULES.html.sh (func_all_modules): Add timegm.
29714
29715 2003-08-31  Simon Josefsson  <jas@extundo.com>
29716
29717         * m4/timegm.m4: New file.
29718
29719 2003-08-31  Simon Josefsson  <jas@extundo.com>
29720
29721         * lib/timegm.h: New file.
29722         * lib/timegm.c: New file.  Based on
29723         wget-1.8.2/src/http.c:mktime_from_utc.
29724
29725 2003-08-31  Karl Berry  <karl@gnu.org>
29726
29727         * lib/argp.h: update from libc.
29728
29729 2003-08-28  Bruno Haible  <bruno@clisp.org>
29730
29731         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
29732         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
29733         followed by '#define fnmatch fnmatch_posix' gives an error.
29734
29735 2003-08-28  Bruno Haible  <bruno@clisp.org>
29736
29737         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
29738         warning on QNX, which defines O_BINARY to 000000.
29739
29740 2003-08-27  Jim Meyering  <jim@meyering.net>
29741
29742         * m4/mkstemp.m4: Require that the system mkstemp be able to create
29743         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
29744         would fail after 32.  Reported by Danny Levinson.  Details here:
29745         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
29746
29747 2003-08-24  Bruno Haible  <bruno@clisp.org>
29748
29749         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
29750         MSVC7 <stdio.h> is included later.
29751
29752 2003-08-22  Simon Josefsson  <jas@extundo.com>
29753
29754         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
29755
29756 2003-08-20  Karl Berry  <karl@gnu.org>
29757
29758         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
29759
29760 2003-08-20  Bruno Haible  <bruno@clisp.org>
29761
29762         * modules/progname: New file.
29763         * MODULES.html.sh (func_all_modules): Add progname.
29764
29765 2003-08-20  Bruno Haible  <bruno@clisp.org>
29766
29767         * lib/progname.h: New file, from GNU gettext.
29768         * lib/progname.c: New file, from GNU gettext.
29769         * lib/progreloc.c: New file, from GNU gettext.
29770
29771 2003-08-19  Jim Meyering  <jim@meyering.net>
29772
29773         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
29774         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
29775
29776 2003-08-19  Bruno Haible  <bruno@clisp.org>
29777
29778         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
29779         more.
29780
29781 2003-08-19  Bruno Haible  <bruno@clisp.org>
29782
29783         * lib/xstrdup.c: Assume <string.h> exists.
29784
29785 2003-08-18  Paul Eggert  <eggert@twinsun.com>
29786
29787         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
29788         in makefile rules.
29789
29790 2003-08-18  Jim Meyering  <jim@meyering.net>
29791
29792         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
29793         * m4/lib-ld.m4: Likewise.
29794
29795 2003-08-18  Jim Meyering  <jim@meyering.net>
29796
29797         * lib/setenv.h: Indent nested cpp directive.
29798         * lib/vasnprintf.c: Remove trailing blanks.
29799
29800 2003-08-17  Simon Josefsson  <jas@extundo.com>
29801
29802         * modules/xstrndup: New file.
29803         * MODULES.html.sh (func_all_modules): Add xstrndup.
29804
29805 2003-08-17  Simon Josefsson  <jas@extundo.com>
29806
29807         * modules/argp: Fix autoconf macro name. Add more dependencies.
29808
29809 2003-08-17  Simon Josefsson  <jas@extundo.com>
29810
29811         * m4/xstrndup.m4: New file.
29812
29813 2003-08-17  Simon Josefsson  <jas@extundo.com>
29814
29815         * m4/argp.m4: New file.
29816
29817 2003-08-17  Simon Josefsson  <jas@extundo.com>
29818             Bruno Haible  <bruno@clisp.org>
29819
29820         * lib/xstrndup.h: New file.
29821         * lib/xstrndup.c: New file.
29822
29823 2003-08-17  Bruno Haible  <bruno@clisp.org>
29824
29825         * modules/strndup (Files, Include): Add lib/strndup.h.
29826
29827 2003-08-17  Bruno Haible  <bruno@clisp.org>
29828
29829         * modules/euidaccess (Files): Add lib/euidaccess.h.
29830
29831 2003-08-17  Bruno Haible  <bruno@clisp.org>
29832
29833         * lib/strndup.h: New file.
29834
29835 2003-08-17  Bruno Haible  <bruno@clisp.org>
29836
29837         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
29838         like AC_GNU_SOURCE.
29839         * modules/extensions (configure.ac): Comment out the invocation of
29840         gl_USE_SYSTEM_EXTENSIONS.
29841
29842 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29843
29844         Merges from coreutils, etc.
29845         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
29846         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
29847         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
29848         fixing a typo.
29849         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
29850         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
29851
29852 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29853
29854         Document merge from coreutils.
29855         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
29856         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
29857         * modules/utime: Add m4/utimes-null.m4.
29858
29859 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29860
29861         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
29862         space, undoing this 2003-08-12 change:
29863         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
29864
29865 2003-08-16  Paul Eggert  <eggert@twinsun.com>
29866
29867         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
29868         strtoul.c from libc, undoing this 2003-08-12 change:
29869         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
29870
29871 2003-08-16  Jim Meyering  <jim@meyering.net>
29872
29873         Merges from coreutils.
29874         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
29875         prefix.  Adjust cache variables similarly.  Create 500 rather than
29876         just 300 files, to exercise bug on Darwin6.5, too.
29877         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
29878         $missing_dir.
29879         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
29880         AM_SYS_POSIX_TERMIOS.
29881         Reported by mkc@mathdogs.com.
29882         Also change use of $am_cv_sys_posix_termios
29883         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
29884         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
29885         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
29886         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
29887         in /proc/mounts until it finds one with matching device number.  This
29888         is unnecessary when the FILE argument *is* a mount point.  No stat call
29889         is necessary in that case.  So, disable the statvfs-testing code on
29890         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
29891         as RedHat bug# 84846.
29892         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
29893         to 1MB, so as not to render systems with no stack size limit (e.g.,
29894         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
29895         Include <unistd.h>.  On some systems,
29896         it is required for the definition of _SC_PAGESIZE.
29897
29898 2003-08-16  Jim Meyering  <jim@meyering.net>
29899
29900         Merge from coreutils.
29901         * lib/xstrtoimax.c: #else #if -> #elif.
29902         * lib/xstrtoumax.c: Likewise.
29903
29904 2003-08-16  Jim Meyering  <jim@meyering.net>
29905
29906         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
29907         * m4/utimes.m4: Removed.
29908         * m4/utimes-null.m4: Renamed from utimes.m4.
29909
29910         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
29911         to 1MB, so as not to render systems with no stack size limit (e.g.,
29912         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
29913         Include <unistd.h>.  On some systems,
29914         it is required for the definition of _SC_PAGESIZE.
29915
29916 2003-08-16  Jim Meyering  <jim@meyering.net>
29917         and Paul Eggert  <eggert@cs.ucla.edu>
29918
29919         Merges from coreutils, etc.
29920
29921         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
29922         using the latest version from cvs.  This avoids problems with #line
29923         directives using a vendor (Sun) compiler.
29924         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
29925         Don't set GETGROUPS_LIB here; now it's
29926         done via getgroups.m4's wrapper function.
29927         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
29928         rather than just in sh-util/configure.in, so that the
29929         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
29930         same.
29931         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
29932         AC_FUNC_GETLOADAVG where to find getloadavg.c.
29933         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
29934         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
29935         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
29936         Remove code that is now done by the newly-required macros.
29937         Append $(EXEEXT) to DF_PROG.
29938         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
29939         Do not invoke or require the following here,
29940         since prereq.m4 or some gnulib .m4 now does this for us:
29941         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
29942         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
29943         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
29944         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
29945         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
29946         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
29947         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
29948         AC_FUNC_OBSTACK.
29949         Do not replace the following functions, as this is now the job
29950         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
29951         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
29952         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
29953         atexit getpass, strdup, getpagesize.
29954         Replace 'raise'.
29955         Do not check for the following functions, as this is now the job
29956         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
29957         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
29958         setregid.
29959         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
29960         Check for sys/sysctl.h.
29961         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
29962         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
29963         of checking for ssize_t ourselves.
29964
29965         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
29966         Require every macro that gnulib/modules/* suggests for us.
29967         (jm_PREREQ_ADDEXT): New macro.
29968         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
29969         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
29970
29971         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
29972         (gl_PHYSMEM): Use it.
29973         Also check for `table' function.
29974         Check for new headers and functions.
29975         Add check for sys/sysmp.h.
29976         With suggestions from Kaveh Ghazi.
29977         Ignore headers that are present but cannot be compiled.  This
29978         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
29979         C 5.4.
29980
29981 2003-08-15  Paul Eggert  <eggert@twinsun.com>
29982
29983         Document merge from coreutils.
29984         * modules/userspec: Depend on posixver.
29985         * modules/strftime: Depend on tzset.
29986
29987 2003-08-15  Paul Eggert  <eggert@twinsun.com>
29988
29989         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
29990         rather than tab, after '#' in shell-script copyright notices.
29991         Suggested by Bruno Haible.
29992
29993 2003-08-15  Paul Eggert  <eggert@twinsun.com>
29994
29995         * config/srclist-update: Use three spaces, rather than tab, after '#'
29996         in shell-script copyright notices.  Suggested by Bruno Haible.
29997         Remove unnecessary parenthesization in regular expression.
29998
29999 2003-08-15  Jim Meyering  <jim@meyering.net>
30000
30001         Merge from coreutils.
30002         * lib/xgethostname.c: Include <stdlib.h>.
30003         (xghostname): Don't exit for anything other than memory-related
30004         failure; just return NULL.
30005         * lib/userspec.c: Include "posixver.h".
30006         (parse_user_spec): Accept `.' as a separator only
30007         in pre-POSIX-200112 mode.
30008         * lib/strtoimax.c: Use #elif rather than #else #if.
30009         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
30010         Remove function, now that we can rely on a working tzset function.
30011         [!_LIBC]: Ensure that the required autoconf test has been run.
30012         [!defined _NL_CURRENT && HAVE_STRFTIME]:
30013         Use underlying_strftime for %r.
30014         * lib/sha.c: Merge in some clean-up and optimization changes from
30015         glibc.
30016         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
30017         Ensure that it is a multiple of 64.
30018         Rearrange loop exit tests so as to avoid performing an
30019         additional fread after encountering an error or EOF.
30020         * lib/realloc.c: Update copyright date.
30021
30022 2003-08-15  Jim Meyering  <jim@meyering.net>
30023         and Paul Eggert  <eggert@twinsun.com>
30024
30025         Merge from coreutils.
30026         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
30027         member but strut utmpx does not.  Needed for AIX 4.3.3.
30028         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
30029
30030 2003-08-15  Jim Meyering  <jim@meyering.net>
30031         and Paul Eggert  <eggert@cs.ucla.edu>
30032
30033         Merges from coreutils, etc.
30034         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
30035         Require gl_FUNC_TZSET_CLOBBER.
30036         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
30037         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
30038         members.
30039
30040 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30041
30042         Help the merge from coreutils.
30043         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
30044         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
30045         * m4/tzset.m4: Use it too.
30046
30047 2003-08-14  Paul Eggert  <eggert@twinsun.com>
30048
30049         * modules/tzset: New file.
30050
30051 2003-08-14  Jim Meyering  <jim@meyering.net>
30052
30053         Merges from coreutils.
30054         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
30055         variable names, rather than @FNMATCH_H@.
30056         * modules/alloca: Likewise for $(ALLOCA_H).
30057
30058         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
30059         the three copies of the literal target, `fnmatch.h'.
30060         * modules/alloca (alloca.h): Likewise.
30061
30062 2003-08-14  Jim Meyering  <jim@meyering.net>
30063
30064         Merge from coreutils.
30065         * m4/tzset.m4: New file.
30066         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
30067         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
30068         otherwise, AIX 5.1 systems would end up using the latter.
30069         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
30070         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
30071         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
30072         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
30073
30074 2003-08-14  Jim Meyering  <jim@meyering.net>
30075
30076         Merge from coreutils.
30077         * lib/obstack.h: Whitespace changes.
30078         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
30079         and xcalloc return values.
30080         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
30081         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
30082         hang on OSF/1 5.1 for DIR on both local and remote file systems.
30083         Reported by (and fix confirmed by) Nelson H. F. Beebe.
30084         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
30085         error from mntctl.
30086         Use mntctl's return value to drive the entry-processing loop, since
30087         we can't rely on the value of the vmt_length member in the last
30088         entry.  On some systems doing so could result in exhausting
30089         virtual memory.  Based in part on a patch from Mike Jetzer.
30090
30091 2003-08-14  Jim Meyering  <jim@meyering.net>
30092         and Paul Eggert  <eggert@twinsun.com>
30093
30094         Merges from coreutils, plus other fixes.
30095         * lib/physmem.c: Merge in portability changes from gcc/libiberty
30096         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
30097         for credits and details.  Thanks to Kaveh Ghazi for helping
30098         to keep these files in sync.
30099         (ARRAY_SIZE): Define it.
30100         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
30101         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
30102         (memcasecmp): Don't assume size_t fits in unsigned int.
30103         Remove casts and duplicate code.
30104         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
30105         (memcpy): Remove definition.
30106         Merge in some clean-up and optimization changes from glibc.
30107         [BLOCKSIZE]: Move definition to top of file.
30108         Ensure that it is a multiple of 64.
30109         Rearrange loop exit tests so as to avoid performing an
30110         additional fread after encountering an error or EOF.
30111         * lib/md5.h (md5_uintptr): Define.
30112         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
30113         return to the initial working directory.  Preserve errno
30114         for caller.
30115         * lib/idcache.c: Include "xalloc.h".
30116         (xmalloc, xrealloc): Remove decls.
30117         (getuser): Remove casts no longer required in C89.
30118         * lib/human.c: Include stdio.h, for sprintf.
30119         * lib/group-member.c: Include "xalloc.h".
30120         (xmalloc, xrealloc): Remove decls.
30121         (get_group_info): Remove casts no longer required in C89.
30122         * lib/getusershell.c (readname): Remove casts no longer required in
30123         C89.
30124         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
30125         * lib/getline.c: Whitespace fix, from coreutils.
30126
30127 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30128
30129         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
30130         Check for isascii.
30131
30132         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
30133         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
30134         Undo previous (whitespace-only) change.
30135
30136 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30137
30138         * lib/exclude.c: Include <ctype.h>
30139         (IN_CTYPE_DOMAIN): New macro.
30140         (is_space): New fn.
30141         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
30142         and empty lines.
30143
30144         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
30145         Undo previous (whitespace-only) change.
30146
30147 2003-08-13  Paul Eggert  <eggert@twinsun.com>
30148
30149         * config/srclist-update: Change update back to the old behavior,
30150         leaving whitespace alone.  Use one 'sed' command rather than a
30151         pipeline.
30152         (fixlicense): Now a variable, not a function.
30153         (remove_trailing_blanks): Remove.
30154         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
30155         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
30156         Undo previous (whitespace-only) change.
30157
30158 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30159
30160         Merge from coreutils.
30161         * modules/euidaccess: Add lib_SOURCES, include for new
30162         file euidaccess.h
30163
30164 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30165
30166         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
30167         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
30168         Normalize leading white space and remove trailing white space.
30169
30170         Merge from coreutils
30171         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
30172
30173         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
30174         0.12.1.  These files are now being upgraded automatically by
30175         ../config/srclist-update.
30176
30177 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30178
30179         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
30180         Normalize leading white space and remove trailing white space.
30181         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
30182         notice, as per ../config/srclist-update.
30183
30184         Merge from coreutils.
30185         * lib/euidaccess.h: New file.
30186         * lib/euidaccess.c: Include it.
30187         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
30188         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
30189         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
30190
30191 2003-08-12  Paul Eggert  <eggert@twinsun.com>
30192
30193         * config/srclist-update: Add copyright notice.
30194         (remove_id_lines, remove_trailing_blanks): New constants.
30195         (fixfile): Use them to normalize spacing a bit in copied files.
30196         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
30197         Normalize leading white space and remove trailing white space.
30198
30199         * config/texinfo.tex: Sync with texinfo.
30200
30201         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
30202         strtoul.c from libc, to merge coreutils whitespace changes.
30203
30204         * config/srclist.txt: Get the following m4 files from gettext:
30205         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
30206         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
30207         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
30208         wint_t.m4.
30209
30210 2003-08-12  Karl Berry  <karl@gnu.org>
30211
30212         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
30213         been made.
30214
30215 2003-08-11  Paul Eggert  <eggert@twinsun.com>
30216
30217         * modules/gnu-source, m4/gnu-source.m4:
30218         Remove; we're assuming Autoconf 2.54 or later now.
30219         Suggested by Bruno Haible.
30220         * MODULES.html.sh (func_all_modules): Remove gnu-source.
30221
30222 2003-08-11  Bruno Haible  <bruno@clisp.org>
30223
30224         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
30225
30226 2003-08-11  Bruno Haible  <bruno@clisp.org>
30227
30228         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
30229         (vasnprintf): Use it instead of wcslen.
30230
30231 2003-08-11  Bruno Haible  <bruno@clisp.org>
30232
30233         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
30234         value to ensure that _Bool promotes to int. Use #define for _Bool when
30235         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
30236
30237 2003-08-10  Karl Berry  <karl@gnu.org>
30238
30239         * lib/regex.h: update from libc (whitespace fix).
30240
30241 2003-08-09  Paul Eggert  <eggert@twinsun.com>
30242
30243         Merge some files from coreutils.  These changes were
30244         originally made by Jim Meyering.
30245         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
30246         many older Unixes require this.
30247         * lib/alloca.c (alloca): Remove cast to argument of free;
30248         no longer needed in C89.
30249         * lib/alloca_.h, regex.h: Fix white space to match
30250         what GNU indent does.
30251
30252 2003-08-09  Paul Eggert  <eggert@twinsun.com>
30253
30254         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
30255         apparently Emacs's Unicode mode got confused before my 2003-08-05
30256         checkin.
30257
30258 2003-08-08  Paul Eggert  <eggert@twinsun.com>
30259
30260         * m4/extensions.m4: New file.
30261         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
30262         Require gl_USE_SYSTEM_EXTENSIONS.
30263         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
30264         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
30265
30266 2003-08-08  Paul Eggert  <eggert@twinsun.com>
30267
30268         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
30269         * modules/extensions, modules/gnu-source: New files.
30270         * modules/timespec, modules/unlocked-io: Depend on extensions.
30271
30272 2003-08-07  Paul Eggert  <eggert@twinsun.com>
30273
30274         * modules/restrict: New file.
30275         * MODULES.html.sh (func_all_modules): Add restrict.
30276         * modules/regex: Depend on restrict.
30277
30278 2003-08-07  Paul Eggert  <eggert@twinsun.com>
30279
30280         * m4/restrict.m4: New file.
30281         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
30282
30283 2003-08-07  Bruno Haible  <bruno@clisp.org>
30284
30285         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
30286         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
30287
30288 2003-08-07  Bruno Haible  <bruno@clisp.org>
30289
30290         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
30291         makes the module 'getndelim2' compatible with the module 'getline'.
30292
30293 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30294
30295         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
30296         byte with "\201" to avoid glitches when editing that source file
30297         with multi-gnome-terminal.
30298
30299 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30300
30301         * lib/bumpalloc.h: Remove.
30302
30303 2003-08-05  Paul Eggert  <eggert@twinsun.com>
30304
30305         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
30306         * modules/bumpalloc: Remove.
30307
30308 2003-08-04  Paul Eggert  <eggert@twinsun.com>
30309
30310         * lib/getloadavg.c: Change copyright notice and spacing to conform to
30311         GNU coding style.
30312
30313         Merge from coreutils.
30314         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
30315         1. From glibc.
30316         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
30317         from Karl Berry, implemented by Jim Meyering.
30318         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
30319         from Dmitry V. Levin.
30320         Remove anachronistic cast of xrealloc.
30321         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
30322         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
30323         type. Otherwise, it wouldn't compile with at least /bin/cc on
30324         ymp-cray-unicos9.0.2.X.
30325         Combine two mostly-identical uses of alloca into one.
30326         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
30327
30328 2003-08-04  Dave Love  <d.love@dl.ac.uk>
30329
30330         [From Emacs.]
30331
30332         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
30333         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
30334         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
30335         obsolete NLIST_NAME_UNION.
30336         [__GNU__]: Undef BSD and FSCALE.
30337         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
30338
30339 2003-08-03  Paul Eggert  <eggert@twinsun.com>
30340
30341         * lib/stdbool_.h (_Bool): Make it signed char, instead of
30342         an enum type, so that it's guaranteed to promote to int.  See:
30343         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
30344
30345 2003-08-03  Karl Berry  <karl@gnu.org>
30346
30347         * config/depcomp: update from automake.
30348
30349 2003-07-31  Paul Eggert  <eggert@twinsun.com>
30350
30351         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
30352         (strerror): Don't assume that a printable int fits in 14 bytes.
30353
30354 2003-07-31  Bruno Haible  <bruno@clisp.org>
30355
30356         * modules/getpass-gnu: New file.
30357         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
30358
30359 2003-07-31  Bruno Haible  <bruno@clisp.org>
30360
30361         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
30362
30363 2003-07-24  Karl Berry  <karl@gnu.org>
30364
30365         * config/missing: update from automake.
30366
30367 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
30368             Bruno Haible  <bruno@clisp.org>
30369
30370         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
30371         * lib/getline.c (getline, getdelim): Likewise.
30372         Remove _GNU_SOURCE define; now it's defined in config.h through
30373         m4/getline.m4.
30374
30375 2003-07-23  Karl Berry  <karl@gnu.org>
30376
30377         * config/config.sub: update from prep.
30378
30379 2003-07-22  Paul Eggert  <eggert@twinsun.com>
30380
30381         * modules/xalloc (Depends-on): Add exitfail.
30382         * modules/xmemcoll: Likewise.
30383
30384 2003-07-22  Paul Eggert  <eggert@twinsun.com>
30385
30386         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
30387         over-parenthesization in macros.
30388
30389         Sync with coreutils.
30390
30391         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
30392         required by C99.
30393
30394         Use `exit_failure' for xalloc and xmemcoll instead of their own
30395         private exit-failure variables.
30396         * lib/xalloc.h (xalloc_exit_failure): Remove.
30397         * lib/xmalloc.c: Likewise.  Include exitfail.h.
30398         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
30399         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
30400         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
30401         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
30402
30403 2003-07-20  Jim Meyering  <jim@meyering.net>
30404
30405         * modules/closeout (Depends-on): Add exitfail.
30406         Suggestion from Bruno Haible.
30407
30408 2003-07-19  Karl Berry  <karl@gnu.org>
30409
30410         * config/config.sub: update from prep.
30411
30412 2003-07-18  Paul Eggert  <eggert@twinsun.com>
30413
30414         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
30415         Remove.
30416         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
30417         to test that it can stand by itself.  Include "exitfail.h".
30418         Clients should set exit_failure instead.
30419         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
30420
30421 2003-07-18  Bruno Haible  <bruno@clisp.org>
30422
30423         * modules/getndelim2: New file.
30424         * modules/getline: Share files with module getndelim2.
30425         * modules/getnline: Depend on getndelim2 instead of sharing files with
30426         it. Add getnline.c to lib_SOURCES.
30427         * MODULES.html.sh (func_all_modules): Add getndelim2.
30428
30429 2003-07-18  Bruno Haible  <bruno@clisp.org>
30430
30431         * m4/getndelim2.m4: New file.
30432         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
30433         invoke gl_PREREQ_GETNDELIM2.
30434         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
30435         gl_PREREQ_GETNDELIM2.
30436         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
30437         gl_GETNDELIM2.
30438
30439 2003-07-18  Bruno Haible  <bruno@clisp.org>
30440
30441         * lib/getndelim2.h: New file.
30442         * lib/getndelim2.c: Make into a module of its own. Include config.h,
30443         getndelim2.h.
30444         (getndelim2): Make non-static. Change return type to ssize_t.
30445         * lib/getline.h: Change argument names.
30446         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
30447         * lib/getnline.c: Include getndelim2.h.
30448
30449 2003-07-18  Andreas Schwab  <schwab@suse.de>
30450
30451         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
30452
30453 2003-07-17  Karl Berry  <karl@gnu.org>
30454
30455         * config/config.sub: update from prep.
30456
30457 2003-07-17  Bruno Haible  <bruno@clisp.org>
30458
30459         * modules/getnline: New file.
30460         * modules/getline: Add lib/getndelim2.c to source file list.
30461         * MODULES.html.sh (func_all_modules): Add getnline.
30462
30463 2003-07-17  Bruno Haible  <bruno@clisp.org>
30464
30465         * m4/getnline.m4: New file.
30466
30467 2003-07-17  Bruno Haible  <bruno@clisp.org>
30468
30469         * m4/Makefile.am.in: Remove file.
30470         * m4/Makefile.am: Remove file.
30471         * m4/Makefile.in: Remove file.
30472
30473 2003-07-17  Bruno Haible  <bruno@clisp.org>
30474
30475         * lib/getnline.h: New file.
30476         * lib/getnline.c: New file.
30477         * lib/getndelim2.c: New file, extracted from getline.c.
30478         (getndelim2): Renamed from getdelim2, with added nmax argument.
30479         * lib/getline.c: Include getndelim2.c.
30480         (getdelim2): Moved out to getndelim2.c.
30481         (getline, getdelim): Update.
30482
30483 2003-07-17  Bruno Haible  <bruno@clisp.org>
30484
30485         * lib/Makefile.am: Remove file.
30486         * lib/Makefile.in: Remove file.
30487
30488 2003-07-17  Bruno Haible  <bruno@clisp.org>
30489
30490         * configure.in: Remove file.
30491         * Makefile.in: Remove file.
30492
30493 2003-07-17  Bruno Haible  <bruno@clisp.org>
30494
30495         * MODULES.html.sh: Put the </BODY> right before </HTML>.
30496
30497 2003-07-16  Karl Berry  <karl@gnu.org>
30498
30499         * config/srclist-update: was running fixlicense twice, which caused
30500                 texinfo.tex to be nullified for some reason.  Simplify,
30501                 $gplsrc is no longer needed as far as I can see?
30502
30503 2003-07-16  Jim Meyering  <jim@meyering.net>
30504
30505         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
30506
30507 2003-07-15  Paul Eggert  <eggert@twinsun.com>
30508
30509         * config/srclist.txt: Get the following files from gettext-runtime/intl
30510         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
30511         ref-del.sin.  From Bruno Haible.
30512         * config/srclist-update (fixfile): Change grep pattern again, since the
30513         previous fix didn't work (there was another trailing $).  Use
30514         '[$]' to escape the $s.
30515
30516 2003-07-15  Karl Berry  <karl@gnu.org>
30517
30518         * lib/vasnprintf.c: update from gettext.
30519
30520 2003-07-15  Karl Berry  <karl@gnu.org>
30521
30522         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
30523         gets expanded when surrounded by '$'.
30524
30525 2003-07-15  Jim Meyering  <jim@meyering.net>
30526
30527         * modules/save-cwd: Don't depend on error.  From Derek Price.
30528
30529 2003-07-15  Jim Meyering  <jim@meyering.net>
30530
30531         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
30532
30533 2003-07-14  Simon Josefsson  <jas@extundo.com>
30534
30535         * modules/mempcpy: New file.
30536         * MODULES.html.sh (func_all_modules): Add mempcpy.
30537
30538 2003-07-14  Simon Josefsson  <jas@extundo.com>
30539
30540         * m4/mempcpy.m4: New file.
30541
30542 2003-07-14  Simon Josefsson  <jas@extundo.com>
30543
30544         * lib/mempcpy.h: New file.
30545         * lib/mempcpy.c: New file.
30546
30547 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30548
30549         * modules/getdate, modules/posixtm: Depend on mktime.
30550
30551 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30552
30553         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
30554         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
30555         unicodeio.c, unicodeio.h, unlocked-io.h:
30556         Switch from LGPL to GPL.
30557
30558 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30559
30560         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
30561         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
30562         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
30563         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
30564         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
30565         updated automatically by ../config/srclist-update.  This changes
30566         their license from LPGL to GPL.
30567
30568 2003-07-14  Paul Eggert  <eggert@twinsun.com>
30569
30570         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
30571         assumed to refer to the root of the most recent stable gettext version.
30572         * config/srclistvars.sh: Add defaults for eggert.
30573         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
30574         Match "This program" as well as "The program".  This is needed
30575         for gettext.
30576
30577 2003-07-14  Jim Meyering  <jim@meyering.net>
30578
30579         Don't emit diagnostics.  Let callers do that.
30580         * lib/save-cwd.c: Don't include "error.h".
30581         (save_cwd): Don't call error.  Ensure that errno is valid
30582         when returning nonzero.
30583
30584         * lib/save-cwd.h (restore_cwd): Update prototype.
30585         * lib/save-cwd.c (restore_cwd): Remove two parameters.
30586         Simplify.  Don't call error upon failure.  Let callers do that.
30587         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
30588         when auditing is enabled.  But don't bother updating the #if.
30589
30590 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
30591
30592         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
30593         it breaks C++ compilation.
30594         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
30595
30596 2003-07-10  Simon Josefsson  <jas@extundo.com>
30597
30598         * modules/strchrnul (Makefile.am): Add strchrnul.h.
30599
30600 2003-07-10  Jim Meyering  <jim@meyering.net>
30601
30602         * m4/clock_time.m4: Remove trailing blank.
30603         * m4/intmax_t.m4: Likewise.
30604
30605 2003-07-10  Jim Meyering  <jim@meyering.net>
30606
30607         * lib/vasnprintf.c: Remove trailing blanks.
30608         Make cpp indentation consistent.
30609
30610 2003-07-09  Paul Eggert  <eggert@twinsun.com>
30611
30612         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
30613         posixver.c, strftime.c, strnlen.c, strverscmp.c:
30614         Switch from LGPL to GPL.
30615
30616 2003-07-09  Paul Eggert  <eggert@twinsun.com>
30617
30618         * config/srclist.txt: Sort sublists.  Add
30619         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
30620         that differ from gnulib for one reason or another; we'd like this list
30621         to be smaller but for now let's document what we have.
30622
30623 2003-07-08  Paul Eggert  <eggert@twinsun.com>
30624
30625         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
30626         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
30627         and sweeter "eval x=$x".
30628         * config/srclist.txt: Get lib/argp* from glibc.
30629
30630 2003-07-07  Paul Eggert  <eggert@twinsun.com>
30631
30632         * lib/mktime.c: Fix some boundary cases and remove need for floating
30633         point.
30634
30635         Issue a compile-time diagnostic if time_t is floating point, or if
30636         two's complement arithmetic is not in effect, or if arithmetic
30637         right shift does not propagate the sign.  These assumptions were
30638         all in the original code but they weren't checked.
30639
30640         (TIME_T_MIDPOINT, verify): New macros.
30641         (__isleap): Remove; it has integer overflow problems.
30642         (leapyear): New function, without those problems.
30643         (ydhms_tm_diff): Remove; splitting into two parts.
30644         (ydhms_diff): New function, containing the arithmetic part of
30645         the old ydhms_tm_diff function.  Issue a compile-time
30646         diagnostic if we are not using C99 integer division.
30647         Avoid casts when possible.
30648         (guess_time_tm): New function, containing the checking part of
30649         the old ydhms_tm_diff function.  Return the new value, rather than
30650         the difference between it and the old.  Accept a new argument T
30651         so that *T specifies the old value.  Check for overflow in the result.
30652
30653         (__mktime_internal): Use a time_t offset, not a long int offset.
30654         This undoes the 2003-06-04 change, which is no longer needed now
30655         that we have better overflow checking.
30656         (localtime_offset): Likewise.
30657
30658         (__mktime_internal): Avoid harmful overflow on hosts where time_t
30659         and long are 64-bit but int is only 32-bit.
30660         (ydhms_diff): Use long int to store year1 and yday1.
30661         Issue a compile-time diagnostic if long int is not wide enough.
30662
30663         (__mktime_internal): Use long int to store adjusted year and yday.
30664         Use plain C rather than preprocessor commands, if that doesn't
30665         affect efficiency.
30666         Check for overflow (and try to repair) after each probe
30667         rather than checking only at the very end.  This avoids some bugs
30668         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
30669         does not equal GMT offset at maximum time).
30670         Use integer to check for overflow rather than floating point; this
30671         is more portable to non-IEEE hosts, and is a tad faster.
30672         When we detect that we are oscillating between two values,
30673         don't check whether tm_isdst has the requested value, since
30674         we already know the answer.  When tm_isdst has the wrong value,
30675         use a different heuristic to find the right one, based on the
30676         extreme values actually observed in practice in tz2003a,
30677         rather than the (overly optimistic) "previous 3 calendar quarters".
30678
30679         (not_equal_tm, print_tm, check_result): Use "const T" rather than
30680         "T const" to accommodate glibc style.
30681         (check_result): Use less-confusing report format.  "long" -> "long int.
30682         (main): Likewise.
30683         Don't loop if the iteration overflows time_t.
30684         Allow a negative step in the iteration.
30685
30686 2003-07-06  Karl Berry  <karl@gnu.org>
30687
30688         * config/depcomp: update from automake.
30689         * config/config.sub: update from prep.
30690
30691 2003-07-03  Karl Berry  <karl@gnu.org>
30692
30693         * config/config.guess: update from prep.
30694
30695 2003-07-01  Paul Eggert  <eggert@twinsun.com>
30696
30697         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
30698         xreadlink.c now includes it unconditionally.
30699
30700 2003-07-01  Paul Eggert  <eggert@twinsun.com>
30701
30702         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
30703         having it depend on HAVE_SYS_TYPES_H.
30704
30705 2003-07-01  Bruno Haible  <bruno@clisp.org>
30706
30707         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
30708         <sys/types.h> should be sufficient.
30709         Reported by Paul Eggert.
30710
30711 2003-06-26  Karl Berry  <karl@gnu.org>
30712
30713         * config/depcomp: update from automake.
30714
30715 2003-06-26  Bruno Haible  <bruno@clisp.org>
30716
30717         * modules/human: Depend on module stdbool.
30718
30719 2003-06-25  Bruno Haible  <bruno@clisp.org>
30720
30721         * modules/readlink: New file.
30722         * modules/xreadlink: Depend on it.
30723         * MODULES.html.sh (func_all_modules): Add readlink.
30724
30725 2003-06-25  Bruno Haible  <bruno@clisp.org>
30726
30727         * m4/readlink.m4: New file.
30728
30729 2003-06-25  Bruno Haible  <bruno@clisp.org>
30730
30731         * lib/readlink.c: New file.
30732
30733 2003-06-22  Karl Berry  <karl@gnu.org>
30734
30735         * config/srclist.txt: update mkinstalldirs from automake.
30736         * config/mkinstalldirs: update.
30737
30738 2003-06-22  Bruno Haible  <bruno@clisp.org>
30739
30740         Portability to mingw32.
30741         * m4/ssize_t.m4: New file, from GNU gettext.
30742         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
30743         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
30744
30745 2003-06-22  Bruno Haible  <bruno@clisp.org>
30746
30747         * modules/safe-read: Add m4/ssize_t.m4.
30748         * modules/xreadlink: Add m4/ssize_t.m4.
30749
30750 2003-06-20  Bruno Haible  <bruno@clisp.org>
30751
30752         Assume C89, so PARAMS isn't needed.
30753         * lib/unicodeio.h (PARAMS): Remove.
30754         * lib/unicodeio.c: Don't use PARAMS.
30755
30756 2003-06-18  Karl Berry  <karl@gnu.org>
30757
30758         * config/config.{guess,sub}: update from prep.
30759
30760 2003-06-18  Jim Meyering  <jim@meyering.net>
30761
30762         Merge changes from coreutils.
30763         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
30764         Remove explicit declarations of xmalloc and realloc.
30765         Include xalloc.h.
30766         (read_utmp): Remove anachronistic cast of xmalloc.
30767
30768 2003-06-17  Paul Eggert  <eggert@twinsun.com>
30769
30770         Assume C89, so PARAMS isn't needed.
30771         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
30772         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
30773         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
30774         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
30775         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
30776         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
30777         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
30778         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
30779         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
30780         lib/xstrtod.h, lib/xstrtol.h: Likewise.
30781         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
30782         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
30783         no longer needed. Anyway, config.h should always be included before any
30784         other file.
30785
30786 2003-06-11  Simon Josefsson  <jas@extundo.com>
30787
30788         * modules/sysexits: New file.
30789         * MODULES.html.sh (func_all_modules): Add sysexits.
30790
30791 2003-06-11  Simon Josefsson  <jas@extundo.com>
30792
30793         * lib/sysexit_.h: New file.
30794
30795 2003-06-11  Derek Price  <derek@ximbiot.com>
30796
30797         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
30798         necessary.
30799
30800 2003-06-11  Bruno Haible  <bruno@clisp.org>
30801
30802         * m4/sysexits.m4: New file.
30803
30804 2003-06-10  Simon Josefsson  <jas@extundo.com>
30805
30806         * lib/argp.h: New file, from glibc.
30807         * lib/argp-ba.c: New file, from glibc.
30808         * lib/argp-eexst.c: New file, from glibc.
30809         * lib/argp-fmtstream.c: New file, from glibc.
30810         * lib/argp-fmtstream.h: New file, from glibc.
30811         * lib/argp-fs-xinl.c: New file, from glibc.
30812         * lib/argp-help.c: New file, from glibc.
30813         * lib/argp-namefrob.h: New file, from glibc.
30814         * lib/argp-parse.c: New file, from glibc.
30815         * lib/argp-pv.c: New file, from glibc.
30816         * lib/argp-pvh.c: New file, from glibc.
30817         * lib/argp-xinl.c: New file, from glibc.
30818
30819 2003-06-10  Simon Josefsson  <jas@extundo.com>
30820
30821         * modules/strchrnul: New file.
30822
30823 2003-06-10  Simon Josefsson  <jas@extundo.com>
30824
30825         * modules/argp: New file.
30826
30827 2003-06-10  Simon Josefsson  <jas@extundo.com>
30828
30829         * m4/strchrnul.m4: New file.
30830
30831 2003-06-10  Simon Josefsson  <jas@extundo.com>
30832
30833         * lib/strchrnul.h: New file.
30834         * lib/strchrnul.c: New file.
30835
30836 2003-06-10  Bruno Haible  <bruno@clisp.org>
30837
30838         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
30839
30840 2003-06-07  Karl Berry  <karl@gnu.org>
30841
30842         * config/config.{guess,sub}: update from prep.
30843
30844 2003-06-07  Jim Meyering  <jim@meyering.net>
30845
30846         * modules/strtod: Use $(...) notation, not @...@ for
30847         AC_REPLACE'd variables.
30848         * modules/localcharset: Likewise.
30849
30850 2003-06-07  Jim Meyering  <jim@meyering.net>
30851
30852         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
30853         in place of my name in the copyright comment.
30854         Remove definition and uses of __P.
30855
30856         From coreutils.
30857         * lib/stat.c: Don't declare xmalloc explicitly.
30858         Instead, include "xalloc.h".
30859         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
30860         xrealloc, and xcalloc return values.
30861         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
30862         Improve comment.
30863         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
30864
30865 2003-06-07  Bruno Haible  <bruno@clisp.org>
30866
30867         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
30868         avoid AC_CONFIG_LINKS.
30869         * modules/fnmatch (Makefile.am): Use explicit creation rule for
30870         fnmatch.h, to avoid AC_CONFIG_LINKS.
30871         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
30872
30873 2003-06-07  Bruno Haible  <bruno@clisp.org>
30874
30875         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
30876         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
30877         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
30878         directory.
30879         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
30880         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
30881         directory.
30882
30883 2003-06-06  Jim Meyering  <jim@meyering.net>
30884
30885         Merge from coreutils.
30886         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
30887         Consolidate declarations and initializations of *_base* locals.
30888
30889         Merge from coreutils.
30890         This avoids a core dump on systems without GNU putenv,
30891         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
30892         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
30893         (unsetenv): New static function, from GNU libc.
30894         (rpl_putenv): Use it.
30895
30896         * lib/modechange.c: Remove trailing blanks.
30897
30898         Merge from coreutils.
30899         * lib/fsusage.c: Remove declaration of statfs.
30900         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
30901
30902         * lib/posixtm.c: Include <stdbool.h> unconditionally.
30903
30904 2003-06-06  Jim Meyering  <jim@meyering.net>
30905
30906         * lib/stdbool_.h: Renamed from stdbool.h.in.
30907
30908 2003-06-06  Jim Meyering  <jim@meyering.net>
30909             Bruno Haible  <bruno@clisp.org>
30910
30911         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
30912         Adjust Makefile.am snippet not to redirect directly to target.
30913         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
30914
30915 2003-06-05  Paul Eggert  <eggert@twinsun.com>
30916
30917         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
30918         mismatch, look in future quarters as well as past.  This fixes a
30919         bug when processing fall-backwards gaps immediately after a long
30920         period of daylight-saving time.
30921
30922         * lib/mktime.c: Assume freestanding C89 or better.
30923         (HAVE_LIMITS_H): Remove.  Assume it's 1.
30924         (__P): Remove; not used.
30925         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
30926         (mktime, not_equal_tm, print_tm, check_result,
30927         main): Use prototypes.  Use const * where appropriate.
30928         (main): Fix typo in testing code that uncovered by above changes.
30929         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
30930
30931 2003-06-04  Paul Eggert  <eggert@twinsun.com>
30932
30933         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
30934         locale.h, localeconv.  This merges changes from coreutils.
30935
30936         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
30937         It can be removed after the next Autoconf is released.
30938         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
30939         needed.
30940
30941 2003-06-04  Paul Eggert  <eggert@twinsun.com>
30942
30943         * lib/mktime.c: Fix Debian bug 177940
30944         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
30945         (localtime_offset): Now long int, not time_t, because we want it
30946         to be guaranteed to be signed.  All uses changed.
30947         (__mktime_internal): If overflow would occur when adding offset,
30948         don't add it.
30949
30950         Merge 'human' changes from coreutils.  Rewrite to support
30951         locale-specific notations like thousands separators.
30952         * lib/human.c: Simplify authorship notice.
30953         Include human.h immediately after config.h.
30954         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
30955         <limits.h>: Do not include, since human.h does.
30956         (SIZE_MAX, UINTMAX_MAX): New macros.
30957         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
30958         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
30959         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
30960         (power_letter): Renamed from suffixes.
30961         (generate_suffix_backwards): Remove.
30962         (adjust_value): Now takes int style (because of human.h changes)
30963         and long double value (for greater precision on some platforms).
30964         (group_number): New function.
30965         (human_readable): Use it.  Use integer options, not enum.
30966         Put the options before the sizes in the arg list.
30967         Support all the new options.
30968         The old human_readable function has been removed;
30969         use inttostr.h instead.
30970         (human_readable, default_block_size, humblock):
30971         Use uintmax_t, not int, for block sizes.
30972         (human_readable_inexact, block_size_types): Remove.
30973         (block_size_opts): New constant.
30974         (human_options): Renamed from human_block_size, with new signature
30975         that allows block sizes up to UINTMAX_MAX.  All callers changed.
30976         * lib/human.h: Add copyright and authorship notice.
30977         Include <limits.h> and <stdbool.h> unconditionally.
30978         (PARAMS): Remove.  All uses removed.
30979         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
30980         (enum human_inexact_style): Remove tag; now a nameless enum.
30981         (human_floor, human_ceiling, human_round_to_even): Now have
30982         values 2, 0, 1 rather than -1, 1, 0.
30983         (human_group_digits, human_suppress_point_zero, human_autoscale,
30984         human_base_1024, human_SI, human_B): New constants.
30985         (human_readable_inexact, human_block_size): Remove.
30986         (human_readable): Size args are now uintmax_t, not int.
30987         (human_options): New decl.
30988
30989         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
30990         unnecessary now that we assume C89 or better.  This change
30991         imported from coreutils.
30992
30993         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
30994         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
30995         in the 2003-05-30 sync from glibc.
30996
30997         .h files should stand alone, but we shouldn't include <sys/types.h>
30998         if we can get away with just <stddef.h>.
30999
31000         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
31001         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
31002         rather than <sys/types.h>, as we merely need size_t.
31003         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
31004         to get size_t.
31005         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
31006         Include <stdio.h>, to get FILE.
31007         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
31008         memcasecmp.h has included <stddef.h> and all we need is size_t.
31009         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
31010         our interface, instead of including <sys/types.h>
31011
31012 2003-06-04  Paul Eggert  <eggert@twinsun.com>
31013
31014         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
31015         now, as glibc mktime is buggy on non-glibc systems.
31016
31017 2003-06-03  Karl Berry  <karl@gnu.org>
31018
31019         * config/config.sub: update from prep.
31020
31021 2003-06-02  Paul Eggert  <eggert@twinsun.com>
31022
31023         [from coreutils]
31024         Fix some minor time-related bugs with POSIX time arguments.
31025         Some valid time stamps were being rejected (notably -1, and
31026         time stamps before 1900 on 64-bit hosts).  And some invalid
31027         time stamps were being accepted, e.g. September 31.
31028
31029         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
31030         that we can return (time_t) -1 successfully.
31031         * lib/posixtm.c: Likewise.
31032         [HAVE_STDBOOL_H]: Include <stdbool.h>.
31033         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
31034         (t): Remove static var.
31035         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
31036         of static var.  All uses changed.
31037         (year): Do not reject years before 1900; they can occur with
31038         64-bit time_t.
31039         (posix_time_parse): Do not check for out-of-range components;
31040         that is now the caller's responsibility, since our checks were
31041         only approximations.
31042         (posixtime): Use mktime to check for out-of-range components,
31043         since it knows them exactly.
31044         If mktime returns (time_t) -1, check whether an error actually occurred
31045         by invoking localtime on -1.
31046         (main) [TEST_POSIXTIME]: Check for input data errors, and report
31047         posixtime failures better.
31048         Improve the test data (in comments only).
31049
31050 2003-06-02  Karl Berry  <karl@gnu.org>
31051
31052         * config/mkinstalldirs (version): new variable.
31053         (--version): new option.
31054         (usage): improve message.
31055
31056 2003-05-30  Karl Berry  <karl@gnu.org>
31057
31058         * lib/mktime.c: update from libc.
31059
31060 2003-05-30  Bruno Haible  <bruno@clisp.org>
31061
31062         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
31063         * config/config.rpath: Upgrade to gettext-0.12.1.
31064
31065 2003-05-30  Bruno Haible  <bruno@clisp.org>
31066
31067         * m4/gettext.m4: Upgrade to gettext-0.12.1.
31068         * m4/nls.m4: New file, from gettext-0.12.1.
31069         * m4/po.m4: New file, from gettext-0.12.1.
31070         * m4/progtest.m4: Upgrade to gettext-0.12.1.
31071
31072 2003-05-30  Bruno Haible  <bruno@clisp.org>
31073
31074         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
31075         * lib/localcharset.h: Likewise.
31076         * lib/localcharset.c: Likewise.
31077
31078 2003-05-29  Karl Berry  <karl@gnu.org>
31079
31080         * config/config.rpath: update from gettext.
31081
31082 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31083
31084         Assume the headers required for C89 freestanding compilers.
31085         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
31086         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
31087         * m4/human.m4 (gl_HUMAN): Likewise.
31088         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
31089         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
31090         * m4/userspec.m4 (gl_USERSPEC): Likewise.
31091         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
31092         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
31093         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
31094
31095 2003-05-28  Paul Eggert  <eggert@twinsun.com>
31096
31097         Assume the headers required for C89 freestanding compilers.
31098         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
31099         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
31100         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
31101         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
31102         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
31103         define, since <limits.h> is guaranteed to do that.
31104         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
31105         * lib/exclude.c: Include <stdbool.h> unconditionally.
31106         * lib/tempname.c: Include <stddef.h> unconditionally.
31107         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
31108         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
31109         <stddef.h> does that.
31110         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
31111         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
31112         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
31113         needed.
31114         * lib/xstrtol.c: Likewise.
31115         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
31116         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
31117
31118         * lib/addext.c (addext): Use assignment rather than cast, to avoid
31119         warnings on some platforms.
31120
31121         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
31122         arbitrarily.
31123
31124 2003-05-26  Jim Meyering  <jim@meyering.net>
31125
31126         Merge in a change from coreutils:
31127         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
31128         that is guaranteed to be `no'.  Use `no_such_member' to indicate
31129         that condition, rather than `-1' which is slightly misleading.
31130         Change the name of the cache variable to have the gl_ prefix.
31131         Prompted by a patch from Richard Dawe for DJGPP.
31132
31133 2003-05-24  Karl Berry  <karl@gnu.org>
31134
31135         * config/config.guess: update from prep.
31136
31137 2003-05-22  Karl Berry  <karl@gnu.org>
31138
31139         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
31140
31141 2003-05-20  Karl Berry  <karl@gnu.org>
31142
31143         * config/config.guess: update from prep.
31144
31145 2003-05-18  Karl Berry  <karl@gnu.org>
31146
31147         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
31148         might actually be set by the user.
31149
31150         * config/depcomp, install-sh, mdate-sh: update from automake.
31151
31152 2003-05-17  Bruno Haible  <bruno@clisp.org>
31153
31154         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
31155         invalid expansion for AC_EGREP_CPP.
31156         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
31157         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
31158         Suggested by Akim Demaille <akim@epita.fr> in
31159         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
31160
31161 2003-05-12  Jim Meyering  <jim@meyering.net>
31162
31163         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
31164         the space-padded-by-default conversion specifiers, %e, %k, %l.
31165
31166 2003-05-12  Bruno Haible  <bruno@clisp.org>
31167
31168         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
31169         the string is longer than 4 KB.
31170
31171 2003-05-11  Karl Berry  <karl@gnu.org>
31172
31173         * config/config.{guess,sub}: update from prep.
31174
31175 2003-05-09  Bruno Haible  <bruno@clisp.org>
31176
31177         * modules/error: Add m4/strerror_r.m4 to file list.
31178
31179 2003-05-03  Bruno Haible  <bruno@clisp.org>
31180
31181         Upgrade to Unicode-4.0.
31182         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
31183         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
31184         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
31185         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
31186         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
31187         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
31188         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
31189         Change width of U+E0100..U+E01EF from 1 to 0.
31190
31191 2003-04-25  Jim Meyering  <jim@meyering.net>
31192
31193         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
31194         of type size_t, not int.
31195
31196 2003-04-25  Bruno Haible  <bruno@clisp.org>
31197
31198         * lib/copy-file.c: Include <stddef.h>, for size_t.
31199
31200 2003-04-21  Paul Eggert  <eggert@twinsun.com>
31201
31202         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
31203         code which expansion is under static control.  Patch imported from
31204         Akim Demaille's patch to Bison; see
31205         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
31206
31207 2003-04-14  Bruno Haible  <bruno@clisp.org>
31208
31209         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
31210
31211 2003-04-11  Jim Meyering  <jim@meyering.net>
31212
31213         Merge changes from Coreutils.
31214
31215         2003-03-22  Jim Meyering  <jim@meyering.net>
31216
31217         * lib/strftime.c (widen): Cast alloca return value to proper type.
31218
31219         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
31220
31221         From GNU libc.
31222         * lib/strftime.c (my_strftime): Handle very large width
31223         specifications for numeric values correctly.  Improve checks for
31224         overflow.
31225
31226         2003-01-19  Jim Meyering  <jim@meyering.net>
31227
31228         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
31229         definitions.
31230         (nl_get_alt_digit) [! defined my_strftime]: Define.
31231         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
31232         _nl_get_alt_digit and _nl_get_walt_digit.
31233
31234         * lib/strftime.c (my_strftime): Merge in locale-related changes from
31235         libc. These changes have no effect outside of _LIBC.
31236
31237 2003-04-10  Bruno Haible  <bruno@clisp.org>
31238
31239         * modules/findprog: New file.
31240         * MODULES.html.sh (func_all_modules): Add it.
31241
31242 2003-04-10  Bruno Haible  <bruno@clisp.org>
31243
31244         * m4/findprog.m4: New file.
31245         * m4/eaccess.m4: New file.
31246
31247 2003-04-10  Bruno Haible  <bruno@clisp.org>
31248
31249         * lib/findprog.h: New file, from GNU gettext.
31250         * lib/findprog.c: New file, from GNU gettext.
31251
31252 2003-04-05  Jim Meyering  <jim@meyering.net>
31253
31254         Merge changes from Coreutils.
31255
31256         * lib/exclude.h (PARAMS): Remove definition and uses.
31257         * lib/exclude.c: Remove uses of `PARAMS'.
31258
31259         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
31260         Add test-cases for DOS filenames. Declare program_name.
31261         (main): Set up program_name.  Patch by Rich Dawe.
31262
31263         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
31264         error from mntctl.
31265         Use mntctl's return value to drive the entry-processing loop, since
31266         we can't rely on the value of the vmt_length member in the last
31267         entry.  On some systems doing so could result in exhausting
31268         virtual memory.  Based in part on a patch from Mike Jetzer.
31269
31270 2003-04-04  Bruno Haible  <bruno@clisp.org>
31271
31272         * modules/linebreak: New file.
31273         * MODULES.html.sh (func_all_modules): Add it.
31274
31275 2003-04-04  Bruno Haible  <bruno@clisp.org>
31276
31277         * m4/linebreak.m4: New file.
31278
31279 2003-04-04  Bruno Haible  <bruno@clisp.org>
31280
31281         * lib/linebreak.h: New file, from GNU gettext.
31282         * lib/linebreak.c: New file, from GNU gettext with slight
31283         modifications.
31284         * lib/lbrkprop.h: New file, from GNU gettext.
31285
31286 2003-04-03  Bruno Haible  <bruno@clisp.org>
31287
31288         * modules/utf8-ucs4: New file.
31289         * modules/utf16-ucs4: New file.
31290         * modules/ucs4-utf8: New file.
31291         * modules/ucs4-utf16: New file.
31292         * MODULES.html.sh (func_all_modules): Add them.
31293
31294 2003-04-03  Bruno Haible  <bruno@clisp.org>
31295
31296         * m4/utf-ucs4.m4: New file.
31297         * m4/ucs4-utf.m4: New file.
31298
31299 2003-04-03  Bruno Haible  <bruno@clisp.org>
31300
31301         * lib/utf8-ucs4.h: New file, from GNU gettext.
31302         * lib/utf16-ucs4.h: New file, from GNU gettext.
31303         * lib/ucs4-utf8.h: New file, from GNU gettext.
31304         * lib/ucs4-utf16.h: New file, from GNU gettext.
31305
31306 2003-04-02  Bruno Haible  <bruno@clisp.org>
31307
31308         * modules/binary-io: New file.
31309         * MODULES.html.sh (func_all_modules): Add it.
31310
31311 2003-04-02  Bruno Haible  <bruno@clisp.org>
31312
31313         * lib/binary-io.h: New file, from GNU gettext.
31314
31315 2003-04-01  Bruno Haible  <bruno@clisp.org>
31316
31317         * modules/pathname: New file.
31318         * MODULES.html.sh (func_all_modules): Add it.
31319
31320 2003-04-01  Bruno Haible  <bruno@clisp.org>
31321
31322         * lib/pathname.h: New file, from GNU gettext.
31323         * lib/concatpath.c: New file, from GNU gettext.
31324
31325 2003-03-30  Bruno Haible  <bruno@clisp.org>
31326
31327         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
31328
31329 2003-03-30  Bruno Haible  <bruno@clisp.org>
31330
31331         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
31332         function chown() doesn't exist.
31333
31334 2003-03-28  Bruno Haible  <bruno@clisp.org>
31335
31336         * modules/copy-file: New file.
31337         * MODULES.html.sh (func_all_modules): Add it.
31338
31339 2003-03-28  Bruno Haible  <bruno@clisp.org>
31340
31341         * m4/copy-file.m4: New file.
31342
31343 2003-03-28  Bruno Haible  <bruno@clisp.org>
31344
31345         * lib/copy-file.h: New file, from GNU gettext.
31346         * lib/copy-file.c: New file, from GNU gettext.
31347
31348 2003-03-18  Jim Meyering  <jim@meyering.net>
31349
31350         * lib/quote.c (quote_n): Fix typo in comment.
31351
31352 2003-03-18  Bruno Haible  <bruno@clisp.org>
31353
31354         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
31355         checking.
31356         * m4/onceonly_2_57.m4: Likewise.
31357
31358 2003-03-17  Bruno Haible  <bruno@clisp.org>
31359
31360         * m4/onceonly.m4: Require autoconf 2.54 or newer.
31361         (m4_quote): Remove macro.
31362         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
31363
31364 2003-03-14  Jim Meyering  <jim@meyering.net>
31365
31366         Merge changes from Coreutils.
31367         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
31368         to be const, in order to avoid warnings.
31369         (obstack_room): Likewise.
31370         (obstack_empty_p): Likewise.
31371
31372 2003-03-14  Bruno Haible  <bruno@clisp.org>
31373
31374         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
31375         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
31376
31377 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31378
31379         Merge changes from Bison.
31380         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
31381         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
31382         when compiling Bison 1.875's `bitset bset = obstack_alloc
31383         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
31384         * lib/hash.c: Include <stdbool.h> unconditionally.
31385
31386 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31387
31388         * m4/onceonly.m4 (m4_quote): New macro.
31389         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
31390         Quote AC_FOREACH variable-expansions properly.
31391
31392 2003-03-13  Paul Eggert  <eggert@twinsun.com>
31393
31394         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
31395
31396 2003-03-09  Paul Eggert  <eggert@twinsun.com>
31397
31398         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
31399         Reported by Bruce Becker; see:
31400         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
31401
31402 2003-03-03  Paul Eggert  <eggert@twinsun.com>
31403             Bruno Haible  <bruno@clisp.org>
31404
31405         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
31406         Reported by John Hughes, see
31407         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
31408
31409 2003-02-20  Bruno Haible  <bruno@clisp.org>
31410
31411         * MODULES.html.sh (func_all_modules): Add poll.
31412
31413 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31414
31415         * modules/poll: New file.
31416
31417 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31418
31419         * lib/poll_.h: New file.
31420         * lib/poll.c: New file.
31421
31422 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
31423
31424         * m4/poll.m4: New file.
31425
31426 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31427
31428         * modules/mathl: New file.
31429
31430 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31431
31432         * lib/mathl.h: New file.
31433         * lib/acosl.c: New file.
31434         * lib/asinl.c: New file.
31435         * lib/atanl.c: New file.
31436         * lib/ceill.c: New file.
31437         * lib/cosl.c: New file.
31438         * lib/expl.c: New file.
31439         * lib/floorl.c: New file.
31440         * lib/frexpl.c: New file.
31441         * lib/ldexpl.c: New file.
31442         * lib/logl.c: New file.
31443         * lib/sincosl.c: New file.
31444         * lib/sinl.c: New file.
31445         * lib/sqrtl.c: New file.
31446         * lib/tanl.c: New file.
31447         * lib/trigl.c: New file.
31448         * lib/trigl.h: New file.
31449
31450 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
31451
31452         * m4/mathl.m4: New file.
31453
31454 2003-02-18  Bruno Haible  <bruno@clisp.org>
31455
31456         * MODULES.html.sh (func_all_modules): Add mathl.
31457
31458 2003-02-17  Bruno Haible  <bruno@clisp.org>
31459
31460         * modules/mkdtemp: New module.
31461         * MODULES.html.sh (func_all_modules): Add it.
31462
31463 2003-02-17  Bruno Haible  <bruno@clisp.org>
31464
31465         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
31466
31467 2003-02-17  Bruno Haible  <bruno@clisp.org>
31468
31469         * lib/mkdtemp.h: New file, from GNU gettext.
31470         * lib/mkdtemp.c: New file, from GNU gettext.
31471
31472 2003-02-02  Jim Meyering  <jim@meyering.net>
31473
31474         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
31475         e.g. glibc-2.2.93.
31476
31477 2003-01-31  Bruno Haible  <bruno@clisp.org>
31478
31479         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
31480         'rpl_rename'.
31481         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
31482         'rpl_strnlen'.
31483         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
31484         'rpl_strtod'.
31485         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
31486         'rpl_utime'.
31487
31488 2003-01-31  Bruno Haible  <bruno@clisp.org>
31489
31490         * lib/rename.c: #undef rename before defining rpl_rename.
31491         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
31492
31493 2003-01-30  Bruno Haible  <bruno@clisp.org>
31494
31495         * modules/vasnprintf, modules/vasprintf: New modules.
31496         * MODULES.html.sh (func_all_modules): Add them.
31497
31498 2003-01-30  Bruno Haible  <bruno@clisp.org>
31499
31500         * m4/signed.m4: New file, from GNU gettext.
31501         * m4/longdouble.m4: New file, from GNU gettext.
31502         * m4/wchar_t.m4: New file, from GNU gettext.
31503         * m4/wint_t.m4: New file, from GNU gettext.
31504         * m4/vasnprintf.m4: New file.
31505         * m4/vasprintf.m4: New file.
31506
31507 2003-01-30  Bruno Haible  <bruno@clisp.org>
31508
31509         * lib/printf-args.h: New file, from GNU gettext.
31510         * lib/printf-args.c: New file, from GNU gettext.
31511         * lib/printf-parse.h: New file, from GNU gettext.
31512         * lib/printf-parse.c: New file, from GNU gettext.
31513         * lib/vasnprintf.h: New file, from GNU gettext.
31514         * lib/vasnprintf.c: New file, from GNU gettext.
31515         * lib/asnprintf.c: New file, from GNU gettext.
31516         * lib/vasprintf.h: New file, from GNU gettext with modifications.
31517         * lib/vasprintf.c: New file, from GNU gettext.
31518         * lib/asprintf.c: New file, from GNU gettext.
31519
31520 2003-01-29  Bruno Haible  <bruno@clisp.org>
31521
31522         * modules/stpncpy: New module.
31523         * MODULES.html.sh (func_all_modules): Add it.
31524
31525 2003-01-29  Bruno Haible  <bruno@clisp.org>
31526
31527         * m4/stpncpy.m4: New file.
31528
31529 2003-01-29  Bruno Haible  <bruno@clisp.org>
31530
31531         * lib/stpncpy.h: New file, from GNU gettext with modifications.
31532         * lib/stpncpy.c: New file, from GNU gettext with modifications.
31533
31534 2003-01-28  Bruno Haible  <bruno@clisp.org>
31535
31536         * modules/c-ctype: New module.
31537         * MODULES.html.sh (func_all_modules): Add it.
31538
31539 2003-01-28  Bruno Haible  <bruno@clisp.org>
31540
31541         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
31542         Paul Eggert.
31543         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
31544         Paul Eggert.
31545
31546 2003-01-27  Bruno Haible  <bruno@clisp.org>
31547
31548         * modules/xsetenv: New module.
31549         * MODULES.html.sh (func_all_modules): Add it.
31550
31551 2003-01-27  Bruno Haible  <bruno@clisp.org>
31552
31553         * lib/xsetenv.h: New file, from GNU gettext.
31554         * lib/xsetenv.c: New file, from GNU gettext.
31555
31556 2003-01-23  Jim Meyering  <jim@meyering.net>
31557
31558         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
31559         from working on systems without dirfd (at least Irix and OSF1/Tru64).
31560
31561 2003-01-23  Bruno Haible  <bruno@clisp.org>
31562
31563         * modules/minmax: New module.
31564         * MODULES.html.sh (func_all_modules): Add it.
31565
31566 2003-01-23  Bruno Haible  <bruno@clisp.org>
31567
31568         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
31569         Eggert.
31570
31571 2003-01-22  Bruno Haible  <bruno@clisp.org>
31572
31573         * modules/exit: New module.
31574         * MODULES.html.sh (func_all_modules): Add it.
31575
31576 2003-01-22  Bruno Haible  <bruno@clisp.org>
31577
31578         * lib/exit.h: New file, from GNU gettext.
31579
31580 2003-01-19  Bruno Haible  <bruno@clisp.org>
31581
31582         * gnulib-tool: Recognize option --extract-maintainer.
31583         (func_get_maintainer): New function.
31584         * modules/*: Add Maintainer entry.
31585
31586 2003-01-16  Jim Meyering  <jim@meyering.net>
31587
31588         * m4/regex.m4: The `regex' struct is both input and output.
31589         Initialize it before each use.  Patch by Tim Waugh.
31590
31591 2003-01-16  Bruno Haible  <bruno@clisp.org>
31592
31593         * MODULES.html.sh: Add a table of contents. Add the module name as
31594         leftmost column. Add hyperlinks.
31595
31596 2003-01-15  Bruno Haible  <bruno@clisp.org>
31597
31598         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
31599
31600 2003-01-15  Bruno Haible  <bruno@clisp.org>
31601
31602         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
31603         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
31604         suffix.
31605
31606 2003-01-15  Bruno Haible  <bruno@clisp.org>
31607
31608         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
31609
31610 2003-01-15  Bruno Haible  <bruno@clisp.org>
31611
31612         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
31613         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
31614
31615 2003-01-14  Jim Meyering  <jim@meyering.net>
31616
31617         * lib/same.c (same_name): Tweak a comment.
31618
31619 2003-01-14  Bruno Haible  <bruno@clisp.org>
31620
31621         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
31622         when a string comparison is sufficient.
31623
31624 2003-01-14  Bruno Haible  <bruno@clisp.org>
31625
31626         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
31627         'unsigned int'.
31628
31629 2003-01-14  Bruno Haible  <bruno@clisp.org>
31630
31631         * lib/hash-pjw.c: Add comment about low quality of this function.
31632
31633 2003-01-13  Bruno Haible  <bruno@clisp.org>
31634
31635         * modules/stpcpy: Distribute lib/stpcpy.h.
31636         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
31637
31638 2003-01-13  Bruno Haible  <bruno@clisp.org>
31639
31640         * modules/*: Add a description.
31641         * modules/strpbrk: Fix Makefile.am snippet.
31642         * modules/strtoimax: Fix dependencies.
31643         * modules/strtoumax: Likewise.
31644
31645 2003-01-13  Bruno Haible  <bruno@clisp.org>
31646
31647         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
31648         * modules/alloca (Makefile.am): All object files depend on alloca.h.
31649         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
31650
31651 2003-01-13  Bruno Haible  <bruno@clisp.org>
31652
31653         * gnulib-tool (func_create_testdir): Store config/* files in the main
31654         directory.
31655         * config.rpath: Move to ...
31656         * config/config.rpath: ... here.
31657         * modules/gettext: Contains config/config.rpath, not config.rpath.
31658         * modules/iconv: Likewise.
31659
31660 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31661
31662         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31663         to avoid collisions with libcurses and libreadline.
31664
31665         * m4/getstr.m4: Remove.
31666         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
31667
31668 2003-01-12  Paul Eggert  <eggert@twinsun.com>
31669
31670         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
31671         to avoid collisions with libcurses and libreadline.
31672
31673         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
31674         * lib/getstr.h, getstr.c: Remove.
31675         * lib/getline.c: Include "getline.h", to check interface.
31676         Move body of old getstr.c here: this defines MIN_CHUNK and
31677         declares getdelim2, which is renamed from getstr.
31678         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
31679
31680         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
31681         All uses changed.
31682         * lib/linebuffer.h: Likewise.
31683         (readline): Remove backward-compatibility macro.
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         * getstr: Remove.
31690         * MODULES.html.sh: Remove getstr.
31691         * modules/getline: Depend on unlocked-io, not getstr.
31692
31693 2003-01-12  Jim Meyering  <jim@meyering.net>
31694
31695         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
31696
31697 2003-01-10  Bruno Haible  <bruno@clisp.org>
31698
31699         * modules/alloca: Change Makefile.am requirements. Simplify Include
31700         requirements. Add lib/alloca_.h to file list.
31701
31702 2003-01-10  Bruno Haible  <bruno@clisp.org>
31703
31704         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
31705
31706 2003-01-10  Bruno Haible  <bruno@clisp.org>
31707
31708         * lib/alloca_.h: New file.
31709         * lib/getdate.y: Unconditionally include alloca.h.
31710         * lib/makepath.c: Likewise.
31711         * lib/setenv.c: Likewise.
31712         * lib/userspec.c: Likewise.
31713
31714 2003-01-09  Karl Berry  <karl@gnu.org>
31715
31716         * MODULES.html.sh: include `dirname $0` in PATH, to find
31717         gnulib-tool.
31718
31719 2003-01-09  Bruno Haible  <bruno@clisp.org>
31720
31721         * modules/stdbool: Change configure.ac, Makefile.am requirements.
31722         Simplify Include requirements. Add lib/stdbool.h.in to file list.
31723
31724 2003-01-09  Bruno Haible  <bruno@clisp.org>
31725
31726         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
31727
31728 2003-01-09  Bruno Haible  <bruno@clisp.org>
31729
31730         * lib/stdbool.h.in: New file.
31731
31732 2003-01-09  Bruno Haible  <bruno@clisp.org>
31733
31734         * gnulib-tool (func_all_modules): Ignore files ending in ~.
31735         * MODULES.html.sh: Likewise.
31736
31737 2003-01-08  Jim Meyering  <jim@meyering.net>
31738
31739         * lib/full-write.c: Undefine and define-away `const' after inclusion
31740         of errno.h, not before.  Suggestion from Bruno Haible.
31741
31742 2003-01-08  Bruno Haible  <bruno@clisp.org>
31743
31744         * modules/full-read: Depend on full-write.
31745
31746 2003-01-08  Bruno Haible  <bruno@clisp.org>
31747
31748         * lib/safe-read.c: Include specification header first, to ensure its
31749         selfcontainedness.
31750         * lib/full-write.c: Likewise.
31751
31752 2003-01-07  Jim Meyering  <jim@meyering.net>
31753
31754         * lib/full-write.c: Rework so that it may serve to define full_read,
31755         too.
31756         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
31757
31758 2003-01-07  Bruno Haible  <bruno@clisp.org>
31759
31760         * lib/strtoimax.c: Include <stdint.h> as an alternative to
31761         <inttypes.h>.
31762         * lib/xstrtol.h: Likewise.
31763         * lib/xstrtoimax.c: Likewise.
31764         * lib/xstrtoumax.c: Likewise.
31765         * lib/human.h: Likewise.
31766
31767         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
31768         on systems that have <inttypes.h> but not <stdint.h>.
31769
31770 2003-01-07  Bruno Haible  <bruno@clisp.org>
31771
31772         * MODULES.html.sh: Add copyright notice.
31773         (missed_files): Omit CVS directory entries.
31774         (func_module): Make it work with sed-3.02.
31775         * MODULES.txt: Remove file.
31776
31777 2003-01-06  Jim Meyering  <jim@meyering.net>
31778
31779         * lib/version-etc.c: Update year in translatable copyright string.
31780
31781 2003-01-03  Karl Berry  <karl@gnu.org>
31782
31783         * config/config.{guess,sub}: update from prep.
31784
31785 2003-01-02  Karl Berry  <karl@gnu.org>
31786
31787         * doc/COPYING.DOC: belatedly updated to 1.2.
31788
31789 2003-01-01  Karl Berry  <karl@gnu.org>
31790
31791         * gnulib-tool (func_verify_module): report module name $module in
31792         error message, not $1.
31793         * gnulib-tool (create-testdir): don't complain if destdir couldn't
31794         be created, only if it doesn't exist.
31795         * gnulib-tool (last_checkin_date): don't expand the $Date here.
31796
31797 2002-12-31  Paul Eggert  <eggert@twinsun.com>
31798
31799         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
31800
31801 2002-12-31  Paul Eggert  <eggert@twinsun.com>
31802
31803         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
31804         memcmp if strcoll doesn't work.
31805
31806 2002-12-31  Bruno Haible  <bruno@clisp.org>
31807
31808         * lib/utime.c (utime_null): No need to call ftruncate if the file was
31809         nonempty.
31810
31811 2002-12-31  Bruno Haible  <bruno@clisp.org>
31812
31813         * lib/memcoll.c (STRCOLL): New macro.
31814         (memcoll): Use it.
31815
31816 2002-12-31  Bruno Haible  <bruno@clisp.org>
31817
31818         * lib/localcharset.h: New file.
31819         * lib/localcharset.c: Include it.
31820         * lib/unicodeio.c: Likewise.
31821
31822 2002-12-31  Bruno Haible  <bruno@clisp.org>
31823
31824         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
31825         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
31826
31827 2002-12-31  Bruno Haible  <bruno@clisp.org>
31828
31829         * lib/getline.h: Include <stddef.h>, for size_t.
31830
31831         * lib/unicodeio.h: Include <stddef.h>, for size_t.
31832         * lib/unicodeio.c: Don't include <stddef.h>.
31833
31834 2002-12-31  Bruno Haible  <bruno@clisp.org>
31835
31836         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
31837         HAVE_TM_ZONE.
31838
31839 2002-12-24  Karl Berry  <karl@gnu.org>
31840
31841         * config/config.guess: update from prep.
31842
31843 2002-12-24  Bruno Haible  <bruno@clisp.org>
31844
31845         General infrasructure.
31846         * m4/README: Rewritten.
31847         * m4/onceonly.m4: New file.
31848         * m4/onceonly_2_57.m4: New file.
31849
31850         Module atexit.
31851         * m4/atexit.m4: New file.
31852
31853         Module strtod.
31854         * m4/strtod.m4: New file.
31855
31856         Module strtol.
31857         * m4/strtol.m4: New file.
31858
31859         Module strtoul.
31860         * m4/strtoul.m4: New file.
31861
31862         Module memchr.
31863         * m4/memchr.m4: New file.
31864
31865         Module memcmp.
31866         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
31867         (jm_FUNC_MEMCMP): Invoke it.
31868
31869         Module memcpy.
31870         * m4/memcpy.m4: New file.
31871
31872         Module memmove.
31873         * m4/memmove.m4: New file.
31874
31875         Module memset.
31876         * m4/memset.m4: New file.
31877
31878         Module strcspn.
31879         * m4/strcspn.m4: New file.
31880
31881         Module strpbrk.
31882         * m4/strpbrk.m4: New file.
31883
31884         Module strstr.
31885         * m4/strstr.m4: New file.
31886
31887         Module strerror.
31888         * m4/strerror.m4: New file.
31889
31890         Module mktime.
31891         * m4/mktime.m4: Renamed from jm-mktime.m4.
31892         (gl_PREREQ_MKTIME): New macro.
31893         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
31894
31895         Module malloc.
31896         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
31897         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
31898         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
31899
31900         Module realloc.
31901         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
31902         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
31903         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
31904
31905         Module strftime.
31906         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
31907         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
31908         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
31909         gl_TM_GMTOFF.
31910         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
31911
31912         Module xalloc.
31913         * m4/xalloc.m4: New file.
31914
31915         Module alloca.
31916         * m4/alloca.m4: New file.
31917
31918         Module putenv.
31919         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
31920         (jm_FUNC_PUTENV): Invoke it.
31921
31922         Module setenv.
31923         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
31924         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
31925         when invoked twice.
31926         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
31927         gt_FUNC_SETENV.
31928
31929         Module memrchr.
31930         * m4/memrchr.m4: New file.
31931
31932         Module stpcpy.
31933         * m4/stpcpy.m4: New file.
31934
31935         Module strcase.
31936         * m4/strcase.m4: New file.
31937
31938         Module strdup.
31939         * m4/strdup.m4: New file.
31940
31941         Module strnlen.
31942         * m4/strnlen.m4: New file.
31943
31944         Module strndup.
31945         * m4/strndup.m4: New file.
31946
31947         Module xstrtod.
31948         * m4/xstrtod.m4: New file.
31949
31950         Module xstrtol.
31951         * m4/xstrtol.m4: New file.
31952
31953         Module getdate.
31954         * m4/getdate.m4: New file.
31955
31956         Module unlocked-io.
31957         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
31958         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
31959         * m4/jm-glibc-io.m4n: Remove file.
31960
31961         Module long-options.
31962         * m4/long-options.m4: New file.
31963
31964         Module md5.
31965         * m4/md5.m4: New file.
31966
31967         Module sha.
31968         * m4/sha.m4: New file.
31969
31970         Module getstr.
31971         * m4/getstr.m4: New file.
31972
31973         Module getline.
31974         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
31975         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
31976         <sys/types.h>, for size_t. Use the function name gnu_getline, not
31977         simply getline. Infoke gl_PREREQ_GETLINE.
31978
31979         Module obstack.
31980         * m4/obstack.m4: New file.
31981
31982         Module hash.
31983         * m4/hash.m4: New file.
31984
31985         Module readtokens.
31986         * m4/readtokens.m4: New file.
31987
31988         Module strverscmp.
31989         * m4/strverscmp.m4: New file.
31990
31991         Module stdbool.
31992         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
31993         OSF/1.
31994
31995         Module strtoll.
31996         * m4/strtoll.m4: New file.
31997
31998         Module strtoull.
31999         * m4/strtoull.m4: New file.
32000
32001         Module strtoimax.
32002         * m4/strtoimax.m4: New file.
32003
32004         Module strtoumax.
32005         * m4/strtoumax.m4: New file.
32006
32007         Module xstrtoimax.
32008         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
32009         jm_AC_PREREQ_XSTRTOIMAX.
32010         Moved the strtol prerequisites to strtol.m4.
32011         Moved the strtoll prerequisites to strtoll.m4.
32012         Moved the strtoimax prerequisites to strtoimax.m4.
32013
32014         Module xstrtoumax.
32015         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
32016         jm_AC_PREREQ_XSTRTOUMAX.
32017         Moved the strtoul prerequisites to strtoul.m4.
32018         Moved the strtoull prerequisites to strtoull.m4.
32019         Moved the strtoumax prerequisites to strtoumax.m4.
32020
32021         Module chown.
32022         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
32023         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
32024
32025         Module dup2.
32026         * m4/dup2.m4: New file.
32027
32028         Module ftruncate.
32029         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
32030         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
32031
32032         Module getgroups.
32033         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
32034         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
32035
32036         Module gettimeofday.
32037         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
32038         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
32039         gl_PREREQ_GETTIMEOFDAY.
32040
32041         Module mkdir.
32042         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
32043         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
32044
32045         Module mkstemp.
32046         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
32047         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
32048         jm_AC_TYPE_UINTMAX_T.
32049         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
32050
32051         Module stat.
32052         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
32053         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
32054
32055         Module lstat.
32056         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
32057         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
32058
32059         Module timespec.
32060         * m4/timespec.m4 (gl_TIMESPEC): New macro.
32061         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
32062         * m4/st_mtim.m4: Indentation.
32063
32064         Module nanosleep.
32065         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
32066         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
32067         gl_PREREQ_NANOSLEEP.
32068
32069         Module regex.
32070         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
32071         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
32072         (gl_REGEX): New macro.
32073
32074         Module rename.
32075         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
32076         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
32077
32078         Module rmdir.
32079         * m4/rmdir.m4: New file.
32080
32081         Module utime.
32082         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
32083         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
32084         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
32085
32086         Module dirname.
32087         * m4/dirname.m4: New file.
32088
32089         Module getopt.
32090         * m4/getopt.m4: New file.
32091
32092         Module unistd-safer.
32093         * m4/unistd-safer.m4: New file.
32094
32095         Module fnmatch.
32096         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
32097         declaration.
32098         (gl_PREREQ_FNMATCH_EXTRA): New macro.
32099         (gl_FUNC_FNMATCH_POSIX): New macro.
32100         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
32101         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
32102         simply fnmatch.
32103
32104         Module exclude.
32105         * m4/exclude.m4: New file.
32106
32107         Module human.
32108         * m4/human.m4: New file.
32109
32110         Module acl.
32111         * m4/acl.m4: Nop.
32112
32113         Module backupfile.
32114         * m4/backupfile.m4: New file.
32115         * m4/d-ino.m4: Indentation.
32116
32117         Module fsusage.
32118         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
32119         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
32120         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
32121
32122         Module dirfd.
32123         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
32124         requirements.
32125
32126         Module euidaccess.
32127         * m4/euidaccess.m4: New file.
32128
32129         Module file-type.
32130         * m4/file-type.m4: New file.
32131
32132         Module fileblocks.
32133         * m4/fileblocks.m4: New file.
32134
32135         Module filemode.
32136         * m4/filemode.m4: New file.
32137
32138         Module isdir.
32139         * m4/isdir.m4: New file.
32140
32141         Module lchown.
32142         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
32143         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
32144
32145         Module makepath.
32146         * m4/makepath.m4: New file.
32147
32148         Module modechange.
32149         * m4/modechange.m4: New file.
32150
32151         Module mountlist.
32152         * m4/mountlist.m4: New file.
32153         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
32154         Indentation.
32155
32156         Module path-concat.
32157         * m4/path-concat.m4: New file.
32158
32159         Module pathmax.
32160         * m4/pathmax.m4: New file.
32161
32162         Module same.
32163         * m4/same.m4: New file.
32164
32165         Module save-cwd.
32166         * m4/save-cwd.m4: New file.
32167
32168         Module savedir.
32169         * m4/savedir.m4: New file.
32170
32171         Module xgetcwd.
32172         * m4/xgetcwd.m4: New file.
32173         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
32174
32175         Module xreadlink.
32176         * m4/xreadlink.m4: New file.
32177
32178         Module safe-read.
32179         * m4/safe-read.m4: New file.
32180
32181         Module safe-write.
32182         * m4/safe-write.m4: New file.
32183
32184         Module closeout.
32185         * m4/closeout.m4: New file.
32186
32187         Module stdio-safer.
32188         * m4/stdio-safer.m4: New file.
32189
32190         Module getpass.
32191         * m4/getpass.m4: New file.
32192
32193         Module getugroups.
32194         * m4/getugroups.m4: New file.
32195
32196         Module group-member.
32197         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
32198         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
32199
32200         Module idcache.
32201         * m4/idcache.m4: New file.
32202
32203         Module userspec.
32204         * m4/userspec.m4: New file.
32205
32206         Module gettime.
32207         * m4/clock_time.m4: New file.
32208         * m4/gettime.m4: New file.
32209
32210         Module settime.
32211         * m4/settime.m4: New file.
32212
32213         Module posixtm.
32214         * m4/posixtm.m4: New file.
32215
32216         Module gethostname.
32217         * m4/gethostname.m4: New file.
32218
32219         Module canon-host.
32220         * m4/canon-host.m4: New file.
32221
32222         Module gettext.
32223         * m4/codeset.m4: New file, from gettext-0.11.5.
32224         * m4/gettext.m4: New file, from gettext-0.11.5.
32225         * m4/glibc21.m4: New file, from gettext-0.11.5.
32226         * m4/iconv.m4: New file, from gettext-0.11.5.
32227         * m4/intdiv0.m4: New file, from gettext-0.11.5.
32228         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
32229         * m4/inttypes.m4: New file, from gettext-0.11.5.
32230         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
32231         * m4/isc-posix.m4: New file, from gettext-0.11.5.
32232         * m4/lcmessage.m4: New file, from gettext-0.11.5.
32233         * m4/lib-ld.m4: New file, from gettext-0.11.5.
32234         * m4/lib-link.m4: New file, from gettext-0.11.5.
32235         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
32236         * m4/progtest.m4: New file, from gettext-0.11.5.
32237         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
32238         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
32239         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
32240
32241         Module localcharset.
32242         * m4/localcharset.m4: New file.
32243
32244         Module hard-locale.
32245         * m4/hard-locale.m4: New file.
32246
32247         Module mbswidth.
32248         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
32249         onceonly macros.
32250         * m4/mbrtowc.m4: Add comment.
32251
32252         Module memcasecmp.
32253         * m4/memcasecmp.m4: New file.
32254
32255         Module memcoll.
32256         * m4/memcoll.m4: New file.
32257
32258         Module unicodeio.
32259         * m4/unicodeio.m4: New file.
32260
32261         Module rpmatch.
32262         * m4/rpmatch.m4: New file.
32263
32264         Module yesno.
32265         * m4/yesno.m4: New file.
32266
32267         Module exitfail.
32268         * m4/exitfail.m4: New file.
32269
32270         Module c-stack.
32271         * m4/c-stack.m4 (gl_C_STACK): New macro.
32272         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
32273
32274         Module error.
32275         * m4/error.m4 (gl_ERROR): New macro.
32276         (jm_PREREQ_ERROR): Use onceonly macros.
32277
32278         Module fatal.
32279         * m4/fatal.m4: New file.
32280
32281         Module getloadavg.
32282         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
32283         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
32284
32285         Module getpagesize.
32286         * m4/getpagesize.m4: New file.
32287
32288         Module getusershell.
32289         * m4/getusershell.m4: New file.
32290
32291         Module physmem.
32292         * m4/physmem.m4: New file.
32293
32294         Module posixver.
32295         * m4/posixver.m4: New file.
32296
32297         Module quotearg.
32298         * m4/quotearg.m4: New file.
32299
32300         Module quote.
32301         * m4/quote.m4: New file.
32302
32303         Module readutmp.
32304         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
32305
32306         Module sig2str.
32307         * m4/sig2str.m4: New file.
32308
32309         Other.
32310         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
32311         ulonglong.m4.
32312         * m4/intmax_t.m4: New file.
32313         * m4/d-type.m4: Indentation.
32314         * m4/jm-macros.m4: Update.
32315         * m4/prereq.m4 (jm_PREREQ): Update.
32316         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
32317         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
32318         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
32319         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
32320         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
32321         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
32322         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
32323         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
32324         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
32325         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
32326         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
32327         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
32328         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
32329         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
32330         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
32331         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
32332         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
32333         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
32334         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
32335
32336 2002-12-24  Bruno Haible  <bruno@clisp.org>
32337
32338         * MODULES.txt: Update according to m4/ changes.
32339
32340         Module gettext.
32341         * config.rpath: New file, from gettext-0.11.5.
32342
32343         * modules/*: New module descriptions.
32344         * gnulib-tool: New file.
32345         * MODULES.html.sh: New file.
32346
32347 2002-12-21  Karl Berry  <karl@gnu.org>
32348
32349         * doc/fdl.texi: update to version 1.2.
32350
32351 2002-12-19  Karl Berry  <karl@gnu.org>
32352
32353         * config/config.guess: update from prep.
32354
32355 2002-12-18  Bruno Haible  <bruno@clisp.org>
32356
32357         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
32358         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
32359
32360 2002-12-17  Bruno Haible  <bruno@clisp.org>
32361
32362         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
32363         stdlib.h, string.h.
32364
32365 2002-12-17  Bruno Haible  <bruno@clisp.org>
32366
32367         * lib/canon-host.c (strdup): Remove unused declaration.
32368
32369         * lib/fsusage.c: Include full_read.h.
32370         (get_fs_usage): Use full_read instead of safe_read.
32371
32372         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
32373
32374 2002-12-12  Karl Berry  <karl@gnu.org>
32375
32376         * config/config.guess: update from prep.
32377
32378 2002-12-11  Bruno Haible  <bruno@clisp.org>
32379
32380         * m4/setenv.m4: New file, from gettext-0.11.5.
32381
32382 2002-12-11  Bruno Haible  <bruno@clisp.org>
32383
32384         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
32385         not unsetenv().
32386         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
32387         modifications:
32388
32389         2002-12-11  Bruno Haible  <bruno@clisp.org>
32390
32391                 * setenv.c (alloca): Fall back to malloc.
32392                 (freea): New macro.
32393                 (setenv): Use freea() to free memory allocated with alloca().
32394
32395         2002-11-13  Bruno Haible  <bruno@clisp.org>
32396
32397                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
32398                 function declarations.
32399                 * unsetenv.c (unsetenv): Likewise.
32400
32401         2002-03-04  Bruno Haible  <bruno@clisp.org>
32402
32403                 Portability to AIX 4.3.3.
32404                 * unsetenv.c: New file, extracted from setenv.c.
32405                 * setenv.c: Move the unsetenv() function to unsetenv.c.
32406
32407         2001-12-20  Bruno Haible  <bruno@clisp.org>
32408
32409                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
32410                 use malloc instead. For SunOS 4.
32411
32412         2001-12-11  Bruno Haible  <bruno@clisp.org>
32413
32414                 * setenv.c: Declare alloca.
32415                 (compar_fn_t): New typedef.
32416                 (KNOWN_VALUE, STORE_VALUE): Use it.
32417
32418         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
32419         setenv.h.
32420
32421 2002-12-10  Paul Eggert  <eggert@twinsun.com>
32422
32423         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
32424         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
32425         Choose values that are less likely to collide with system fnmatch
32426         options.
32427         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
32428         defined (e.g., a pure POSIX system).
32429         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
32430         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
32431
32432 2002-12-06  Paul Eggert  <eggert@twinsun.com>
32433
32434         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
32435         a pain in practice to deal with generated m4 files.  This change
32436         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
32437
32438         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
32439         and jm-glibc-io.m4, as they are no longer a special case.
32440         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
32441         kludge and the auto-generation stuff.  Check only whether the
32442         functions are declared, not whether they exist, since older hosts
32443         that don't declare the functions can't use the optimization anyway.
32444
32445 2002-12-06  Jim Meyering  <jim@meyering.net>
32446
32447         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
32448
32449         Merge in changes from libc's misc/error.c, in preparation
32450         for the merge of gnulib's changes back into libc.
32451
32452         * lib/error.c (_): Define only if not already defined.
32453         Move definition to follow all #include directives.
32454         Include unlocked-io.h only if !_LIBC.
32455         [_LIBC]: Include <libio/libioP.h>.
32456         [USE_IN_LIBIO]: Include <libio/iolibio.h>
32457         (fflush): Tweak definition to use INTUSE.
32458         (putc): Define.
32459
32460 2002-12-05  Paul Eggert  <eggert@twinsun.com>
32461
32462         * lib/alloca.c [defined emacs]: Include "lisp.h".
32463         (xalloc_die) [defined emacs]: New macro.
32464         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
32465         [! defined emacs]: Include <xalloc.h>.
32466         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
32467         (pointer): Typedef to POINTER_TYPE *.
32468         (malloc): Remove decl; we now always use xmalloc.
32469         (alloca): Use old-style definition, since Emacs needs this.
32470         Check for arithmetic overflow when computing combined size.
32471
32472 2002-12-04  Paul Eggert  <eggert@twinsun.com>
32473
32474         Do not generate unlocked-io.h automatically, since it's easier to
32475         maintain it by hand.
32476
32477         * lib/unlocked-io.h: New file, from GNU diffutils,
32478         but with proper copyright notice and attribution.
32479         * lib/gen-uio: Remove.
32480         * lib/Makefile.am: Add copyright notice.
32481         (libfetish_a_SOURCES): Add unlocked-io.h.
32482         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
32483         (DISTCLEANFILES, io_functions): Remove macros.
32484         (EXTRA_DIST): Remove gen_uio.
32485         (unlocked-io.h): Remove rule.
32486
32487 2002-12-04  Jim Meyering  <jim@meyering.net>
32488
32489         Reflect the fact that stat.c and lstat.c are no longer generated.
32490         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
32491         (DISTCLEANFILES): Likewise.
32492         (EXTRA_DIST): Likewise.
32493         (all_local): Don't depend on stat.c or lstat.c.
32494         (stat.c, lstat.c): Remove rules.
32495         (EXTRA_DIST): Remove xstat.in.
32496
32497         * lib/xstat.in: Remove file.  Contents moved into stat.c.
32498         * lib/stat.c: New file.  Contents mostly from xstat.in.
32499         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
32500         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
32501
32502         * lib/safe-read.c: Rework so that it may serve to define safe_write,
32503         too.
32504         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
32505
32506 2002-12-03  Jim Meyering  <jim@meyering.net>
32507
32508         * lib/safe-read.c, safe-write.c: Change variable names and comments,
32509         but not semantics, to minimize the differences between these two files.
32510         (safe_read): Change comment to mention SAFE_READ_ERROR.
32511
32512         * lib/safe-read.c (IS_EINTR): Define.
32513         (safe_read): Use IS_EINTR in place of in-function cpp directives.
32514
32515 2002-12-02  Jim Meyering  <jim@meyering.net>
32516
32517         * lib/safe-read.c (EINTR): Define.
32518         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
32519         (INT_MAX): Provide fallback.
32520         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
32521
32522         * lib/safe-read.h (SAFE_READ_ERROR): Define.
32523
32524 2002-12-02  Bruno Haible  <bruno@clisp.org>
32525
32526         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
32527         Define, taken from safe-read.c.
32528         (INT_MAX): Provide fallback.
32529         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
32530         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
32531
32532         * lib/safe-read.c (EINTR): Remove definition.
32533         (safe_read): Don't use EINTR if it is absent.
32534
32535 2002-12-01  Jim Meyering  <jim@meyering.net>
32536
32537         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
32538         zero.
32539         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
32540
32541 2002-11-27  Paul Eggert  <eggert@twinsun.com>
32542
32543         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
32544         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
32545         with `if (! (value < limit)) abort ();', for readability.
32546
32547 2002-11-26  Karl Berry  <karl@gnu.org>
32548
32549         * lib/strdup.c: copy from libc again, with jim's ok.
32550         * lib/.cppi-disable: re-add strdup.c
32551
32552 2002-11-25  Karl Berry  <karl@gnu.org>
32553
32554         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
32555         instead of "strtol.c".
32556
32557 2002-11-25  Karl Berry  <karl@gnu.org>
32558
32559         * config/install-sh: update from automake for variable quoting, $0 in
32560         error msgs, etc.
32561
32562         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
32563         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
32564         entry.
32565
32566 2002-11-25  Jim Meyering  <jim@meyering.net>
32567
32568         * lib/mktime.c: Sync from libc, now that it has the latest fix.
32569
32570 2002-11-24  Karl Berry  <karl@gnu.org>
32571
32572         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
32573         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
32574
32575 2002-11-24  Jim Meyering  <jim@meyering.net>
32576
32577         Update from coreutils:
32578
32579         * lib/mktime.c: Merge in changes from libc.
32580
32581         Avoid a link-time failure on some Linux systems.
32582         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
32583         (otherwise).
32584         (__mon_yday): Declare with the STATIC attribute.
32585         (__mktime_internal): Likewise.
32586         Based on a report from Greg Schafer.
32587
32588 2002-11-23  Jim Meyering  <jim@meyering.net>
32589
32590         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
32591         Use `unsigned', not `int', as type of index.
32592
32593         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
32594
32595         * lib/fsusage.c: Remove unneeded parentheses around operands of
32596         `defined'.
32597
32598 2002-11-22  Paul Eggert  <eggert@twinsun.com>
32599
32600         * lib/quotearg.h: Allow multiple inclusion by surrounding with
32601         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
32602         so that we can be included first.
32603         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
32604         * lib/quotearg.c: Include quotearg.h immediately after config.h.
32605         No need to include stddef.h or sys/types.h any more.
32606         Surround local include files with "", not "<>".
32607         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
32608         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
32609         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
32610         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
32611         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
32612         (ISPRINT): Remove; no longer needed now that we assume C89.
32613
32614         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
32615         Preserve errno.
32616
32617         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
32618         quotearg_char): Use SIZE_MAX rather than
32619         (size_t) -1 when we are talking about "infinity".
32620
32621         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
32622
32623 2002-11-22  Paul Eggert  <eggert@twinsun.com>
32624
32625         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
32626         hint that one should use `if (! x) abort ();' rather than `assert
32627         (x);', and anyway it's one less thing to worry about configuring.
32628         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
32629         hash_rehash, hash_insert): Use abort rather than assert.
32630
32631 2002-11-22  Bruno Haible  <bruno@clisp.org>
32632
32633         * lib/safe-read.h: Assume C89. Add comments.
32634         (safe_read): Change return type to size_t.
32635         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
32636         byte counts > SSIZE_MAX correctly.
32637         * lib/safe-write.h: New file.
32638         * lib/safe-write.c: New file.
32639         * lib/full-read.h: New file.
32640         * lib/full-read.c: New file.
32641         * lib/full-write.h: Assume C89. Add comments.
32642         * lib/full-write.c: Include safe-write.h.
32643         (full_write): Rewritten to use safe_write.
32644         Suggested by Jim Meyering and Paul Eggert.
32645
32646 2002-11-21  Jim Meyering  <jim@meyering.net>
32647
32648         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
32649
32650         Merge in changes from the coreutils.
32651
32652         2002-09-25  Paul Eggert  <eggert@twinsun.com>
32653         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
32654         <stdint.h>.
32655         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
32656         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
32657         int.  Work more efficiently if X is the same width as uintmax_t.
32658         Do not compare X to -1, to avoid bogus compiler warning.
32659         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
32660         Don't assume that f_frsize and f_bsize are the same type.
32661
32662         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
32663         warning on FreeBSD.
32664
32665         * lib/makepath.c (make_path): Restore umask *before* creating the final
32666         component.
32667         (make_path): Minor reformatting.
32668
32669         * lib/xmalloc.c: Adjust to work with new autoconf macros,
32670         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
32671         HAVE_MALLOC/HAVE_REALLOC.
32672
32673         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
32674         dummy ones.  At least on GNU/Linux systems, `auto' means something
32675         else.
32676         From Michael Stone.
32677
32678 2002-11-21  Bruno Haible  <bruno@clisp.org>
32679
32680         Remove case insensitive option matching.
32681         * lib/argmatch.h (argcasematch): Remove declaration.
32682         (ARGCASEMATCH): Remove macro.
32683         (__xargmatch_internal): Remove case_sensitive argument.
32684         (XARGMATCH): Update.
32685         (XARGCASEMATCH): Remove macro.
32686         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
32687         case_sensitive argument.
32688         (argcasematch): Remove function.
32689         (__xargmatch_internal): Remove case_sensitive argument.
32690         (main): Use XARGMATCH instead of XARGCASEMATCH.
32691
32692         * lib/xmalloc.c: Change compile-time error message. Add comment about
32693         required autoconf version.
32694
32695 2002-11-20  Paul Eggert  <eggert@twinsun.com>
32696
32697         Merge argmatch cleanups from Bison.  Assume C89.
32698
32699         * lib/argmatch.c: Include config.h here, not in argmatch.h.
32700         Include stdlib.h, for EXIT_FAILURE.
32701         Always include <string.h>, since we assume C89.
32702         (EXIT_FAILURE): Remove pre-C89 bug workaround.
32703         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
32704         Include <stddef.h> instead, since it's all we need for size_t.
32705         (PARAMS): Remove.  All uses removed.
32706         (ARRAY_CARDINALITY): Do not bother to #undef.
32707         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
32708         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
32709         Remove unnecessary parentheses.
32710         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
32711         Insert necessary parentheses.
32712         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
32713         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
32714
32715 2002-11-19  Bruno Haible  <bruno@clisp.org>
32716
32717         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
32718         * lib/mbswidth.h: Include <stddef.h>, for size_t.
32719
32720         * lib/mbswidth.h (PARAMS): Remove macro.
32721         (mbswidth, mbsnwidth): Use ANSI C function declarations.
32722         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
32723
32724         * lib/gcd.h (PARAMS): Remove macro.
32725         (gcd): Use ANSI C function declarations.
32726         * lib/gcd.c (gcd): Likewise.
32727
32728 2002-11-15  Bruno Haible  <bruno@clisp.org>
32729
32730         * lib/strcspn.c: Include <stddef.h>.
32731         (strcspn): Use ANSI C function declaration. Change return type to
32732         size_t. Use NULL.
32733         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
32734         (strpbrk): Use NULL.
32735         * lib/strpbrk.h (PARAMS): Remove macro.
32736         (strpbrk): Use ANSI C function declaration.
32737         * lib/strstr.c: Don't include <sys/types.h>.
32738         * lib/strstr.h (PARAMS): Remove macro.
32739         (strstr): Use ANSI C function declarations.
32740
32741 2002-11-14  Karl Berry  <karl@gnu.org>
32742
32743         * config/mkinstalldirs: `do' on separate line, instead of
32744         `for var; do'.
32745
32746 2002-11-06  Bruno Haible  <bruno@clisp.org>
32747
32748         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
32749         * lib/gcd.c (gcd): Likewise.
32750
32751 2002-11-05  Bruno Haible  <bruno@clisp.org>
32752
32753         * lib/gcd.h: New file, from gettext-0.11.5.
32754         * lib/gcd.c: New file, from gettext-0.11.5.
32755
32756 2002-11-05  Bruno Haible  <bruno@clisp.org>
32757
32758         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32759         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32760         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32761         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
32762
32763         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
32764         <libintl.h>.
32765         * lib/makepath.c: Include gettext.h instead of <locale.h> and
32766         <libintl.h>.
32767
32768         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
32769         * lib/human.c: Include gettext.h instead of <libintl.h>.
32770         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
32771         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
32772         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
32773         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
32774         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
32775         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
32776         (textdomain): Remove definition.
32777         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
32778
32779         * lib/long-options.c: Remove include of <libintl.h> and definition of
32780         _.
32781         * lib/same.c: Remove include of <libintl.h> and definition of _.
32782
32783 2002-11-04  Owen Taylor  <otaylor@redhat.com>
32784
32785         * lib/config.charset: A few additions for Solaris.
32786
32787 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
32788
32789         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
32790         * lib/localcharset.c (locale_charset): Declare as extern "C".
32791
32792 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
32793
32794         * lib/config.charset: msdos in uk_UA uses CP1125.
32795
32796 2002-11-04  Bruno Haible  <bruno@clisp.org>
32797
32798         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
32799         * lib/strcase.h: New file, from GNU gettext-0.11.5.
32800         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
32801         * lib/strstr.h: New file, from GNU gettext-0.11.5.
32802         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
32803
32804 2002-11-04  Bruno Haible  <bruno@clisp.org>
32805
32806         * lib/localcharset.c (locale_charset): Don't return an empty string.
32807
32808 2002-11-04  Bruno Haible  <bruno@clisp.org>
32809
32810         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
32811         aliases.
32812
32813 2002-11-04  Bruno Haible  <bruno@clisp.org>
32814
32815         * lib/config.charset: Update for newest glibc. Add canonical names
32816         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
32817
32818 2002-11-04  Bruno Haible  <bruno@clisp.org>
32819
32820         * lib/config.charset: Add support for NetBSD.
32821
32822 2002-11-04  Bruno Haible  <bruno@clisp.org>
32823
32824         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
32825
32826 2002-11-01  Bruno Haible  <bruno@clisp.org>
32827
32828         * configure.in: Add AC_CONFIG_AUX_DIR call.
32829         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
32830         test/Makefile.
32831         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
32832
32833 2002-09-28  Karl Berry  <karl@gnu.org>
32834
32835         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
32836         installed automake until the next release, since changes have been
32837         made.
32838
32839 2002-09-25  Karl Berry  <karl@gnu.org>
32840
32841         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
32842         * lib/getopt*: copy from libc/posix.
32843         * lib/gettext.h: copy from gettext.
32844         * lib/.cppi-disable: add strdup.c, gettext.h.
32845
32846 2002-09-25  Karl Berry  <karl@gnu.org>
32847
32848         * config/srclist.txt: enable gettext.h check.
32849         * config/config.{guess,sub}: update from prep.
32850         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
32851                 from automake 1.6.3.
32852         See srclist*.
32853
32854 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
32855
32856         * regex.c (PATFETCH): Remove the translating fetch.
32857         (PATFETCH_RAW): Rename to PATFETCH.
32858         (set_image_of_range): New fun.
32859         (SET_RANGE_TABLE_WORK_AREA): Use it.
32860         (regex_compile): Don't translate the pattern chars so eagerly.
32861         Only do it when inserting an `exactn' bytecode or when handling
32862         a char-range.
32863         (mutually_exclusive_p): Avoid empty statement.
32864
32865 2002-07-06  Jim Meyering  <meyering@lucent.com>
32866
32867         * m4/README: Don't mention Makefile.am.in.
32868         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
32869
32870 2002-07-01  Jim Meyering  <meyering@lucent.com>
32871
32872         * lib/c-stack.c: Include sys/time.h.
32873         From Volker Borchert.
32874
32875 2002-06-26  Paul Eggert  <eggert@twinsun.com>
32876
32877         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
32878
32879 2002-06-26  Paul Eggert  <eggert@twinsun.com>
32880
32881         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
32882         New macro.  Use it uniformly instead of
32883         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
32884         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
32885         reported by Vin Shelton.
32886
32887 2002-06-22  Paul Eggert  <eggert@twinsun.com>
32888
32889         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
32890         Do not assume SA_SIGINFO behavior.
32891         Bug reported by Jim Meyering on NetBSD 1.5.2.
32892
32893 2002-06-22  Jim Meyering  <meyering@lucent.com>
32894
32895         * m4/c-stack.m4: New file, from diffutils-2.8.2.
32896         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
32897
32898         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
32899         now that configure.ac uses AC_GNU_SOURCE.
32900         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
32901         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
32902
32903         Update to latest tools.  Suggestions from Paul Eggert.
32904         * m4/stdbool.m4: New file, from diffutils-2.8.2.
32905         * m4/gnu-source.m4: Update from diffutils-2.8.2.
32906         * m4/fnmatch.m4: Likewise.
32907         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
32908         to AC_HEADER_STDBOOL
32909
32910 2002-06-22  Jim Meyering  <meyering@lucent.com>
32911
32912         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
32913         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
32914
32915 2002-06-22  Jim Meyering  <meyering@lucent.com>
32916
32917         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
32918
32919         * lib/exitfail.c, exitfail.h: Likewise.
32920         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
32921
32922         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
32923         of fnmatch.h.
32924         (EXTRA_DIST): Add fnmatch_loop.c.
32925         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
32926
32927         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
32928         * lib/fnmatch.c: Update from diffutils-2.8.2.
32929         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
32930         * lib/fnmatch.h: Remove file.
32931
32932 2002-06-21  Jim Meyering  <meyering@lucent.com>
32933
32934         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
32935         * m4/mbrtowc.m4: Likewise.
32936
32937         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
32938         * m4/mbswidth.m4: Reflect name change:
32939         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
32940         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
32941
32942         * m4/lib-link.m4: Update from gettext-0.11.2.
32943         * m4/gettext.m4: Likewise.
32944
32945         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
32946         From Alfred M. Szmidt.
32947
32948 2002-06-18  Paul Eggert  <eggert@twinsun.com>
32949
32950         * lib/file-type.h: Report an error if neither S_ISREG nor
32951         S_IFREG is defined, instead of using a test specific to glibc
32952         2.2.  This should be safe, since POSIX requires S_ISREG and
32953         Unix Version 7 had S_IFREG.  We don't need to check for
32954         <sys/types.h> since we don't use any symbols that it defines.
32955
32956 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
32957
32958         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
32959         $@-t, so that each temporary file name is unique and valid in the first
32960         8 characters, for operation under DOS.
32961
32962 2002-06-15  Paul Eggert  <eggert@twinsun.com>
32963
32964         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
32965
32966 2002-06-15  Jim Meyering  <meyering@lucent.com>
32967
32968         Work even with DJGPP 2.03, which lacks support for symlinks.
32969         From Richard Dawe.
32970         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
32971         is defined.
32972         * lib/lchown.c (S_ISLNK): Likewise.
32973
32974 2002-06-15  Jim Meyering  <meyering@lucent.com>
32975
32976         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
32977         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
32978         have been included before this file.
32979
32980 2002-06-14  Jim Meyering  <meyering@lucent.com>
32981
32982         * lib/file-type.h: Use the version from diffutils-2.8.2.
32983         * lib/file-type.c: Likewise.
32984
32985 2002-06-07  Jim Meyering  <meyering@lucent.com>
32986
32987         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
32988         They're needed at least for NetBSD 1.5.2.
32989         ($statxfs_includes): Include those same headers.
32990         ($statxfs_includes): Include sys/vfs.h if available.
32991         ($statxfs_includes): Likewise for sys/statvfs.h.
32992         Check for the following members in both structs statfs and statvfs:
32993         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
32994
32995 2002-06-01  Jim Meyering  <meyering@lucent.com>
32996
32997         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
32998         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
32999
33000 2002-05-28  Jim Meyering  <meyering@lucent.com>
33001
33002         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
33003         Reported by Volker Borchert.
33004
33005 2002-05-27  Jim Meyering  <meyering@lucent.com>
33006
33007         Fix a problem seen only on nonconforming systems whereby ls.c's
33008         use of localtime, and then of gettimeofday would cause trouble:
33009         the localtime call used to initialize rpl_gettimeofday's save
33010         mechanism would clobber ls's current local time information so
33011         that in any long listing the first file would always be listed
33012         with date 1970-01-01.  Analysis by Volker Borchert.
33013
33014         * lib/gettimeofday.c (localtime): Undefine.
33015         (rpl_localtime): New function.
33016
33017 2002-05-27  Jim Meyering  <meyering@lucent.com>
33018
33019         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
33020         localtime.
33021
33022         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
33023         use the replacement function; it wouldn't resolve at link time.
33024         Reported by Volker Borchert.
33025
33026 2002-05-22  Jim Meyering  <meyering@lucent.com>
33027
33028         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
33029         file-type.h.
33030         * lib/file-type.h: New file.
33031         * lib/file-type.c (file_type): New file/function.  Extracted from
33032         diffutils.
33033
33034 2002-04-30  Jim Meyering  <meyering@lucent.com>
33035
33036         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
33037
33038 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33039
33040         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
33041
33042 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33043
33044         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
33045         Do not check for alloca.h (no longer used) or stdbool.h (was never
33046         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
33047
33048 2002-04-29  Paul Eggert  <eggert@twinsun.com>
33049
33050         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
33051
33052 2002-04-29  Jim Meyering  <meyering@lucent.com>
33053
33054         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
33055         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
33056         Use AC_FUNC_STRNLEN here instead.
33057
33058         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
33059         With autoconf-2.53a, it's part of AC_PROG_CC.
33060
33061 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33062
33063         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
33064         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
33065
33066 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33067
33068         * lib/sig2str.h, lib/sig2str.c: New files.
33069         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
33070
33071 2002-04-28  Paul Eggert  <eggert@twinsun.com>
33072
33073         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
33074         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
33075         of 127, since 64 is the largest conceivable number for ancient
33076         nonstandard hosts.
33077         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
33078
33079 2002-04-28  Jim Meyering  <meyering@lucent.com>
33080
33081         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
33082
33083 2002-04-24  Jim Meyering  <meyering@lucent.com>
33084
33085         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
33086         (jm_PREREQ): Use it.
33087
33088         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
33089         mach/mach.h fcntl.h.
33090         Check for this function: setlocale.
33091
33092 2002-04-24  Jim Meyering  <meyering@lucent.com>
33093
33094         * lib/gettext.h: New file, from Gettext.
33095         * lib/Makefile.am (INCLUDES): Remove -I../intl.
33096         (libfetish_a_SOURCES): Add gettext.h.
33097
33098 2002-04-16  Jim Meyering  <meyering@lucent.com>
33099
33100         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
33101         ut_pid, ut_id, ut_exit.
33102
33103 2002-04-16  Jim Meyering  <meyering@lucent.com>
33104
33105         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
33106         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
33107         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
33108
33109 2002-04-12  Jim Meyering  <meyering@lucent.com>
33110
33111         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
33112         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
33113         existence of the getmntinfo function.  Needed for Darwin 5.3.
33114
33115         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
33116         This is necessary at least on Darwin 5.3.
33117
33118         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
33119         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
33120         strnlen.o in the library, and that makes some versions of ranlib
33121         object.
33122
33123 2002-04-12  Jim Meyering  <meyering@lucent.com>
33124
33125         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
33126
33127 2002-04-09  Jim Meyering  <meyering@lucent.com>
33128
33129         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
33130         to be more precise.  Rather than saying we're checking whether the
33131         function `works', say what we're testing.
33132         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
33133         Reported by Bruno Haible.
33134
33135 2002-03-10  Jim Meyering  <meyering@lucent.com>
33136
33137         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
33138         Suggestion from Santiago Vila.
33139
33140 2002-03-08  Jim Meyering  <meyering@lucent.com>
33141
33142         * lib/rename.c: Mention that this wrapper is needed also on
33143         mips-dec-ultrix4.4 systems.
33144
33145 2002-03-02  Jim Meyering  <meyering@lucent.com>
33146
33147         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
33148         not HAVE_CLOCK_SETTIME.
33149
33150 2002-02-27  Paul Eggert  <eggert@twinsun.com>
33151
33152         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
33153         Check for clock_settime.
33154
33155 2002-02-27  Paul Eggert  <eggert@twinsun.com>
33156
33157         * lib/nanosleep.h: Rename to....
33158         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
33159
33160         * lib/gettime.c: New file.
33161         * lib/settime.c: New file.
33162         * lib/stime.c: Remove.
33163
33164         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
33165         timespec.h.  Remove nanosleep.h.
33166
33167 2002-02-25  Paul Eggert  <eggert@twinsun.com>
33168
33169         * m4/acl.m4: New file.
33170         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
33171         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
33172
33173 2002-02-25  Paul Eggert  <eggert@twinsun.com>
33174
33175         * lib/acl.c, lib/acl.h: New files.
33176         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
33177
33178 2002-02-24  Jim Meyering  <meyering@lucent.com>
33179
33180         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
33181         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
33182         cause trouble.  Reported by Nelson Beebe.
33183
33184 2002-02-23  Paul Eggert  <eggert@twinsun.com>
33185
33186         * lib/path-concat.c (xpath_concat): Reorder code to pacify
33187         compilers that don't know that xalloc_die never returns.
33188
33189 2002-02-20  Jim Meyering  <meyering@lucent.com>
33190
33191         * lib/getdate.c: Regenerate using bison-1.33.
33192
33193 2002-02-17  Jim Meyering  <meyering@lucent.com>
33194
33195         * config/config.guess (main): Don't use `head -1'; it's no longer
33196         portable. Use `sed 1q' instead.
33197
33198 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
33199
33200         * m4/codeset.m4: Upgrade to gettext-0.11.
33201         * m4/gettext.m4: Upgrade to gettext-0.11.
33202         * m4/glibc21.m4: Upgrade to gettext-0.11.
33203         * m4/iconv.m4: Upgrade to gettext-0.11.
33204         * m4/isc-posix.m4: Upgrade to gettext-0.11.
33205         * m4/lcmessage.m4: Upgrade to gettext-0.11.
33206         * m4/lib-ld.m4: New file, from gettext-0.11.
33207         * m4/lib-link.m4: New file, from gettext-0.11.
33208         * m4/lib-prefix.m4: New file, from gettext-0.11.
33209         * m4/progtest.m4: Upgrade to gettext-0.11.
33210
33211 2002-02-15  Paul Eggert  <eggert@twinsun.com>
33212
33213         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
33214         (jm_PREREQ): Use it.
33215
33216 2002-02-15  Paul Eggert  <eggert@twinsun.com>
33217
33218         * lib/posixver.c, lib/posixver.h: New files.
33219         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
33220
33221 2002-02-02  Paul Eggert  <eggert@twinsun.com>
33222             Bruno Haible  <bruno@clisp.org>
33223
33224         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
33225         (fwrite_success_callback): New declaration.
33226         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
33227         print_unicode_char. Call failure callback instead of error.
33228         (fwrite_success_callback): New function.
33229         (exit_failure_callback): New function.
33230         (fallback_failure_callback): New function.
33231         (print_unicode_char): Call unicode_to_mb.
33232
33233 2002-01-26  Jim Meyering  <meyering@lucent.com>
33234
33235         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
33236         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
33237
33238 2002-01-26  Jim Meyering  <meyering@lucent.com>
33239
33240         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
33241
33242 2002-01-22  Paul Eggert  <eggert@twinsun.com>
33243
33244         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
33245
33246 2002-01-22  Jim Meyering  <meyering@lucent.com>
33247
33248         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
33249         Otherwise, some versions of automake would omit the rule that makes
33250         Makefile from Makefile.in.
33251
33252 2002-01-21  Paul Eggert  <eggert@twinsun.com>
33253
33254         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
33255         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
33256         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
33257         (memcoll): Set errno to zero if there is no error.
33258
33259         * lib/quotearg.c (quotearg_buffer_restyled):
33260         Fix bug with quoting buffers containing NUL when backslashing escapes.
33261         This bug was exposed by the other changes in this patch.
33262         (quotearg_n_options): New arg ARGSIZE.
33263         All callers changed.
33264         (quoting_options_from_style): New function.
33265         (quotearg_n_style): Use it.
33266         (quotearg_n_style_mem): New function.
33267
33268         * lib/quotearg.h (quotearg_n_style_mem): New function.
33269
33270 2002-01-19  Jim Meyering  <meyering@lucent.com>
33271
33272         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
33273         Remove useless quotes: DF_PROG="df".
33274         * m4/strnlen.m4: New file.
33275
33276 2002-01-16  Paul Eggert  <eggert@twinsun.com>
33277
33278         * lib/backupfile.c (ISDIGIT): Comment fix.
33279         * lib/getdate.y (ISDIGIT): Likewise.
33280         * lib/posixtm.c (ISDIGIT, year): Likewise.
33281         * lib/strverscmp.c (ISDIGIT): Likewise.
33282         * lib/userspec.c (ISDIGIT): Likewise.
33283
33284 2002-01-16  Jim Meyering  <meyering@lucent.com>
33285
33286         * lib/getdate.y: Add three semicolons, each just before a closing
33287         brace. Bison (as of version 1.31) no longer papers over that mistake.
33288
33289 2002-01-05  Jim Meyering  <meyering@lucent.com>
33290
33291         * lib/version-etc.c (version_etc_copyright): Update copyright year.
33292
33293 2001-12-19  Paul Eggert  <eggert@twinsun.com>
33294
33295         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
33296         not silently exit merely because the output buffer happens to
33297         have nothing pending.
33298
33299 2001-12-18  Paul Eggert  <eggert@twinsun.com>
33300
33301         See the big note in ../ChangeLog.
33302         * lib/human.c (suffixes): Prefer K to k for 1024.
33303         (generate_suffix_backwards): New function.
33304         (human_readable_inexact): Use it.
33305         * lib/xstrtol.c (__xstrtol): If there is no number but there
33306         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
33307         Accept 'K' as well as 'k'.
33308
33309 2001-12-15  Jim Meyering  <meyering@lucent.com>
33310
33311         * lib/regex.h (__restrict_arr): Update from libc.
33312
33313         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
33314         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
33315         (STREQ): Define.
33316
33317 2001-12-14  Jim Meyering  <meyering@lucent.com>
33318
33319         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
33320         Suggestion from Bruno Haible.
33321
33322 2001-12-10  Jim Meyering  <meyering@lucent.com>
33323
33324         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
33325         xrealloc, Instead, include "xalloc.h".
33326         (initbuffer): Don't cast xmalloc return value to char*.
33327         (readline): Reword comment.
33328         Don't cast xrealloc return value to char*
33329         Return NULL, not 0.
33330
33331 2001-12-09  Jim Meyering  <meyering@lucent.com>
33332
33333         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
33334         about `signed and unsigned type in conditional expression'.
33335         * lib/posixtm.c (posix_time_parse): Likewise.
33336
33337         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
33338
33339         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
33340         to avoid a pedantic warning.
33341
33342         * lib/getstr.c: Don't include assert.h.
33343         (getstr): Remove warning-evoking assertions.
33344         Return -1 if offset parameter is out of bounds.
33345         Change the type of a local from int to size_t.
33346
33347         * lib/strftime.c (my_strftime_localtime_r): Include this function
33348         definition in the `#if ! HAVE_TM_GMTOFF' block.
33349
33350         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
33351         Include xalloc.h instead.
33352
33353 2001-12-02  Jim Meyering  <meyering@lucent.com>
33354
33355         * lib/tempname.c: Don't declare getenv, thus reverting the change of
33356         2001-11-18.  It's no longer necessary, now that stdlib.h is always
33357         included.
33358
33359         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
33360         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
33361
33362 2001-11-30  Akim Demaille  <akim@epita.fr>
33363
33364         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
33365         before being defined.
33366
33367 2001-11-27  Paul Eggert  <eggert@twinsun.com>
33368
33369         * lib/quotearg.h (quotearg_n, quotearg_n_style):
33370         First arg is int, not unsigned.
33371         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
33372         (SIZE_MAX, UINT_MAX): New macros.
33373         (quotearg_n_options): Abort if N is negative.
33374         Avoid overflow check on hosts where size_t is 64 bits and int
33375         is 32 bits, as overflow is impossible there.
33376         Fix off-by-one typo that caused unnecessary reallocation.
33377
33378 2001-11-27  Jim Meyering  <meyering@lucent.com>
33379
33380         * lib/tempname.c: Merge with version from libc.
33381         * lib/regex.c: Likewise.
33382
33383         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
33384         systems for which STDC_HEADERS is 0, it was not included, resulting in
33385         a warning about an integer-to-pointer conversion problem with getenv.
33386         Reported by Volker Borchert.
33387
33388 2001-11-26  Jim Meyering  <meyering@lucent.com>
33389
33390         * lib/gtod.h: Remove file.
33391         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
33392         * lib/gettimeofday.c: Don't include gtod.h.
33393         (GTOD_init): Remove function.
33394         (rpl_gettimeofday): Do its job here instead, rather than aborting.
33395         Suggestion from Volker Borchert.
33396
33397 2001-11-23  Jim Meyering  <meyering@lucent.com>
33398
33399         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
33400         it.
33401         * lib/hash.c (struct hash_table): Define it here instead.
33402
33403 2001-11-22  Jim Meyering  <meyering@lucent.com>
33404
33405         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
33406
33407 2001-11-20  Jim Meyering  <meyering@lucent.com>
33408
33409         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
33410         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
33411
33412 2001-11-19  Jim Meyering  <meyering@lucent.com>
33413
33414         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
33415         directory.  Use "conftestXXXXXX" as the template.
33416         Suggestion from Paul Eggert.
33417
33418         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
33419         immediately, so the test doesn't mistakenly hit the max-open-files
33420         limit.
33421
33422 2001-11-18  Paul Eggert  <eggert@twinsun.com>
33423
33424         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
33425         (TEMPORARIES): New macro.
33426         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
33427         removes an artificial limitation (e.g. HP-UX 10.20, where
33428         TMP_MAX is 17576).
33429
33430 2001-11-18  Jim Meyering  <meyering@lucent.com>
33431
33432         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
33433
33434 2001-11-18  Jim Meyering  <meyering@lucent.com>
33435
33436         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
33437         on SunOS 4.
33438
33439         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
33440         files will be created before anything else.
33441
33442 2001-11-17  Paul Eggert  <eggert@twinsun.com>
33443
33444         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
33445         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
33446
33447 2001-11-17  Jim Meyering  <meyering@lucent.com>
33448
33449         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
33450         Prompted by a report from Bob Proulx.
33451
33452         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
33453         Instead, require UTILS_FUNC_MKSTEMP.
33454
33455 2001-11-17  Jim Meyering  <meyering@lucent.com>
33456
33457         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
33458         Now, that's done as part of AC_FUNC_STRTOD.
33459
33460 2001-11-17  Jim Meyering  <meyering@lucent.com>
33461
33462         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
33463         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
33464         rather than group writable.  Patch by Juan F. Codagnone.
33465
33466         * lib/readtokens.c: Remove explicit declarations of xmalloc and
33467         xrealloc, Instead, include "xalloc.h".
33468
33469         * lib/mountlist.c: Include unlocked-io.h after all system headers.
33470         Remove explicit declarations of xmalloc, xrealloc,
33471         and xstrdup.  Instead, include "xalloc.h".
33472
33473         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
33474         unlocked-io.h.
33475         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
33476         Likewise.
33477         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
33478
33479         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
33480         Reported by Padraig Brady.
33481
33482         * lib/mkstemp.c: #undef mkstemp.
33483         Include config.h.
33484         (rpl_mkstemp): Rename from mkstemp.
33485         Protoize.
33486
33487 2001-11-16  Jim Meyering  <meyering@lucent.com>
33488
33489         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
33490         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
33491         determine the amount of total physical memory, use pstat_getstatic.
33492         HPUX-11 doesn't define _SC_PHYS_PAGES.
33493         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
33494         If sysconf couldn't be used to determine the amount of available
33495         physical memory, use both pstat_getstatic and pstat_getdynamic.
33496         Based on a patch from Bob Proulx.
33497
33498 2001-11-10  Jim Meyering  <meyering@lucent.com>
33499
33500         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
33501         (jm_PREREQ): Use it.
33502
33503 2001-11-09  Jim Meyering  <meyering@lucent.com>
33504
33505         * m4/jm-macros.m4: Require autoconf-2.52f.
33506         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
33507         Use these AC_-prefixed names, not the AM_-prefixed ones.
33508
33509         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
33510
33511 2001-11-05  Jim Meyering  <meyering@lucent.com>
33512
33513         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
33514
33515 2001-11-04  Jim Meyering  <meyering@lucent.com>
33516
33517         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
33518         $DEFS.
33519
33520 2001-11-03  Jim Meyering  <meyering@lucent.com>
33521
33522         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
33523         of AC_DEFUN.
33524
33525         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
33526         know the name of the variable in the macro definition.
33527
33528 2001-11-03  Jim Meyering  <meyering@lucent.com>
33529
33530         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
33531         in argmatch_to_argument call.
33532
33533         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
33534         argument.
33535
33536         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
33537         e.g., a fault due to an attempt to free a NULL pointer.
33538
33539 2001-11-01  Jim Meyering  <meyering@lucent.com>
33540
33541         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
33542         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
33543
33544 2001-11-01  Jim Meyering  <meyering@lucent.com>
33545
33546         * lib/dirfd.c, lib/dirfd.h: New files.
33547         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
33548
33549         * lib/hash.c (hash_print) [TESTING]: Clean up.
33550
33551 2001-10-22  Paul Eggert  <eggert@twinsun.com>
33552
33553         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
33554         to avoid a warning if -Wall.
33555
33556 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
33557
33558         * README: New file
33559         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
33560         (per RMS's instructions, this is now the canonical source)
33561         * lgpl/, gpl/: New directories.
33562
33563 2001-10-21  Paul Eggert  <eggert@twinsun.com>
33564
33565         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
33566
33567 2001-10-21  Jim Meyering  <meyering@lucent.com>
33568
33569         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
33570         this code would end up calling gettext even in packages built
33571         with --disable-nls.
33572         * lib/getopt.c (_): Likewise.
33573         * lib/regex.c (_): Likewise.
33574
33575 2001-10-20  Paul Eggert  <eggert@twinsun.com>
33576
33577         * m4/error.m4 (jm_PREREQ_ERROR):
33578         Do not invoke AC_CHECK_FUNCS with strerror_r, as
33579         AC_FUNC_STRERROR_R does that.
33580         Check for strerror declaration.
33581
33582         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
33583         are supposed to have them these days.
33584         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
33585         Merge changes from latest Autoconf CVS.
33586         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
33587         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
33588         POSIX decided to standardize on the int flavor of strerror_r.
33589
33590 2001-10-20  Paul Eggert  <eggert@twinsun.com>
33591
33592         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
33593         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
33594         Use strerror_r that is only a macro, even if it is not a function.
33595         (strerror): Check for HAVE_DECL_STRERROR before declaring.
33596         (private_strerror): Use prototypes, not old-style function definition.
33597         (print_errno_message): New function.
33598         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
33599         char*-flavored one.
33600         (error_tail, error, error_at_line): Use it.
33601
33602 2001-10-11  Jim Meyering  <meyering@lucent.com>
33603
33604         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
33605         and quote_n (1, ... to avoid clobbering a buffer.
33606
33607 2001-10-05  Jim Meyering  <meyering@lucent.com>
33608
33609         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
33610         hash-pjw.h.
33611         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
33612         * lib/hash-pjw.h: New file.
33613
33614 2001-09-30  Jim Meyering  <meyering@lucent.com>
33615
33616         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
33617         `struct fsstat' has the `f_fstypename' member.
33618         Use that to define FS_TYPE, which is now used to make
33619         the getfsstat link test tighter.
33620
33621 2001-09-30  Jim Meyering  <meyering@lucent.com>
33622
33623         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
33624         Include <sys/ucred.h>, for Apple Darwin.
33625         Include sys/mount.h and sys/fs_types.h only if available.
33626         (FS_TYPE): Define.
33627         (read_filesystem_list): Use FS_TYPE.
33628
33629 2001-09-29  Paul Eggert  <eggert@twinsun.com>
33630
33631         * lib/exclude.c (excluded_filename): 0 -> false, since it's
33632         a boolean context.
33633
33634 2001-09-29  Jim Meyering  <meyering@lucent.com>
33635
33636         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
33637         [one-argument getmntent function]): Include stdio.h before mntent.h.
33638         SunOS 4.1.x needs it for the declaration of `FILE'.
33639         Patch by Volker Borchert.
33640
33641         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
33642         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
33643         sys/fs_types.h, and make the link-test for getfsstat guard #include
33644         directives with appropriate #if HAVE_*_H tests so that we can
33645         detect getfsstat on Apple Darwin1.3.7 systems.
33646         Reported by Nelson Beebe.
33647         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
33648
33649 2001-09-28  Paul Eggert  <eggert@twinsun.com>
33650
33651         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
33652         #defines strtoimax.  Also treat the other strto* functions
33653         like strtoimax.
33654
33655         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
33656         Check for strtoul and strtoumax,
33657         as those declarations are made even in the signed case.
33658         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
33659         Likewise, for strtol and strtoimax.
33660
33661 2001-09-28  Paul Eggert  <eggert@twinsun.com>
33662
33663         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
33664         #defines strtoimax.  Also treat the other strto* functions
33665         like strtoimax.
33666
33667         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
33668         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
33669         (strtoimax, strtoumax): Do not declare if already defined as a macro.
33670
33671 2001-09-26  Jim Meyering  <meyering@lucent.com>
33672
33673         Most macros in unlocked-io.h had the wrong number of arguments.
33674         * lib/gen-uio: New script.
33675         (USE_UNLOCKED_IO): Define to 1 if not already defined.
33676         * lib/unlocked-io.hin: Remove file.
33677         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
33678         rather than trying to embed it here.
33679         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
33680         Reported by Padraig Brady.
33681
33682 2001-09-25  Volker Borchert  <bt@teknon.de>
33683
33684         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
33685         `result'.
33686
33687 2001-09-24  Jim Meyering  <meyering@lucent.com>
33688
33689         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
33690
33691 2001-09-23  Jim Meyering  <meyering@lucent.com>
33692
33693         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
33694         instead of the mere test for existence of mntent.h.  The latter
33695         would get a false-positive on AIX 3.4 systems.
33696         In the outer getmntent if-block, don't die if neither of the getmntent
33697         tests succeeds.  Instead, just fall through and continue with the
33698         remaining tests.
33699
33700 2001-09-23  Jim Meyering  <meyering@lucent.com>
33701
33702         * lib/mountlist.c: Remove useless parentheses in #if directives.
33703         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
33704         the deprecated MOUNTED symbol is no longer defined in mntent.h.
33705
33706 2001-09-22  Jim Meyering  <meyering@lucent.com>
33707
33708         * m4/gettext.m4: New file.  From gettext.
33709         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
33710         * m4/progtest.m4: Likewise
33711         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
33712         * m4/glibc21.m4: Likewise.
33713
33714         * m4/libintl.m4: Remove.  No longer used.
33715
33716 2001-09-22  Jim Meyering  <meyering@lucent.com>
33717
33718         * lib/localcharset.c: Update from latest gettext.
33719         * lib/config.charset: Likewise.
33720
33721 2001-09-20  Jim Meyering  <meyering@lucent.com>
33722
33723         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
33724         strtoimax.
33725         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
33726         strtoumax.
33727
33728 2001-09-20  Jim Meyering  <meyering@lucent.com>
33729
33730         * lib/xstrtol.c (strtoimax): Guard declaration with
33731         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
33732         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
33733         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
33734         (strtoumax): Likewise, for completeness (it wasn't necessary).
33735
33736 2001-09-17  Paul Eggert  <eggert@twinsun.com>
33737
33738         * lib/strtoimax.c (HAVE_LONG_LONG):
33739         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
33740         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
33741         to work around bug in IBM C compiler.
33742
33743 2001-09-17  Jim Meyering  <meyering@lucent.com>
33744
33745         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
33746         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
33747         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
33748         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
33749         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
33750         whenever the right hand side need not be expanded by the shell.
33751
33752 2001-09-16  Paul Eggert  <eggert@twinsun.com>
33753
33754         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
33755         library.  It's not correct, as some older glibcs are buggy.
33756         fnmatch wasn't fixed until glibc 2.2.
33757
33758         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
33759         special shell magic here.
33760
33761 2001-09-16  Jim Meyering  <meyering@lucent.com>
33762
33763         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
33764         * m4/jm-macros.m4: Require it.
33765
33766 2001-09-16  Jim Meyering  <meyering@lucent.com>
33767
33768         * lib/mkdir.c: New file.
33769
33770 2001-09-15  Jim Meyering  <meyering@lucent.com>
33771
33772         * m4/jm-macros.m4: Check for help2man.
33773
33774 2001-09-11  Jim Meyering  <meyering@lucent.com>
33775
33776         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
33777         The body, by Paul Eggert, was moved here from configure.in.
33778         * m4/jm-macros.m4: Require UTILS_HOST_OS.
33779
33780 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33781
33782         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
33783         (jm_PREREQ): Use it.
33784
33785 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33786
33787         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
33788         Use ssize_t, not int, to store result of readlink.
33789         Check for ssize_t overflow as well as size_t overflow,
33790         as POSIX says the result of readlink is implementation-defined
33791         when ssize_t overflows.
33792         Remove unnecessary cast to char*.
33793         Use free+malloc instead of realloc, as the storage doesn't need
33794         to be preserved and it's clearer and can be more efficient that way.
33795         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
33796         * lib/xreadlink.h (xreadlink): Update prototype.
33797
33798 2001-09-04  Paul Eggert  <eggert@twinsun.com>
33799
33800         * lib/xgetcwd.c: Revert some of the previous change; intead,
33801         fix the HAVE_GETCWD_NULL code to behave more like the
33802         !HAVE_GETCWD_NULL code used to.
33803
33804         Include "xalloc.h".
33805         (xgetcwd): Do not return NULL when memory is exhausted; instead,
33806         invoke xalloc_die.
33807
33808 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33809
33810         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
33811         sys/param.h, as pathmax.h includes them.
33812
33813 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33814
33815         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
33816         (jm_PREREQ_XGETCWD): New macro.
33817
33818         * m4/getcwd.m4: New file.
33819
33820 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33821
33822         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
33823         like the HAVE_GETCWD_NULL code.
33824         Include pathmax.h if not HAVE_GETCWD.
33825         Do not include xalloc.h.
33826         (INITIAL_BUFFER_SIZE): New symbol.
33827         Do not use xmalloc / xrealloc, since the caller is responsible for
33828         handling errors.  Preserve errno around `free' during failure.
33829         Do not overrun buffer when using getwd.
33830
33831 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33832
33833         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
33834         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
33835         getcwd (NULL, 0).
33836
33837 2001-09-03  Paul Eggert  <eggert@twinsun.com>
33838
33839         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
33840         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
33841         spotted by Jim Meyering.
33842
33843 2001-09-03  Jim Meyering  <meyering@lucent.com>
33844
33845         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
33846         failure.
33847
33848 2001-09-02  Jim Meyering  <meyering@lucent.com>
33849
33850         * lib/error.c: Update from GNU libc.
33851
33852 2001-09-01  Jim Meyering  <meyering@lucent.com>
33853
33854         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
33855         Used by df.
33856
33857 2001-09-01  Jim Meyering  <meyering@lucent.com>
33858
33859         * lib/xreadlink.c: New file.
33860         * lib/xreadlink.h: New file.
33861         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
33862         xreadlink.h.
33863
33864         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
33865         doesn't conflict with sparc Solaris 7's definition in
33866         /usr/include/sys/int_types.h.
33867
33868         * lib/exclude.c: Use `""', not `<>' to #include non-system header
33869         files.
33870         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
33871         and strncasecmp as r-values.  Unixware didn't have declarations.
33872
33873 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33874
33875         * lib/xstrtol.h: Add copyright notice.
33876         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
33877         LONGINT_INVALID_SUFFIX_CHAR.
33878
33879 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33880
33881         * lib/xstrtol.c (strtoimax): New decl.
33882
33883 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33884
33885         * lib/xgetcwd.c: Don't include pathmax.h.
33886         Include stdlib.h and unistd.h if available.
33887         Include xalloc.h.
33888         (xmalloc, xstrdup, free): Remove decls.
33889         (xgetcwd): Don't assume sizes fit in unsigned.
33890         Check for overflow when computing sizes.
33891         Simplify reallocation code.
33892
33893 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33894
33895         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
33896         a directory's st_size can have an arbitrary value, so the old
33897         usage could waste an arbitrary amount of memory.  All uses
33898         changed.
33899         * lib/savedir.h: Update prototype.
33900
33901 2001-08-31  Paul Eggert  <eggert@twinsun.com>
33902
33903         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
33904
33905         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
33906         old strtoimax.c.
33907
33908         Also, make the following further changes to make this file's
33909         configuration more similar to that of strtol.c:
33910         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
33911         (strtoumax, uintmax_t, strtoull, strtol): Remove.
33912         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
33913         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
33914         changed to signed values.
33915
33916         And make the following changes as well:
33917         Fix copyright notice, as 1999 was missing.
33918         (verify): New macro.
33919         (strtoimax): Check sizes at compile-time, not run-time.
33920         Prefer strtol to strtoll if both work.
33921         (main): Remove; it was not that useful and was a pain to maintain.
33922
33923         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
33924
33925 2001-08-31  Jim Meyering  <meyering@lucent.com>
33926
33927         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
33928         Use an initial, malloc'd, buffer of length 128 rather than
33929         a statically allocated one of length 1024.
33930
33931 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33932
33933         Simplify code, partly by assuming autoconf 2.52 semantics.
33934
33935         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
33936
33937         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
33938         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
33939         All uses removed.
33940         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
33941         Move AC_REQUIRE to next-to-top level, to avoid confusion.
33942         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
33943         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
33944         jm_AC_HEADER_INTTYPES_H.
33945         * m4/jm-macros.m4 (jm_MACROS): Likewise.
33946
33947         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
33948
33949         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
33950         Quote first arg of AC_DEFUN.
33951         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
33952         since they are needed to parse the include file even if we need
33953         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
33954         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
33955         but with opposite signedness.
33956
33957 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33958
33959         Merge 'exclude' changes from tar 1.13.22.
33960         This fixes one or two unlikely storage allocation overflow bugs,
33961         but doesn't change user-visible behavior otherwise.
33962
33963 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33964
33965         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
33966         (jm_PREREQ_EXCLUDE): New macro.
33967
33968 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33969
33970         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
33971         tm to be declared.
33972
33973 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33974
33975         * lib/hash.c: Remove '2001' from copyright notice.
33976
33977 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33978
33979         * lib/full-write.h: New file.
33980         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
33981         * lib/full-write.c: Correct credits, as cccp.c no longer
33982         exists and anyway it was so heavily changed from the old cccp
33983         code as to be unrecognizable.  Include full-write.h.
33984         (full_write) Return size_t, with short writes meaning failure.
33985         All callers changed.  This fixes a bug with large buffers
33986         on 64-bit hosts.
33987         * lib/utime.c: Include full-write.h.
33988
33989 2001-08-30  Paul Eggert  <eggert@twinsun.com>
33990
33991         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
33992         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
33993         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
33994         Include if available.
33995         (<xalloc.h>): Include
33996         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
33997         (verify): New macro.  Use it to verify that EXCLUDE macros do not
33998         collide with FNM macros.
33999         (struct patopts): New struct.
34000         (struct exclude): Use it, as exclude patterns now come with options.
34001         (new_exclude): Support above changes.
34002         (new_exclude, add_exclude_file):
34003         Initial size must now be a power of two to simplify overflow checking.
34004         (free_exclude, fnmatch_no_wildcards): New function.
34005         (excluded_filename): No longer requires options arg, as the options
34006         are determined by add_exclude.  Now returns bool, not int.
34007         (excluded_filename, add_exclude):
34008         Add support for the fancy new exclusion options.
34009         (add_exclude, add_exclude_file): Now takes int options arg.
34010         Check for arithmetic overflow when computing sizes.
34011         (add_exclude_file): xrealloc might modify errno, so don't
34012         realloc until after errno might be used.
34013
34014         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
34015         New macros.
34016         (free_exclude): New decl.
34017         (add_exclude, add_exclude_file): Now takes int options arg.
34018         (excluded_filename): No longer requires options arg, as the options
34019         are determined by add_exclude.  Now returns bool, not int.
34020
34021 2001-08-30  Paul Eggert  <eggert@twinsun.com>
34022
34023         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
34024
34025 2001-08-27  Jim Meyering  <meyering@lucent.com>
34026
34027         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
34028
34029         * lib/version-etc.c (N_): Remove definition.
34030         Revert most of last change.
34031         Instead, simply don't mark the `Copyright...' string for translation.
34032         Based on advice from Paul Eggert.
34033
34034         * lib/strtoxmax.c: Tweak comment.
34035
34036 2001-08-26  Jim Meyering  <meyering@lucent.com>
34037
34038         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
34039
34040         * m4/xstrtoimax.m4: New file.
34041         * m4/xstrtoumax.m4: Add comments explaining why we
34042         AC_REPLACE_FUNCS(strtol).
34043
34044 2001-08-26  Jim Meyering  <meyering@lucent.com>
34045
34046         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
34047         of copyright with `%s' so translators don't get an untranslated
34048         message in 2002.
34049         (COPYRIGHT_YEAR): Define.
34050         (version_etc): Use fprintf rather than fputs.
34051         Suggestion from Ulrich Drepper.
34052
34053         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
34054
34055         * lib/strtoll.c: New file, from GNU libc.
34056         * lib/xstrtoimax.c: New file.
34057
34058         * lib/xstrtol.h: Add xstrtoimax.
34059         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
34060         * lib/strtoimax.c: New file.  Likewise, but first define
34061         STRTOUXMAX_SIGNED.
34062
34063         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
34064         ...
34065         * lib/strtoxmax.c: ... then renamed to this.
34066
34067 2001-08-18  Paul Eggert  <eggert@twinsun.com>
34068
34069         * m4/inttypes.m4: Add AC_PREREQ(2.13).
34070         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
34071         (jm_AC_TYPE_INTMAX_T): New macro.
34072         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
34073
34074         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
34075
34076         * m4/longlong.m4: Renamed from ulonglong.m4.
34077         * m4/inttypes.m4: Renamed from inttypes_h.m4.
34078         * m4/uintmax_t.m4: Removed.
34079
34080 2001-08-13  Paul Eggert  <eggert@twinsun.com>
34081
34082         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
34083         Port to Solaris 8, where 'sed' requires a space after the 'r'
34084         command, and where sh dislikes "$/".  Clean up the spacing a bit.
34085         Redirect output to $tmp just once.
34086
34087 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
34088
34089         * lib/addext.c (<errno.h>): Include.
34090         (errno): Declare if not defined.
34091         (addext): Work correctly when pathconf returns -1 and leaves
34092         errno alone because there is no limit.  Also, work even if
34093         pathconf returns a value greater than SIZE_MAX.
34094
34095 2001-08-12  Jim Meyering  <meyering@lucent.com>
34096
34097         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
34098         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
34099         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
34100         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
34101         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
34102         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
34103         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
34104         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
34105         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
34106         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
34107         utime.m4, utimes.m4, xstrtoumax.m4:
34108         Quote the first argument in each use of AC_DEFUN.
34109
34110 2001-08-12  Jim Meyering  <meyering@lucent.com>
34111
34112         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
34113         Simply `return getcwd (NULL, 0);'.
34114         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
34115         Use 1300 as initial value for length, not PATH_MAX.
34116
34117         * lib/pathmax.h: Clean up cpp syntax.
34118
34119 2001-08-12  Jim Meyering  <meyering@lucent.com>
34120
34121         * lib/gettimeofday.c: New file.
34122         * lib/gtod.h: New file.
34123         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
34124
34125 2001-08-05  Jim Meyering  <meyering@lucent.com>
34126
34127         * m4/jm-macros.m4: Require autoconf-2.52.
34128
34129 2001-08-04  Jim Meyering  <meyering@lucent.com>
34130
34131         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
34132         stmt, to get in sync with glibc.
34133
34134 2001-08-03  Paul Eggert  <eggert@twinsun.com>
34135
34136         The following changes are from gettext 0.10.39 as maintained by
34137         Bruno Haible.
34138
34139         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
34140         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
34141         with inverted sense.  All uses changed.
34142
34143         * lib/mbswidth.c: Don't include <limits.h>.
34144         Include <stdlib.h> and <string.h> unconditionally.
34145         (iswcntrl, mbsinit, ISCNTRL): New macros.
34146         (mbsnwidth): Use K&R style function declarations.
34147         Don't bother checking for MB_LEN_MAX == 1, since the compiler
34148         can optimize it when MB_CUR_MAX == 1.
34149         The width of control characters is zero, not 1.
34150
34151 2001-08-03  Paul Eggert  <eggert@twinsun.com>
34152
34153         The following changes are from gettext 0.10.39 as maintained by
34154         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
34155
34156         * m4/codeset.m4: Upgrade to serial AM1.
34157         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
34158         all uses changed.  Quote first arg of AC_DEFUN.
34159         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
34160
34161         * m4/iconv.m4: Upgrade to serial AM2.
34162         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
34163         Add --with-libconv-prefix.
34164         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
34165         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
34166         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
34167         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
34168         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
34169
34170         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
34171         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
34172         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
34173         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
34174         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
34175         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
34176         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
34177         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
34178         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
34179
34180         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
34181         string.h any more.
34182
34183         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
34184         not the default value.
34185
34186         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
34187         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
34188         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
34189         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
34190         Also check for iswcntrl, used for wcwidth fallback.
34191         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
34192         to Autoconf 2.13.
34193
34194 2001-08-03  Jim Meyering  <meyering@lucent.com>
34195
34196         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
34197         as it was in the original.  Reported by Paul Eggert.
34198
34199 2001-07-16  Jim Meyering  <meyering@lucent.com>
34200
34201         * m4/gettimeofday.m4: New file.
34202         Prompted by a report from Bernhard Baehr.
34203
34204 2001-07-15  Jim Meyering  <meyering@lucent.com>
34205
34206         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
34207         stuff. Now it's in ../Makefile.cfg.
34208
34209 2001-07-15  Jim Meyering  <meyering@lucent.com>
34210
34211         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
34212         (BUILT_SOURCES): Add unlocked-io.h.
34213         (io_functions): Define.
34214         (unlocked-io.h): New rule.
34215         (DISTCLEANFILES): Add unlocked-io.h.
34216         (all-local): Depend on unlocked-io.h, to ensure it is created.
34217
34218         * lib/unlocked-io.hin: New file
34219
34220         * lib/regex.c: Update from glibc.
34221
34222 2001-07-05  Jim Meyering  <meyering@lucent.com>
34223
34224         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
34225         recommendation.
34226         (libfetish_a_SOURCES): Put all .h files here instead.
34227         Remove a thus-exposed (better checks in automake) duplicate and
34228         two unnecessary .h files.
34229
34230 2001-07-04  Jim Meyering  <meyering@lucent.com>
34231
34232         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
34233         that generates jm-glibc-io.m4 so that it doesn't trigger any make
34234         distcheck failure.
34235
34236 2001-07-02  Jim Meyering  <meyering@lucent.com>
34237
34238         The following changes were prompted by suggestions from Bruno Haible.
34239
34240         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
34241         is now generated.
34242         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
34243         definition of EXTRA_DIST.
34244         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
34245         ensure that the generated file is created/updated whenever the list
34246         of $(unlocked_functions) is changed.
34247         (jm-glibc-io.m4): New rule.
34248         (unlocked-io.h): New rule -- currently unused.
34249
34250 2001-06-24  Jim Meyering  <meyering@lucent.com>
34251
34252         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
34253         unmatched right bracket, rather than kludging it with an extra,
34254         falsely-matching quote in a comment.  Patch by Akim Demaille.
34255
34256 2001-06-11  Jim Meyering  <meyering@lucent.com>
34257
34258         * lib/regex.c: Update from GNU libc.
34259
34260 2001-05-27  Jim Meyering  <meyering@lucent.com>
34261
34262         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
34263         Check for ut_type in struct utmp.
34264
34265 2001-05-27  Jim Meyering  <meyering@lucent.com>
34266
34267         * lib/readutmp.h (UT_TYPE): Define.
34268
34269 2001-05-24  Jim Meyering  <meyering@lucent.com>
34270
34271         * lib/argmatch.c: Include "quote.h".
34272         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
34273         quote function.  Reported by Göran Uddeborg.
34274
34275 2001-05-22  Jim Meyering  <meyering@lucent.com>
34276
34277         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
34278         now that we use the package-supplied version unconditionally.
34279         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
34280
34281 2001-05-21  Jim Meyering  <meyering@lucent.com>
34282
34283         * m4/regex.m4: Change a couple backticks to single quotes to avoid
34284         shell syntax errors.
34285
34286 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
34287
34288         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
34289
34290 2001-05-20  Paul Eggert  <eggert@twinsun.com>
34291
34292         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
34293         Don't bother to check library strftime, since
34294         we'll be using our own my_strftime function anyway.
34295         Define my_strftime instead of strftime.
34296
34297 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
34298
34299         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
34300         which is not yet declared.
34301
34302 2001-05-15  Jim Meyering  <meyering@lucent.com>
34303
34304         * m4/regex.m4: Use proper quoting so brackets appear in the test
34305         program.
34306         Reported by, and with help from, Bruno Haible.
34307
34308 2001-05-13  Jim Meyering  <meyering@lucent.com>
34309
34310         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
34311         undefined.
34312
34313 2001-05-11  Paul Eggert  <eggert@twinsun.com>
34314
34315         dirname code cleanup.  base_name now behaves more compatibly
34316         with POSIX basename when given file names that have trailing
34317         slashes, and similarly for dir_name.  Add new primitives
34318         base_len and dir_len.  Put the directory-name-related decls
34319         into dirname.h.
34320
34321         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
34322         * lib/backupfile.c (base_name): Likewise.
34323         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
34324         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
34325         * lib/makepath.c (strip_trailing_slashes): Likewise.
34326         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
34327         ISSLASH): Likewise.
34328         * lib/rename.c (strip_trailing_slashes): Likewise.
34329         * lib/same.c (base_name): Likewise.
34330         * lib/stripslash.c (ISSLASH): Likewise.
34331
34332         * lib/addext.c: Include <dirname.h> after size_t is defined.
34333         * lib/backupfile.c: Likewise.
34334
34335         * lib/addext.c (addext): Use base_len to trim redundant
34336         trailing slashes instead of doing it ourselves.
34337         But do not trim the last slash if it is not redundant.
34338
34339         * lib/backupfile.c (find_backup_file_name,
34340         max_backup_version): Use base_len instead of rolling it ourselves.
34341         Handle the case of "" and (on DOS) "C:" correctly.
34342
34343         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
34344         needed. Include <string.h>, <dirname.h>.
34345         (base_name): Allow file names ending in slashes, other than names
34346         that are all slashes.  In this case, return the basename followed
34347         by the slashes.  This is more general, and can be used in places
34348         where the original base_name purposely had an assertion failure.
34349         (base_len): New function.
34350
34351         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
34352         Do not include <assert.h>; no longer needed.
34353         Include xalloc.h.
34354         (memrchr): Remove decl.
34355         (dir_name_r): Remove.
34356         (dir_len): Renamed from dirlen.  All callers changed.
34357         Rewrite in terms of base_name, for simplicity and consistency.
34358         (dir_name): Never return NULL.  All callers changed.
34359         Do not include <stdlib.h> in test program; no longer needed.
34360         return 0; is fine for test program.
34361
34362         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
34363         New macros.
34364         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
34365
34366         * lib/path-concat.c (path_concat): Use base_len to compute
34367         base length, not strlen; this means we cannot rely on memcpy
34368         to null-terminate.
34369
34370         * lib/same.c (STREQ): Remove.
34371         (same_name): Handle the case where the basename ends in trailing '/'.
34372
34373         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
34374         a slash was stripped.  Do not strip the last slash after a
34375         file system prefix.
34376
34377 2001-05-11  Paul Eggert  <eggert@twinsun.com>
34378
34379         * lib/Makefile.am (libfetish_a_SOURCES):
34380         Add strftime.c, since we now compile it on all hosts.
34381
34382         * lib/strftime.c (my_strftime):
34383         Define to nstrftime if emacs, but only if my_strftime is not defined.
34384         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
34385         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
34386         Add one more extra argument: a nanoseconds value.
34387         All uses changed.
34388         (ns): New macro.
34389         (my_strftime function): Add %N format.
34390         (emacs_strftimeu): Renamed from emacs_strftime,
34391         with extra ut argument.
34392
34393 2001-05-09  Paul Eggert  <eggert@twinsun.com>
34394
34395         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
34396
34397 2001-04-21  Jim Meyering  <meyering@lucent.com>
34398
34399         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
34400         doesn't interfere.
34401
34402 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
34403
34404         * m4/ftruncate.m4: Check for chsize.
34405         Link with ftruncate.o unconditionally if ftruncate is missing.
34406         This was required when cross-compiling to i586-mingw32msvc.
34407
34408 2001-04-08  Jim Meyering  <meyering@lucent.com>
34409
34410         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
34411         recomputed; that's necessary when the offset spans a DST transition.
34412         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
34413
34414 2001-04-02  Jim Meyering  <meyering@lucent.com>
34415
34416         * lib/regex.h, regex.c: Update from GNU libc.
34417
34418 2001-03-24  Jim Meyering  <meyering@lucent.com>
34419
34420         * m4/jm-macros.m4: Require autoconf-2.49d.
34421
34422 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
34423
34424         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
34425
34426 2001-03-19  Paul Eggert  <eggert@twinsun.com>
34427
34428         * lib/version-etc.c (version_etc_copyright): Update to 2001.
34429
34430 2001-03-17  Jim Meyering  <meyering@lucent.com>
34431
34432         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
34433         now that the version in autoconf is equivalent.
34434         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
34435
34436         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
34437         Suggestion from Akim Demaille.
34438
34439         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
34440         (jm_PREREQ_TEMPNAME): New function.
34441
34442 2001-03-16  Paul Eggert  <eggert@twinsun.com>
34443
34444         * lib/tempname.c (uint64_t): Define to uintmax_t if
34445         not defined, and if UINT64_MAX is not defined.
34446         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
34447         Reported by John David Anglin.
34448
34449 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
34450
34451         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
34452         resolve alias if codeset is empty.
34453         * lib/config.charset (BeOS): Use wildcard syntax.
34454
34455 2001-03-13  Jim Meyering  <meyering@lucent.com>
34456
34457         * lib/path-concat.c (path_concat)
34458         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
34459         concatenating e.g., `C:' and `foo'.
34460         From Bruno Haible.
34461
34462 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
34463
34464         * lib/localcharset.c (locale_charset): Don't use
34465         setlocale(LC_CTYPE,NULL). Don't return NULL.
34466         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
34467
34468 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
34469
34470         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
34471         support for DOS/DJGPP.
34472
34473 2001-03-01  Paul Eggert  <eggert@twinsun.com>
34474
34475         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
34476         lacks mkstemp.  Compile our own tempname.c if we compile our own
34477         mkstemp.c, as mkstemp relies on tempname.
34478
34479 2001-03-01  Jim Meyering  <meyering@lucent.com>
34480
34481         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
34482         AH_VERBATIM really does output its argument verbatim.
34483
34484 2001-02-28  Paul Eggert  <eggert@twinsun.com>
34485
34486         * lib/Makefile.am (libfetish_a_SOURCES):
34487         Add dup-safer.c, fopen-safer.c.
34488         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
34489
34490         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
34491         * lib/unistd-safer.h: New files.
34492
34493 2001-02-25  Paul Eggert  <eggert@twinsun.com>
34494
34495         The mkstemp replacement is taken from glibc 2.2.2, with some
34496         portability fixes for use outside glibc, as follows:
34497
34498         * lib/tempname.c (struct_stat64): New macro.
34499         (direxists, __gen_tempname): Use it.
34500         This avoids a portability problem with Solaris 8.
34501
34502         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
34503         (<stddef.h>, <stdint.h>, <string.h>):
34504         Include only if STDC_HEADERS || _LIBC.
34505         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
34506         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
34507         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
34508         (__set_errno): Define this macro if <errno.h> doesn't.
34509         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
34510         Define these macros if <stdio.h> doesn't.
34511         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
34512         Define these macros if <sys/stat.h>
34513         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
34514         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
34515         __xstat64): Define if not _LIBC.
34516         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
34517         (__gen_tempname): Invoke gettimeofday only if
34518         HAVE_GETTIMEOFDAY || _LIBC;
34519         otherwise, fall back on plain "time".
34520         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
34521
34522         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
34523
34524         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
34525
34526 2001-02-18  Paul Eggert  <eggert@twinsun.com>
34527
34528         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
34529
34530 2001-02-17  Paul Eggert  <eggert@twinsun.com>
34531
34532         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
34533         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
34534         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
34535         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
34536
34537 2001-02-17  Paul Eggert  <eggert@twinsun.com>
34538
34539         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
34540         Remove workaround macros for hosts that have mbrtowc but not
34541         mbstate_t, as we now insist on proper declarations for both
34542         before using mbrtowc.
34543
34544 2001-02-17  Jim Meyering  <meyering@lucent.com>
34545
34546         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
34547         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
34548         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
34549         UnixWare 7.1.1.
34550
34551         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
34552         rather than AC_CACHE_VAL.
34553
34554 2001-02-17  Jim Meyering  <meyering@lucent.com>
34555
34556         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
34557         around included file name.
34558
34559         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
34560
34561         * lib/strftime.c: Update from GNU libc (the only changes were to
34562         comments).
34563
34564 2001-02-17  Jim Meyering  <meyering@lucent.com>
34565
34566         * lib/regex.c: Update from libc.
34567
34568 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
34569
34570         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
34571         clash.
34572
34573 2001-02-16  Paul Eggert  <eggert@twinsun.com>
34574
34575         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
34576         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
34577         Reported by Mark Hounschell via Paul Eggert.
34578
34579 2001-02-07  Jim Meyering  <meyering@lucent.com>
34580
34581         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
34582
34583 2001-02-05  Jim Meyering  <meyering@lucent.com>
34584
34585         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
34586         it includes the patch required for `large file' support with at least
34587         HP-UX's 10.20 /bin/cc.
34588
34589 2001-02-03  Jim Meyering  <meyering@lucent.com>
34590
34591         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
34592         AS_IF, now that it works once again (mysteriously).
34593         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
34594
34595 2001-01-30  Jim Meyering  <meyering@lucent.com>
34596
34597         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
34598         * m4/chown.m4: Rename conftestchown to conftest.chown.
34599         * m4/rename.m4: s/conftestdir/conftest.d1/ and
34600         s/conftestdir2/conftest.d2/.
34601         * m4/utimes.m4: s/conftestdata/conftest.data/
34602         Inspired by Pavel Roskin's change in autoconf.
34603
34604 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
34605
34606         * lib/config.charset: Update for FreeBSD 4.2.
34607
34608 2001-01-27  Jim Meyering  <meyering@lucent.com>
34609
34610         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
34611         a use of AS_IF.
34612         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
34613
34614 2001-01-26  Jim Meyering  <meyering@lucent.com>
34615
34616         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
34617         quotearg.c includes it.
34618
34619 2001-01-26  Jim Meyering  <meyering@lucent.com>
34620
34621         * lib/quotearg.c: Include stddef.h.
34622         * lib/quote.c: Include stddef.h.
34623         Reported by Axel Kittenberger.
34624
34625         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
34626         line in double quotes so that it evokes a better diagnostic.
34627         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
34628         Reported by Axel Kittenberger.
34629
34630 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
34631
34632         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
34633         as if it was a `charset'.
34634
34635 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
34636
34637         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
34638         has const.
34639
34640 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
34641
34642         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
34643         to avoid a warning.  Add back 'const' to inptr.
34644
34645 2001-01-20  Jim Meyering  <meyering@lucent.com>
34646
34647         Be sure that headers are checked before used in code compiled
34648         for the type checks.
34649         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
34650         In place of that, invoke jm_CHECK_ALL_TYPES.
34651         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
34652         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
34653         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
34654         The check for ssize_t was mistakenly run before the test for unistd.h.
34655
34656         The configure-time check for stdbool.h was missing.
34657         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
34658         (jm_PREREQ_HASH): New function.
34659
34660 2001-01-17  Jim Meyering  <meyering@lucent.com>
34661
34662         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
34663         for autoconf-2.49c.
34664         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
34665
34666 2001-01-16  Jim Meyering  <meyering@lucent.com>
34667
34668         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
34669         From Bruno Haible.
34670
34671 2001-01-14  Jim Meyering  <meyering@lucent.com>
34672
34673         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
34674         foo and bar.  Create conftestdir/ in the script, not in the C code.
34675         Remove directories in the script, not in the C code.
34676         Remove conftestdir{,2} before trying to create the directory.
34677         Make the entire configure script fail if the mkdir fails.
34678
34679 2001-01-14  Jim Meyering  <meyering@lucent.com>
34680
34681         * lib/rename.c: New file.  From Volker Borchert.
34682         Include stdlib.h, string.h or strings.h, and xalloc.h.
34683         Use strip_trailing_slashes rather than open-coding it.
34684
34685 2001-01-03  Paul Eggert  <eggert@twinsun.com>
34686
34687         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
34688
34689 2001-01-03  Jim Meyering  <meyering@lucent.com>
34690
34691         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
34692         of local `inptr' to avoid warning with some system declarations of
34693         iconv.
34694
34695 2001-01-02  Volker Borchert  <bt@teknon.de>
34696
34697         * m4/rename.m4: New file.
34698         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
34699
34700 2001-01-01  Jim Meyering  <meyering@lucent.com>
34701
34702         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
34703         even on systems with utmpx.h.  It's necessary for the declaration of
34704         utmp's ut_user member.  Reported by Andreas Jaeger.
34705
34706         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
34707         available. They are required for the declarations of getgrgid and
34708         getpwuid resp.
34709         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
34710         Reported by Andreas Jaeger.
34711
34712 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
34713
34714         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
34715         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
34716         so `make install' also works in VPATH builds.
34717
34718 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
34719
34720         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
34721         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
34722         can be used in subdirectories.
34723
34724 2000-12-29  Paul Eggert  <eggert@twinsun.com>
34725
34726         * lib/modechange.c: Do not assume that mode_t uses the
34727         traditional octal encoding.  E.g. "chmod 1 FOO" should set
34728         the other-execute bit of FOO even if S_IXOTH != 1.
34729
34730         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
34731         WOTH, XOTH, ALLM): New macros.
34732         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
34733          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
34734         Use them.
34735         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
34736         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
34737         (mode_compile):
34738         No need to use uintmax_t; unsigned long is long enough.
34739         Don't bother to get suffix since we don't use it.
34740
34741 2000-12-26  Jim Meyering  <meyering@lucent.com>
34742
34743         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
34744         better with autoheader.
34745
34746 2000-12-24  Jim Meyering  <meyering@lucent.com>
34747
34748         * lib/hash.c (is_prime): Return explicit boolean values.
34749         (hash_get_first): Return NULL to appease Irix5.6's 89.
34750         Reported by Nelson Beebe.
34751
34752 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
34753
34754         * lib/localcharset.c (locale_charset): Add support for Win32.
34755
34756 2000-12-18  Paul Eggert  <eggert@twinsun.com>
34757
34758         * lib/physmem.h, lib/physmem.c: New files.
34759
34760         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
34761         (noinst_HEADERS): Add physmem.h.
34762
34763         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
34764         't' for compatibility with Solaris 8 sort.
34765
34766 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
34767
34768         * lib/config.charset: Add support for BeOS.
34769
34770 2000-12-17  Jim Meyering  <meyering@lucent.com>
34771
34772         * m4/dos.m4 (jm_AC_DOS): New file and macro.
34773         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
34774
34775 2000-12-16  Jim Meyering  <meyering@lucent.com>
34776
34777         This bug had a serious impact on chown: `chown N:M FILE' (for integer
34778         N and M) would have treated it like `chown N:N FILE'.
34779
34780         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
34781
34782 2000-12-16  Jim Meyering  <meyering@lucent.com>
34783
34784         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
34785         SHELLS_FILE to a file name that's useful on djgpp systems.
34786         Include stdlib.h.
34787         (ADDITIONAL_DEFAULT_SHELLS): Define.
34788         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
34789         Based mostly on a patch from Prashant TR.
34790
34791 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
34792
34793         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
34794         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
34795         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
34796
34797 2000-12-08  Andreas Schwab  <schwab@suse.de>
34798
34799         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
34800         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
34801
34802 2000-12-07  Jim Meyering  <meyering@lucent.com>
34803
34804         * lib/stripslash.c (ISSLASH): Define.
34805         (strip_trailing_slashes): Use ISSLASH rather than comparing against
34806         `/'.
34807         From Prashant TR.
34808
34809         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
34810         (dir_name_r): Declare this function as static.
34811         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
34812         manifest itself on a name containing a mix of slashes and
34813         backslashes.
34814         Make this function work with names starting with a DOS-style
34815         drive letter and colon prefix.
34816         (dir_name): Append `.' if necessary.
34817         Based mostly on patches from Prashant TR and Eli Zaretskii.
34818
34819         * lib/dirname.h (dir_name_r): Remove prototype.
34820
34821 2000-12-06  Paul Eggert  <eggert@twinsun.com>
34822
34823         * m4/off_t-format.m4: Remove this file.
34824         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
34825
34826 2000-12-06  Jim Meyering  <meyering@lucent.com>
34827
34828         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
34829         replacement strtoull, we may well need the replacement strtoul, too.
34830         Check for declarations of strtoul and strtoull.
34831         Check for strtol.  Mainly as a cue to cause automake to include
34832         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
34833         Check for limits.h -- strtol.c needs it.
34834
34835 2000-12-05  Jim Meyering  <meyering@lucent.com>
34836
34837         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
34838
34839 2000-12-04  Jim Meyering  <meyering@lucent.com>
34840
34841         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
34842         Also include memory.h, stdlib.h, unistd.h if appropriate.
34843         Reported by Andreas Jaeger (conflicting declaration of malloc).
34844
34845 2000-12-02  Jim Meyering  <meyering@lucent.com>
34846
34847         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
34848         * m4/jm-macros.m4 (jm_MACROS): require it.
34849
34850 2000-12-02  Jim Meyering  <meyering@lucent.com>
34851
34852         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
34853
34854 2000-12-01  Paul Eggert  <eggert@twinsun.com>
34855
34856         * lib/memrchr.c: Include <config.h> before any system include file.
34857
34858 2000-11-30  Jim Meyering  <meyering@lucent.com>
34859
34860         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
34861
34862 2000-11-30  Jim Meyering  <meyering@lucent.com>
34863
34864         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
34865
34866 2000-11-29  Paul Eggert  <eggert@twinsun.com>
34867
34868         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
34869
34870 2000-11-26  Jim Meyering  <meyering@lucent.com>
34871
34872         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
34873
34874 2000-11-22  Paul Eggert  <eggert@twinsun.com>
34875
34876         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
34877         size of (size_t) -1; it's not portable.
34878
34879 2000-11-17  Jim Meyering  <meyering@lucent.com>
34880
34881         * lib/strstr.c: Update from GNU libc.
34882
34883 2000-11-17  Akim Demaille  <akim@epita.fr>
34884
34885         * lib/obstack.h: Formatting changes.
34886         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
34887         prevent type checking.
34888         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
34889         cast the value to (void *): assigning a `foo *' to a `void *'
34890         variable is valid.
34891         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
34892
34893 2000-11-16  Jim Meyering  <meyering@lucent.com>
34894
34895         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
34896
34897 2000-11-11  Jim Meyering  <meyering@lucent.com>
34898
34899         * lib/error.c: Add a couple #includes, merging from GNU libc version.
34900
34901 2000-11-10  Jim Meyering  <meyering@lucent.com>
34902
34903         * lib/obstack.h: Update from GNU libc.
34904         * lib/obstack.c: Likewise.
34905
34906 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
34907
34908         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
34909
34910 2000-11-06  Paul Eggert  <eggert@twinsun.com>
34911
34912         * lib/getusershell.c (setusershell): Use rewind rather than
34913         fseek/fseeko, to avoid configuration hassles with fseeko.
34914         Don't bother opening SHELLS_FILE if shellstream is NULL;
34915         it's not necessary.
34916
34917 2000-11-05  Jim Meyering  <meyering@lucent.com>
34918
34919         * lib/makepath.h (make_dir): Declare.
34920         * lib/makepath.c (make_dir): Remove `static' attribute.
34921         Tweak a comment.
34922
34923 2000-11-04  Jim Meyering  <meyering@lucent.com>
34924
34925         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
34926
34927 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
34928
34929         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
34930         last one in a bucket, advance to the next bucket.
34931
34932 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
34933
34934         * lib/fnmatch.c: Do not comment out all the code if we are using
34935         the GNU C library, because in some cases we are replacing buggy
34936         code in the GNU C library itself.
34937
34938 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
34939
34940         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
34941         (regex_compile): Catch bogus \(\1\).
34942
34943 2000-10-30  Paul Eggert  <eggert@twinsun.com>
34944
34945         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
34946         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
34947         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
34948
34949 2000-10-30  Paul Eggert  <eggert@twinsun.com>
34950
34951         * lib/error.h, getline.h, modechange.h:
34952         Remove "2000" from Copyright line, as the file hasn't been
34953         changed this year other than in the copyright notice.
34954
34955         * lib/xalloc.h: Add "2000" to Copyright line, as this file
34956         was changed this year.
34957
34958 2000-10-29  Jim Meyering  <meyering@lucent.com>
34959
34960         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
34961         renaming.
34962         * m4/ls-mntd-fs.m4: Likewise
34963
34964 2000-10-29  Jim Meyering  <meyering@lucent.com>
34965
34966         * lib/xstat.in: Fix grammar in comment.
34967
34968 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
34969
34970         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
34971         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
34972         doesn't define __restrict_arr.
34973
34974 2000-10-28  Jim Meyering  <meyering@lucent.com>
34975
34976         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
34977         (jm_PREREQ_MEMCHR): New function.
34978
34979 2000-10-28  Jim Meyering  <meyering@lucent.com>
34980
34981         * lib/memchr.c: Update from libc.
34982         Adjust for portability:
34983         [HAVE_STDLIB_H]: Include stdlib.h.
34984         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
34985         Undef __memchr, too.
34986         [!weak_alias]: Define __memchr to memchr.
34987
34988         * lib/regex.c: Update from libc.
34989         * lib/regex.h: Likewise.
34990         * lib/getopt1.c: Likewise.
34991         * lib/memcmp.c: Likewise.
34992
34993         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
34994         Avoid using fseek, when possible -- it's broken by design.
34995         Patch by Ulrich Drepper.
34996
34997 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
34998
34999         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
35000         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
35001         Giving in to popular pressure to shut up the compiler with casts.
35002
35003 2000-10-26  Jim Meyering  <meyering@lucent.com>
35004
35005         * lib/strftime.c: Update from libc.
35006
35007 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
35008
35009         * regex.c: More `unsigned char' -> `re_char' changes.
35010         Also change several `int' into `re_wchar_t'.
35011         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
35012         (PUSH_FAILURE_POINTER): Don't cast any more.
35013         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
35014         We want GCC to complain, since this piece of code makes
35015         re_match non-reentrant, which *should* be fixed.
35016         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
35017         (EXTEND_BUFFER): Use RETALLOC.
35018         (SET_LIST_BIT): Don't cast.
35019         (re_wchar_t): New type.
35020         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
35021         that those two functions will always properly return.
35022         (IMMEDIATE_QUIT_CHECK): Cast to void.
35023         (analyse_first): Use recursion rather than an explicit stack.
35024         (re_compile_fastmap): Can't fail anymore.
35025         (re_search_2): Don't check re_compile_fastmap for failure.
35026         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
35027         Now also sets the new value (passed in a new argument).
35028         (re_match_2_internal): Use it.
35029         Also, use a new var `reg' of type size_t when looping through regs
35030         rather than reuse the inappropriate `mcnt'.
35031
35032 2000-10-25  Jim Meyering  <meyering@lucent.com>
35033
35034         * lib/obstack.c: Update from libc.
35035
35036 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
35037
35038         * regex.c (regex_compile): Change the way of handling a range from
35039         a char less than 256 to a char not less than 256.
35040
35041 2000-10-24  Andrew Innes  <andrewi@gnu.org>
35042
35043         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
35044         NT-Emacs only.
35045         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
35046         so that re_search functions only quit when callers expect them to.
35047
35048 2000-10-23  Jim Meyering  <meyering@lucent.com>
35049
35050         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
35051         wrong.  That set_locale call must not have any side effects.
35052         From Paul Eggert.
35053
35054 2000-10-22  Jim Meyering  <meyering@lucent.com>
35055
35056         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
35057         [CYCLIC]: Remove now-unused definition.
35058
35059         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
35060         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
35061         Suggestion from Ulrich Drepper.
35062
35063 2000-10-21  Jim Meyering  <meyering@lucent.com>
35064
35065         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
35066         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
35067         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
35068
35069 2000-10-21  Jim Meyering  <meyering@lucent.com>
35070
35071         * lib/dirname.c (memrchr): Declare if necessary.
35072         (dir_name): Remove the restriction that there be no
35073         trailing slashes.  Now, this code skips past them, effectively
35074         ignoring them.
35075         [TEST_DIRNAME] (main): New unit tests.
35076
35077         * lib/memrchr.c: New file from GNU libc.
35078         Undef __memrchr, too.
35079         [!weak_alias]: Define __memrchr to memrchr.
35080         Guard weak_alias use with `#ifdef weak_alias'.
35081
35082 2000-10-21  Jim Meyering  <meyering@lucent.com>
35083
35084         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
35085         (dir_name): Use dir_name_r.
35086         * lib/dirname.h (dir_name_r): Declare it.
35087
35088 2000-10-17  Jim Meyering  <meyering@lucent.com>
35089
35090         * lib/quote.h (PARAMS): Define and use.
35091         Reported by Akim Demaille.
35092
35093         * lib/getopt.c: Update from libc.
35094
35095 2000-10-16  Jim Meyering  <meyering@lucent.com>
35096
35097         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
35098         setlocale.
35099         From Jan Fedak.
35100
35101 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
35102
35103         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
35104
35105 2000-09-25  Jim Meyering  <meyering@lucent.com>
35106
35107         * lib/md5.h (rol): Define (from GnuPG).
35108
35109         * lib/sha.c: Give credit (GnuPG) where due.
35110         (M): Use rol rather than open-coding it.
35111         Add a FIXME comment.
35112
35113 2000-09-21  Jim Meyering  <meyering@lucent.com>
35114
35115         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
35116         Reported by Michael Stone.
35117
35118 2000-09-20  Jim Meyering  <meyering@lucent.com>
35119
35120         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
35121         (noinst_HEADERS): Add sha.h.
35122         Based on code from Scott G. Miller and from GnuPG.
35123
35124 2000-09-18  Jim Meyering  <meyering@lucent.com>
35125
35126         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
35127         LIBS. Otherwise, everyone ends up linking with -lelf for some
35128         configurations.
35129         Reported by Mike Stone.
35130
35131 2000-09-15  Jim Meyering  <meyering@lucent.com>
35132
35133         * lib/regex.c: Update from libc.
35134
35135 2000-09-10  Jim Meyering  <meyering@lucent.com>
35136
35137         * lib/getopt.c (_getopt_internal): Update from glibc.
35138
35139 2000-09-09  Jim Meyering  <meyering@lucent.com>
35140
35141         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
35142         think it should be used as a general replacement for isascii.
35143         * lib/fnmatch.c: Likewise.
35144         * lib/mbswidth.c: Likewise
35145         * lib/regex.c: Likewise.
35146
35147         Don't use atoi.
35148         * lib/userspec.c: Include sys/param.h and limits.h.
35149         Include xstrtol.h.
35150         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
35151         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
35152         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
35153         UID, GID.  Check range.
35154
35155 2000-09-06  Jim Meyering  <meyering@lucent.com>
35156
35157         * lib/getopt.c (_getopt_internal): Update from glibc.
35158
35159 2000-08-30  Jim Meyering  <meyering@lucent.com>
35160
35161         * lib/strftime.c: Merge in changes from GNU libc.
35162
35163 2000-08-26  Jim Meyering  <meyering@lucent.com>
35164
35165         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
35166         * m4/fpending.m4: New file.
35167
35168 2000-08-26  Jim Meyering  <meyering@lucent.com>
35169
35170         * lib/closeout.c: Include "__fpending.h".
35171         (close_stdout_status): Return right away if there's nothing to flush.
35172
35173         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
35174         * lib/__fpending.c: New file.
35175         * lib/__fpending.h: New file.
35176
35177 2000-08-20  Jim Meyering  <meyering@lucent.com>
35178
35179         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
35180         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
35181         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
35182
35183 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
35184
35185         Improve fileutils installation on systems where running
35186         programs (like install) can't be unlinked.
35187         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
35188         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
35189
35190 2000-08-07  Paul Eggert  <eggert@twinsun.com>
35191
35192         Standardize on "memory exhausted" instead of "Memory exhausted"
35193         or "virtual memory exhausted".
35194         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
35195         "virtual memory exhausted".
35196         * lib/same.c (same_name): Invoke xalloc_die instead of printing
35197         our own message.
35198         * lib/userspec.c (parse_user_spec): Likewise.
35199         * lib/bumpalloc.h: comment fix
35200         * lib/same.c, userspec.c: Include xalloc.h.
35201
35202         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
35203         not char *const and pointing to a constant array.
35204         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
35205         (xrealloc): Comment fix.
35206
35207         * lib/userspec.c (parse_user_spec):
35208         Don't translate a message until just before returning,
35209         to avoid unnecessary translation.
35210
35211 2000-08-07  Jim Meyering  <meyering@lucent.com>
35212
35213         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
35214         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
35215         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
35216         getgroups.c, gethostname.c, getopt.h, group-member.c,
35217         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
35218         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
35219         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
35220         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
35221         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
35222         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
35223         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
35224         yesno.c: Back out Copyright date changes for each file with no change
35225         this year.  This eases coordination with other programs using the same
35226         source code modules.  From Paul Eggert.
35227
35228 2000-08-06  Paul Eggert  <eggert@twinsun.com>
35229
35230         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
35231         not char, for compatibility with glibc 2.1.3 strftime.c.
35232
35233 2000-08-03  Greg McGary  <greg@mcgary.org>
35234
35235         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
35236         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
35237         (EXTEND_BUFFER): Use them.
35238
35239 2000-08-01  Jim Meyering  <meyering@lucent.com>
35240
35241         * lib/dirname.c (ISSLASH): Define.
35242         (BACKSLASH_IS_PATH_SEPARATOR): Define.
35243         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
35244         both `\' and `/' may be use as path separators.
35245         Based on a patch from Prashant TR.
35246
35247 2000-07-31  Paul Eggert  <eggert@twinsun.com>
35248
35249         * lib/quotearg.c (quotearg_n_options): Don't make the initial
35250         slot vector a constant, since it might get modified.
35251
35252 2000-07-31  Jim Meyering  <meyering@lucent.com>
35253
35254         * lib/xmalloc.c: Use `virtual memory exhausted', not
35255         `Memory exhausted'.
35256         * lib/obstack.c (print_and_abort): Likewise.
35257
35258 2000-07-30  Paul Eggert  <eggert@twinsun.com>
35259
35260         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
35261         buffer, so that the caller can always quote one small
35262         component of a "memory exhausted" message in slot 0.
35263         From a suggestion by Jim Meyering.
35264
35265 2000-07-30  Jim Meyering  <meyering@lucent.com>
35266
35267         * lib/makepath.c (make_path): Quote the other instance, too.
35268
35269         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
35270         (STATIC_BUF_SIZE): Define.
35271         (quotearg_n_options): Use only statically allocated storage when
35272         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
35273         than STATIC_BUF_SIZE.
35274
35275 2000-07-29  Jim Meyering  <meyering@lucent.com>
35276
35277         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
35278         * lib/dirname.c (dir_name): Likewise.
35279
35280         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
35281         `/'.
35282
35283         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
35284         (dir_name): Assert that there are no trailing slashes.
35285
35286 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
35287
35288         * lib/mbswidth.h (mbswidth): Add a flags argument.
35289         (mbswidth): New declaration.
35290         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
35291         * lib/mbswidth.c (mbswidth): Add a flags argument.
35292         (mbsnwidth): New function.
35293
35294 2000-07-24  Jim Meyering  <meyering@lucent.com>
35295
35296         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
35297
35298 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35299
35300         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
35301
35302 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35303
35304         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
35305         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
35306         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
35307         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
35308         invoke multibyte primitives.
35309
35310 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35311
35312         * lib/quotearg.c:
35313         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
35314         so that mbstate_t is always defined.
35315
35316         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
35317         be 1 in at least one GCC installation, and this configuration
35318         error is likely to be common.  Ignoring MB_LEN_MAX hurts
35319         performance on hosts that have mbrtowc but have only unibyte
35320         locales, but I assume these hosts are rare.
35321
35322 2000-07-23  Paul Eggert  <eggert@twinsun.com>
35323
35324         * lib/mbswidth.c (_XOPEN_SOURCE):
35325         Don't define; this causes problems on Solaris 7.
35326         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
35327
35328 2000-07-23  Jim Meyering  <meyering@lucent.com>
35329
35330         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
35331         too: getgrgid, getpwuid, getuid.
35332
35333 2000-07-23  Jim Meyering  <meyering@lucent.com>
35334
35335         * lib/basename.c (base_name): Add an assertion.
35336
35337 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
35338
35339         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
35340         shadow its mbsinit function.
35341
35342 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
35343
35344         * lib/mbswidth.h: New file.
35345         * lib/mbswidth.c: New file.
35346         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
35347         (noinst_HEADERS): Add mbswidth.h.
35348
35349 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
35350
35351         * lib/config.charset: Add support for FreeBSD. Improve support for
35352         HP-UX and IRIX 6.
35353
35354 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
35355
35356         * m4/mbswidth.m4: New file.
35357         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
35358
35359 2000-07-15  Jim Meyering  <meyering@lucent.com>
35360
35361         * lib/makepath.c: Include quote.h.
35362         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
35363         corresponding argument in a `quote (...)' call.
35364         Give better diagnostics.
35365
35366         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
35367         (noinst_HEADERS): Add quote.h.
35368
35369         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
35370         from tar's src/misc.c.
35371         * lib/quote.h: New file.  Prototypes for same.
35372
35373 2000-07-14  Paul Eggert  <eggert@twinsun.com>
35374
35375         From a suggestion by Bruno Haible.
35376         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
35377         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
35378         to decide whether to define the BeOS workaround macro;
35379         this adjusts to the change to AC_MBSTATE_T.
35380
35381 2000-07-14  Jim Meyering  <meyering@lucent.com>
35382
35383         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
35384         jm_AC_TYPE_UINTMAX_T.
35385
35386 2000-07-13  Paul Eggert  <eggert@twinsun.com>
35387
35388         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
35389
35390         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
35391         quotearg_buffer_restyled): Add support for
35392         clocale_quoting_style.  Undo previous change to
35393         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
35394         and "{RIGHT QUOTATION MARK}" msgids.
35395
35396 2000-07-10  Paul Eggert  <eggert@twinsun.com>
35397
35398         From a suggestion by Bruno Haible.
35399         * m4/mbstate_t.m4 (AC_MBSTATE_T):
35400         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
35401         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
35402         and mbstate_t, to a single-part test that simply defines mbstate_t.
35403         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
35404         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
35405
35406 2000-07-10  Jim Meyering  <meyering@lucent.com>
35407
35408         * m4/strerror_r.m4: Mirror the correction made in autoconf.
35409
35410         * m4/gnu-source.m4: Output to confdefs.h directly.
35411         Suggestion from Akim Demaille.
35412
35413 2000-07-09  Paul Eggert  <eggert@twinsun.com>
35414
35415         The old behavior of quoting `like this' doesn't look good with
35416         newer, ISO-style fonts.  See:
35417         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
35418
35419         Instead, quote "like this" by default.  Let the translator
35420         tailor the locale-specific quoting behavior by providing
35421         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
35422
35423         * lib/quotearg.c (N_): New macro.
35424         (gettext_default): New function.
35425         (quotearg_buffer_restyled): Use
35426         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
35427         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
35428
35429 2000-07-09  Jim Meyering  <meyering@lucent.com>
35430
35431         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
35432         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
35433
35434         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
35435         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
35436
35437 2000-07-09  Jim Meyering  <meyering@lucent.com>
35438
35439         * lib/Most files: Update copyright dates to include 2000.
35440
35441 2000-07-08  Jim Meyering  <meyering@lucent.com>
35442
35443         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
35444         if not defined.
35445         (xgethostname): Remove now-unnecessary #ifdef.
35446         Move declaration of `err' into loop where it's used.
35447
35448 2000-07-05  Paul Eggert  <eggert@twinsun.com>
35449         and Bruno Haible  <haible@clisp.cons.org>
35450
35451         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
35452         only if the test for an object-type mbstate_t fails.  This
35453         prevents us from mistakenly reporting that mbstate_t is a
35454         system object type after we "#define mbstate_t int" to work
35455         around its lack.
35456
35457 2000-07-05  Paul Eggert  <eggert@twinsun.com>
35458         and Bruno Haible  <haible@clisp.cons.org>
35459
35460         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
35461
35462 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35463
35464         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
35465         to strerror_r.
35466         Include <ctype.h> for use of isalpha.
35467
35468 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35469
35470         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
35471         by allocating a larger buffer. Test the gethostname return value for
35472         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
35473         returns an error and ENAMETOOLONG isn't defined.
35474
35475 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
35476
35477         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
35478         dimension.
35479
35480 2000-07-04  Jim Meyering  <meyering@lucent.com>
35481
35482         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
35483         of the deprecated AC_CHECKING.
35484
35485 2000-07-04  Jim Meyering  <meyering@lucent.com>
35486
35487         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
35488         Reported by Bruno Haible.
35489
35490 2000-07-04  Jim Meyering  <meyering@lucent.com>
35491
35492         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
35493         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
35494         lacks mbrtowc.
35495
35496 2000-07-03  Paul Eggert  <eggert@twinsun.com>
35497
35498         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
35499         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
35500
35501 2000-07-03  Paul Eggert  <eggert@twinsun.com>
35502         and Bruno Haible  <haible@clisp.cons.org>
35503
35504         * lib/quotearg.c (mbrtowc):
35505         Assign to *pwc, and return 1 only if result is nonzero.
35506         (iswprint): Use ISPRINT when substituting our own mbrtowc.
35507
35508 2000-07-03  Jim Meyering  <meyering@lucent.com>
35509
35510         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
35511
35512 2000-07-03  Jim Meyering  <meyering@lucent.com>
35513
35514         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
35515         This is necessary to get a definition of e.g., UTMP_FILE on
35516         HP-UX 10.20.
35517         From Bob Proulx.
35518
35519 2000-07-02  Jim Meyering  <meyering@lucent.com>
35520
35521         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
35522
35523         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
35524         AC_LIBOBJ(function_name).
35525         * m4/chown.m4: Likewise.
35526         * m4/fnmatch.m4: Likewise.
35527         * m4/ftruncate.m4: Likewise.
35528         * m4/getgroups.m4: Likewise.
35529         * m4/getline.m4: Likewise.
35530         * m4/group-member.m4: Likewise.
35531         * m4/jm-macros.m4: Likewise.
35532         * m4/lstat.m4: Likewise.
35533         * m4/malloc.m4: Likewise.
35534         * m4/memcmp.m4: Likewise.
35535         * m4/nanosleep.m4: Likewise.
35536         * m4/putenv.m4: Likewise.
35537         * m4/realloc.m4: Likewise.
35538         * m4/regex.m4: Likewise.
35539         * m4/stat.m4: Likewise.
35540         * m4/strftime.m4: Likewise.
35541
35542 2000-07-02  Jim Meyering  <meyering@lucent.com>
35543
35544         * lib/quotearg.c (mbstate_t): Don't define here.
35545
35546 2000-07-02  Jim Meyering  <meyering@lucent.com>
35547
35548         * lib/nanosleep.c (SIGCONT): Define if not already defined.
35549
35550 2000-07-01  Jim Meyering  <meyering@lucent.com>
35551
35552         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
35553
35554 2000-07-01  Jim Meyering  <meyering@lucent.com>
35555
35556         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
35557         problem.
35558
35559 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
35560
35561         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
35562         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
35563
35564 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
35565
35566         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
35567         per change in ../m4/ls-mntd-fs.m4.
35568         (read_filesystem_list): Ignore symbolic links.
35569
35570 2000-06-29  Jim Meyering  <meyering@lucent.com>
35571
35572         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
35573         for declaration of strcmp.
35574
35575         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
35576
35577         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
35578         Avoid warning by casting result to `char *' to remove `const'.
35579
35580 2000-06-28  Jim Meyering  <meyering@lucent.com>
35581
35582         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
35583         included by quotearg.c, for which we perform this test.  From
35584         Bruno Haible.
35585
35586 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
35587
35588         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
35589         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
35590         <utmpx.h> exists, put readutmp.o into LIBOBJS.
35591
35592 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
35593
35594         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
35595
35596 2000-06-26  Paul Eggert  <eggert@twinsun.com>
35597
35598         savedir now sets errno on failure and invokes xmalloc to get memory.
35599         Fix a couple of other minor bugs while we're at it.
35600
35601         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
35602         (NAMLEN): Remove macro.
35603         (malloc, realloc): Remove decls.
35604         (stpcpy): Likewise.
35605         ("xalloc.h"): Include.
35606         (NAME_SIZE_DEFAULT): New macro.
35607         (savedir): Use xmalloc / xrealloc to allocate memory.
35608         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
35609         Skip "" directory entries.
35610         Use strlen to calculate directory entry length, since the old method
35611         is rarely used these days and isn't worth supporting.
35612         Don't use a pointer after freeing it.
35613         Check for integer overflow when calculating allocation size.
35614         Use memcpy to copy entries, instead of stpcpy.
35615         Set errno properly when returning NULL.
35616         Check for readdir error.
35617
35618 2000-06-26  Jim Meyering  <meyering@lucent.com>
35619
35620         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
35621
35622 2000-06-25  Jim Meyering  <meyering@lucent.com>
35623
35624         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
35625         Linux header bug when _XOPEN_SOURCE is defined to 500.
35626
35627 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
35628
35629         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
35630         deficiency.
35631
35632 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
35633
35634         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
35635         Include xalloc.h.
35636         Don't include <stdlib.h>.  Don't declare malloc, realloc.
35637
35638 2000-06-24  Jim Meyering  <meyering@lucent.com>
35639
35640         * m4/strerror_r.m4: Revive this file -- to try out an experimental
35641         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
35642         for which strerror does return char*, but which lacks a conveniently
35643         accessible declaration of the function.  If the compile-test says
35644         strerror_r doesn't work, then resort to a `run'-test that works on
35645         BeOS and segfaults on DEC Unix.
35646
35647 2000-06-24  Jim Meyering  <meyering@lucent.com>
35648
35649         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
35650
35651 2000-06-23  Paul Eggert  <eggert@twinsun.com>
35652
35653         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
35654         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
35655
35656 2000-06-23  Paul Eggert  <eggert@twinsun.com>
35657
35658         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
35659         (mbrtowc, mbstate_t): Define substitutes if
35660         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
35661         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
35662         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
35663
35664 2000-06-23  Jim Meyering  <meyering@lucent.com>
35665
35666         * m4/afs.m4: Add missing AC_MSG_RESULT.
35667         Reported by Bruno Haible.
35668
35669         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
35670         Suggestion from Bruno Haible.
35671
35672 2000-06-23  Jim Meyering  <meyering@lucent.com>
35673
35674         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
35675
35676 2000-06-21  Jim Meyering  <meyering@lucent.com>
35677
35678         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
35679
35680 2000-06-21  Jim Meyering  <meyering@lucent.com>
35681
35682         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
35683         (noinst_HEADERS): Add getstr.h.
35684
35685         * lib/getline.c (getstr): Move into a separate file.
35686         * lib/getstr.c (getstr): New file, extracted from getline.c, with
35687         the following changes: new parameter, delim2; both delim[12]
35688         parameters have type `int', not `char'.  The latter would lose
35689         with 8-bit delimiters.
35690         * lib/getstr.h: New file.
35691
35692 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35693
35694         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
35695         than 1024, return a memory chunk of least possible size, instead
35696         of size PATH_MAX + 2. In the loop, increment the size proportionally.
35697         Use free/xmalloc instead of xrealloc to avoid copying for very long
35698         paths.
35699
35700 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35701
35702         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
35703         the empty string.
35704
35705 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
35706
35707         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
35708         address, not strdup.  Include <stdlib.h> and don't declare free().
35709
35710 2000-06-19  Jim Meyering  <meyering@lucent.com>
35711
35712         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
35713
35714 2000-06-18  Jim Meyering  <meyering@lucent.com>
35715
35716         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
35717
35718         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
35719         `checking whether...' message to be consistent with that of the
35720         lstat test.
35721
35722 2000-06-18  Jim Meyering  <meyering@lucent.com>
35723
35724         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
35725         Besides, these days every porting target provides a mkdir function.
35726
35727         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
35728         needed. (this snippet comes from src/system.h).
35729
35730 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
35731
35732         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
35733
35734 2000-06-15  Paul Eggert  <eggert@twinsun.com>
35735
35736         * lib/human.c (adjust_value): New function.
35737         (human_readable_inexact): Apply rounding style even when
35738         printing approximate values.
35739
35740 2000-06-14  Paul Eggert  <eggert@twinsun.com>
35741
35742         * lib/human.c (human_readable_inexact): Allow an input block
35743         size that is not a multiple of the output block size, and vice versa.
35744         Reported by Piergiorgio Sartor.
35745
35746 2000-06-14  Paul Eggert  <eggert@twinsun.com>
35747
35748         * lib/getdate.y (get_date): Apply relative times after time
35749         zone indicator, not before.  Reported by Todd A. Jacobs.
35750
35751 2000-06-13  Jim Meyering  <meyering@lucent.com>
35752
35753         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
35754
35755         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
35756
35757 2000-06-12  Paul Eggert  <eggert@twinsun.com>
35758
35759         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
35760
35761 2000-06-12  Jim Meyering  <meyering@lucent.com>
35762
35763         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
35764         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
35765         optional argument.
35766         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
35767         the optional argument, `lib'.
35768
35769 2000-06-08  Jim Meyering  <meyering@lucent.com>
35770
35771         * m4/largefile.m4: Remove file (now that it's part of autoconf).
35772
35773 2000-06-04  Paul Eggert  <eggert@twinsun.com>
35774
35775         Rewrite largefile configuration so that we don't need to run
35776         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
35777         AC_CANONICAL_HOST in configure.in -- jmm]
35778
35779         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
35780         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
35781         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
35782         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
35783         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
35784         All uses changed.
35785         Instead of inspecting the output of getconf, try to compile the
35786         test program without and with the macro definition.
35787         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
35788         for getconf.  Instead, check for the needed flags by compiling
35789         test programs.
35790
35791 2000-06-04  Paul Eggert  <eggert@twinsun.com>
35792
35793         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
35794
35795 2000-06-04  Jim Meyering  <meyering@lucent.com>
35796
35797         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
35798         SunOS 4.1.4 for which gid_t is an unsigned type.
35799
35800 2000-06-03  Jim Meyering  <meyering@lucent.com>
35801
35802         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
35803         now that autoconf requires that.
35804
35805         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
35806         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
35807         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
35808
35809 2000-06-03  Jim Meyering  <meyering@lucent.com>
35810
35811         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
35812
35813 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
35814
35815         * m4/glibc21.m4: New file.
35816         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
35817
35818 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
35819
35820         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
35821         newer, don't install charset.alias.
35822         * lib/config.charset: Change the Linux/glibc rules so they become empty
35823         on glibc-2.1 or newer.
35824
35825 2000-06-02  Jim Meyering  <meyering@lucent.com>
35826
35827         * lib/mountlist.c: Back out last change.  Instead, do this...
35828         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
35829         me_dummy member using the same `ignore'-testing code.
35830         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
35831         fs_type strings.
35832         From Mark D. Roth.
35833
35834 2000-05-29  Jim Meyering  <meyering@lucent.com>
35835
35836         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
35837         mounts with the `ignore' attribute.  Based on a patch from
35838         Mark D. Roth.
35839
35840 2000-05-28  Jim Meyering  <meyering@lucent.com>
35841
35842         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
35843         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35844         * m4/stat.m4: Likewise.
35845         * m4/lstat.m4: Likewise.
35846         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
35847
35848         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
35849         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
35850
35851 2000-05-26  Jim Meyering  <meyering@lucent.com>
35852
35853         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
35854
35855 2000-05-24  Jim Meyering  <meyering@lucent.com>
35856
35857         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
35858         autoconf requires that.
35859         * m4/lib-check.m4: Likewise.
35860         * m4/jm-macros.m4: Likewise.
35861         * m4/strftime.m4: Likewise.
35862
35863         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
35864         AC_CHECK_DECLS, now that autoconf requires that.
35865
35866 2000-05-22  Jim Meyering  <meyering@lucent.com>
35867
35868         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35869         * m4/lstat.m4: Likewise.
35870
35871 2000-05-22  Jim Meyering  <meyering@lucent.com>
35872
35873         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
35874
35875 2000-05-20  Jim Meyering  <meyering@lucent.com>
35876
35877         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
35878         (jm_PREREQ): Use it.
35879
35880 2000-05-18  Jim Meyering  <meyering@lucent.com>
35881
35882         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
35883         back, too, since it may have been modified by allocate_entry.
35884         (hash_delete): Rewrite to use neither the assignment operator
35885         nor the comma operator in an if-expression.
35886
35887 2000-05-15  Paul Eggert  <eggert@twinsun.com>
35888
35889         * lib/closeout.c:
35890         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
35891         Remove; no longer needed.
35892         "quotearg.h": Add include.
35893         (file_name): Do not bother to explicitly initialize to NULL; it's less
35894         efficient on some hosts.
35895         (close_stdout_status): Remove test as to whether stdout was already
35896         closed; it breaks for the case "echo x | sort >&-".
35897         Quote file name colons.
35898         Do not assume that _("write error") lacks format strings.
35899
35900 2000-05-15  Jim Meyering  <meyering@lucent.com>
35901
35902         * lib/version-etc.c (version_etc_copyright): Update the copyright
35903         string used in all --version output.
35904
35905 2000-05-14  Jim Meyering  <meyering@lucent.com>
35906
35907         * lib/closeout.c (close_stdout_set_file_name): New function.
35908         (close_stdout_status): Use new file-scoped global.
35909         Return right away if fstat says the stdout file descriptor is invalid.
35910         * lib/closeout.h (close_stdout_set_file_name): Declare.
35911
35912 2000-05-10  Jim Meyering  <meyering@lucent.com>
35913
35914         * lib/closeout.c [default_exit_status]: New file-scoped variable.
35915         (close_stdout_set_status): New function.
35916         * lib/closeout.h (close_stdout_set_status): Declare.
35917
35918 2000-05-09  Jim Meyering  <meyering@lucent.com>
35919
35920         * m4/gettext.m4: Rename this...
35921         * m4/libintl.m4: ...to this.
35922
35923 2000-05-08  Jim Meyering  <meyering@lucent.com>
35924
35925         * lib/long-options.c: Don't include closeout.h.
35926         (parse_long_options): Don't call close_stdout for --version.
35927
35928 2000-05-06  Paul Eggert  <eggert@twinsun.com>
35929
35930         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
35931         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
35932         2.1.3 bug.  This avoids a clash when files like regex.c define
35933         _GNU_SOURCE.
35934
35935 2000-05-06  Jim Meyering  <meyering@lucent.com>
35936
35937         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
35938         (AC_REPLACE_FUNCS): Add strnlen.
35939
35940         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
35941         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
35942
35943         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
35944         AC_SEARCH_LIBS call for nanosleep.
35945         (LIB_NANOSLEEP): Set and AC_SUBST.
35946
35947 2000-05-06  Jim Meyering  <meyering@lucent.com>
35948
35949         * lib/strnlen.c: Undefine __strnlen and strnlen.
35950         [!weak_alias]: Define __strnlen to strnlen.
35951
35952         * lib/atexit.c: New file, from libiberty.
35953
35954 2000-05-06  Jim Meyering  <meyering@lucent.com>
35955
35956         * lib/closeout.c (close_stdout_status): Also check for errors on the
35957         stderr stream.
35958
35959 2000-05-05  Jim Meyering  <meyering@lucent.com>
35960
35961         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
35962         AC_SEARCH_LIBS call for clock_gettime.
35963         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
35964
35965         * m4/search-libs.m4: Update from autoconf.
35966
35967         su doesn't work on Solaris 2.6.
35968         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
35969         <shadow.h>.  Reported by Dragos Harabor.
35970
35971 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
35972
35973         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
35974         memcpy instead of xmalloc, xrealloc, path_concat.
35975         (locale_charset): Treat empty environment variables as absent.
35976         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
35977
35978 2000-05-04  Jim Meyering  <meyering@lucent.com>
35979
35980         * lib/getopt.c: Update from glibc.
35981         * lib/obstack.c: Likewise.
35982         * lib/obstack.h: Likewise.
35983         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
35984         file
35985
35986         * lib/regex.h: Likewise.
35987         * lib/strndup.c: Likewise.
35988         * lib/strnlen.c: New file, from glibc.
35989
35990 2000-05-03  Jim Meyering  <meyering@lucent.com>
35991
35992         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
35993
35994 2000-05-02  Paul Eggert  <eggert@twinsun.com>
35995
35996         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
35997         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
35998         compile-time test, rather than inspecting host and OS, to
35999         decide whether to define _LARGEFILE_SOURCE.
36000
36001 2000-05-01  Jim Meyering  <meyering@lucent.com>
36002
36003         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
36004
36005         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
36006         Based on a patch from Bruno Haible.
36007
36008 2000-05-01  Jim Meyering  <meyering@lucent.com>
36009
36010         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
36011
36012 2000-04-29  Jim Meyering  <meyering@lucent.com>
36013
36014         * lib/path-concat.c: Declare strdup only if it's not defined.
36015         * lib/canon-host.c: Likewise.
36016
36017 2000-04-28  Jim Meyering  <meyering@lucent.com>
36018
36019         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
36020         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
36021         is included first, then limits.h is included by locale.h by libintl.h.
36022         From John David Anglin.
36023
36024 2000-04-25  Jim Meyering  <meyering@lucent.com>
36025
36026         * lib/makepath.c (S_IRWXUGO): Define.
36027         (make_path): Always perform explicit chmod if MODE specifies any
36028         of the `special' permission bits.  Prompted by a bug report against
36029         install from Mate Wierdl and Joost van Baal.
36030
36031 2000-04-18  Jim Meyering  <meyering@lucent.com>
36032
36033         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
36034         (jm_PREREQ): Use it.
36035
36036 2000-04-18  Jim Meyering  <meyering@lucent.com>
36037
36038         * lib/README: New file.
36039
36040         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
36041         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
36042
36043 2000-04-17  Jim Meyering  <meyering@lucent.com>
36044
36045         Get it right :-)
36046         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
36047         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
36048         Suggestion from Akim Demaille.
36049
36050 2000-04-17  Jim Meyering  <meyering@lucent.com>
36051
36052         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
36053         the definition of it to rpl_strftime also defined-away the system's
36054         declaration.
36055
36056 2000-04-15  Jim Meyering  <meyering@lucent.com>
36057
36058         Use `C' to denote so-called `contiguous' files, the same way
36059         that tar does.
36060         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
36061         (ftypelet): Use S_ISCTG.
36062         From Michael Deutschmann.
36063
36064 2000-04-14  Jim Meyering  <meyering@lucent.com>
36065
36066         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
36067         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
36068         clobbered.
36069
36070 2000-04-14  Jim Meyering  <meyering@lucent.com>
36071
36072         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
36073
36074 2000-04-13  Jim Meyering  <meyering@lucent.com>
36075
36076         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
36077         AH_VERBATIM to insert required #ifndef into config.h.in.
36078         Suggestion from Akim Demaille.
36079
36080 2000-04-12  Jim Meyering  <meyering@lucent.com>
36081
36082         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
36083         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
36084         Christian Krackowizer.
36085
36086         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
36087         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
36088         (AC_SYS_LARGEFILE): Require.
36089         (AM_C_PROTOTYPES): Require.
36090
36091 2000-04-08  Jim Meyering  <meyering@lucent.com>
36092
36093         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
36094         names don't conflict.  Reported by Eli Zaretskii.
36095
36096 2000-04-07  Jim Meyering  <meyering@lucent.com>
36097
36098         * lib/putenv.c: Move inclusion of errno.h so it follows that of
36099         sys/types.h, to work around system header problems on AIX 3.2.5.
36100         From Bruno Haible.
36101
36102 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
36103
36104         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
36105         bug.  Deal with the different error behavior of Irix iconv.
36106
36107 2000-04-05  Paul Eggert  <eggert@twinsun.com>
36108
36109         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
36110         IRIX if the installer said otherwise.
36111
36112 2000-04-05  Jim Meyering  <meyering@lucent.com>
36113
36114         Portability tweaks required for ultrix4.3.
36115         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
36116         (jm_CHECK_DECLS): Add getutent to the list of functions.
36117         (_jm_DECL_HEADERS): Add utmpx.h.
36118         From John David Anglin.
36119
36120         * m4/strftime.m4: Back out the 2000-04-02 change.
36121         Instead of that change, simply undefine putenv in the test program.
36122
36123 2000-04-05  Jim Meyering  <meyering@lucent.com>
36124
36125         Portability tweaks required for ultrix4.3.
36126         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
36127         getutent.
36128         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
36129         * lib/canon-host.c: Declare strdup.
36130         * lib/path-concat.c: Likewise.
36131         From John David Anglin.
36132
36133 2000-04-04  Jim Meyering  <meyering@lucent.com>
36134
36135         Be more DOS 8.3-friendly.
36136         * lib/ref-add.sin: Renamed from ref-add.sed.in.
36137         * lib/ref-del.sin: Renamed from ref-del.sed.in.
36138         * lib/Makefile.am: Reflect renaming.
36139         Reported by Eli Zaretskii.
36140
36141         Use a temporary file name that won't clash with `charset.alias'
36142         in the DOS 8.3 name space.
36143         * lib/Makefile.am (charset_tmp): Define.
36144         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
36145         (uninstall-local): Likewise.
36146         Reported by Eli Zaretskii.
36147
36148 2000-04-03  Jim Meyering  <meyering@lucent.com>
36149
36150         * m4/gettext.m4: Fix typo in comment.
36151
36152         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
36153         textutils/configure.in).  Suggestion from Paul Eggert.
36154         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
36155
36156 2000-04-02  Paul Eggert  <eggert@twinsun.com>
36157
36158         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
36159         variable in the shell rather than using putenv, which isn't
36160         portable.  This avoids the configure-time inter-test dependency
36161         on the potentially-renamed putenv function.
36162
36163 2000-03-30  Paul Eggert  <eggert@twinsun.com>
36164
36165         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
36166         before checking struct stat.st_blksize, so that
36167         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
36168
36169 2000-03-29  Paul Eggert  <eggert@twinsun.com>
36170
36171         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
36172         since strftime.c uses HAVE_STRFTIME to decide whether to use
36173         the underlying strftime.
36174
36175 2000-03-29  Paul Eggert  <eggert@twinsun.com>
36176
36177         * lib/time/strftime.c (my_strftime): Make sure we call the system
36178         strftime, not ourselves, when invoking the underlying strftime.
36179
36180 2000-03-24  Jim Meyering  <meyering@lucent.com>
36181
36182         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
36183         (charset_alias): Define.
36184         (install-exec-local): Factor out common code.
36185         (uninstall-local): Split lines longer than 80.
36186         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
36187         (SUFFIXES): Define.
36188         (.sed.in.sed): New rule.  Don't redirect directly to $@.
36189         (CLEANFILES): Add ref-add.sed and ref-del.sed.
36190
36191 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
36192
36193         * lib/config.charset: Output a line containing "Packages using this
36194         file".
36195         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
36196         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
36197         ref-del.sed): New rules.
36198
36199 2000-03-17  Jim Meyering  <meyering@lucent.com>
36200
36201         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
36202         Otherwise, include <strings.h>
36203
36204 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
36205
36206         * lib/unicodeio.c (utf8_wctomb): New function.
36207         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
36208         format instead of in UCS-4 with platform dependent endianness.
36209
36210 2000-03-10  Jim Meyering  <meyering@lucent.com>
36211
36212         * m4/lib-check.m4: Look for getspnam in -lgen, too.
36213         From Marco Franzen.
36214
36215 2000-03-07  Paul Eggert  <eggert@twinsun.com>
36216
36217         * lib/savedir.c (savedir): Work even if directory size is
36218         negative; this can happen with some screwy NFS configurations.
36219
36220 2000-03-06  Jim Meyering  <meyering@lucent.com>
36221
36222         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
36223         if it's NULL (because we ran out of memory).  From Bruno Haible.
36224
36225 2000-03-05  Jim Meyering  <meyering@lucent.com>
36226
36227         * lib/localcharset.c ("path-concat.h"): Include.
36228         (get_charset_aliases): Use path_concat instead of ANSI string
36229         concatenation.
36230
36231         * lib/unicodeio.h (PARAMS): Define.
36232         Use it to guard prototype.
36233
36234 2000-03-04  Jim Meyering  <meyering@lucent.com>
36235
36236         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
36237         for lib/localcharset.c.
36238
36239 2000-03-04  Jim Meyering  <meyering@lucent.com>
36240
36241         * lib/Makefile.am (install-exec-local): Create $(libdir) before
36242         installing into it.
36243         (uninstall-local): Uncomment this rule so `make distcheck' works
36244         once again.
36245
36246         * lib/unicodeio.c (<errno.h>): Include it.
36247         (errno): Declare if not defined.
36248
36249         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
36250
36251         * lib/config.charset: New version, incorporating remarks from a linux
36252         i18n mailing list.  From Bruno Haible.
36253
36254 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
36255
36256         * m4/codeset.m4: New file.
36257         * m4/iconv.m4: New file.
36258         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
36259
36260 2000-03-03  Jim Meyering  <meyering@lucent.com>
36261
36262         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
36263
36264 2000-03-02  Jim Meyering  <meyering@lucent.com>
36265
36266         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
36267         the messages come out on separate lines.
36268
36269         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
36270         rather than jm_CHECK_DECLARATIONS.
36271         * m4/decl.m4: Remove now-unused file.
36272
36273         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
36274         geteuid.
36275
36276 2000-03-02  Jim Meyering  <meyering@lucent.com>
36277
36278         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
36279
36280 2000-03-01  Jim Meyering  <meyering@lucent.com>
36281
36282         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
36283         * lib/unicodeio.c: Likewise.
36284
36285 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
36286
36287         * lib/config.charset: New file.
36288         * lib/localcharset.c: New file.
36289         * lib/unicodeio.h, lib/unicodeio.c: New files.
36290         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
36291         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
36292         (noinst_HEADERS): Add unicodeio.h.
36293         (all-local, install-exec-local, charset.alias): New targets.
36294
36295 2000-02-28  Paul Eggert  <eggert@twinsun.com>
36296
36297         * lib/quotearg.c (ALERT_CHAR): New macro.
36298         (quotearg_buffer_restyled): Use it.
36299
36300 2000-02-27  Jim Meyering  <meyering@lucent.com>
36301
36302         * m4/check-decl.m4: Add getenv to the list.
36303
36304 2000-02-27  Jim Meyering  <meyering@lucent.com>
36305
36306         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
36307         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
36308
36309         * lib/backupfile.c: Guard inclusion of stdlib.h with
36310         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
36311         Declare malloc if needed.
36312
36313         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
36314         `#ifndef HAVE_DECL..'
36315         now that autoconf always defines the HAVE_DECL_ symbols.
36316         * lib/human.c: Likewise.
36317         * lib/same.c: Likewise.
36318         * lib/strtoumax.c: Likewise.
36319
36320         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
36321         declaration check was not run.
36322         * lib/hash.c: Likewise.
36323         * lib/human.c: Likewise.
36324         * lib/same.c: Likewise.
36325         * lib/strtoumax.c: Likewise.
36326
36327         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
36328         `.', then first look up the entire `.'-containing string as a login
36329         name.
36330
36331 2000-02-23  Jim Meyering  <meyering@lucent.com>
36332
36333         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
36334         in place of my hack.
36335
36336 2000-02-18  Paul Eggert  <eggert@twinsun.com>
36337
36338         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
36339         (textint): New typedef.
36340         (parser_control): Member year changed from int to textint.
36341         All uses changed.
36342         (YYSTYPE): Removed; replaced by %union with int and textint members.
36343         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
36344         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
36345         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
36346         (tSNUMBER, tUNUMBER): Now of type <textintval>.
36347         (date, number, to_year): Use width of number in digits, not its value,
36348         to determine whether it's a 2-digit year, or a 2-digit time.
36349         (yylex): Store number of digits of numeric tokens.
36350         Reported by John Kendall.
36351
36352         (parser_control): Changed from struct parser_control to typedef (for
36353         consistency).  All uses changed.
36354
36355         (tID): Removed; not used.
36356         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
36357
36358 2000-02-14  Paul Eggert  <eggert@twinsun.com>
36359
36360         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
36361         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
36362
36363 2000-02-12  Jim Meyering  <meyering@lucent.com>
36364
36365         * lib/userspec.c (ISDIGIT): Define it.
36366         (isdigit): Remove definition.
36367         (is_number): Use ISDIGIT, not isdigit.
36368         <libintl.h>: Include.
36369         (_ and N_): Define.
36370         (parse_user_spec): Mark translatable strings.
36371
36372 2000-02-10  Jim Meyering  <meyering@lucent.com>
36373
36374         With these changes, nanosleep.[ch] are finally enough like the other
36375         lib/* replacement files to compile on a few more losing systems.
36376
36377         * lib/nanosleep.h: Don't include config.h.
36378         Remove prototype from declaration of nanosleep.
36379         (PARAMS): Remove now-unneeded definition.
36380         * lib/nanosleep.c: #undef nanosleep.
36381         (rpl_nanosleep): Rename from nanosleep.
36382
36383 2000-02-10  Jim Meyering  <meyering@lucent.com>
36384
36385         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
36386         gnu_nanosleep to rpl_nanosleep.
36387
36388 2000-02-09  Jim Meyering  <meyering@lucent.com>
36389
36390         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
36391         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
36392
36393 2000-02-08  Akim Demaille  <akim@epita.fr>
36394
36395         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
36396         `[' and `]' and remove uses of `changequote'.
36397         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
36398         (AC_SYS_LARGEFILE): Likewise.
36399         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
36400         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
36401         of changequote.
36402         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
36403         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
36404         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
36405         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
36406
36407 2000-02-05  Jim Meyering  <meyering@lucent.com>
36408
36409         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
36410         Remove explicit use of AC_HEADER_TIME.  It is required by
36411         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
36412         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
36413         in autoconf whereby the expansion of the latter ended up preceding
36414         the expansion of its prerequisite, AC_HEADER_TIME.
36415         Reported by Volker Borchert.
36416
36417 2000-02-03  Jim Meyering  <meyering@lucent.com>
36418
36419         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
36420
36421 2000-02-03  Jim Meyering  <meyering@lucent.com>
36422
36423         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
36424         rather than with `#if HAVE_UTMPNAME'.
36425
36426 2000-02-02  Jim Meyering  <meyering@lucent.com>
36427
36428         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
36429         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
36430         Reported by Eli Zaretskii.
36431
36432 2000-02-01  Jim Meyering  <meyering@lucent.com>
36433
36434         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
36435
36436 2000-01-31  Jim Meyering  <meyering@lucent.com>
36437
36438         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
36439         functions.  Add the time.h and sys/time.h headers along with the
36440         AC_REQUIRE'ment of AC_HEADER_TIME.
36441
36442 2000-01-31  Jim Meyering  <meyering@lucent.com>
36443
36444         * lib/nanosleep.h (nanosleep): Guard declaration with
36445         `#if ! HAVE_DECL_NANOSLEEP'.
36446         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
36447         the declaration in that vendor's sys/timers.h.
36448         Reported by Christian Krackowizer.
36449
36450         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
36451         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
36452         (ISPRINT): Likewise.
36453         Reported by Tom Tromey.
36454
36455 2000-01-30  Jim Meyering  <meyering@lucent.com>
36456
36457         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
36458
36459         * m4/prereq.m4 (utmp_includes): Define.
36460         Check for ut_user and ut_name members in both struct utmpx
36461         and struct utmp.
36462
36463 2000-01-30  Jim Meyering  <meyering@lucent.com>
36464
36465         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
36466         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
36467         header files where only utmpx.ut_user is declared.
36468
36469         * lib/readutmp.h (UT_USER): Define.
36470
36471 2000-01-29  Jim Meyering  <meyering@lucent.com>
36472
36473         * m4/lib-check.m4: New file containing library-related checks from
36474         fileutils and sh-utils (textutils had none).
36475
36476 2000-01-28  Jim Meyering  <meyering@lucent.com>
36477
36478         * m4/perl.m4: Change format of warning message to look more like that
36479         from the missing script.  Suggestion from François Pinard.
36480
36481 2000-01-25  Jim Meyering  <meyering@lucent.com>
36482
36483         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
36484         well as time.h in the compile check.
36485         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
36486         Fix typo in cross-compiling case: s/yes/no/.
36487
36488 2000-01-23  Jim Meyering  <meyering@lucent.com>
36489
36490         * m4/jm-macros.m4: Move df-related tests here from
36491         fileutils/configure.in
36492
36493         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
36494         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
36495
36496         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
36497         s/space/ac_fsusage_space/.
36498         (jm_FILE_SYSTEM_USAGE): Take two parameters.
36499
36500         * m4/ftruncate.m4: New file (derived from part of
36501         fileutils/configure.in).
36502         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
36503         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
36504
36505         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
36506         AC_SUBST these here, rather than just in sh-util/configure.in, so
36507         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
36508         all the same.
36509         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
36510         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
36511         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
36512         (AC_SUBST(POW_LIBM)): Likewise.
36513         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
36514
36515 2000-01-23  Jim Meyering  <meyering@lucent.com>
36516
36517         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
36518         obstack.c.
36519
36520 2000-01-22  Jim Meyering  <meyering@lucent.com>
36521
36522         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
36523
36524         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
36525
36526         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
36527         configure.in
36528         (AC_CHECK_HEADERS): Likewise for sh-utils.
36529         (AC_CHECK_HEADERS): Likewise for textutils.
36530         Merge the three lists of headers.
36531
36532         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
36533         from fileutils' configure.in.
36534
36535         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
36536         code. Moved tests into their own function (_jm_DECL_HEADERS) in
36537         check-decl.m4.
36538
36539         * m4/check-decl.m4: Use #if rather than #ifdef.
36540         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
36541         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
36542         (_jm_DECL_HEADERS): Define new function.
36543         (jm_CHECK_DECLARATIONS): Require it.
36544
36545 2000-01-22  Jim Meyering  <meyering@lucent.com>
36546
36547         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
36548         [! HAVE_DECL_STRTOULL]: Declare strtoull.
36549         Required for some AIX systems.  Reported by Christian Krackowizer.
36550         [TESTING] (main): New function.
36551
36552         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
36553         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
36554         letters.
36555
36556         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
36557         iswprint.
36558
36559         * lib/strverscmp.c (ISDIGIT): Define.
36560         (strverscmp): Use ISDIGIT, not isdigit.
36561
36562 2000-01-19  Jim Meyering  <meyering@lucent.com>
36563
36564         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
36565         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
36566         defines `struct timespec' in <sys/time.h>
36567
36568         * m4/c-bs-a.m4: Remove uses of changequote altogether.
36569         Thanks to Akim for explaining.
36570
36571 2000-01-17  Paul Eggert  <eggert@twinsun.com>
36572
36573         * lib/nanosleep.c (nanosleep):
36574         Don't use SA_INTERRUPT to decide whether to call sigaction, as
36575         POSIX.1 doesn't require SA_INTERRUPT and some systems
36576         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
36577         it's been part of POSIX.1 since day 1 (in 1988).
36578
36579 2000-01-17  Jim Meyering  <meyering@lucent.com>
36580
36581         * lib/interlock: Remove unused file.  Reported by François Pinard.
36582
36583 2000-01-16  Paul Eggert  <eggert@twinsun.com>
36584
36585         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
36586         alert, backslash, formfeed, and vertical tab unnecessarily in
36587         shell quoting style.
36588
36589 2000-01-16  Jim Meyering  <meyering@lucent.com>
36590
36591         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
36592         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
36593         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
36594         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
36595
36596 2000-01-16  Jim Meyering  <meyering@lucent.com>
36597
36598         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
36599         because the latter didn't work.
36600
36601 2000-01-15  Jim Meyering  <meyering@lucent.com>
36602
36603         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
36604         (AC_REPLACE_FUNCS): Add memcpy and memset.
36605         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
36606         Add strpbrk.
36607         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
36608
36609 2000-01-12  Jim Meyering  <meyering@lucent.com>
36610
36611         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
36612         (jm_PREREQ): Use it.
36613         (jm_PREREQ_READUTMP): New macro.
36614         (jm_PREREQ): Use it.
36615
36616 2000-01-11  Paul Eggert  <eggert@twinsun.com>
36617
36618         Quote multibyte characters correctly.
36619         * m4/c-bs-a.m4: New file.
36620         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
36621         (jm_PREREQ): Use it.
36622
36623 2000-01-11  Paul Eggert  <eggert@twinsun.com>
36624
36625         * m4/uintmax_t.m4: Port to autoconf 2.13.
36626
36627 2000-01-08  Jim Meyering  <meyering@ascend.com>
36628
36629         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
36630         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
36631
36632 2000-01-04  Jim Meyering  <meyering@ascend.com>
36633
36634         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
36635         jm_STRUCT_DIRENT_D_TYPE.
36636         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
36637         jm_STRUCT_DIRENT_D_INO.
36638         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
36639         jm_STRUCT_UTIMBUF.
36640         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
36641         renamings.
36642         * m4/utime.m4: Likewise.
36643
36644         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
36645         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
36646
36647 2000-01-03  Paul Eggert  <eggert@twinsun.com>
36648
36649         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
36650         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
36651
36652 2000-01-02  Jim Meyering  <meyering@ascend.com>
36653
36654         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
36655         remember if this is necessary.
36656
36657 1999-12-26  Jim Meyering  <meyering@ascend.com>
36658
36659         * m4/jm-macros.m4: Use it here.
36660         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
36661
36662 1999-12-23  Jim Meyering  <meyering@ascend.com>
36663
36664         * m4/jm-macros.m4: Check for clock_gettime (moved from
36665         fileutils/configure.in)
36666         Check for gettimeofday.
36667
36668 1999-12-20  Jim Meyering  <meyering@ascend.com>
36669
36670         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
36671         autoconf-2.14a-1999-12-20.
36672
36673 1999-12-19  Jim Meyering  <meyering@ascend.com>
36674
36675         * m4/lstat-slash.m4: New file.
36676         * m4/jm-macros.m4: Use the new macro:
36677         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
36678
36679 1999-12-07  Jim Meyering  <meyering@ascend.com>
36680
36681         * m4/perl.m4: Require that File::Compare be available, too.
36682         Too many systems seem to lack it.
36683
36684         * m4/strftime.m4: Add checks for most of the cpp macros tested in
36685         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
36686
36687 1999-11-18  Paul Eggert  <eggert@twinsun.com>
36688
36689         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
36690         problem with the QNX 4.25 shell, which doesn't propagate exit
36691         status of failed commands inside shell assignments.
36692
36693 1999-11-17  Jim Meyering  <meyering@ascend.com>
36694
36695         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
36696
36697 1999-11-07  Jim Meyering  <meyering@ascend.com>
36698
36699         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
36700
36701 1999-11-06  Jim Meyering  <meyering@ascend.com>
36702
36703         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
36704         * m4/jm-macros.m4 (jm_MACROS): Use it here.
36705
36706 1999-11-05  Jim Meyering  <meyering@ascend.com>
36707
36708         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
36709         configure.in of textutils, fileutils, and sh-utils into this one
36710         (shared between those packages) file.
36711         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
36712         AC_STRUCT_ST_BLKSIZE.
36713
36714 1999-11-03  Jim Meyering  <meyering@ascend.com>
36715
36716         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
36717         of AC_CHECK_TYPE checks includes unistd.h.
36718         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
36719         Suggestion from Akim Demaille.
36720
36721 1999-10-30  Jim Meyering  <meyering@ascend.com>
36722
36723         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
36724         m4-quoted string.
36725         * m4/ls-mntd-fs.m4: Likewise.
36726         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
36727         * m4/jm-winsz1.m4: Likewise.
36728
36729         * m4/const.m4: Remove file, since the fix made it into the experimental
36730         version of autoconf.
36731         * m4/mktime.m4: Likewise.
36732
36733         * m4/check-type.m4: Remove file, now that the latest version of
36734         AC_CHECK_TYPE takes a third arg to specify additional #includes.
36735
36736         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
36737         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
36738         AC_CHECK_TYPE.
36739
36740 1999-10-04  Jim Meyering  <meyering@ascend.com>
36741
36742         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
36743
36744 1999-09-22  Paul Eggert  <eggert@twinsun.com>
36745
36746         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
36747         2.95.1 bug with HP-UX 10.20.
36748
36749 1999-09-17  Jim Meyering  <meyering@ascend.com>
36750
36751         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
36752         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
36753         due to missing strdup (against sh-utils-2.0).
36754
36755 1999-08-29  Jim Meyering  <meyering@ascend.com>
36756
36757         * m4/jm-macros.m4: Require jm_BISON.
36758         * m4/bison.m4: New file.
36759
36760 1999-08-17  Paul Eggert  <eggert@twinsun.com>
36761
36762         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
36763         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
36764
36765 1999-08-05  Jim Meyering  <meyering@ascend.com>
36766
36767         * m4/getline.m4: Rename test file from conftestdata to conftest.data
36768         to avoid conflicts with `conftest' on 8+3 filesystems.
36769         Suggestion from Eli Zaretskii.
36770
36771 1999-08-04  Jim Meyering  <meyering@ascend.com>
36772
36773         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
36774         fileutils and sh-utils (textutils's getline test was inadequate).
36775         (AM_FUNC_GETLINE): Run this test.
36776         (AC_CHECK_FUNCS): Check for getdelim.
36777         Reported by Bob Proulx.
36778
36779 1999-08-02  Jim Meyering  <meyering@ascend.com>
36780
36781         * m4/jm-macros.m4: Add a comment.
36782
36783 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36784
36785         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
36786         <inttypes.h> defines strtoumax as a macro (and not as a
36787         function).
36788
36789 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36790
36791         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
36792         that we can shift, multiply and divide unsigned long long
36793         values; Ultrix cc can't do it.
36794
36795 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36796
36797         * m4/mktime.m4: New file, which is a preview of what should appear
36798         in the next public autoconf release.
36799
36800 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36801
36802         * m4/lfs.m4: Remove this file.
36803         * m4/largefile.m4: New file.  It contains the old contents of
36804         lfs.m4, except that all names with prefix AC_LFS have been
36805         changed to use the prefix AC_SYS_LARGEFILE instead, to be
36806         compatible with future autoconf versions.  Also, some minor m4
36807         quoting problems have been fixed.
36808
36809 1999-08-01  Paul Eggert  <eggert@twinsun.com>
36810
36811         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
36812         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
36813         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
36814         and simplify the shell code.
36815
36816 1999-08-01  Jim Meyering  <meyering@ascend.com>
36817
36818         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
36819         m4.
36820
36821 1999-07-20  Jim Meyering  <meyering@ascend.com>
36822
36823         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
36824
36825 1999-07-15  Jim Meyering  <meyering@ascend.com>
36826
36827         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
36828
36829 1999-05-22  Jim Meyering  <meyering@ascend.com>
36830
36831         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
36832
36833 1999-05-20  Jim Meyering  <meyering@ascend.com>
36834
36835         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
36836         Add a colon after each `then' in case $4 is empty.
36837
36838 1999-05-16  Jim Meyering  <meyering@ascend.com>
36839
36840         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
36841
36842 1999-05-10  Jim Meyering  <meyering@ascend.com>
36843
36844         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
36845
36846         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
36847         AC_FUNC_MKTIME.
36848
36849 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
36850
36851         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
36852
36853 1999-05-04  Paul Eggert  <eggert@twinsun.com>
36854
36855         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
36856         not CPPFLAGS, so that linking works correctly in IRIX.
36857
36858 1999-04-30  Paul Eggert  <eggert@twinsun.com>
36859
36860         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
36861
36862 1999-04-20  Paul Eggert  <eggert@twinsun.com>
36863
36864         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
36865         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
36866         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
36867         jm_AC_TYPE_UNSIGNED_LONG_LONG.
36868         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
36869
36870         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
36871
36872 1999-04-20  Jim Meyering  <meyering@ascend.com>
36873
36874         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
36875         AC_REPLACE xstroull if necessary.  From Paul Eggert.
36876         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
36877
36878 1999-04-18  Jim Meyering  <meyering@ascend.com>
36879
36880         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
36881         * m4/jm-macros.m4: Use it.
36882
36883 1999-04-06  Jim Meyering  <meyering@ascend.com>
36884
36885         * m4/strftime.m4: Remove test for %f.
36886
36887 1999-03-29  Jim Meyering  <meyering@ascend.com>
36888
36889         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
36890         superset of the AC_TYPE_* checks in the textutils, fileutils,
36891         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
36892         AC_TYPE_PID_T.
36893
36894 1999-03-28  Jim Meyering  <meyering@ascend.com>
36895
36896         * m4/jm-macros.m4: Define GNU_PACKAGE here.
36897         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
36898         replaced e.g., in the *.sh files of the sh-utils.
36899
36900 1999-03-20  Jim Meyering  <meyering@ascend.com>
36901
36902         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
36903         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
36904         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
36905
36906 1999-03-19  Jim Meyering  <meyering@ascend.com>
36907
36908         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
36909
36910 1999-03-12  Jim Meyering  <meyering@ascend.com>
36911
36912         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
36913
36914 1999-03-07  Jim Meyering  <meyering@ascend.com>
36915
36916         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
36917         declared.
36918
36919 1999-02-17  Jim Meyering  <meyering@ascend.com>
36920
36921         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
36922         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
36923
36924 1999-02-07  Jim Meyering  <meyering@ascend.com>
36925
36926         * m4/group-member.m4: New file -- extracted from sh-utils'
36927         configure.in.
36928
36929         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
36930         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
36931
36932 1999-02-06  Jim Meyering  <meyering@ascend.com>
36933
36934         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
36935         * m4/fnmatch.m4: Likewise.
36936         * m4/getgroups.m4: Likewise.
36937         * m4/lstat.m4: Likewise.
36938         * m4/malloc.m4: Likewise.
36939         * m4/putenv.m4: Likewise.
36940         * m4/realloc.m4: Likewise.
36941         * m4/regex.m4: Likewise.
36942         * m4/stat.m4: Likewise.
36943         * m4/strftime.m4: Likewise.
36944         Suggestion from Alain Magloire.
36945
36946         * m4/chown.m4: Use `.$ac_objext', not `.o'.
36947         * m4/fnmatch.m4: Likewise.
36948         * m4/getgroups.m4: Likewise.
36949         * m4/getline.m4: Likewise.
36950         * m4/lstat.m4: Likewise.
36951         * m4/malloc.m4: Likewise.
36952         * m4/memcmp.m4: Likewise.
36953         * m4/putenv.m4: Likewise.
36954         * m4/realloc.m4: Likewise.
36955         * m4/regex.m4: Likewise.
36956         * m4/stat.m4: Likewise.
36957         * m4/strftime.m4: Likewise.
36958         Suggestion from Alain Magloire.
36959
36960         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
36961         an argument.
36962
36963         * m4/regex.m4: Add a run-time Test for proper operation of
36964         re_compile_pattern.
36965
36966 1999-01-31  Jim Meyering  <meyering@ascend.com>
36967
36968         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
36969
36970 1999-01-30  Jim Meyering  <meyering@ascend.com>
36971
36972         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
36973
36974         * m4/jm-mktime.m4: Make this a wrapper around the official
36975         AM_FUNC_MKTIME rather than my private copy, now that the official one
36976         is up to date.
36977         * m4/mktime.m4: Remove file.
36978
36979         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
36980         * m4/uptime.m4: Likewise.
36981         * m4/uintmax_t.m4: Likewise.
36982
36983 1999-01-28  Jim Meyering  <meyering@ascend.com>
36984
36985         * m4/jm-macros.m4: Use jm_AFS.
36986         * m4/afs.m4: New file (from fileutils' configure.in).
36987
36988         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
36989         * m4/chown.m4: Likewise.
36990         * m4/d-ino.m4: Likewise.
36991         * m4/d-type.m4: Likewise.
36992         * m4/fnmatch.m4: Likewise.
36993         * m4/getgroups.m4: Likewise.
36994         * m4/gettext.m4: Likewise.
36995         * m4/jm-mktime.m4: Likewise.
36996         * m4/jm-winsz2.m4: Likewise.
36997         * m4/lcmessage.m4: Likewise.
36998         * m4/ls-mntd-fs.m4: Likewise.
36999         * m4/malloc.m4: Likewise.
37000         * m4/memcmp.m4: Likewise.
37001         * m4/putenv.m4: Likewise.
37002         * m4/realloc.m4: Likewise.
37003         * m4/st_mtim.m4: Likewise.
37004         * m4/strftime.m4: Likewise.
37005
37006 1999-01-16  Jim Meyering  <meyering@ascend.com>
37007
37008         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
37009         (ARGMATCH_DIE_DECL): Define.
37010
37011 1999-01-12  Jim Meyering  <meyering@ascend.com>
37012
37013         * m4/Makefile.am.in: Rewrite to avoid using fmt.
37014         Reported by Lars Hecking.
37015
37016 1999-01-10  Jim Meyering  <meyering@ascend.com>
37017
37018         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
37019         gross kludge.
37020         * m4/inttypes_h.m4: Likewise.
37021         * m4/lstat.m4: Likewise.
37022         * m4/malloc.m4: Likewise.
37023         * m4/readdir.m4: Likewise.
37024         * m4/realloc.m4: Likewise.
37025         * m4/st_dm_mode.m4: Likewise.
37026         * m4/stat.m4: Likewise.
37027         * m4/utimbuf.m4: Likewise.
37028         * m4/utimes.m4: Likewise.
37029
37030         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
37031         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
37032         comments in config.h.in are meaningful.
37033
37034         * m4/jm-macros.m4: Require autoconf-2.13 here.
37035
37036         * m4/regex.m4: By default, don't use the included regex.c on systems
37037         with glibc 2.  Suggestion from Uli Drepper.
37038
37039 1999-01-02  Jim Meyering  <meyering@ascend.com>
37040
37041         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
37042
37043 1998-12-18  Jim Meyering  <meyering@ascend.com>
37044
37045         * m4/Makefile.am.in (Makefile.am): Simplify rule.
37046         Based on a suggestion from Lars Hecking.
37047
37048 1998-11-16  Paul Eggert  <eggert@twinsun.com>
37049
37050         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
37051
37052 1998-11-16  Jim Meyering  <meyering@ascend.com>
37053
37054         * m4/lfs.m4: Double-quote the `uname...` expression.
37055
37056 1998-11-14  Jim Meyering  <meyering@ascend.com>
37057
37058         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
37059         * m4/stat.m4: Likewise.
37060
37061 1998-11-03  Jim Meyering  <meyering@ascend.com>
37062
37063         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
37064         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
37065
37066 1998-10-18  Jim Meyering  <meyering@ascend.com>
37067
37068         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
37069
37070 1998-10-17  Jim Meyering  <meyering@ascend.com>
37071
37072         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
37073         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
37074         calls for those previously hard-coded headers.  Instead, take a new
37075         parameter.
37076         (jm_CHECK_DECLARATIONS): Reflect interface change.
37077         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
37078         (jm_CHECK_DECL_LOCALTIME_R): New macro.
37079
37080         * m4/mktime.m4: Test for spring-forward gap before long-running test.
37081
37082 1998-10-14  Jim Meyering  <meyering@ascend.com>
37083
37084         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
37085         instead of "TZ=America/Vancouver".  From Paul Eggert.
37086
37087 1998-10-11  Jim Meyering  <meyering@ascend.com>
37088
37089         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
37090         This adds a test for a recently added compatibility fix for mktime.c.
37091         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
37092
37093 1998-09-27  Jim Meyering  <meyering@ascend.com>
37094
37095         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
37096
37097         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
37098         ../configure.in, including a change from Gordon Matzigkeit to allow
37099         cross-compiling for the Hurd.
37100
37101         * m4/glibc.m4: New file/macro to test for the GNU C Library
37102         versions 1 and 2.  From Gordon Matzigkeit.
37103         Indent.
37104
37105 1998-09-21  Jim Meyering  <meyering@ascend.com>
37106
37107         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
37108
37109 1998-08-18  Paul Eggert  <eggert@twinsun.com>
37110
37111         Port nanosecond-resolution times to UnixWare 2.1.2 and
37112         pedantic Solaris 2.6.
37113
37114         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
37115         AC_STRUCT_ST_MTIM.
37116         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
37117         Generate name of ns member, instead of just 1 or undef.
37118         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
37119
37120 1998-08-15  Jim Meyering  <meyering@ascend.com>
37121
37122         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
37123         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
37124         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
37125         instead of jm_TYPE_SSIZE_T.
37126
37127 1998-08-12  Jim Meyering  <meyering@ascend.com>
37128
37129         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
37130
37131 1998-08-02  Jim Meyering  <meyering@ascend.com>
37132
37133         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
37134         in acconfig.h manually.
37135
37136 1998-07-31  Paul Eggert  <eggert@twinsun.com>
37137
37138         * m4/st_mtim.m4: New file.
37139
37140 1998-07-28  Jim Meyering  <meyering@ascend.com>
37141
37142         * m4/utimes.m4: Undef stat.
37143
37144 1998-07-25  Jim Meyering  <meyering@ascend.com>
37145
37146         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
37147         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
37148
37149 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
37150
37151         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
37152         uid and gid actually remain unchanged.
37153
37154 1998-07-07  Jim Meyering  <meyering@ascend.com>
37155
37156         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
37157
37158 1998-07-04  Jim Meyering  <meyering@ascend.com>
37159
37160         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
37161         to prove that this macro can be used in packages without regex.c.
37162
37163 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
37164
37165         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
37166         is to be used.
37167
37168 1998-07-03  Jim Meyering  <meyering@ascend.com>
37169
37170         * m4/gettext.m4: Add -lintl if it's found to be necessary.
37171
37172         * m4/gettext.m4: New file -- from gettext-0.10.35.
37173         * m4/lcmessage.m4: Likewise.
37174         * m4/progtest.m4: Likewise.
37175
37176         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
37177         * m4/jm-macros.m4: Require the new macro.
37178
37179 1998-06-29  Jim Meyering  <meyering@ascend.com>
37180
37181         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
37182         for the definition of NGROUPS (used in a system header included
37183         by sys/mount.h).
37184
37185 1998-06-28  Jim Meyering  <meyering@ascend.com>
37186
37187         * m4/ls-mntd-fs.m4: New file.
37188         * m4/fstypename.m4: New file.
37189
37190         * m4/jm-macros.m4: Require the new macro.
37191         * m4/jm-glibc-io.m4: New file.
37192
37193 1998-05-19  Jim Meyering  <meyering@ascend.com>
37194
37195         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
37196         * m4/lchown.m4: New file.
37197
37198         * m4/Makefile.am.in: New file.
37199         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
37200
37201 1998-05-14  Jim Meyering  <meyering@ascend.com>
37202
37203         * m4/Makefile.am (EXTRA_DIST): Add them.
37204         * m4/jm-macros.m4: New file.
37205         * m4/utimbuf.m4: New file.
37206
37207 1998-05-12  Jim Meyering  <meyering@ascend.com>
37208
37209         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
37210
37211 1998-05-11  Jim Meyering  <meyering@ascend.com>
37212
37213         * m4/isc-posix.m4: New file.
37214
37215 1998-05-10  Jim Meyering  <meyering@ascend.com>
37216
37217         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
37218
37219 1998-05-09  Jim Meyering  <meyering@ascend.com>
37220
37221         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
37222         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
37223         with automake.
37224
37225         * m4/ssize_t.m4: New file.
37226         * m4/mktime.m4: Remove file -- the new automake has this now.
37227
37228 1998-04-26  Jim Meyering  <meyering@ascend.com>
37229
37230         * m4/assert.m4: New file.
37231         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
37232
37233 1998-04-05  Jim Meyering  <meyering@ascend.com>
37234
37235         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
37236         (jm_PREREQ): Use it here.
37237
37238 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
37239
37240         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
37241         in acconfig.h.
37242
37243 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
37244
37245         * m4/prereq.m4: New file.
37246         * m4/error.m4: New file.
37247         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
37248
37249 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
37250
37251         * m4/getline.m4: Don't set am_cv_func_working_getline before the
37252         cache-check for the same variable -- that defeated the purpose of
37253         the test; the test program was never run.  This was a problem only
37254         on systems with losing getline functions -- HP-UX 10.20 is one.
37255         Reported by Bjorn Helgaas.
37256
37257 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
37258
37259         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
37260
37261 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
37262
37263         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
37264
37265         * m4/const.m4: New file.  Use an initializer in this declaration
37266         typedef int charset[2]; const charset x;
37267         Reported by Bob Glickstein.
37268
37269 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
37270
37271         * m4/chown.m4: Fix reversed types on -1 args to chown.
37272         From Kaveh Ghazi.
37273
37274 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
37275
37276         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
37277         Add lseek and memchr.
37278
37279         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
37280         T.E.Dickey <dickey@clark.net> said that some older preprocessors
37281         have a 20-character limit on names.
37282
37283 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
37284
37285         * m4/inttypes_h.m4: New file.
37286         * m4/uintmax_t.m4: New file.
37287         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
37288
37289 Copyright (C) 1997-2008 Free Software Foundation, Inc.
37290 Copying and distribution of this file, with or without modification,
37291 are permitted provided the copyright notice and this notice are preserved.