Fix HAVE_MALLOC_POSIX misnomer.
[gnulib.git] / ChangeLog
1 2010-06-21  Bruno Haible  <bruno@clisp.org>
2
3         Fix HAVE_MALLOC_POSIX misnomer.
4         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
5         !HAVE_MALLOC_POSIX.
6         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
7         HAVE_MALLOC_POSIX.
8         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
9         instead of HAVE_MALLOC_POSIX.
10         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
11         HAVE_MALLOC_POSIX.
12
13         Use modern idiom for malloc() replacement.
14         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
15         AC_FUNC_MALLOC.
16         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
17         Autoconf's AC_FUNC_MALLOC.
18         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
19         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
20         (gl_REPLACE_MALLOC): New macro.
21         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
22
23 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24
25         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
27         This macro takes 3 arguments, not 4.
28
29 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
30
31         ipv6: fix detection under mingw
32         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
33         in6_addr.
34
35 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
36
37         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
38         that strtod() works when cross-compiling to a glibc version known
39         to work.
40
41 2010-06-15  Bruno Haible  <bruno@clisp.org>
42
43         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
44
45 2010-06-15  RenĂ© Berber  <r.berber@computer.org>  (tiny change)
46
47         select: Correct timeout.
48         * lib/select.c (rpl_select): Compute wait_timeout correctly.
49
50 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
51
52         git-version-gen: init shell var to avoid env var influence
53         * build-aux/git-version-gen (v): Init shell var to empty.
54
55 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
56
57         priv-set: Don't assume that priv.h exists merely because getppriv does.
58         See Jan Andersen's bug report about AIX 5L in
59         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
60         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
61         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
62         * lib/priv-set.h: Likewise.
63         * tests/test-priv-set.c: Likewise.
64
65 2010-06-13  Bruno Haible  <bruno@clisp.org>
66
67         relocatable: Make it easier to test whether to install wrappers.
68         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
69         RELOCATABLE_VIA_WRAPPER.
70
71 2010-06-13  Bruno Haible  <bruno@clisp.org>
72
73         gnulib-tool: Display specified modules and dependencies differently.
74         * gnulib-tool (func_show_module_list): New function.
75         (func_import, func_create_testdir): Invoke it.
76         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
77
78 2010-06-13  Bruno Haible  <bruno@clisp.org>
79
80         gnulib-tool: Align code of func_import and func_create_testdir.
81         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
82         specified_modules.
83
84 2010-06-12  Jim Meyering  <meyering@redhat.com>
85
86         test-inttostr: avoid spurious failure on Solaris 9
87         * tests/test-inttostr.c (main): Skip the test when snprintf fails
88         to accept "%ju".  Reported by Bruno Haible.
89
90 2010-06-11  Jim Meyering  <meyering@redhat.com>
91
92         test-sys_socket: mark variables as used more readably
93         * tests/test-sys_socket.c (main): Mark otherwise unused variables
94         as "used" explicitly via (void) statement casts.  This is more
95         readable than using them in an artificial return expression.
96         Suggestion from Bruno Haible.
97
98 2010-06-11  Bruno Haible  <bruno@clisp.org>
99
100         Avoid some more warnings from "gcc -Wwrite-strings".
101         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
102         to 'const char *'.
103         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
104         * tests/test-c-strcasestr.c (main): Likewise.
105         * tests/test-mbscasestr1.c (main): Likewise.
106         * tests/test-mbscasestr2.c (main): Likewise.
107         * tests/test-memmem.c (main): Likewise.
108         * tests/test-strstr.c (main): Likewise.
109         * tests/test-strcasestr.c (main): Likewise.
110
111 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112
113         init.sh: change framework_failure_ to fail with status 99, not 1
114         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
115         automake's parallel-tests rule that this is an unexpected failure,
116         even if the test is listed in XFAIL_TESTS.
117
118 2010-06-11  Jim Meyering  <meyering@redhat.com>
119
120         test-inttostr: avoid warnings about 4-6KB literal strings
121         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
122         Include "macros.h", for its definition of ASSERT.
123         (CK): s/assert/ASSERT/
124         * modules/inttostr-tests (Files): Add macros.h.
125
126         init.sh: don't use $ME_ or skip_ before they are defined
127         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
128         their first uses.  Also hoist their companions: warn_, fail_,
129         framework_failure_, $stderr_fileno.  Prompted by a patch from
130         Stefano Lattarini.
131
132         test-sys_socket: avoid set-but-not-used warnings from gcc
133         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
134         avoid warning about set-but-not-used variables.
135
136         test-xvasprintf: avoid 'const' discard warnings
137         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
138         "const" when assigning from literal strings.
139         (test_xasprintf): Add "void" in function argument list to placate
140         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
141
142         tests: avoid compilation warnings in argmatch and exclude tests...
143         in packages that define ARGMATCH_DIE_DECL, like coreutils.
144         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
145         Since it always exits, declare with the "noreturn" attribute.
146         * tests/test-argmatch.c: Likewise.
147
148         tests: avoid 'const' discard warnings in mbsstr tests
149         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
150         * tests/test-mbsstr2.c (main): Likewise.
151
152         test-verify: avoid warning from gcc's -Wmissing-declarations
153         * tests/test-verify.c (function): Declare to be static.
154
155         test-inttostr.c: include <string.h> for use of strcmp
156         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
157
158         test-linkat: avoid failed assertion on "other" architectures
159         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
160         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
161         sparc: https://bugs.launchpad.net/bugs/591968
162
163 2010-06-11  Jim Meyering  <meyering@redhat.com>
164
165         printf.m4: avoid autoconf's "Expanded Before Required" warning
166         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
167         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
168         autoconf warning.
169
170 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
171
172         Replacement header templates are now named with ".in", not "_".
173         * doc/gnulib-intro.texi: Correct.
174
175 2010-06-10  Jim Meyering  <meyering@redhat.com>
176
177         inttostr-tests: depend on snprintf, not snprintf-posix
178         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
179         snprintf-posix, to avoid this aclocal failure:
180           missing file gnulib-tests/vasnprintf.c
181           configure.ac:45: error: expected source file, required through \
182           AC_LIBSOURCES, not found
183
184 2010-06-10  Jim Meyering  <meyering@redhat.com>
185
186         inttostr: add a new function, inttostr, and tests
187         The namesake function was not available.  The existence of the
188         template file, inttostr.c makes its addition nontrivial.
189         * lib/anytostr.c: Rename from inttostr.c.
190         (anytostr): Rename from inttostr.
191         * lib/inttostr.c: New file.
192         * modules/inttostr (Files): Add anytostr.c.
193         (Makefile.am): Set lib_SOURCES instead of ...
194         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
195         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
196         * lib/offtostr.c: Likewise.
197         * lib/uinttostr.c: Likewise.
198         * lib/umaxtostr.c: Likewise.
199         * modules/inttostr-tests: New file.
200         * tests/test-inttostr.c: New file.  Test these functions.
201
202 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
203             Bruno Haible  <bruno@clisp.org>
204
205         Add "Extending Gnulib" chapter to manual.
206         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
207         chapter.
208         (Extending Gnulib): New chapter.
209         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
210         chapter.
211
212 2010-06-09  Bruno Haible  <bruno@clisp.org>
213
214         Avoid relocwrapper link errors due to gnulib replacement functions.
215         * lib/areadlink.c: Use the system's malloc, realloc functions.
216         (areadlink): Set errno to ENOMEM explicitly.
217         * modules/areadlink (Depends-on): Remove malloc-posix.
218         Reported by Ben Pfaff <blp@cs.stanford.edu>.
219
220 2010-06-09  Bruno Haible  <bruno@clisp.org>
221
222         Avoid relocwrapper link errors due to gnulib replacement functions.
223         * lib/canonicalize-lgpl.c: Use the system's malloc function.
224         * lib/malloca.c: Likewise.
225         * lib/relocatable.c: Likewise.
226         * lib/progreloc.c: Use the system's malloc, sprintf functions.
227         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
228         * lib/setenv.c: Use the system's malloc, realloc functions.
229         * lib/strerror.c: Use the system's sprintf function.
230         Reported by Ben Pfaff <blp@cs.stanford.edu>.
231
232 2010-06-04  Bruno Haible  <bruno@clisp.org>
233
234         Prefer documented low-level autoconf macro names.
235         * m4/lib-link.m4: Use m4_translit instead of translit.
236         * m4/environ.m4: Likewise.
237         * m4/mathfunc.m4: Likewise.
238         * m4/onceonly.m4: Likewise.
239         * m4/stdint.m4: Likewise.
240         Suggested by Eric Blake.
241
242 2010-06-04  Martin Lambers  <marlam@marlam.de>
243             Bruno Haible  <bruno@clisp.org>
244
245         havelib: Allow library names with '+' characters.
246         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
247         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
248
249 2010-06-09  Bruno Haible  <bruno@clisp.org>
250
251         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
252         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
253         realloc failed.
254
255 2010-06-08  Peter Simons  <simons@cryp.to>
256
257         maint.mk: make the news-check rule more configurable
258         * top/maint.mk (news-check-lines-spec) New variable.
259         (news-check): Use "sed -n 1,10p" in place of "head".
260
261 2010-06-07  Jim Meyering  <meyering@redhat.com>
262
263         do-release-commit-and-tag: fix typo in --help
264         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
265
266         regex: avoid new dead-code warning with gcc-4.6.0
267         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
268         if-block containing a while-loop.  It's been unused for at least
269         5 years.
270
271 2010-06-05  Bruno Haible  <bruno@clisp.org>
272
273         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
274         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
275
276 2010-06-04  Bruno Haible  <bruno@clisp.org>
277
278         Update to GNU gettext 0.18.1.
279         * modules/gettext (configure.ac): Require gettext infrastructure from
280         version 0.18.1.
281
282 2010-06-03  Bruno Haible  <bruno@clisp.org>
283
284         Don't use AC_LIBOBJ with file names in subdirectories.
285         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
286         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
287         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
288         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
289         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
290         gl_LIBUNISTRING_LIBSOURCE.
291         (Makefile.am): Augment lib_SOURCES here, conditionally.
292         * NEWS: Drop requirement for Automake option 'subdir-objects'.
293
294 2010-06-03  Bruno Haible  <bruno@clisp.org>
295
296         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
297         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
298         expansion does not end with a newline.
299         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
300         unnecessary newline.
301
302 2010-06-03  Bruno Haible  <bruno@clisp.org>
303
304         Reduce dependencies.
305         * tests/test-quotearg.h: New file, extracted from
306         tests/test-quotearg.c.
307         * tests/test-quotearg-simple.c: New file, extracted from
308         tests/test-quotearg.c.
309         * tests/test-quotearg.c: Don't include <ctype.h>.
310         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
311         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
312         use_quote_double_quotes, use_quotearg_colon): Moved to
313         tests/test-quotearg.h.
314         (results_g, flag_results, custom_quotes, custom_results): Moved
315         to tests/test-quotearg-simple.c.
316         (main): Moved the part that does not depend on gettext to
317         tests/test-quotearg-simple.c. Return 77 if the test cannot be
318         performed.
319         * modules/quotearg-simple: New file.
320         * modules/quotearg-simple-tests: New file.
321         * modules/quotearg (Depends-on): Add quotearg-simple.
322         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
323         (Files): Add tests/test-quotearg.h.
324         Reported by Paolo Bonzini.
325
326 2010-06-03  Bruno Haible  <bruno@clisp.org>
327
328         Reduce dependencies.
329         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
330
331 2010-06-03  Bruno Haible  <bruno@clisp.org>
332
333         time: Undefine more broken macros.
334         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
335         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
336         Reported by Eric Blake.
337
338 2010-06-03  Bruno Haible  <bruno@clisp.org>
339
340         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
341         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
342         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
343         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
344         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
345         Reported by Ludovic Courtès <ludo@gnu.org>.
346
347 2010-06-02  Eric Blake  <eblake@redhat.com>
348
349         time: work with mingw + pthreads-win32 library
350         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
351         if timespec is defined only in pthread.h.
352         * modules/time (Makefile.am): Substitute it.
353         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
354         <pthread.h>, when needed.
355         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
356         from the library.
357
358 2010-05-31  Bruno Haible  <bruno@clisp.org>
359
360         Avoid expanding two macros in the wrong order.
361         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
362         gl_LIBUNISTRING if it is defined.
363         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
364         autoconf >= 2.64.
365         Reported by Ludovic Courtès <ludo@gnu.org>.
366
367 2010-05-27  Jim Meyering  <meyering@redhat.com>
368
369         maint.mk: also prohibit "#undef" of always-defined symbols
370         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
371         Allow more than one space before the symbol name.
372         (sc_prohibit_always-defined_macros): Use grep's -E, now that
373         the regexp uses alternation.
374
375 2010-05-26  Eric Blake  <eblake@redhat.com>
376
377         maint.mk: avoid echo -e
378         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
379         Convert all uses of echo -* to printf.
380         Reported by Matthias Bolte.
381
382 2010-05-25  Bruno Haible  <bruno@clisp.org>
383
384         Update to GNU gettext 0.18, part 2.
385         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
386         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
387
388 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
389
390         Add missing include in test-pwrite.c.
391         * tests/test-pwrite.c: Include string.h, for strcmp.
392
393 2010-05-24  Bruno Haible  <bruno@clisp.org>
394
395         * NEWS: Mention requirement for Automake option 'subdir-objects'.
396
397 2010-05-24  Bruno Haible  <bruno@clisp.org>
398
399         Don't use conversion with transliteration in u{8,16,32}_strcoll.
400         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
401         iconveh_error argument.
402         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
403         U_STRCONV_TO_LOCALE.
404         * lib/unistr/u16-strcoll.c: Likewise.
405         * lib/unistr/u32-strcoll.c: Likewise.
406         * modules/unistr/u8-strcoll (Depends-on): Add
407         uniconv/u8-strconv-to-enc, localcharset. Remove
408         uniconv/u8-strconv-to-locale.
409         (configure.ac): Bump version number.
410         * modules/unistr/u16-strcoll (Depends-on): Add
411         uniconv/u16-strconv-to-enc, localcharset. Remove
412         uniconv/u16-strconv-to-locale.
413         (configure.ac): Bump version number.
414         * modules/unistr/u32-strcoll (Depends-on): Add
415         uniconv/u32-strconv-to-enc, localcharset. Remove
416         uniconv/u32-strconv-to-locale.
417         (configure.ac): Bump version number.
418
419 2010-05-24  Bruno Haible  <bruno@clisp.org>
420
421         Avoid a test failure on NetBSD 5.0.
422         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
423         an iconv() bug.
424
425 2010-05-24  Bruno Haible  <bruno@clisp.org>
426
427         Adjust #include directive style.
428         * modules/regex (Includes): Recommend to write <regex.h>.
429
430 2010-05-24  Bruno Haible  <bruno@clisp.org>
431
432         regex: Don't require alloca.
433         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
434         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
435         only inside if (0).
436
437 2010-05-23  Jim Meyering  <meyering@redhat.com>
438
439         test-renameat.c: include <sys/stat.h>
440         * tests/test-renameat.c: Include <sys/stat.h>; required for
441         definition of S_IS* macros.
442
443 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
444
445         Update maintainer documentation for 'relocatable-prog' module.
446         * doc/relocatable-maint.texi: Update.
447         Comments by Bruno Haible.
448
449 2010-05-23  Bruno Haible  <bruno@clisp.org>
450
451         git-merge-changelog: Enable --split-merged-entry by default.
452         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
453         (usage): Don't mention this option any more.
454         Reported by Ralf Wildenhues.
455
456 2010-05-23  Jim Meyering  <meyering@redhat.com>
457
458         test-pwrite: do not leave behind a test file named "out"
459         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
460         The trivial-looking use of init.sh is really necessary.
461         It ensures that the temporary file, "out", is created in
462         a temporary directory, and removed upon termination.
463         * tests/test-pwrite.sh: Re-add file.
464         * modules/pwrite-tests: Reference it.
465
466 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
467
468         Fix output redirection buglet in init.sh.
469         * tests/init.sh: Fix redirection of stderr.
470
471 2010-05-20  Simon Josefsson  <simon@josefsson.org>
472
473         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
474
475 2010-05-17  Simon Josefsson  <simon@josefsson.org>
476
477         * modules/valgrind-tests: New file.
478         * m4/valgrind-tests.m4: New file.
479         * doc/valgrind-tests.texi: New file.
480         * doc/gnulib.texi (Running self-tests under valgrind): New
481         section.
482
483 2010-05-19  Bruno Haible  <bruno@clisp.org>
484
485         Clean up dead code in recent commit.
486         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
487         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
488         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
489         Suggested by Paolo Bonzini.
490
491 2010-05-19  Bruno Haible  <bruno@clisp.org>
492
493         Avoid valgrind error reports from libunistring.
494         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
495         * modules/libunistring (Files): Add it.
496         * modules/libunistring-optional (Files): Likewise.
497
498 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
499             Bruno Haible  <bruno@clisp.org>
500
501         New module 'libunistring-optional'.
502         * modules/libunistring-optional: New file.
503         * m4/libunistring-base.m4: New file.
504         * m4/libunistring-optional.m4: New file.
505         * lib/unicase.in.h: Renamed from lib/unicase.h.
506         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
507         * lib/unictype.in.h: Renamed from lib/unictype.h.
508         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
509         * lib/uniname.in.h: Renamed from lib/uniname.h.
510         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
511         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
512         * lib/unistr.in.h: Renamed from lib/unistr.h.
513         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
514         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
515         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
516         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
517         gl_LIBUNISTRING. If the library was found, determine the installed
518         version and set LIBUNISTRING_VERSION.
519         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
520         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
521         handle a configuration option --with-included-libunistring.
522         * modules/libunistring (Files): Add m4/absolute-header.m4.
523         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
524         Add m4/libunistring-base.m4.
525         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
526         (Makefile.am): Build unicase.h from unicase.in.h.
527         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
528         Add m4/libunistring-base.m4.
529         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
530         (Makefile.am): Build uniconv.h from uniconv.in.h.
531         * modules/unictype/base (Files): Use unictype.in.h instead of
532         unictype.h. Add m4/libunistring-base.m4.
533         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
534         (Makefile.am): Build unictype.h from unictype.in.h.
535         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
536         Add m4/libunistring-base.m4.
537         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
538         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
539         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
540         Add m4/libunistring-base.m4.
541         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
542         (Makefile.am): Build uniname.h from uniname.in.h.
543         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
544         Add m4/libunistring-base.m4.
545         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
546         (Makefile.am): Build uninorm.h from uninorm.in.h.
547         * modules/unistdio/base (Files): Use unistdio.in.h instead of
548         unistdio.h. Add m4/libunistring-base.m4.
549         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
550         (Makefile.am): Build unistdio.h from unistdio.in.h.
551         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
552         Add m4/libunistring-base.m4.
553         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
554         (Makefile.am): Build unistr.h from unistr.in.h.
555         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
556         Add m4/libunistring-base.m4.
557         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
558         (Makefile.am): Build unitypes.h from unitypes.in.h.
559         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
560         Add m4/libunistring-base.m4.
561         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
562         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
563         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
564         uniwidth.h. Add m4/libunistring-base.m4.
565         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
566         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
567         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
568         instead of augmenting lib_SOURCES.
569         * modules/unicase/empty-suffix-context: Likewise.
570         * modules/unicase/locale-language: Likewise.
571         * modules/unicase/tolower: Likewise.
572         * modules/unicase/totitle: Likewise.
573         * modules/unicase/toupper: Likewise.
574         * modules/unicase/u8-casecmp: Likewise.
575         * modules/unicase/u8-casecoll: Likewise.
576         * modules/unicase/u8-casefold: Likewise.
577         * modules/unicase/u8-casexfrm: Likewise.
578         * modules/unicase/u8-ct-casefold: Likewise.
579         * modules/unicase/u8-ct-tolower: Likewise.
580         * modules/unicase/u8-ct-totitle: Likewise.
581         * modules/unicase/u8-ct-toupper: Likewise.
582         * modules/unicase/u8-is-cased: Likewise.
583         * modules/unicase/u8-is-casefolded: Likewise.
584         * modules/unicase/u8-is-lowercase: Likewise.
585         * modules/unicase/u8-is-titlecase: Likewise.
586         * modules/unicase/u8-is-uppercase: Likewise.
587         * modules/unicase/u8-prefix-context: Likewise.
588         * modules/unicase/u8-suffix-context: Likewise.
589         * modules/unicase/u8-tolower: Likewise.
590         * modules/unicase/u8-totitle: Likewise.
591         * modules/unicase/u8-toupper: Likewise.
592         * modules/unicase/u16-casecmp: Likewise.
593         * modules/unicase/u16-casecoll: Likewise.
594         * modules/unicase/u16-casefold: Likewise.
595         * modules/unicase/u16-casexfrm: Likewise.
596         * modules/unicase/u16-ct-casefold: Likewise.
597         * modules/unicase/u16-ct-tolower: Likewise.
598         * modules/unicase/u16-ct-totitle: Likewise.
599         * modules/unicase/u16-ct-toupper: Likewise.
600         * modules/unicase/u16-is-cased: Likewise.
601         * modules/unicase/u16-is-casefolded: Likewise.
602         * modules/unicase/u16-is-lowercase: Likewise.
603         * modules/unicase/u16-is-titlecase: Likewise.
604         * modules/unicase/u16-is-uppercase: Likewise.
605         * modules/unicase/u16-prefix-context: Likewise.
606         * modules/unicase/u16-suffix-context: Likewise.
607         * modules/unicase/u16-tolower: Likewise.
608         * modules/unicase/u16-totitle: Likewise.
609         * modules/unicase/u16-toupper: Likewise.
610         * modules/unicase/u32-casecmp: Likewise.
611         * modules/unicase/u32-casecoll: Likewise.
612         * modules/unicase/u32-casefold: Likewise.
613         * modules/unicase/u32-casexfrm: Likewise.
614         * modules/unicase/u32-ct-casefold: Likewise.
615         * modules/unicase/u32-ct-tolower: Likewise.
616         * modules/unicase/u32-ct-totitle: Likewise.
617         * modules/unicase/u32-ct-toupper: Likewise.
618         * modules/unicase/u32-is-cased: Likewise.
619         * modules/unicase/u32-is-casefolded: Likewise.
620         * modules/unicase/u32-is-lowercase: Likewise.
621         * modules/unicase/u32-is-titlecase: Likewise.
622         * modules/unicase/u32-is-uppercase: Likewise.
623         * modules/unicase/u32-prefix-context: Likewise.
624         * modules/unicase/u32-suffix-context: Likewise.
625         * modules/unicase/u32-tolower: Likewise.
626         * modules/unicase/u32-totitle: Likewise.
627         * modules/unicase/u32-toupper: Likewise.
628         * modules/unicase/ulc-casecmp: Likewise.
629         * modules/unicase/ulc-casecoll: Likewise.
630         * modules/unicase/ulc-casexfrm: Likewise.
631         * modules/uniconv/u8-conv-from-enc: Likewise.
632         * modules/uniconv/u8-conv-to-enc: Likewise.
633         * modules/uniconv/u8-strconv-from-enc: Likewise.
634         * modules/uniconv/u8-strconv-from-locale: Likewise.
635         * modules/uniconv/u8-strconv-to-enc: Likewise.
636         * modules/uniconv/u8-strconv-to-locale: Likewise.
637         * modules/uniconv/u16-conv-from-enc: Likewise.
638         * modules/uniconv/u16-conv-to-enc: Likewise.
639         * modules/uniconv/u16-strconv-from-enc: Likewise.
640         * modules/uniconv/u16-strconv-from-locale: Likewise.
641         * modules/uniconv/u16-strconv-to-enc: Likewise.
642         * modules/uniconv/u16-strconv-to-locale: Likewise.
643         * modules/uniconv/u32-conv-from-enc: Likewise.
644         * modules/uniconv/u32-conv-to-enc: Likewise.
645         * modules/uniconv/u32-strconv-from-enc: Likewise.
646         * modules/uniconv/u32-strconv-from-locale: Likewise.
647         * modules/uniconv/u32-strconv-to-enc: Likewise.
648         * modules/uniconv/u32-strconv-to-locale: Likewise.
649         * modules/unictype/bidicategory-byname: Likewise.
650         * modules/unictype/bidicategory-name: Likewise.
651         * modules/unictype/bidicategory-of: Likewise.
652         * modules/unictype/bidicategory-test: Likewise.
653         * modules/unictype/block-list: Likewise.
654         * modules/unictype/block-test: Likewise.
655         * modules/unictype/category-C: Likewise.
656         * modules/unictype/category-Cc: Likewise.
657         * modules/unictype/category-Cf: Likewise.
658         * modules/unictype/category-Cn: Likewise.
659         * modules/unictype/category-Co: Likewise.
660         * modules/unictype/category-Cs: Likewise.
661         * modules/unictype/category-L: Likewise.
662         * modules/unictype/category-Ll: Likewise.
663         * modules/unictype/category-Lm: Likewise.
664         * modules/unictype/category-Lo: Likewise.
665         * modules/unictype/category-Lt: Likewise.
666         * modules/unictype/category-Lu: Likewise.
667         * modules/unictype/category-M: Likewise.
668         * modules/unictype/category-Mc: Likewise.
669         * modules/unictype/category-Me: Likewise.
670         * modules/unictype/category-Mn: Likewise.
671         * modules/unictype/category-N: Likewise.
672         * modules/unictype/category-Nd: Likewise.
673         * modules/unictype/category-Nl: Likewise.
674         * modules/unictype/category-No: Likewise.
675         * modules/unictype/category-P: Likewise.
676         * modules/unictype/category-Pc: Likewise.
677         * modules/unictype/category-Pd: Likewise.
678         * modules/unictype/category-Pe: Likewise.
679         * modules/unictype/category-Pf: Likewise.
680         * modules/unictype/category-Pi: Likewise.
681         * modules/unictype/category-Po: Likewise.
682         * modules/unictype/category-Ps: Likewise.
683         * modules/unictype/category-S: Likewise.
684         * modules/unictype/category-Sc: Likewise.
685         * modules/unictype/category-Sk: Likewise.
686         * modules/unictype/category-Sm: Likewise.
687         * modules/unictype/category-So: Likewise.
688         * modules/unictype/category-Z: Likewise.
689         * modules/unictype/category-Zl: Likewise.
690         * modules/unictype/category-Zp: Likewise.
691         * modules/unictype/category-Zs: Likewise.
692         * modules/unictype/category-and: Likewise.
693         * modules/unictype/category-and-not: Likewise.
694         * modules/unictype/category-byname: Likewise.
695         * modules/unictype/category-name: Likewise.
696         * modules/unictype/category-none: Likewise.
697         * modules/unictype/category-of: Likewise.
698         * modules/unictype/category-or: Likewise.
699         * modules/unictype/category-test: Likewise.
700         * modules/unictype/combining-class: Likewise.
701         * modules/unictype/ctype-alnum: Likewise.
702         * modules/unictype/ctype-alpha: Likewise.
703         * modules/unictype/ctype-blank: Likewise.
704         * modules/unictype/ctype-cntrl: Likewise.
705         * modules/unictype/ctype-digit: Likewise.
706         * modules/unictype/ctype-graph: Likewise.
707         * modules/unictype/ctype-lower: Likewise.
708         * modules/unictype/ctype-print: Likewise.
709         * modules/unictype/ctype-punct: Likewise.
710         * modules/unictype/ctype-space: Likewise.
711         * modules/unictype/ctype-upper: Likewise.
712         * modules/unictype/ctype-xdigit: Likewise.
713         * modules/unictype/decimal-digit: Likewise.
714         * modules/unictype/digit: Likewise.
715         * modules/unictype/mirror: Likewise.
716         * modules/unictype/numeric: Likewise.
717         * modules/unictype/property-alphabetic: Likewise.
718         * modules/unictype/property-ascii-hex-digit: Likewise.
719         * modules/unictype/property-bidi-arabic-digit: Likewise.
720         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
721         * modules/unictype/property-bidi-block-separator: Likewise.
722         * modules/unictype/property-bidi-boundary-neutral: Likewise.
723         * modules/unictype/property-bidi-common-separator: Likewise.
724         * modules/unictype/property-bidi-control: Likewise.
725         * modules/unictype/property-bidi-embedding-or-override: Likewise.
726         * modules/unictype/property-bidi-eur-num-separator: Likewise.
727         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
728         * modules/unictype/property-bidi-european-digit: Likewise.
729         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
730         * modules/unictype/property-bidi-left-to-right: Likewise.
731         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
732         * modules/unictype/property-bidi-other-neutral: Likewise.
733         * modules/unictype/property-bidi-pdf: Likewise.
734         * modules/unictype/property-bidi-segment-separator: Likewise.
735         * modules/unictype/property-bidi-whitespace: Likewise.
736         * modules/unictype/property-byname: Likewise.
737         * modules/unictype/property-combining: Likewise.
738         * modules/unictype/property-composite: Likewise.
739         * modules/unictype/property-currency-symbol: Likewise.
740         * modules/unictype/property-dash: Likewise.
741         * modules/unictype/property-decimal-digit: Likewise.
742         * modules/unictype/property-default-ignorable-code-point: Likewise.
743         * modules/unictype/property-deprecated: Likewise.
744         * modules/unictype/property-diacritic: Likewise.
745         * modules/unictype/property-extender: Likewise.
746         * modules/unictype/property-format-control: Likewise.
747         * modules/unictype/property-grapheme-base: Likewise.
748         * modules/unictype/property-grapheme-extend: Likewise.
749         * modules/unictype/property-grapheme-link: Likewise.
750         * modules/unictype/property-hex-digit: Likewise.
751         * modules/unictype/property-hyphen: Likewise.
752         * modules/unictype/property-id-continue: Likewise.
753         * modules/unictype/property-id-start: Likewise.
754         * modules/unictype/property-ideographic: Likewise.
755         * modules/unictype/property-ids-binary-operator: Likewise.
756         * modules/unictype/property-ids-trinary-operator: Likewise.
757         * modules/unictype/property-ignorable-control: Likewise.
758         * modules/unictype/property-iso-control: Likewise.
759         * modules/unictype/property-join-control: Likewise.
760         * modules/unictype/property-left-of-pair: Likewise.
761         * modules/unictype/property-line-separator: Likewise.
762         * modules/unictype/property-logical-order-exception: Likewise.
763         * modules/unictype/property-lowercase: Likewise.
764         * modules/unictype/property-math: Likewise.
765         * modules/unictype/property-non-break: Likewise.
766         * modules/unictype/property-not-a-character: Likewise.
767         * modules/unictype/property-numeric: Likewise.
768         * modules/unictype/property-other-alphabetic: Likewise.
769         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
770         * modules/unictype/property-other-grapheme-extend: Likewise.
771         * modules/unictype/property-other-id-continue: Likewise.
772         * modules/unictype/property-other-id-start: Likewise.
773         * modules/unictype/property-other-lowercase: Likewise.
774         * modules/unictype/property-other-math: Likewise.
775         * modules/unictype/property-other-uppercase: Likewise.
776         * modules/unictype/property-paired-punctuation: Likewise.
777         * modules/unictype/property-paragraph-separator: Likewise.
778         * modules/unictype/property-pattern-syntax: Likewise.
779         * modules/unictype/property-pattern-white-space: Likewise.
780         * modules/unictype/property-private-use: Likewise.
781         * modules/unictype/property-punctuation: Likewise.
782         * modules/unictype/property-quotation-mark: Likewise.
783         * modules/unictype/property-radical: Likewise.
784         * modules/unictype/property-sentence-terminal: Likewise.
785         * modules/unictype/property-soft-dotted: Likewise.
786         * modules/unictype/property-space: Likewise.
787         * modules/unictype/property-terminal-punctuation: Likewise.
788         * modules/unictype/property-test: Likewise.
789         * modules/unictype/property-titlecase: Likewise.
790         * modules/unictype/property-unassigned-code-value: Likewise.
791         * modules/unictype/property-unified-ideograph: Likewise.
792         * modules/unictype/property-uppercase: Likewise.
793         * modules/unictype/property-variation-selector: Likewise.
794         * modules/unictype/property-white-space: Likewise.
795         * modules/unictype/property-xid-continue: Likewise.
796         * modules/unictype/property-xid-start: Likewise.
797         * modules/unictype/property-zero-width: Likewise.
798         * modules/unictype/scripts: Likewise.
799         * modules/unictype/syntax-c-ident: Likewise.
800         * modules/unictype/syntax-c-whitespace: Likewise.
801         * modules/unictype/syntax-java-ident: Likewise.
802         * modules/unictype/syntax-java-whitespace: Likewise.
803         * modules/unilbrk/u8-possible-linebreaks: Likewise.
804         * modules/unilbrk/u8-width-linebreaks: Likewise.
805         * modules/unilbrk/u16-possible-linebreaks: Likewise.
806         * modules/unilbrk/u16-width-linebreaks: Likewise.
807         * modules/unilbrk/u32-possible-linebreaks: Likewise.
808         * modules/unilbrk/u32-width-linebreaks: Likewise.
809         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
810         * modules/unilbrk/ulc-width-linebreaks: Likewise.
811         * modules/uniname/uniname: Likewise.
812         * modules/uninorm/canonical-decomposition: Likewise.
813         * modules/uninorm/composition: Likewise.
814         * modules/uninorm/decomposing-form: Likewise.
815         * modules/uninorm/decomposition: Likewise.
816         * modules/uninorm/filter: Likewise.
817         * modules/uninorm/nfc: Likewise.
818         * modules/uninorm/nfd: Likewise.
819         * modules/uninorm/nfkc: Likewise.
820         * modules/uninorm/nfkd: Likewise.
821         * modules/uninorm/u8-normalize: Likewise.
822         * modules/uninorm/u8-normcmp: Likewise.
823         * modules/uninorm/u8-normcoll: Likewise.
824         * modules/uninorm/u8-normxfrm: Likewise.
825         * modules/uninorm/u16-normalize: Likewise.
826         * modules/uninorm/u16-normcmp: Likewise.
827         * modules/uninorm/u16-normcoll: Likewise.
828         * modules/uninorm/u16-normxfrm: Likewise.
829         * modules/uninorm/u32-normalize: Likewise.
830         * modules/uninorm/u32-normcmp: Likewise.
831         * modules/uninorm/u32-normcoll: Likewise.
832         * modules/uninorm/u32-normxfrm: Likewise.
833         * modules/unistdio/u8-asnprintf: Likewise.
834         * modules/unistdio/u8-asprintf: Likewise.
835         * modules/unistdio/u8-snprintf: Likewise.
836         * modules/unistdio/u8-sprintf: Likewise.
837         * modules/unistdio/u8-u8-asnprintf: Likewise.
838         * modules/unistdio/u8-u8-asprintf: Likewise.
839         * modules/unistdio/u8-u8-snprintf: Likewise.
840         * modules/unistdio/u8-u8-sprintf: Likewise.
841         * modules/unistdio/u8-u8-vasnprintf: Likewise.
842         * modules/unistdio/u8-u8-vasprintf: Likewise.
843         * modules/unistdio/u8-u8-vsnprintf: Likewise.
844         * modules/unistdio/u8-u8-vsprintf: Likewise.
845         * modules/unistdio/u8-vasnprintf: Likewise.
846         * modules/unistdio/u8-vasprintf: Likewise.
847         * modules/unistdio/u8-vsnprintf: Likewise.
848         * modules/unistdio/u8-vsprintf: Likewise.
849         * modules/unistdio/u16-asnprintf: Likewise.
850         * modules/unistdio/u16-asprintf: Likewise.
851         * modules/unistdio/u16-snprintf: Likewise.
852         * modules/unistdio/u16-sprintf: Likewise.
853         * modules/unistdio/u16-u16-asnprintf: Likewise.
854         * modules/unistdio/u16-u16-asprintf: Likewise.
855         * modules/unistdio/u16-u16-snprintf: Likewise.
856         * modules/unistdio/u16-u16-sprintf: Likewise.
857         * modules/unistdio/u16-u16-vasnprintf: Likewise.
858         * modules/unistdio/u16-u16-vasprintf: Likewise.
859         * modules/unistdio/u16-u16-vsnprintf: Likewise.
860         * modules/unistdio/u16-u16-vsprintf: Likewise.
861         * modules/unistdio/u16-vasnprintf: Likewise.
862         * modules/unistdio/u16-vasprintf: Likewise.
863         * modules/unistdio/u16-vsnprintf: Likewise.
864         * modules/unistdio/u16-vsprintf: Likewise.
865         * modules/unistdio/u32-asnprintf: Likewise.
866         * modules/unistdio/u32-asprintf: Likewise.
867         * modules/unistdio/u32-snprintf: Likewise.
868         * modules/unistdio/u32-sprintf: Likewise.
869         * modules/unistdio/u32-u32-asnprintf: Likewise.
870         * modules/unistdio/u32-u32-asprintf: Likewise.
871         * modules/unistdio/u32-u32-snprintf: Likewise.
872         * modules/unistdio/u32-u32-sprintf: Likewise.
873         * modules/unistdio/u32-u32-vasnprintf: Likewise.
874         * modules/unistdio/u32-u32-vasprintf: Likewise.
875         * modules/unistdio/u32-u32-vsnprintf: Likewise.
876         * modules/unistdio/u32-u32-vsprintf: Likewise.
877         * modules/unistdio/u32-vasnprintf: Likewise.
878         * modules/unistdio/u32-vasprintf: Likewise.
879         * modules/unistdio/u32-vsnprintf: Likewise.
880         * modules/unistdio/u32-vsprintf: Likewise.
881         * modules/unistdio/ulc-asnprintf: Likewise.
882         * modules/unistdio/ulc-asprintf: Likewise.
883         * modules/unistdio/ulc-fprintf: Likewise.
884         * modules/unistdio/ulc-snprintf: Likewise.
885         * modules/unistdio/ulc-sprintf: Likewise.
886         * modules/unistdio/ulc-vasnprintf: Likewise.
887         * modules/unistdio/ulc-vasprintf: Likewise.
888         * modules/unistdio/ulc-vfprintf: Likewise.
889         * modules/unistdio/ulc-vsnprintf: Likewise.
890         * modules/unistdio/ulc-vsprintf: Likewise.
891         * modules/unistr/u8-check: Likewise.
892         * modules/unistr/u8-chr: Likewise.
893         * modules/unistr/u8-cmp: Likewise.
894         * modules/unistr/u8-cmp2: Likewise.
895         * modules/unistr/u8-cpy: Likewise.
896         * modules/unistr/u8-cpy-alloc: Likewise.
897         * modules/unistr/u8-endswith: Likewise.
898         * modules/unistr/u8-mblen: Likewise.
899         * modules/unistr/u8-mbsnlen: Likewise.
900         * modules/unistr/u8-mbtouc: Likewise.
901         * modules/unistr/u8-mbtouc-unsafe: Likewise.
902         * modules/unistr/u8-mbtoucr: Likewise.
903         * modules/unistr/u8-move: Likewise.
904         * modules/unistr/u8-next: Likewise.
905         * modules/unistr/u8-prev: Likewise.
906         * modules/unistr/u8-set: Likewise.
907         * modules/unistr/u8-startswith: Likewise.
908         * modules/unistr/u8-stpcpy: Likewise.
909         * modules/unistr/u8-stpncpy: Likewise.
910         * modules/unistr/u8-strcat: Likewise.
911         * modules/unistr/u8-strchr: Likewise.
912         * modules/unistr/u8-strcmp: Likewise.
913         * modules/unistr/u8-strcoll: Likewise.
914         * modules/unistr/u8-strcpy: Likewise.
915         * modules/unistr/u8-strcspn: Likewise.
916         * modules/unistr/u8-strdup: Likewise.
917         * modules/unistr/u8-strlen: Likewise.
918         * modules/unistr/u8-strmblen: Likewise.
919         * modules/unistr/u8-strmbtouc: Likewise.
920         * modules/unistr/u8-strncat: Likewise.
921         * modules/unistr/u8-strncmp: Likewise.
922         * modules/unistr/u8-strncpy: Likewise.
923         * modules/unistr/u8-strnlen: Likewise.
924         * modules/unistr/u8-strpbrk: Likewise.
925         * modules/unistr/u8-strrchr: Likewise.
926         * modules/unistr/u8-strspn: Likewise.
927         * modules/unistr/u8-strstr: Likewise.
928         * modules/unistr/u8-strtok: Likewise.
929         * modules/unistr/u8-to-u16: Likewise.
930         * modules/unistr/u8-to-u32: Likewise.
931         * modules/unistr/u8-uctomb: Likewise.
932         * modules/unistr/u16-check: Likewise.
933         * modules/unistr/u16-chr: Likewise.
934         * modules/unistr/u16-cmp: Likewise.
935         * modules/unistr/u16-cmp2: Likewise.
936         * modules/unistr/u16-cpy: Likewise.
937         * modules/unistr/u16-cpy-alloc: Likewise.
938         * modules/unistr/u16-endswith: Likewise.
939         * modules/unistr/u16-mblen: Likewise.
940         * modules/unistr/u16-mbsnlen: Likewise.
941         * modules/unistr/u16-mbtouc: Likewise.
942         * modules/unistr/u16-mbtouc-unsafe: Likewise.
943         * modules/unistr/u16-mbtoucr: Likewise.
944         * modules/unistr/u16-move: Likewise.
945         * modules/unistr/u16-next: Likewise.
946         * modules/unistr/u16-prev: Likewise.
947         * modules/unistr/u16-set: Likewise.
948         * modules/unistr/u16-startswith: Likewise.
949         * modules/unistr/u16-stpcpy: Likewise.
950         * modules/unistr/u16-stpncpy: Likewise.
951         * modules/unistr/u16-strcat: Likewise.
952         * modules/unistr/u16-strchr: Likewise.
953         * modules/unistr/u16-strcmp: Likewise.
954         * modules/unistr/u16-strcoll: Likewise.
955         * modules/unistr/u16-strcpy: Likewise.
956         * modules/unistr/u16-strcspn: Likewise.
957         * modules/unistr/u16-strdup: Likewise.
958         * modules/unistr/u16-strlen: Likewise.
959         * modules/unistr/u16-strmblen: Likewise.
960         * modules/unistr/u16-strmbtouc: Likewise.
961         * modules/unistr/u16-strncat: Likewise.
962         * modules/unistr/u16-strncmp: Likewise.
963         * modules/unistr/u16-strncpy: Likewise.
964         * modules/unistr/u16-strnlen: Likewise.
965         * modules/unistr/u16-strpbrk: Likewise.
966         * modules/unistr/u16-strrchr: Likewise.
967         * modules/unistr/u16-strspn: Likewise.
968         * modules/unistr/u16-strstr: Likewise.
969         * modules/unistr/u16-strtok: Likewise.
970         * modules/unistr/u16-to-u32: Likewise.
971         * modules/unistr/u16-to-u8: Likewise.
972         * modules/unistr/u16-uctomb: Likewise.
973         * modules/unistr/u32-check: Likewise.
974         * modules/unistr/u32-chr: Likewise.
975         * modules/unistr/u32-cmp: Likewise.
976         * modules/unistr/u32-cmp2: Likewise.
977         * modules/unistr/u32-cpy: Likewise.
978         * modules/unistr/u32-cpy-alloc: Likewise.
979         * modules/unistr/u32-endswith: Likewise.
980         * modules/unistr/u32-mblen: Likewise.
981         * modules/unistr/u32-mbsnlen: Likewise.
982         * modules/unistr/u32-mbtouc: Likewise.
983         * modules/unistr/u32-mbtouc-unsafe: Likewise.
984         * modules/unistr/u32-mbtoucr: Likewise.
985         * modules/unistr/u32-move: Likewise.
986         * modules/unistr/u32-next: Likewise.
987         * modules/unistr/u32-prev: Likewise.
988         * modules/unistr/u32-set: Likewise.
989         * modules/unistr/u32-startswith: Likewise.
990         * modules/unistr/u32-stpcpy: Likewise.
991         * modules/unistr/u32-stpncpy: Likewise.
992         * modules/unistr/u32-strcat: Likewise.
993         * modules/unistr/u32-strchr: Likewise.
994         * modules/unistr/u32-strcmp: Likewise.
995         * modules/unistr/u32-strcoll: Likewise.
996         * modules/unistr/u32-strcpy: Likewise.
997         * modules/unistr/u32-strcspn: Likewise.
998         * modules/unistr/u32-strdup: Likewise.
999         * modules/unistr/u32-strlen: Likewise.
1000         * modules/unistr/u32-strmblen: Likewise.
1001         * modules/unistr/u32-strmbtouc: Likewise.
1002         * modules/unistr/u32-strncat: Likewise.
1003         * modules/unistr/u32-strncmp: Likewise.
1004         * modules/unistr/u32-strncpy: Likewise.
1005         * modules/unistr/u32-strnlen: Likewise.
1006         * modules/unistr/u32-strpbrk: Likewise.
1007         * modules/unistr/u32-strrchr: Likewise.
1008         * modules/unistr/u32-strspn: Likewise.
1009         * modules/unistr/u32-strstr: Likewise.
1010         * modules/unistr/u32-strtok: Likewise.
1011         * modules/unistr/u32-to-u16: Likewise.
1012         * modules/unistr/u32-to-u8: Likewise.
1013         * modules/unistr/u32-uctomb: Likewise.
1014         * modules/uniwbrk/u8-wordbreaks: Likewise.
1015         * modules/uniwbrk/u16-wordbreaks: Likewise.
1016         * modules/uniwbrk/u32-wordbreaks: Likewise.
1017         * modules/uniwbrk/ulc-wordbreaks: Likewise.
1018         * modules/uniwbrk/wordbreak-property: Likewise.
1019         * modules/uniwidth/u8-strwidth: Likewise.
1020         * modules/uniwidth/u8-width: Likewise.
1021         * modules/uniwidth/u16-strwidth: Likewise.
1022         * modules/uniwidth/u16-width: Likewise.
1023         * modules/uniwidth/u32-strwidth: Likewise.
1024         * modules/uniwidth/u32-width: Likewise.
1025         * modules/uniwidth/width: Likewise.
1026         * modules/unicase/cased-tests (Makefile.am): Link all test programs
1027         with $(LIBUNISTRING).
1028         * modules/unicase/ignorable-tests: Likewise.
1029         * modules/unicase/locale-language-tests: Likewise.
1030         * modules/unicase/tolower-tests: Likewise.
1031         * modules/unicase/totitle-tests: Likewise.
1032         * modules/unicase/toupper-tests: Likewise.
1033         * modules/unicase/u8-casecmp-tests: Likewise.
1034         * modules/unicase/u8-casecoll-tests: Likewise.
1035         * modules/unicase/u8-casefold-tests: Likewise.
1036         * modules/unicase/u8-is-cased-tests: Likewise.
1037         * modules/unicase/u8-is-casefolded-tests: Likewise.
1038         * modules/unicase/u8-is-lowercase-tests: Likewise.
1039         * modules/unicase/u8-is-titlecase-tests: Likewise.
1040         * modules/unicase/u8-is-uppercase-tests: Likewise.
1041         * modules/unicase/u8-tolower-tests: Likewise.
1042         * modules/unicase/u8-totitle-tests: Likewise.
1043         * modules/unicase/u8-toupper-tests: Likewise.
1044         * modules/unicase/u16-casecmp-tests: Likewise.
1045         * modules/unicase/u16-casecoll-tests: Likewise.
1046         * modules/unicase/u16-casefold-tests: Likewise.
1047         * modules/unicase/u16-is-cased-tests: Likewise.
1048         * modules/unicase/u16-is-casefolded-tests: Likewise.
1049         * modules/unicase/u16-is-lowercase-tests: Likewise.
1050         * modules/unicase/u16-is-titlecase-tests: Likewise.
1051         * modules/unicase/u16-is-uppercase-tests: Likewise.
1052         * modules/unicase/u16-tolower-tests: Likewise.
1053         * modules/unicase/u16-totitle-tests: Likewise.
1054         * modules/unicase/u16-toupper-tests: Likewise.
1055         * modules/unicase/u32-casecmp-tests: Likewise.
1056         * modules/unicase/u32-casecoll-tests: Likewise.
1057         * modules/unicase/u32-casefold-tests: Likewise.
1058         * modules/unicase/u32-is-cased-tests: Likewise.
1059         * modules/unicase/u32-is-casefolded-tests: Likewise.
1060         * modules/unicase/u32-is-lowercase-tests: Likewise.
1061         * modules/unicase/u32-is-titlecase-tests: Likewise.
1062         * modules/unicase/u32-is-uppercase-tests: Likewise.
1063         * modules/unicase/u32-tolower-tests: Likewise.
1064         * modules/unicase/u32-totitle-tests: Likewise.
1065         * modules/unicase/u32-toupper-tests: Likewise.
1066         * modules/unicase/ulc-casecmp-tests: Likewise.
1067         * modules/unicase/ulc-casecoll-tests: Likewise.
1068         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
1069         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
1070         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
1071         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
1072         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
1073         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
1074         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
1075         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
1076         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
1077         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
1078         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
1079         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
1080         * modules/unictype/bidicategory-byname-tests: Likewise.
1081         * modules/unictype/bidicategory-name-tests: Likewise.
1082         * modules/unictype/bidicategory-of-tests: Likewise.
1083         * modules/unictype/bidicategory-test-tests: Likewise.
1084         * modules/unictype/block-list-tests: Likewise.
1085         * modules/unictype/block-of-tests: Likewise.
1086         * modules/unictype/block-test-tests: Likewise.
1087         * modules/unictype/category-C-tests: Likewise.
1088         * modules/unictype/category-Cc-tests: Likewise.
1089         * modules/unictype/category-Cf-tests: Likewise.
1090         * modules/unictype/category-Cn-tests: Likewise.
1091         * modules/unictype/category-Co-tests: Likewise.
1092         * modules/unictype/category-Cs-tests: Likewise.
1093         * modules/unictype/category-L-tests: Likewise.
1094         * modules/unictype/category-Ll-tests: Likewise.
1095         * modules/unictype/category-Lm-tests: Likewise.
1096         * modules/unictype/category-Lo-tests: Likewise.
1097         * modules/unictype/category-Lt-tests: Likewise.
1098         * modules/unictype/category-Lu-tests: Likewise.
1099         * modules/unictype/category-M-tests: Likewise.
1100         * modules/unictype/category-Mc-tests: Likewise.
1101         * modules/unictype/category-Me-tests: Likewise.
1102         * modules/unictype/category-Mn-tests: Likewise.
1103         * modules/unictype/category-N-tests: Likewise.
1104         * modules/unictype/category-Nd-tests: Likewise.
1105         * modules/unictype/category-Nl-tests: Likewise.
1106         * modules/unictype/category-No-tests: Likewise.
1107         * modules/unictype/category-P-tests: Likewise.
1108         * modules/unictype/category-Pc-tests: Likewise.
1109         * modules/unictype/category-Pd-tests: Likewise.
1110         * modules/unictype/category-Pe-tests: Likewise.
1111         * modules/unictype/category-Pf-tests: Likewise.
1112         * modules/unictype/category-Pi-tests: Likewise.
1113         * modules/unictype/category-Po-tests: Likewise.
1114         * modules/unictype/category-Ps-tests: Likewise.
1115         * modules/unictype/category-S-tests: Likewise.
1116         * modules/unictype/category-Sc-tests: Likewise.
1117         * modules/unictype/category-Sk-tests: Likewise.
1118         * modules/unictype/category-Sm-tests: Likewise.
1119         * modules/unictype/category-So-tests: Likewise.
1120         * modules/unictype/category-Z-tests: Likewise.
1121         * modules/unictype/category-Zl-tests: Likewise.
1122         * modules/unictype/category-Zp-tests: Likewise.
1123         * modules/unictype/category-Zs-tests: Likewise.
1124         * modules/unictype/category-and-not-tests: Likewise.
1125         * modules/unictype/category-and-tests: Likewise.
1126         * modules/unictype/category-byname-tests: Likewise.
1127         * modules/unictype/category-name-tests: Likewise.
1128         * modules/unictype/category-none-tests: Likewise.
1129         * modules/unictype/category-of-tests: Likewise.
1130         * modules/unictype/category-or-tests: Likewise.
1131         * modules/unictype/category-test-withtable-tests: Likewise.
1132         * modules/unictype/combining-class-tests: Likewise.
1133         * modules/unictype/ctype-alnum-tests: Likewise.
1134         * modules/unictype/ctype-alpha-tests: Likewise.
1135         * modules/unictype/ctype-blank-tests: Likewise.
1136         * modules/unictype/ctype-cntrl-tests: Likewise.
1137         * modules/unictype/ctype-digit-tests: Likewise.
1138         * modules/unictype/ctype-graph-tests: Likewise.
1139         * modules/unictype/ctype-lower-tests: Likewise.
1140         * modules/unictype/ctype-print-tests: Likewise.
1141         * modules/unictype/ctype-punct-tests: Likewise.
1142         * modules/unictype/ctype-space-tests: Likewise.
1143         * modules/unictype/ctype-upper-tests: Likewise.
1144         * modules/unictype/ctype-xdigit-tests: Likewise.
1145         * modules/unictype/decimal-digit-tests: Likewise.
1146         * modules/unictype/digit-tests: Likewise.
1147         * modules/unictype/mirror-tests: Likewise.
1148         * modules/unictype/numeric-tests: Likewise.
1149         * modules/unictype/property-alphabetic-tests: Likewise.
1150         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
1151         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
1152         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
1153         * modules/unictype/property-bidi-block-separator-tests: Likewise.
1154         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
1155         * modules/unictype/property-bidi-common-separator-tests: Likewise.
1156         * modules/unictype/property-bidi-control-tests: Likewise.
1157         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
1158         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
1159         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
1160         * modules/unictype/property-bidi-european-digit-tests: Likewise.
1161         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
1162         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
1163         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
1164         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
1165         * modules/unictype/property-bidi-pdf-tests: Likewise.
1166         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
1167         * modules/unictype/property-bidi-whitespace-tests: Likewise.
1168         * modules/unictype/property-byname-tests: Likewise.
1169         * modules/unictype/property-combining-tests: Likewise.
1170         * modules/unictype/property-composite-tests: Likewise.
1171         * modules/unictype/property-currency-symbol-tests: Likewise.
1172         * modules/unictype/property-dash-tests: Likewise.
1173         * modules/unictype/property-decimal-digit-tests: Likewise.
1174         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
1175         * modules/unictype/property-deprecated-tests: Likewise.
1176         * modules/unictype/property-diacritic-tests: Likewise.
1177         * modules/unictype/property-extender-tests: Likewise.
1178         * modules/unictype/property-format-control-tests: Likewise.
1179         * modules/unictype/property-grapheme-base-tests: Likewise.
1180         * modules/unictype/property-grapheme-extend-tests: Likewise.
1181         * modules/unictype/property-grapheme-link-tests: Likewise.
1182         * modules/unictype/property-hex-digit-tests: Likewise.
1183         * modules/unictype/property-hyphen-tests: Likewise.
1184         * modules/unictype/property-id-continue-tests: Likewise.
1185         * modules/unictype/property-id-start-tests: Likewise.
1186         * modules/unictype/property-ideographic-tests: Likewise.
1187         * modules/unictype/property-ids-binary-operator-tests: Likewise.
1188         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
1189         * modules/unictype/property-ignorable-control-tests: Likewise.
1190         * modules/unictype/property-iso-control-tests: Likewise.
1191         * modules/unictype/property-join-control-tests: Likewise.
1192         * modules/unictype/property-left-of-pair-tests: Likewise.
1193         * modules/unictype/property-line-separator-tests: Likewise.
1194         * modules/unictype/property-logical-order-exception-tests: Likewise.
1195         * modules/unictype/property-lowercase-tests: Likewise.
1196         * modules/unictype/property-math-tests: Likewise.
1197         * modules/unictype/property-non-break-tests: Likewise.
1198         * modules/unictype/property-not-a-character-tests: Likewise.
1199         * modules/unictype/property-numeric-tests: Likewise.
1200         * modules/unictype/property-other-alphabetic-tests: Likewise.
1201         * modules/unictype/property-other-default-ignorable-code-point-tests:
1202         Likewise.
1203         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
1204         * modules/unictype/property-other-id-continue-tests: Likewise.
1205         * modules/unictype/property-other-id-start-tests: Likewise.
1206         * modules/unictype/property-other-lowercase-tests: Likewise.
1207         * modules/unictype/property-other-math-tests: Likewise.
1208         * modules/unictype/property-other-uppercase-tests: Likewise.
1209         * modules/unictype/property-paired-punctuation-tests: Likewise.
1210         * modules/unictype/property-paragraph-separator-tests: Likewise.
1211         * modules/unictype/property-pattern-syntax-tests: Likewise.
1212         * modules/unictype/property-pattern-white-space-tests: Likewise.
1213         * modules/unictype/property-private-use-tests: Likewise.
1214         * modules/unictype/property-punctuation-tests: Likewise.
1215         * modules/unictype/property-quotation-mark-tests: Likewise.
1216         * modules/unictype/property-radical-tests: Likewise.
1217         * modules/unictype/property-sentence-terminal-tests: Likewise.
1218         * modules/unictype/property-soft-dotted-tests: Likewise.
1219         * modules/unictype/property-space-tests: Likewise.
1220         * modules/unictype/property-terminal-punctuation-tests: Likewise.
1221         * modules/unictype/property-test-tests: Likewise.
1222         * modules/unictype/property-titlecase-tests: Likewise.
1223         * modules/unictype/property-unassigned-code-value-tests: Likewise.
1224         * modules/unictype/property-unified-ideograph-tests: Likewise.
1225         * modules/unictype/property-uppercase-tests: Likewise.
1226         * modules/unictype/property-variation-selector-tests: Likewise.
1227         * modules/unictype/property-white-space-tests: Likewise.
1228         * modules/unictype/property-xid-continue-tests: Likewise.
1229         * modules/unictype/property-xid-start-tests: Likewise.
1230         * modules/unictype/property-zero-width-tests: Likewise.
1231         * modules/unictype/scripts-tests: Likewise.
1232         * modules/unictype/syntax-c-ident-tests: Likewise.
1233         * modules/unictype/syntax-c-whitespace-tests: Likewise.
1234         * modules/unictype/syntax-java-ident-tests: Likewise.
1235         * modules/unictype/syntax-java-whitespace-tests: Likewise.
1236         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
1237         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
1238         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
1239         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
1240         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
1241         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
1242         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
1243         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
1244         * modules/uniname/uniname-tests: Likewise.
1245         * modules/uninorm/canonical-decomposition-tests: Likewise.
1246         * modules/uninorm/compat-decomposition-tests: Likewise.
1247         * modules/uninorm/composition-tests: Likewise.
1248         * modules/uninorm/decomposing-form-tests: Likewise.
1249         * modules/uninorm/decomposition-tests: Likewise.
1250         * modules/uninorm/filter-tests: Likewise.
1251         * modules/uninorm/nfc-tests: Likewise.
1252         * modules/uninorm/nfd-tests: Likewise.
1253         * modules/uninorm/nfkc-tests: Likewise.
1254         * modules/uninorm/nfkd-tests: Likewise.
1255         * modules/uninorm/u8-normcmp-tests: Likewise.
1256         * modules/uninorm/u8-normcoll-tests: Likewise.
1257         * modules/uninorm/u16-normcmp-tests: Likewise.
1258         * modules/uninorm/u16-normcoll-tests: Likewise.
1259         * modules/uninorm/u32-normcmp-tests: Likewise.
1260         * modules/uninorm/u32-normcoll-tests: Likewise.
1261         * modules/unistdio/u8-asnprintf-tests: Likewise.
1262         * modules/unistdio/u8-vasnprintf-tests: Likewise.
1263         * modules/unistdio/u8-vasprintf-tests: Likewise.
1264         * modules/unistdio/u8-vsnprintf-tests: Likewise.
1265         * modules/unistdio/u8-vsprintf-tests: Likewise.
1266         * modules/unistdio/u16-asnprintf-tests: Likewise.
1267         * modules/unistdio/u16-vasnprintf-tests: Likewise.
1268         * modules/unistdio/u16-vasprintf-tests: Likewise.
1269         * modules/unistdio/u16-vsnprintf-tests: Likewise.
1270         * modules/unistdio/u16-vsprintf-tests: Likewise.
1271         * modules/unistdio/u32-asnprintf-tests: Likewise.
1272         * modules/unistdio/u32-vasnprintf-tests: Likewise.
1273         * modules/unistdio/u32-vasprintf-tests: Likewise.
1274         * modules/unistdio/u32-vsnprintf-tests: Likewise.
1275         * modules/unistdio/u32-vsprintf-tests: Likewise.
1276         * modules/unistdio/ulc-asnprintf-tests: Likewise.
1277         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
1278         * modules/unistdio/ulc-vasprintf-tests: Likewise.
1279         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
1280         * modules/unistdio/ulc-vsprintf-tests: Likewise.
1281         * modules/unistr/u8-check-tests: Likewise.
1282         * modules/unistr/u8-chr-tests: Likewise.
1283         * modules/unistr/u8-cmp-tests: Likewise.
1284         * modules/unistr/u8-cmp2-tests: Likewise.
1285         * modules/unistr/u8-cpy-alloc-tests: Likewise.
1286         * modules/unistr/u8-cpy-tests: Likewise.
1287         * modules/unistr/u8-mblen-tests: Likewise.
1288         * modules/unistr/u8-mbsnlen-tests: Likewise.
1289         * modules/unistr/u8-mbtouc-tests: Likewise.
1290         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
1291         * modules/unistr/u8-mbtoucr-tests: Likewise.
1292         * modules/unistr/u8-move-tests: Likewise.
1293         * modules/unistr/u8-next-tests: Likewise.
1294         * modules/unistr/u8-prev-tests: Likewise.
1295         * modules/unistr/u8-set-tests: Likewise.
1296         * modules/unistr/u8-stpcpy-tests: Likewise.
1297         * modules/unistr/u8-stpncpy-tests: Likewise.
1298         * modules/unistr/u8-strcat-tests: Likewise.
1299         * modules/unistr/u8-strcmp-tests: Likewise.
1300         * modules/unistr/u8-strcoll-tests: Likewise.
1301         * modules/unistr/u8-strcpy-tests: Likewise.
1302         * modules/unistr/u8-strdup-tests: Likewise.
1303         * modules/unistr/u8-strlen-tests: Likewise.
1304         * modules/unistr/u8-strmblen-tests: Likewise.
1305         * modules/unistr/u8-strmbtouc-tests: Likewise.
1306         * modules/unistr/u8-strncat-tests: Likewise.
1307         * modules/unistr/u8-strncmp-tests: Likewise.
1308         * modules/unistr/u8-strncpy-tests: Likewise.
1309         * modules/unistr/u8-strnlen-tests: Likewise.
1310         * modules/unistr/u8-to-u16-tests: Likewise.
1311         * modules/unistr/u8-to-u32-tests: Likewise.
1312         * modules/unistr/u8-uctomb-tests: Likewise.
1313         * modules/unistr/u16-check-tests: Likewise.
1314         * modules/unistr/u16-chr-tests: Likewise.
1315         * modules/unistr/u16-cmp-tests: Likewise.
1316         * modules/unistr/u16-cmp2-tests: Likewise.
1317         * modules/unistr/u16-cpy-alloc-tests: Likewise.
1318         * modules/unistr/u16-cpy-tests: Likewise.
1319         * modules/unistr/u16-mblen-tests: Likewise.
1320         * modules/unistr/u16-mbsnlen-tests: Likewise.
1321         * modules/unistr/u16-mbtouc-tests: Likewise.
1322         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
1323         * modules/unistr/u16-mbtoucr-tests: Likewise.
1324         * modules/unistr/u16-move-tests: Likewise.
1325         * modules/unistr/u16-next-tests: Likewise.
1326         * modules/unistr/u16-prev-tests: Likewise.
1327         * modules/unistr/u16-set-tests: Likewise.
1328         * modules/unistr/u16-stpcpy-tests: Likewise.
1329         * modules/unistr/u16-stpncpy-tests: Likewise.
1330         * modules/unistr/u16-strcat-tests: Likewise.
1331         * modules/unistr/u16-strcmp-tests: Likewise.
1332         * modules/unistr/u16-strcoll-tests: Likewise.
1333         * modules/unistr/u16-strcpy-tests: Likewise.
1334         * modules/unistr/u16-strdup-tests: Likewise.
1335         * modules/unistr/u16-strlen-tests: Likewise.
1336         * modules/unistr/u16-strmblen-tests: Likewise.
1337         * modules/unistr/u16-strmbtouc-tests: Likewise.
1338         * modules/unistr/u16-strncat-tests: Likewise.
1339         * modules/unistr/u16-strncmp-tests: Likewise.
1340         * modules/unistr/u16-strncpy-tests: Likewise.
1341         * modules/unistr/u16-strnlen-tests: Likewise.
1342         * modules/unistr/u16-to-u32-tests: Likewise.
1343         * modules/unistr/u16-to-u8-tests: Likewise.
1344         * modules/unistr/u16-uctomb-tests: Likewise.
1345         * modules/unistr/u32-check-tests: Likewise.
1346         * modules/unistr/u32-chr-tests: Likewise.
1347         * modules/unistr/u32-cmp-tests: Likewise.
1348         * modules/unistr/u32-cmp2-tests: Likewise.
1349         * modules/unistr/u32-cpy-alloc-tests: Likewise.
1350         * modules/unistr/u32-cpy-tests: Likewise.
1351         * modules/unistr/u32-mblen-tests: Likewise.
1352         * modules/unistr/u32-mbsnlen-tests: Likewise.
1353         * modules/unistr/u32-mbtouc-tests: Likewise.
1354         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
1355         * modules/unistr/u32-mbtoucr-tests: Likewise.
1356         * modules/unistr/u32-move-tests: Likewise.
1357         * modules/unistr/u32-next-tests: Likewise.
1358         * modules/unistr/u32-prev-tests: Likewise.
1359         * modules/unistr/u32-set-tests: Likewise.
1360         * modules/unistr/u32-stpcpy-tests: Likewise.
1361         * modules/unistr/u32-stpncpy-tests: Likewise.
1362         * modules/unistr/u32-strcat-tests: Likewise.
1363         * modules/unistr/u32-strcmp-tests: Likewise.
1364         * modules/unistr/u32-strcoll-tests: Likewise.
1365         * modules/unistr/u32-strcpy-tests: Likewise.
1366         * modules/unistr/u32-strdup-tests: Likewise.
1367         * modules/unistr/u32-strlen-tests: Likewise.
1368         * modules/unistr/u32-strmblen-tests: Likewise.
1369         * modules/unistr/u32-strmbtouc-tests: Likewise.
1370         * modules/unistr/u32-strncat-tests: Likewise.
1371         * modules/unistr/u32-strncmp-tests: Likewise.
1372         * modules/unistr/u32-strncpy-tests: Likewise.
1373         * modules/unistr/u32-strnlen-tests: Likewise.
1374         * modules/unistr/u32-to-u16-tests: Likewise.
1375         * modules/unistr/u32-to-u8-tests: Likewise.
1376         * modules/unistr/u32-uctomb-tests: Likewise.
1377         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
1378         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
1379         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
1380         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
1381         * modules/uniwidth/u8-strwidth-tests: Likewise.
1382         * modules/uniwidth/u8-width-tests: Likewise.
1383         * modules/uniwidth/u16-strwidth-tests: Likewise.
1384         * modules/uniwidth/u16-width-tests: Likewise.
1385         * modules/uniwidth/u32-strwidth-tests: Likewise.
1386         * modules/uniwidth/u32-width-tests: Likewise.
1387         * modules/uniwidth/width-tests: Likewise.
1388
1389 2010-05-18  Richard Jones  <rjones@redhat.com>
1390
1391         doc: users.txt: list hivex
1392         * users.txt: Add hivex.
1393
1394 2010-05-18  Richard Jones  <rjones@redhat.com>
1395
1396         doc: users.txt: list febootstrap
1397         * users.txt: Add febootstrap.
1398
1399 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
1400
1401         bootstrap: fix an error when gnulib is not used as a git submodule
1402         * build-aux/bootstrap (gnulib_path): If its length is zero then
1403         assign "gnulib" to it.
1404         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
1405
1406 2010-05-16  Bruno Haible  <bruno@clisp.org>
1407
1408         Avoid autoconf warnings about AM_ICONV.
1409         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
1410         2.64.
1411
1412 2010-05-16  Bruno Haible  <bruno@clisp.org>
1413
1414         absolute-header: Make the macro usable in more situations.
1415         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
1416         from gl_ABSOLUTE_HEADER.
1417         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
1418
1419 2010-05-16  James Youngman  <jay@gnu.org>
1420
1421         doc: update users.txt
1422         * users.txt: Add CSSC.
1423
1424 2010-05-16  Jim Meyering  <meyering@redhat.com>
1425
1426         init.sh: fix an error in the previous change; add more comments
1427         * tests/init.sh: Compare exit code in loop against 9, not 2.
1428         Patch by Bruno Haible.
1429         Make the two tests more similar by adding an empty "then" clause.
1430         Add comments.
1431
1432         init.sh: avoid unnecessary shell re-exec
1433         * tests/init.sh: Improve the re-exec-required check to first test the
1434         current shell.  If it passes the test, do not search for a shell that
1435         does pass, and do not re-exec.  This test is particularly contorted to
1436         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
1437         of $(...) evokes a syntax error and causes immediate shell exit with
1438         status 2.  Bruno Haible reported that the re-exec made it impossible
1439         to single-step through any init.sh-using script.
1440
1441 2010-05-16  Bruno Haible  <bruno@clisp.org>
1442
1443         Fix collision between gnulib's and libintl's printf replacements.
1444         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
1445         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
1446         (printf): When using GNU C, map the __printf__ function to rpl_printf
1447         via __asm__. When not using GNU C, define rpl_printf instead of
1448         __printf__.
1449         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
1450         commit.
1451         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
1452         commit.
1453         * m4/asm-underscore.m4: New file.
1454         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
1455         * modules/stdio (Files): Add m4/asm-underscore.m4.
1456         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
1457         Reported by Ben Pfaff.
1458
1459 2010-05-16  Bruno Haible  <bruno@clisp.org>
1460
1461         verify: Avoid skipping the test on openSUSE 11.0.
1462         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
1463
1464 2010-05-13  Bruno Haible  <bruno@clisp.org>
1465
1466         Avoid useless warnings from G++.
1467         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
1468         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
1469         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1470
1471 2010-05-11  Jim Meyering  <meyering@redhat.com>
1472
1473         maint.mk: tweak preceding change
1474         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
1475         regexps tighter by anchoring at EOL, and make the new group "shy"
1476         for slightly decreased overhead.
1477
1478 2010-05-11  Eric Blake  <eblake@redhat.com>
1479
1480         maint.mk: gnulib doesn't guarantee NSIG
1481         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
1482
1483 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1484
1485         test-pwrite.c: Remove unused variable declaration.
1486         * tests/test-pwrite.c (main): Remove read_buf declaration.
1487
1488         Remove useless test-pwrite.sh file.
1489         * tests/test-pwrite.sh: Delete file.
1490         * modules/pwrite-tests: Remove references.
1491         Reported by Bruno Haible.
1492
1493 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1494
1495         init.sh: fix a typo
1496         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
1497
1498 2010-05-10  Jim Meyering  <meyering@redhat.com>
1499
1500         maint.mk: avoid using a temporary file in the always-defined-macros check
1501         * top/maint.mk (.re-defmac): Remove rule.
1502         (gl_trap_): Remove definition.
1503         (sc_prohibit_always-defined_macros): Rewrite not to create and
1504         depend on a temporary file.  Instead, depend on GNU grep's ability
1505         to read a list of regular expressions from stdin when given "-f -".
1506
1507 2010-05-09  Bruno Haible  <bruno@clisp.org>
1508
1509         Update to GNU gettext 0.18, part 1.
1510         * m4/gettext.m4: Update to GNU gettext 0.18.
1511         * m4/intl.m4: Likewise.
1512         * m4/po.m4: Likewise.
1513         * modules/gettext (Files): Add m4/fcntl-o.m4.
1514         (configure.ac): Require gettext infrastructure from version 0.18.
1515
1516 2010-05-09  Jim Meyering  <meyering@redhat.com>
1517
1518         init.sh: enable MALLOC_PERTURB_
1519         * tests/init.sh: Enable glibc's malloc-perturbing option.
1520
1521         maint.mk: improve sc_cross_check_PATH_usage_in_tests
1522         With my recent change in init.sh from the two-line form:
1523             -#   : ${srcdir=.}
1524             -#   . "$srcdir/init.sh"; path_prepend_ .
1525             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
1526         I noticed that using the one-line form would cause this test
1527         to fail with a false-positive, or to stop working altogether,
1528         depending on whether help-version changed or all the tests did.
1529         * top/maint.mk (_hv_regex): Remove this definition.
1530         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
1531         (_hv_regex_strong): Use a stronger regex to check for conformance.
1532         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
1533         Give a separate diagnostic for lack of conforming use.
1534
1535         maint.mk: prohibit definition of symbols defined by gnulib
1536         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
1537         definition of symbols defined by gnulib.
1538
1539 2010-05-09  Bruno Haible  <bruno@clisp.org>
1540
1541         acl: Avoid test failure on Cygwin-hosted mingw.
1542         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
1543
1544 2010-05-09  Bruno Haible  <bruno@clisp.org>
1545
1546         error: Use system's fcntl function.
1547         * lib/error.c (fcntl): Undefine.
1548
1549 2010-05-09  Jim Meyering  <meyering@redhat.com>
1550
1551         verify: adjust formatting to be more consistent
1552         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
1553         argument-list '('s, and after one comma.
1554
1555 2010-05-09  Bruno Haible  <bruno@clisp.org>
1556
1557         error: More reliable output on mingw.
1558         * lib/error.c: Include <windows.h>.
1559         (is_open): New function.
1560         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
1561         defined.
1562
1563 2010-05-09  Bruno Haible  <bruno@clisp.org>
1564
1565         vasnprintf: Fix syntax errors in libintl build on mingw.
1566         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
1567         pad_ourselves and prec_ourselves after use.
1568
1569 2010-05-08  Bruno Haible  <bruno@clisp.org>
1570
1571         * lib/config.charset: Update comments for Cygwin 1.7.
1572         * lib/localcharset.c: Likewise.
1573
1574 2010-05-07  Jim Meyering  <meyering@redhat.com>
1575
1576         init.sh: improve comments
1577         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
1578         . "${srcdir=.}/init.sh"; path_prepend_ .
1579         Add a note about path_prepend_ and the alternative of using
1580         TESTS_ENVIRONMENT.
1581
1582 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
1583
1584         exclude: Unescape hashed patterns in wildcard mode.
1585         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
1586         to the hash list.
1587         * tests/test-exclude8.sh: New test case.
1588         * modules/exclude-tests: Add new test.
1589
1590 2010-05-05  Eric Blake  <eblake@redhat.com>
1591
1592         verify: automate tests
1593         * modules/verify-tests: New module.
1594         * tests/test-verify.sh: New file.
1595         * tests/test-verify.c: Guard each negative test with a unique id.
1596         Also avoid warning about unused left hand of comma expressions.
1597
1598 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1599
1600         Further improvements to verify.h, suggested by Eric Blake.
1601         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
1602         the GL_* versions, to avoid collision with OpenGL.
1603         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
1604         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
1605         than testing merely whether it's defined.
1606
1607         Modify verify.h to pacify gcc -Wredundant_decls.
1608         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
1609         These use the prefix "GL_" since they're likely to be useful elsewhere.
1610         We may need to break them out into a different .h file.
1611         (__COUNTER__): Define to 0 if the compiler doesn't support it.
1612         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
1613         of verify_function__.
1614
1615 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
1616
1617         Tests for module pwrite.
1618         * modules/pwrite-tests: New file.
1619         * tests/test-pwrite.sh: New file.
1620         * tests/test-pwrite.c: New file.
1621
1622         New module pwrite.
1623         * lib/unistd.in.h (pwrite): New declaration.
1624         * lib/pwrite.c: New file, from glibc with modifications.
1625         * m4/pwrite.m4: New file.
1626         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
1627         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
1628         REPLACE_PWRITE.
1629         * modules/pwrite: New file.
1630         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
1631         REPLACE_PWRITE.
1632         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
1633         * doc/posix-functions/pwrite.texi: Mention the new module.
1634
1635 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
1636
1637         pread: Update documentation.
1638         * doc/posix-functions/pread.texi: Mention the 'pread' module.
1639
1640 2010-05-04  Eric Blake  <eblake@redhat.com>
1641
1642         docs: update cygwin progress
1643         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
1644         this bug.
1645         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
1646         Added in cygwin 1.7.2.
1647         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
1648         Likewise.
1649         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
1650         Likewise.
1651         * doc/glibc-functions/dup3.texi (dup3): Likewise.
1652         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
1653         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1654         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
1655         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
1656         Mention nproc module.
1657         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
1658         bug in cygwin 1.7.5 addition.
1659         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
1660         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
1661         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
1662         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
1663         1.7.5.
1664         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
1665         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
1666         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
1667         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
1668         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
1669         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
1670         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
1671         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
1672         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
1673         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
1674         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
1675         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
1676         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
1677         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
1678         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
1679         Likewise.
1680         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
1681         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
1682         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
1683         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
1684         Likewise.
1685         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
1686         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
1687         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
1688         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
1689         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
1690         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
1691         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
1692         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
1693         Likewise.
1694         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
1695         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
1696         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
1697         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
1698         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
1699         Likewise.
1700         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
1701         Likewise.
1702         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
1703         Likewise.
1704         * doc/glibc-functions/xdrrec_endofrecord.texi
1705         (xdrrec_endofrecord): Likewise.
1706         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
1707         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
1708         Likewise.
1709         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
1710         Likewise.
1711
1712 2010-05-04  Jim Meyering  <meyering@redhat.com>
1713
1714         gendocs.sh: make its "-s FILE" option more useful
1715         * build-aux/gendocs.sh: When honoring the -s FILE option, update
1716         $PACKAGE to reflect the probably-different basename of "FILE".
1717
1718 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
1719
1720         bootstrap: don't ignore download_po_files failure
1721         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
1722         failure.
1723
1724 2010-05-03  Jim Meyering  <meyering@redhat.com>
1725
1726         maint.mk: allow to pass options to gendocs.sh
1727         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
1728         (gendocs_options_): New overridable variable.
1729
1730         gnu-web-doc-update: don't ignore configure or build failure
1731         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
1732
1733         announce-gen: backslash-escape '@'s in --help output
1734         * build-aux/announce-gen: Fix syntax errors.
1735
1736         maint.mk, announce-gen: allow project-specific announcement mail headers
1737         * top/maint.mk (translation_project_): Define default.
1738         (announcement_Cc_, announcement_mail_headers_): Likewise.
1739         (announcement): Invoke announce-gen with new --mail-headers option.
1740         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
1741
1742         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
1743         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
1744         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
1745         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
1746         line in the "err2" output file when running "make check" in verbose
1747         mode (i.e., with set -x enabled).
1748
1749 2010-05-03  Bruno Haible  <bruno@clisp.org>
1750
1751         wctob: Fix for weird platforms.
1752         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
1753         argument value.
1754
1755 2010-05-03  Jim Meyering  <meyering@redhat.com>
1756
1757         maint.mk: prohibit unwarranted use of <strings.h>
1758         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
1759         strings.h in a file that does not also use strcasecmp, strncasecmp,
1760         ffs or ffsll.
1761
1762         maint.mk: remove obsolete comments
1763         * top/maint.mk: Remove stale, commented-out rules.
1764
1765 2010-05-02  Bruno Haible  <bruno@clisp.org>
1766
1767         wcwidth: Declare also when it's aliased.
1768         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
1769         macro.
1770
1771 2010-05-02  Bruno Haible  <bruno@clisp.org>
1772
1773         Fix regression from 2010-04-25.
1774         * gnulib-tool (func_modules_transitive_closure): Check the status of
1775         all modules, not only of the tests that are of the form foo-tests where
1776         foo is a module.
1777
1778 2010-05-02  Bruno Haible  <bruno@clisp.org>
1779
1780         wctob: Work around nasty Cygwin 1.7.2 bug.
1781         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
1782         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
1783
1784 2010-05-01  Bruno Haible  <bruno@clisp.org>
1785
1786         fpurge: Sharper test.
1787         * tests/test-fpurge.c (main): Add one more ftell check.
1788         * modules/fpurge-tests (Depends-on): Add ftell.
1789         Suggested by Eric Blake.
1790
1791 2010-05-01  Bruno Haible  <bruno@clisp.org>
1792
1793         ftello: Another test.
1794         * tests/test-ftello3.c: New file.
1795         * modules/ftello-tests (Files): Add it.
1796         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
1797         MOSTLYCLEANFILES.
1798
1799         ftell: Another test.
1800         * tests/test-ftell3.c: New file.
1801         * modules/ftell-tests (Files): Add it.
1802         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
1803         MOSTLYCLEANFILES.
1804
1805 2010-05-01  Bruno Haible  <bruno@clisp.org>
1806
1807         ftell, ftello: Work around Solaris bug.
1808         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
1809         * lib/ftello.c: Include stdio-impl.h.
1810         (ftello): On Solaris, when _IOWRT is set, compute the result without
1811         looking at _IOREAD.
1812         * modules/ftello (Files): Add lib/stdio-impl.h.
1813         * doc/posix-functions/ftell.texi: Mention Solaris bug.
1814         * doc/posix-functions/ftello.texi: Likewise.
1815         Reported by Eric Blake.
1816
1817 2010-05-01  Bruno Haible  <bruno@clisp.org>
1818
1819         freading: Adapt to special meaning of _IOREAD flag on Solaris.
1820         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
1821         the _IOWRT flag is also set.
1822
1823 2010-05-01  Bruno Haible  <bruno@clisp.org>
1824
1825         Fix doc about a HP-UX stdio bug.
1826         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
1827         * doc/posix-functions/ftello.texi: Likewise.
1828
1829 2010-05-01  Bruno Haible  <bruno@clisp.org>
1830
1831         lseek test: Fix failure on Solaris.
1832         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
1833         output.
1834
1835 2010-04-30  Jim Meyering  <meyering@redhat.com>
1836
1837         bootstrap: don't ignore failure to generate po*/Makevars
1838         * build-aux/bootstrap (with_gettext): Don't ignore failure
1839         to create po/Makevars or runtime-po/Makevars.
1840
1841 2010-04-29  Eric Blake  <eblake@redhat.com>
1842
1843         headers: relax license to LGPLv2+
1844         * modules/fcntl-h (License): Relax license.
1845         * modules/getopt-posix (License): Likewise.
1846         * modules/locale (License): Likewise.
1847         * modules/math (License): Likewise.
1848         * modules/pty (License): Likewise.
1849         * modules/sched (License): Likewise.
1850         * modules/search (License): Likewise.
1851         * modules/spawn (License): Likewise.
1852         * modules/stdarg (License): Likewise.
1853         * modules/sysexits (License): Likewise.
1854
1855 2010-04-29  Jim Meyering  <meyering@redhat.com>
1856
1857         inttypes: relax license to LGPLv2+
1858         * modules/inttypes (License): Relax license.
1859
1860 2010-04-29  Simon Josefsson  <simon@josefsson.org>
1861
1862         * top/maint.mk (indent): Run twice to produce idempotent results.
1863
1864 2010-04-28  Bruno Haible  <bruno@clisp.org>
1865
1866         getdate: Generate getdate.c in the source directory.
1867         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
1868         MOSTLYCLEANFILES.
1869         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
1870
1871 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
1872
1873         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
1874         is not declared as a const *; avoid warnings in that case.
1875
1876 2010-04-28  Eric Blake  <eblake@redhat.com>
1877
1878         canonicalize-lgpl: avoid compiler warning
1879         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
1880         declaration' / 'extraneous semicolon' warning with some compilers.
1881         Reported by Andreas Gruenbacher.
1882
1883 2010-04-28  Jim Meyering  <meyering@redhat.com>
1884
1885         init.sh: ensure a more reliable exit status when exiting via trap
1886         * tests/init.sh (setup_): Don't rely on $? in signal handler.
1887         Inspired by patches from Dmitry V. Levin.
1888         Also trap on signal 3 (SIGQUIT).
1889
1890 2010-04-27  Bruno Haible  <bruno@clisp.org>
1891
1892         Update doc about utimes().
1893         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
1894         'utimens' module.
1895         Reported by Andreas Gruenbacher <agruen@suse.de>.
1896
1897 2010-04-27  Eric Blake  <eblake@redhat.com>
1898
1899         full-read, full-write: relax license
1900         * modules/full-read (License): Drop to LGPLv2+.
1901         * modules/full-write (License): Likewise.
1902         * modules/safe-read (License): Likewise.
1903         * modules/safe-write (License): Likewise.
1904
1905         pthread: mention library for linking
1906         * modules/pthread (Link): Mention $(LIB_PTHREAD).
1907
1908 2010-04-27  Jim Meyering  <meyering@redhat.com>
1909
1910         maint.mk: fix a bug introduced in last change
1911         * top/maint.mk (gl_assured_headers_): Now that all names are on
1912         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
1913         is not anchored to end of word, it should be adequate.
1914
1915         maint.mk: avoid side-effect in latest syntax-check
1916         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
1917         to run commands via $(shell...), and hence to incur cost only when
1918         the new rule is actually run.
1919
1920         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
1921         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
1922         and use that to create a regexp used to detect all #if HAVE_..._H uses.
1923         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
1924         (gl_assured_headers_, az_, AZ_): Define.
1925         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
1926
1927 2010-04-26  Jim Meyering  <jim@meyering.net>
1928             Bruno Haible  <bruno@clisp.org>
1929
1930         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
1931         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
1932         Prompted by an exchange with Gilles Espinasse.
1933
1934 2010-04-26  Jim Meyering  <meyering@redhat.com>
1935
1936         git-version-gen: aesthetic tweak
1937         * build-aux/git-version-gen: Use "$nl" rather than a literal,
1938         so that the command remains on a single line.
1939
1940 2010-04-26  Eric Blake  <eblake@redhat.com>
1941
1942         git-version-gen: allow use on EBCDIC hosts
1943         * build-aux/git-version-gen (dirty): Use literal rather than tying
1944         ourselves to ascii.
1945         Reported by Steve Goetze.
1946
1947 2010-04-25  Bruno Haible  <bruno@clisp.org>
1948
1949         netdb: Add support for GNULIB_POSIXCHECK.
1950         * lib/netdb.in.h: Include warn-on-use.h.
1951         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
1952         functions are used when GNULIB_POSIXCHECK is defined and the
1953         getaddrinfo module is not in use.
1954         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
1955         freeaddrinfo, gai_strerror, getnameinfo are declared.
1956         * modules/netdb (Depends-on): Add warn-on-use.
1957         (Makefile.am): Include warn-on-use.h in netdb.h.
1958
1959 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
1960
1961         build: avoid "make check" failure without .git/ directory
1962         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
1963         there is no .git/ directory.
1964
1965 2010-04-25  Bruno Haible  <bruno@clisp.org>
1966
1967         ptsname: Fix misuse of ttyname_r.
1968         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
1969         of errno.
1970
1971 2010-04-25  Bruno Haible  <bruno@clisp.org>
1972
1973         ttyname_r: Make it work on Solaris 10.
1974         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
1975         if the system function has the POSIX declaration. Test whether the
1976         function fails if the buffer is less than 128 bytes large.
1977         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
1978         system's ttyname_r function. Provide a reasonably large buffer.
1979         * modules/ttyname_r (Depends-on): Add extensions.
1980         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
1981
1982 2010-04-25  Bruno Haible  <bruno@clisp.org>
1983
1984         Use the 'extensions' module for some more functions on Solaris.
1985         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
1986         module.
1987         * doc/posix-functions/ctime_r.texi: Likewise.
1988         * doc/posix-functions/getgrgid_r.texi: Likewise.
1989         * doc/posix-functions/getgrnam_r.texi: Likewise.
1990         * doc/posix-functions/getpwnam_r.texi: Likewise.
1991         * doc/posix-functions/getpwuid_r.texi: Likewise.
1992         * doc/posix-functions/readdir_r.texi: Likewise.
1993         * doc/posix-functions/sigwait.texi: Likewise.
1994         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
1995         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
1996
1997 2010-04-25  Bruno Haible  <bruno@clisp.org>
1998
1999         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
2000         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
2001         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
2002         * lib/ttyname_r.c: Include <limits.h>.
2003         (ttyname_r): Define using the system's ttyname_r function, if it exists
2004         and not on Solaris.
2005         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
2006         set.
2007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
2008         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
2009         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
2010         Reported by Simon Josefsson.
2011
2012 2010-04-25  Bruno Haible  <bruno@clisp.org>
2013
2014         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
2015         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
2016         * doc/posix-functions/ctime_r.texi: Likewise.
2017         * doc/posix-functions/getgrgid_r.texi: Likewise.
2018         * doc/posix-functions/getgrnam_r.texi: Likewise.
2019         * doc/posix-functions/getlogin_r.texi: Likewise.
2020         * doc/posix-functions/getpwnam_r.texi: Likewise.
2021         * doc/posix-functions/getpwuid_r.texi: Likewise.
2022         * doc/posix-functions/readdir_r.texi: Likewise.
2023         * doc/posix-functions/sigwait.texi: Likewise.
2024         * doc/posix-functions/ttyname_r.texi: Likewise.
2025         Reported by Simon Josefsson.
2026
2027 2010-04-25  Bruno Haible  <bruno@clisp.org>
2028
2029         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
2030         * gnulib-tool (func_usage): Document that --with-*-tests options apply
2031         also to --create-testdir.
2032         (func_acceptable): Don't consider the status of *-tests modules here.
2033         (func_modules_transitive_closure): Consider it here, before including a
2034         test module.
2035         (func_import, func_create_testdir): Set inc_all_direct_tests,
2036         inc_all_indirect_tests.
2037         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
2038         --create-testdir and --create-megatestdir.
2039
2040 2010-04-25  Bruno Haible  <bruno@clisp.org>
2041
2042         gnulib-tool: Add --without-*-tests options.
2043         * gnulib-tool (func_usage): Document the --without-*-tests options.
2044         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
2045         excl_unportable_tests): New variables.
2046         Fail if they are specified with --import or --update.
2047         (func_acceptable): Respect the excl_*_tests variables.
2048         (func_import): Set the excl_*_tests variables to empty.
2049
2050 2010-04-25  Simon Josefsson  <simon@josefsson.org>
2051             Bruno Haible  <bruno@clisp.org>
2052
2053         Work around a MacOS X 10.4 bug with openpty.
2054         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
2055         * tests/test-openpty.c (main): Close the master side explicitly.
2056
2057 2010-04-25  Bruno Haible  <bruno@clisp.org>
2058
2059         strnlen: Fix a C++ test error on MacOS X and Solaris.
2060         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
2061         the function is not declared.
2062         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
2063         Simon Josefsson.
2064
2065 2010-04-24  Bruno Haible  <bruno@clisp.org>
2066
2067         Avoid a gcc warning.
2068         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
2069         of correct type for %08lx directive.
2070         Reported by Eric Blake.
2071
2072 2010-04-24  Bruno Haible  <bruno@clisp.org>
2073
2074         vasnprintf: Correct errno value in case of out-of-memory.
2075         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
2076         or sprintf. Use the errno value from SNPRINTF or sprintf.
2077         Reported by Ian Beckwith <ianb@erislabs.net>.
2078
2079 2010-04-24  Bruno Haible  <bruno@clisp.org>
2080
2081         ansi-c++-opt: Find correct compiler when cross-compiling.
2082         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
2083         AC_CHECK_PROGS.
2084         Reported by Simon Josefsson.
2085
2086 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
2087
2088         vc-list-files: Add support for subversion
2089         * build-aux/vc-list-files: Use "svn list" to generate the list of
2090         files controlled by subversion.
2091
2092 2010-04-23  Jim Meyering  <meyering@redhat.com>
2093
2094         vc-list-files tests: convert to use init.sh
2095         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
2096         path_prepend_.
2097         Use Exit, not exit.
2098         Use skip_ rather than open coding it.
2099         Remove trap set-up and compare definitions.
2100         * tests/test-vc-list-files-git.sh: Likewise.
2101         * modules/vc-list-files-tests (Files): Add tests/init.sh.
2102
2103 2010-04-22  Simon Josefsson  <simon@josefsson.org>
2104
2105         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
2106         backup files.
2107
2108 2010-04-21  Simon Josefsson  <simon@josefsson.org>
2109
2110         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
2111
2112 2010-04-20  Eric Blake  <eblake@redhat.com>
2113
2114         tests: be robust to ignored SIGPIPE
2115         * tests/test-select-in.sh: Consume all output.
2116         * tests/test-lseek.sh: Check correct exit status, while avoiding
2117         EPIPE.
2118
2119 2010-04-20  Simon Josefsson  <simon@josefsson.org>
2120             Bruno Haible  <bruno@clisp.org>
2121
2122         visibility: Don't use -fvisibility if it leads to a warning.
2123         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
2124         yes, don't pretend that visibility works if it leads to a warning.
2125         Reported by Mike Gran <spk121@yahoo.com>.
2126
2127 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
2128
2129         * build-aux/bootstrap: Use "git -h" for testing for supported options
2130         instead of "git --help".  The short-form option only shows a summary,
2131         and doesn't layout the full man page.  Grep for the full option name
2132         in the summary, too.
2133
2134 2010-04-19  Bruno Haible  <bruno@clisp.org>
2135
2136         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
2137         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
2138         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
2139         mention of RELOCATABLE_STRIP.
2140         Reported by Sylvain Beucler <beuc@beuc.net>.
2141
2142 2010-04-19  Bruno Haible  <bruno@clisp.org>
2143
2144         * lib/diffseq.h: Fix typo in comment.
2145         Reported by Eric Blake.
2146
2147 2010-04-19  Bruno Haible  <bruno@clisp.org>
2148
2149         ioctl: Move autoconf macro to a .m4 file.
2150         * m4/ioctl.m4: New file, extracted from modules/ioctl.
2151         * modules/ioctl (Files): Add it.
2152         (configure.ac): Simply invoke gl_FUNC_IOCTL.
2153         Reported by Ian Beckwith <ianb@erislabs.net>.
2154
2155 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
2156             Bruno Haible  <bruno@clisp.org>
2157
2158         diffseq: Accommodate use-case with abstract arrays.
2159         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
2160         is not defined.
2161         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
2162         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
2163
2164 2010-04-18  Bruno Haible  <bruno@clisp.org>
2165
2166         * doc/posix-headers/stdbool.texi: More precise wording.
2167
2168 2010-04-17  Jim Meyering  <meyering@redhat.com>
2169
2170         maint.mk: use gnu-style indentation in an embedded perl script
2171         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
2172         Rename variable: s/two/last_two_bytes/
2173
2174 2010-04-16  Eric Blake  <eblake@redhat.com>
2175
2176         test-stdbool: skip test that fails with Solaris CC
2177         * tests/test-stdbool.c (f): Skip test that causes compilation
2178         error under buggy C++ compiler.
2179         * lib/stdbool.in.h: Document the limitation.
2180         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
2181
2182         setenv: allow compilation with C++
2183         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
2184         register keyword.
2185
2186         stdint: allow test to pass with C++
2187         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
2188
2189         getopt: allow compilation with C++
2190         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
2191         struct.
2192         * lib/getopt.c (_getopt_internal_r): Use correct type.
2193         Reported by Dagobert Michelson, via Joel E. Denny.
2194
2195 2010-04-16  Bruno Haible  <bruno@clisp.org>
2196
2197         Override netdb.h always.
2198         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
2199         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
2200         Reported by Ludovic Courtès <ludo@gnu.org>.
2201
2202 2010-04-15  Bruno Haible  <bruno@clisp.org>
2203
2204         openpty: Fix mistake from 2010-03-21.
2205         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
2206         Reported by Simon Josefsson.
2207
2208 2010-04-15  Eric Blake  <eblake@redhat.com>
2209
2210         test-forkpty: fix expected signature
2211         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
2212         Reported by Simon Josefsson.
2213
2214 2010-04-15  Jim Meyering  <meyering@redhat.com>
2215
2216         maint.mk: texinfo_suffix_re_: correct the default regexp
2217         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
2218
2219         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
2220         make it configurable via texinfo_suffix_re_.
2221
2222 2010-04-14  Eric Blake  <eblake@redhat.com>
2223
2224         strtok_r: relax license to LGPLv2+
2225         * modules/strtok_r (License): Relax license.
2226         Reported by Matthias Bolte.
2227
2228 2010-04-14  Simon Josefsson  <simon@josefsson.org>
2229
2230         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
2231         version 1.4.4 by default instead of requiring the libgcrypt
2232         version used during build.  This makes it possible to use the
2233         application with older but still binary compatible libgcrypt
2234         versions.
2235
2236 2010-04-13  Eric Blake  <eblake@redhat.com>
2237
2238         getopt-gnu: match recent glibc fixes and posix ruling
2239         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
2240         '+' handling, when requesting extensions.
2241         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
2242         'W;' handling.
2243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
2244         * doc/posix-functions/getopt.texi (getopt): Document this.
2245         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2246         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2247         Likewise.
2248
2249         getopt: merge bug fixes from glibc
2250         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
2251         diagnostics.  Honor '+:' correctly.  Reject ';'.
2252
2253         getopt-posix: detect MacOS bug
2254         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
2255         optind when missing a required argument.
2256         * doc/posix-functions/getopt.texi (getopt): Document the bug.
2257         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2258         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2259         Likewise.
2260
2261         getopt-posix: avoid spurious failure on Solaris
2262         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
2263         an indicator that setting optind=1 is sufficient for reset.
2264
2265         getopt-posix: avoid spurious failure on FreeBSD
2266         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
2267         in POSIX mode, since the m4 test uses it.
2268
2269         gnulib-tool: silence warning on BSD sh
2270         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
2271
2272 2010-04-13  Jim Meyering  <meyering@redhat.com>
2273
2274         doc: users.txt: GNU patch now uses gnulib
2275         * users.txt: Add patch.
2276
2277 2010-04-12  Jim Meyering  <meyering@redhat.com>
2278
2279         maint.mk: generate more concise timing data for syntax-check rules
2280         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
2281         " done" from each line that reports a syntax-check test duration.
2282
2283 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
2284
2285         git-version-gen: use "git update-index..." rather than "git status"
2286         * build-aux/git-version-gen: Use git update-index --refresh, not
2287         "git status".  With some versions of git, "git status" would fail
2288         to update the index and result in an unwarranted "-dirty" suffix.
2289
2290 2010-04-11  Jim Meyering  <meyering@redhat.com>
2291
2292         openat: correct formatting (no semantic change)
2293         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
2294         Suggested by Bruno Haible.
2295
2296 2010-04-11  Bruno Haible  <bruno@clisp.org>
2297
2298         Stricter declaration checking in testdirs.
2299         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2300         If for_tests is true, augment AM_CPPFLAGS to define
2301         GNULIB_STRICT_CHECKING.
2302         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
2303         GNULIB_STRICT_CHECKING is defined, verify that the function is
2304         declared.
2305
2306 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
2307             Bruno Haible  <bruno@clisp.org>
2308
2309         libunistring: Improve configure output.
2310         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
2311         Don't say "consider installing GNU libunistring" when checking again
2312         with libiconv.
2313
2314 2010-04-11  Bruno Haible  <bruno@clisp.org>
2315
2316         libunistring: Correct value of $LTLIBUNISTRING.
2317         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
2318         correct the value of $LTLIBUNISTRING.
2319
2320 2010-04-11  Bruno Haible  <bruno@clisp.org>
2321
2322         havelib: Add static libraries to LIBS in the right order.
2323         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
2324         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
2325
2326 2010-04-11  Bruno Haible  <bruno@clisp.org>
2327
2328         libunistring: Detect libunistring also when it depends on libiconv.
2329         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
2330         the second AC_LIB_HAVE_LINKFLAGS invocation.
2331
2332 2010-04-11  James Youngman  <jay@gnu.org>
2333
2334         close-stream: declare local scalars to be "const"
2335         * lib/close-stream.c (close_stream): Make boolean variables const
2336         to document the fact that we set but do not change them.
2337
2338 2010-04-11  Bruno Haible  <bruno@clisp.org>
2339
2340         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
2341
2342 2010-04-11  Jim Meyering  <meyering@redhat.com>
2343
2344         maint.mk: don't include dist-check.mk
2345         * top/maint.mk: Remove bogus include directive.
2346
2347         maint.mk: improve empty-line-at-EOF check
2348         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
2349         solution, rather than tail+Perl-based one.  The latter would read
2350         a few kilobytes from the end of each file, and did not handle empty
2351         files properly.
2352
2353         maint.mk: print the elapsed time for each syntax-check rule
2354         * top/maint.mk (sc_m_rules_): Save start time in a file.
2355         (sc_z_rules_): New rules: remove temp file and print elapsed time.
2356         (local-check): Interpose the .z rules
2357
2358 2010-04-11  Jim Meyering  <meyering@redhat.com>
2359
2360         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
2361         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
2362         empty file with one that ends in an empty line.
2363
2364 2010-04-10  Bruno Haible  <bruno@clisp.org>
2365
2366         mkdir: Make it work on mingw64.
2367         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
2368         * lib/mkdir.c: Update comment.
2369         Reported by Roman Donchenko (Đ Đ¾Đ¼Đ°Đ½ Đ”Đ¾Đ½Ñ‡ĐµĐ½ĐºĐ¾) <dxdragon@yandex.ru>.
2370
2371 2010-04-10  Bruno Haible  <bruno@clisp.org>
2372
2373         Don't override improved macro from newer autoconf.
2374         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
2375         autoconf >= 2.62.
2376         Reported by Joel E. Denny <jdenny@clemson.edu>.
2377
2378 2010-04-10  Jim Meyering  <meyering@redhat.com>
2379
2380         maint.mk: new syntax-check rule: prohibit empty lines at end of file
2381         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
2382
2383         maint.mk: correct a diagnostic
2384         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
2385         in diagnostic; now use $prohibit.
2386
2387 2010-04-10  Bruno Haible  <address@hidden>
2388
2389         fchownat: Fix a C++ test error on Solaris 8.
2390         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
2391         the function does not exist.
2392
2393 2010-04-10  Bruno Haible  <bruno@clisp.org>
2394
2395         vasnprintf: Add more tests.
2396         * tests/test-vasnprintf-posix.c: Include <errno.h>.
2397         (test_function): Test converting an invalid wide string.
2398
2399         vasnprintf: Correct handling of unconvertible wide string arguments.
2400         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
2401         VASNPRINTF.
2402         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
2403         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
2404         smaller than the expected maximum need for the directive. Set errno to
2405         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
2406         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
2407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
2408         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
2409         * modules/vasnprintf (Files): Add m4/printf.m4.
2410         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2411
2412 2010-04-10  Bruno Haible  <bruno@clisp.org>
2413
2414         vasnprintf: Fix crash in %ls directive.
2415         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
2416         string is passed as argument to %ls, with no precision and no width.
2417         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2418
2419 2010-04-10  Bruno Haible  <bruno@clisp.org>
2420
2421         vasnprintf: Fix multiple test failures on mingw.
2422         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
2423         _snprintf, or snwprintf, not _snwprintf.
2424
2425 2010-04-10  Bruno Haible  <bruno@clisp.org>
2426
2427         write: Fix a C++ test error on mingw.
2428         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
2429
2430 2010-04-10  Bruno Haible  <bruno@clisp.org>
2431
2432         vasnprintf test: Reduce code duplication.
2433         * tests/test-vasnprintf.c (test_function): New function, extracted from
2434         test_vasnprintf.
2435         (test_vasnprintf, test_asnprintf): Invoke it.
2436
2437 2010-04-10  Bruno Haible  <bruno@clisp.org>
2438
2439         strnlen: Fix warning in C++ mode on MacOS X.
2440         * lib/string.in.h (strnlen): Use the modern idiom.
2441         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
2442         defining strnlen as a macro already in <config.h>.
2443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2444         REPLACE_STRNLEN.
2445         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
2446         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2447
2448 2010-04-08  James Youngman  <jay@gnu.org>
2449
2450         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
2451         the example.
2452
2453 2010-04-09  Jim Meyering  <meyering@redhat.com>
2454
2455         maint.mk: print better diagnostic when there is no $(_hv_file)
2456         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
2457         announce that when $(_hv_file) (aka help-version) does not exist.
2458
2459         init.sh: run tr in the "C" locale to avoid multibyte interpretation
2460         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
2461         not try to interpret its random input bytes.  Jarno Rajahalme reported
2462         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
2463         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
2464         (mktempd_): Likewise, just in case.
2465
2466         ftruncate: add two years to projected module removal date: 2012
2467         * m4/ftruncate.m4: Adjust comments.
2468
2469         ftruncate: mark module as obsolete; even MinGW provides it, now
2470         * modules/ftruncate (Status): Obsolete.
2471         (Notice): Say that.
2472         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
2473         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
2474
2475 2010-04-08  Bruno Haible  <bruno@clisp.org>
2476
2477         Fix side effects from tests-related modules.
2478         * modules/dprintf-posix (Comment): New section.
2479         * modules/fprintf-posix (Comment): Likewise.
2480         * modules/obstack-printf-posix (Comment): Likewise.
2481         * modules/printf-posix (Comment): Likewise.
2482         * modules/snprintf-posix (Comment): Likewise.
2483         * modules/sprintf-posix (Comment): Likewise.
2484         * modules/vasnprintf-posix (Comment): Likewise.
2485         * modules/vasprintf-posix (Comment): Likewise.
2486         * modules/vdprintf-posix (Comment): Likewise.
2487         * modules/vfprintf-posix (Comment): Likewise.
2488         * modules/vprintf-posix (Comment): Likewise.
2489         * modules/vsnprintf-posix (Comment): Likewise.
2490         * modules/vsprintf-posix (Comment): Likewise.
2491         * modules/xprintf-posix (Comment): Likewise.
2492         * modules/xvasprintf-posix (Comment): Likewise.
2493         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
2494         * modules/floorf-tests (Depends-on): Likewise.
2495         * modules/round-tests (Depends-on): Likewise.
2496         * modules/roundf-tests (Depends-on): Likewise.
2497         * modules/trunc-tests (Depends-on): Likewise.
2498         * modules/truncf-tests (Depends-on): Likewise.
2499         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
2500         'fprintf-posix' module is not present.
2501         * tests/test-floorf2.c (check): Likewise.
2502         * tests/test-trunc2.c (check): Likewise.
2503         * tests/test-truncf2.c (check): Likewise.
2504         * tests/test-round2.c (equal): Likewise.
2505         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2506
2507 2010-04-07  Karl Berry  <karl@gnu.org>
2508
2509         * config/srclist.txt,
2510         * config/srclistvars.sh,
2511         * config/srclist-update: doc fixes.
2512
2513 2010-04-07  Jim Meyering  <meyering@redhat.com>
2514
2515         maint.mk: add a PATH crosschecking syntax-check rule
2516         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
2517         Useful if you use a test like the one in help-version (coreutils,
2518         diffutils, grep, gzip) that ensures $(VERSION) matches what is
2519         printed by prog --version.
2520
2521 2010-04-06  Bruno Haible  <bruno@clisp.org>
2522
2523         Fix link error on mingw.
2524         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
2525         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
2526
2527 2010-04-06  Bruno Haible  <bruno@clisp.org>
2528
2529         Assume rmdir exists.
2530         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
2531
2532 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
2533
2534         doc: update users.txt
2535         * users.txt: Add gcal.
2536
2537 2010-04-06  Jim Meyering  <meyering@redhat.com>
2538
2539         init.sh: simply unset TMPDIR rather than risking env -i
2540         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
2541         although it probably works fine on all Unix-based systems, some
2542         systems (Cygwin?) cannot tolerate a totally cleared environment.
2543         Suggestion from Eric Blake.
2544
2545 2010-04-06  Jim Meyering  <meyering@redhat.com>
2546
2547         init.sh: portability fix: use env's POSIX-specified -i option not -u
2548         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
2549         than unportable env -u.  Solaris 5.11's env lacks support for -u.
2550
2551 2010-04-05  Bruno Haible  <bruno@clisp.org>
2552
2553         btowc: Work around Cygwin 1.7.2 bug.
2554         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
2555         does not map NUL to 0.
2556         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
2557
2558 2010-04-05  Bruno Haible  <bruno@clisp.org>
2559
2560         Make the multithread modules work on Cygwin 1.7.2.
2561         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
2562         imported symbols can be declared weak, so that it returns "no" on
2563         Cygwin 1.7.2.
2564
2565 2010-04-05  Bruno Haible  <bruno@clisp.org>
2566
2567         Use the module 'strncat'.
2568         * modules/unistr/u8-strncat (Depends-on): Add strncat.
2569
2570         Tests for module 'strncat'.
2571         * modules/strncat-tests: New file.
2572         * tests/test-strncat.c: New file.
2573
2574         New module 'strncat'.
2575         * lib/string.in.h (strncat): New declaration.
2576         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
2577         * m4/strncat.m4: New file, based on m4/memchr.m4.
2578         * modules/strncat: New file.
2579         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
2580         is declared.
2581         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
2582         REPLACE_STRNCAT.
2583         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
2584         REPLACE_STRNCAT.
2585         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
2586         module.
2587         * tests/test-string-c++.cc: Check signature of strncat.
2588
2589 2010-04-05  Jim Meyering  <meyering@redhat.com>
2590
2591         xstrtoumax-tests: convert to use init.sh
2592         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
2593         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2594         Use Exit, not exit.
2595         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2596
2597         xstrtoimax-tests: convert to use init.sh
2598         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
2599         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2600         Use Exit, not exit.
2601         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2602
2603 2010-04-05  Bruno Haible  <bruno@clisp.org>
2604
2605         sys_socket: Avoid #define replacements in C++ mode.
2606         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
2607         warning to the function if possible, rather than #defining the symbol
2608         to a dysfunctional alias.
2609
2610 2010-04-05  Bruno Haible  <bruno@clisp.org>
2611
2612         fseeko: Fix C++ test error on mingw.
2613         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
2614         gl_FUNC_FSEEKO.
2615         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
2616         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
2617         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
2618         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
2619
2620 2010-04-05  Bruno Haible  <bruno@clisp.org>
2621
2622         duplocale: Improve test output.
2623         * tests/test-duplocale.c (main): Print reason for skipped test.
2624
2625 2010-04-05  Bruno Haible  <bruno@clisp.org>
2626
2627         Assume rmdir exists.
2628         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
2629         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
2630
2631 2010-04-05  Bruno Haible  <bruno@clisp.org>
2632
2633         Fix link error on Solaris 8 with cc.
2634         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
2635
2636 2010-04-05  Bruno Haible  <bruno@clisp.org>
2637
2638         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
2639         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
2640
2641 2010-04-05  Bruno Haible  <bruno@clisp.org>
2642
2643         vasprintf: Update documentation.
2644         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
2645
2646 2010-04-05  Bruno Haible  <bruno@clisp.org>
2647
2648         ptsname: Improve test.
2649         * tests/test-ptsname.c (main): Also try the various master names of BSD
2650         systems.
2651
2652 2010-04-05  Bruno Haible  <bruno@clisp.org>
2653
2654         memchr: Avoid a possible C++ test error.
2655         * lib/string.in.h (memchr): Provide declaration if function is missing.
2656         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
2657         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
2658         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
2659         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
2660
2661 2010-04-05  Bruno Haible  <bruno@clisp.org>
2662
2663         strtok_r: Improve idiom.
2664         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
2665         AC_LIBOBJ is used.
2666
2667 2010-04-05  Bruno Haible  <bruno@clisp.org>
2668
2669         strdup: Improve idiom.
2670         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
2671         AC_LIBOBJ is used.
2672         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
2673         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
2674         when AC_LIBOBJ is used.
2675
2676 2010-04-05  Bruno Haible  <bruno@clisp.org>
2677
2678         mbsinit, mbrtowc, wcrtomb: Improve idioms.
2679         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
2680         don't set REPLACE_MBSINIT to 1.
2681         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
2682         don't set REPLACE_MBRTOWC to 1.
2683         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
2684         exist, don't set REPLACE_MBSRTOWCS to 1.
2685         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
2686         exist, don't set REPLACE_MBSNRTOWCS to 1.
2687         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
2688         don't set REPLACE_WCRTOMB to 1.
2689         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
2690         exist, don't set REPLACE_WCSRTOMBS to 1.
2691         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
2692         exist, don't set REPLACE_WCSNRTOMBS to 1.
2693
2694 2010-04-05  Bruno Haible  <bruno@clisp.org>
2695
2696         ldexpl: Improve idiom.
2697         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
2698         make sure to set HAVE_DECL_LDEXPL to 0.
2699
2700 2010-04-05  Jim Meyering  <meyering@redhat.com>
2701
2702         xstrtol-tests: convert to use init.sh
2703         * modules/xstrtol-tests (Files): Add tests/init.sh.
2704         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2705         Use Exit, not exit.
2706         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2707
2708         atexit-tests: convert to use init.sh
2709         * modules/atexit-tests (Files): Add tests/init.sh.
2710         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
2711         Use Exit, not exit.
2712         Remove uses of $EXEEXT and "./" to run a program in the current dir.
2713
2714         init.sh: fix typo
2715         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
2716
2717         init.sh: make it easier for a test script to write to the tty, ...
2718         when using automake's parallel-tests mode.
2719         * tests/init.sh (stderr_fileno_): Define overridable variable.
2720         (warn_): New function, to use it.
2721         (fail_, skip_, framework_failure_): Use warn_.
2722
2723 2010-04-04  Bruno Haible  <bruno@clisp.org>
2724
2725         btowc: Avoid warning.
2726         * lib/btowc.c: Include <stdlib.h>.
2727         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
2728
2729 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
2730             Bruno Haible  <bruno@clisp.org>
2731
2732         wchar: Port to NetBSD 1.5.
2733         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
2734         * lib/wctype.in.h (WEOF): Likewise.
2735
2736 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
2737             Bruno Haible  <bruno@clisp.org>
2738
2739         Port extended stdio to NetBSD 1.5.
2740         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
2741         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
2742         older.
2743
2744 2010-04-04  Bruno Haible  <bruno@clisp.org>
2745
2746         string: Remove unused substitution.
2747         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
2748         HAVE_DECL_STRERROR.
2749         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
2750
2751 2010-04-04  Bruno Haible  <bruno@clisp.org>
2752
2753         strtod: Avoid a possible C++ test error.
2754         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
2755         set REPLACE_STRTOD.
2756
2757 2010-04-04  Bruno Haible  <bruno@clisp.org>
2758
2759         strerror: Update documentation.
2760         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
2761
2762 2010-04-04  Bruno Haible  <bruno@clisp.org>
2763
2764         stdio: Fix some C++ test errors on Solaris 8 with GCC.
2765         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
2766         _GL_CXXALIAS_SYS_CAST.
2767
2768 2010-04-04  Bruno Haible  <bruno@clisp.org>
2769
2770         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
2771         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
2772         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
2773         REPLACE_FREXPL to 1.
2774         * doc/posix-functions/frexpl.texi: Update documentation.
2775
2776 2010-04-04  Bruno Haible  <bruno@clisp.org>
2777
2778         math: Fix some C++ test errors on Solaris 8 and Cygwin.
2779         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
2780
2781 2010-04-04  Bruno Haible  <bruno@clisp.org>
2782
2783         Implement nanosleep for native Windows.
2784         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
2785
2786 2010-04-04  Bruno Haible  <bruno@clisp.org>
2787
2788         math: Fix some C++ test errors on Solaris 8.
2789         * lib/math.in.h (truncf, trunc): Use simpler idiom.
2790
2791 2010-04-04  Bruno Haible  <bruno@clisp.org>
2792
2793         math: Fix some C++ test errors on Cygwin.
2794         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
2795         truncl): Provide declaration if the system does not have it.
2796         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
2797         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
2798         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
2799         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
2800         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
2801         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
2802         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
2803         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
2804         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
2805         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
2806         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
2807         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
2808         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
2809         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
2810         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
2811         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
2812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
2813         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
2814         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
2815         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
2816         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
2817         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
2818
2819 2010-04-04  Bruno Haible  <bruno@clisp.org>
2820
2821         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
2822         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
2823         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
2824         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
2825         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
2826         * m4/isinf.m4 (gl_ISINF): Likewise.
2827         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
2828
2829 2010-04-04  Bruno Haible  <bruno@clisp.org>
2830
2831         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
2832         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
2833
2834 2010-04-04  Bruno Haible  <bruno@clisp.org>
2835
2836         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
2837         * modules/tmpfile (configure.ac): Update.
2838
2839         tmpfile: Fix C++ test error on mingw.
2840         * lib/stdio.in.h (tmpfile): New declaration.
2841         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
2842         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
2843         * modules/tmpfile (Depends-on): Add stdio.
2844         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
2845         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
2846         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
2847         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
2848         REPLACE_TMPFILE.
2849         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
2850
2851 2010-04-04  Bruno Haible  <bruno@clisp.org>
2852
2853         ioctl: Fix C++ test error on mingw.
2854         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
2855         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
2856         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
2857
2858 2010-04-03  Bruno Haible  <bruno@clisp.org>
2859
2860         wcwidth: Fix C++ test error on mingw.
2861         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
2862         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
2863         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
2864
2865 2010-04-03  Bruno Haible  <bruno@clisp.org>
2866
2867         nanosleep: Fix C++ test error on mingw.
2868         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
2869         * lib/time.in.h (nanosleep): Use modern idiom.
2870         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
2871         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
2872         REPLACE_NANOSLEEP to 1.
2873         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
2874         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
2875
2876 2010-04-03  Bruno Haible  <bruno@clisp.org>
2877
2878         strptime: Fix C++ test error on mingw.
2879         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
2880         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
2881         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
2882         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
2883         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
2884         not REPLACE_STRPTIME.
2885         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
2886         REPLACE_STRPTIME.
2887
2888 2010-04-03  Bruno Haible  <bruno@clisp.org>
2889
2890         timegm: Fix C++ test error on mingw.
2891         * lib/time.in.h (timegm): Use modern idiom.
2892         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
2893         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
2894         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
2895         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
2896
2897 2010-04-03  Bruno Haible  <bruno@clisp.org>
2898
2899         timegm: Assume declaration if function exists.
2900         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
2901         if it exists. Don't clobber ac_cv_func_timegm.
2902
2903 2010-04-03  Bruno Haible  <bruno@clisp.org>
2904
2905         time_r: Fix C++ test error on mingw.
2906         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
2907         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
2908         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
2909         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
2910         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
2911
2912 2010-04-03  Bruno Haible  <bruno@clisp.org>
2913
2914         time_r: Minor updates.
2915         * modules/time_r (Description): Mention the provided functions.
2916         * lib/time_r.c: Don't include <string.h>.
2917         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
2918         * doc/posix-functions/localtime_r.texi: Likewise.
2919
2920 2010-04-03  Bruno Haible  <bruno@clisp.org>
2921
2922         time: Fix regression introduced on 2010-03-08.
2923         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
2924         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
2925
2926 2010-04-03  Jim Meyering  <meyering@redhat.com>
2927
2928         maint.mk: don't silently disable project-specific syntax-check rules
2929         * top/maint.mk (_prohibit_regexp): Define, to help people realize
2930         that they need to convert their project-specific syntax-check rules
2931         to use the new _sc_search_regexp.
2932
2933 2010-04-03  Bruno Haible  <bruno@clisp.org>
2934
2935         fchdir: Fix regression introduced on 2010-03-08.
2936         * lib/unistd.in.h (fchdir): Fix declaration.
2937         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
2938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
2939         REPLACE_FCHDIR.
2940         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
2941         REPLACE_FCHDIR.
2942
2943 2010-04-03  Bruno Haible  <bruno@clisp.org>
2944
2945         getpagesize: Fix C++ test error on mingw.
2946         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
2947         system does not declare the function.
2948         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
2949         declared.
2950         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2951         HAVE_DECL_GETPAGESIZE.
2952         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
2953
2954 2010-04-03  Bruno Haible  <bruno@clisp.org>
2955
2956         stdio: Make C++ tests work on mingw.
2957         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
2958         does not declare the function.
2959
2960 2010-04-03  Bruno Haible  <bruno@clisp.org>
2961
2962         ftello: Fix C++ test error on mingw.
2963         * lib/stdio.in.h (ftello): Use modern idiom.
2964         * lib/ftello.c (ftello): Renamed from rpl_ftello.
2965         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
2966         is missing and that it needs to be replaced.
2967         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
2968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
2969         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
2970
2971 2010-04-03  Bruno Haible  <bruno@clisp.org>
2972
2973         fseeko: Fix C++ test error on mingw.
2974         * lib/stdio.in.h (fseeko): Use modern idiom.
2975         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
2976         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
2977         is missing and that it needs to be replaced.
2978         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
2979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
2980         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
2981
2982 2010-04-03  Bruno Haible  <bruno@clisp.org>
2983
2984         mkstemp: Fix C++ test error on mingw.
2985         * lib/stdlib.in.h (mkstemp): Use modern idiom.
2986         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
2987         function is missing and that it needs to be replaced.
2988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
2989         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
2990
2991 2010-04-03  Bruno Haible  <bruno@clisp.org>
2992
2993         stpncpy: Fix C++ test error on mingw.
2994         * lib/string.in.h (stpncpy): Use modern idiom.
2995         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
2996         function is missing and that it needs to be replaced.
2997         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2998         REPLACE_STPNCPY.
2999         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
3000
3001 2010-04-03  Bruno Haible  <bruno@clisp.org>
3002
3003         sys_stat: Fix C++ test error on mingw.
3004         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
3005         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
3006
3007 2010-04-03  Bruno Haible  <bruno@clisp.org>
3008
3009         pty: Update doc.
3010         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
3011
3012 2010-04-03  Bruno Haible  <bruno@clisp.org>
3013
3014         unistd: Fix C++ test error on mingw.
3015         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
3016
3017 2010-04-03  Bruno Haible  <bruno@clisp.org>
3018
3019         Update doc regarding mingw.
3020         * doc/glibc-functions/openpty.texi: Update regarding mingw.
3021         * doc/glibc-functions/login_tty.texi: Likewise.
3022         * doc/glibc-functions/forkpty.texi: Likewise.
3023
3024 2010-04-03  Bruno Haible  <bruno@clisp.org>
3025
3026         stdlib: Avoid compilation failure of c-strtold on mingw.
3027         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
3028
3029 2010-04-03  Bruno Haible  <bruno@clisp.org>
3030
3031         locale: Make C++ tests work on Cygwin and mingw.
3032         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
3033         cannot provide the function.
3034         Reported by Simon Josefsson.
3035
3036 2010-04-03  Bruno Haible  <bruno@clisp.org>
3037
3038         localename: Port to MacOS X 10.6.
3039         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
3040         memory layout of the locales in MacOS X 10.6 as well.
3041         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
3042
3043 2010-04-02  Bruno Haible  <bruno@clisp.org>
3044
3045         gnulib-tool: Ensure that long-running tests are executed last.
3046         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
3047         running tests after the one for the other tests.
3048
3049 2010-04-02  Bruno Haible  <bruno@clisp.org>
3050
3051         gnulib-tool: Ensure the tests in the main directory are executed first.
3052         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
3053         start with the current directory.
3054
3055 2010-04-02  Bruno Haible  <bruno@clisp.org>
3056
3057         Tests for module 'havelib', moved here from GNU gettext.
3058         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
3059         modifications.
3060         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
3061         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
3062         with modifications.
3063         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
3064         modifications.
3065         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
3066         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
3067         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
3068         with modifications.
3069         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
3070         with modifications.
3071         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
3072         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
3073         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
3074         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
3075         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
3076         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
3077         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
3078         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
3079         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
3080         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
3081         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
3082         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
3083         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
3084         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
3085         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
3086         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
3087         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
3088         with modifications.
3089         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
3090         with modifications.
3091         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
3092         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
3093         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
3094         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
3095         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
3096         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
3097         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
3098         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
3099         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
3100         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
3101         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
3102         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
3103         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
3104         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
3105         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
3106         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
3107         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
3108         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
3109         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
3110         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
3111         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
3112         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
3113         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
3114         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
3115         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
3116         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
3117         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
3118         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
3119         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
3120         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
3121         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
3122         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
3123         * tests/havelib/rpathx/rpathx.c: New file, from
3124         gettext/autoconf-lib-link.
3125         * tests/havelib/rpathx/Makefile.am: New file, from
3126         gettext/autoconf-lib-link.
3127         * tests/havelib/rpathx/configure.ac: New file, from
3128         gettext/autoconf-lib-link with modifications.
3129         * tests/havelib/rpathy/rpathy.c: New file, from
3130         gettext/autoconf-lib-link.
3131         * tests/havelib/rpathy/Makefile.am: New file, from
3132         gettext/autoconf-lib-link.
3133         * tests/havelib/rpathy/configure.ac: New file, from
3134         gettext/autoconf-lib-link with modifications.
3135         * tests/havelib/rpathz/rpathz.c: New file, from
3136         gettext/autoconf-lib-link.
3137         * tests/havelib/rpathz/Makefile.am: New file, from
3138         gettext/autoconf-lib-link.
3139         * tests/havelib/rpathz/configure.ac: New file, from
3140         gettext/autoconf-lib-link with modifications.
3141         * tests/havelib/rpathlx/usex.c: New file, from
3142         gettext/autoconf-lib-link.
3143         * tests/havelib/rpathlx/Makefile.am: New file, from
3144         gettext/autoconf-lib-link.
3145         * tests/havelib/rpathlx/configure.ac: New file, from
3146         gettext/autoconf-lib-link with modifications.
3147         * tests/havelib/rpathly/usey.c: New file, from
3148         gettext/autoconf-lib-link.
3149         * tests/havelib/rpathly/Makefile.am: New file, from
3150         gettext/autoconf-lib-link.
3151         * tests/havelib/rpathly/configure.ac: New file, from
3152         gettext/autoconf-lib-link with modifications.
3153         * tests/havelib/rpathlz/usez.c: New file, from
3154         gettext/autoconf-lib-link.
3155         * tests/havelib/rpathlz/Makefile.am: New file, from
3156         gettext/autoconf-lib-link.
3157         * tests/havelib/rpathlz/configure.ac: New file, from
3158         gettext/autoconf-lib-link with modifications.
3159         * tests/havelib/rpathlyx/usey.c: New file, from
3160         gettext/autoconf-lib-link.
3161         * tests/havelib/rpathlyx/Makefile.am: New file, from
3162         gettext/autoconf-lib-link.
3163         * tests/havelib/rpathlyx/configure.ac: New file, from
3164         gettext/autoconf-lib-link with modifications.
3165         * tests/havelib/rpathlzyx/usez.c: New file, from
3166         gettext/autoconf-lib-link.
3167         * tests/havelib/rpathlzyx/Makefile.am: New file, from
3168         gettext/autoconf-lib-link.
3169         * tests/havelib/rpathlzyx/configure.ac: New file, from
3170         gettext/autoconf-lib-link with modifications.
3171         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
3172         with modifications.
3173
3174 2010-04-02  Bruno Haible  <bruno@clisp.org>
3175
3176         gnulib-tool: Create distributed built sources also for the tests.
3177         * gnulib-tool (func_create_testdir): Also generate distributed built
3178         sources in the tests directory.
3179
3180 2010-04-02  Bruno Haible  <bruno@clisp.org>
3181
3182         gnulib-tool: Obey user's environment variables.
3183         * gnulib-tool (func_create_testdir): When creating built sources,
3184         respect the environment variables for autoconf, automake, etc. given by
3185         the user.
3186
3187 2010-04-02  Bruno Haible  <bruno@clisp.org>
3188
3189         gnulib-tool: Provide the value of --m4-base to modules.
3190         * gnulib-tool (func_import, func_create_testdir): Emit a definition
3191         of gl_m4_base.
3192
3193 2010-04-02  Eric Blake  <eblake@redhat.com>
3194
3195         maint.mk: fix some fallout
3196         * NEWS: Document the incompatible change, and its effect on cfg.mk.
3197         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
3198
3199 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3200
3201         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
3202         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
3203         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
3204         (sc_cast_of_x_alloc_return_value): Likewise.
3205         (sc_cast_of_alloca_return_value): Likewise.
3206         (sc_space_tab): Likewise.
3207         (sc_prohibit_atoi_atof): Likewise.
3208         (sc_prohibit_magic_number_exit): Likewise.
3209         (sc_error_exit_success): Likewise.
3210         (sc_file_system): Likewise.
3211         (sc_prohibit_have_config_h): Likewise.
3212         (sc_require_config_h): Likewise.
3213         (sc_prohibit_HAVE_MBRTOWC): Likewise.
3214         (sc_obsolete_symbols): Likewise.
3215         (sc_changelog): Likewise.
3216         (sc_program_name): Likewise.
3217         (sc_the_the): Likewise.
3218         (sc_trailing_blank): Likewise.
3219         (sc_two_space_separator_in_usage): Likewise.
3220         (sc_useless_cpp_parens): Likewise.
3221         (sc_GPL_version): Likewise.
3222         (sc_GFDL_version): Likewise.
3223         (sc_texinfo_acronym): Likewise.
3224         (sc_prohibit_cvs_keyword): Likewise.
3225         (sc_prohibit_stat_st_blocks): Likewise.
3226         (sc_prohibit_S_IS_definition): Likewise.
3227         (sc_redundant_const): Likewise.
3228         (sc_makefile_TAB_only_indentation): Likewise.
3229         (sc_m4_quote_check): Likewise.
3230         (sc_makefile_path_separator_check): Likewise.
3231         (sc_copyright_check): Likewise.
3232         (sc_Wundef_boolean): Likewise.
3233         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
3234
3235         maint.mk: match 0 or more whitespace-before-function-call '('
3236         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
3237         that have zero or two-and-more spaces between the function name
3238         and the open parenthesis.
3239         (sc_error_message_warn_fatal): Likewise.
3240         (sc_error_message_uppercase): Likewise.
3241         (sc_error_message_period): Likewise.
3242
3243 2010-03-31  Eric Blake  <eblake@redhat.com>
3244
3245         maint.mk: check for [ as well as test
3246         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
3247         Based on a libvirt report by Matthias Bolte.
3248
3249         gnumakefile: don't squelch _version output
3250         * top/GNUmakefile (_version): Create one-shot dependency rather
3251         than using $(shell) when version must be regenerated.
3252         (_autoreconf): Run verbosely, by default.
3253
3254         sys_time: avoid compiler warnings
3255         * lib/sys_time.in.h (includes): Ensure gcc pragma is
3256         unconditional, fixing regression from 2010-03-29.
3257         Reported by Simon Josefsson.
3258
3259 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3260
3261         maint.mk: s/_header_without_use/_sc_header_without_use/
3262         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
3263         (sc_prohibit_assert_without_use): Use the new name.
3264         (sc_prohibit_close_stream_without_use): Likewise.
3265         (sc_prohibit_getopt_without_use): Likewise.
3266         (sc_prohibit_quotearg_without_use): Likewise.
3267         (sc_prohibit_quote_without_use): Likewise.
3268         (sc_prohibit_long_options_without_use): Likewise.
3269         (sc_prohibit_inttostr_without_use): Likewise.
3270         (sc_prohibit_ignore_value_without_use): Likewise.
3271         (sc_prohibit_error_without_use): Likewise.
3272         (sc_prohibit_xalloc_without_use): Likewise.
3273         (sc_prohibit_hash_without_use): Likewise.
3274         (sc_prohibit_hash_pjw_without_use): Likewise.
3275         (sc_prohibit_safe_read_without_use): Likewise.
3276         (sc_prohibit_argmatch_without_use): Likewise.
3277         (sc_prohibit_canonicalize_without_use): Likewise.
3278         (sc_prohibit_root_dev_ino_without_use): Likewise.
3279         (sc_prohibit_openat_without_use): Likewise.
3280         (sc_prohibit_c_ctype_without_use): Likewise.
3281         (sc_prohibit_signal_without_use): Likewise.
3282         (sc_prohibit_intprops_without_use): Likewise.
3283
3284 2010-03-30  Eric Blake  <eblake@redhat.com>
3285
3286         maint: improve module indicators
3287         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
3288         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
3289         columns, and avoid extra macro expansion.
3290
3291         fdopendir: work around FreeBSD bug
3292         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
3293         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
3294         * modules/dirent (Makefile.am): Substitute it.
3295         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
3296         declaration.
3297         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
3298         fix.
3299         Reported by Christian Weisgerber <naddy@mips.inka.de>.
3300
3301 2010-03-29  Bruno Haible  <bruno@clisp.org>
3302
3303         Emit #pragma system_header after the inclusion guard, not before.
3304         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
3305         guard that spans the entire file, not before. This enables an
3306         optimization in GCC's preprocessor.
3307         * lib/ctype.in.h: Likewise.
3308         * lib/dirent.in.h: Likewise.
3309         * lib/errno.in.h: Likewise.
3310         * lib/float.in.h: Likewise.
3311         * lib/getopt.in.h: Likewise.
3312         * lib/iconv.in.h: Likewise.
3313         * lib/langinfo.in.h: Likewise.
3314         * lib/locale.in.h: Likewise.
3315         * lib/math.in.h: Likewise.
3316         * lib/netdb.in.h: Likewise.
3317         * lib/netinet_in.in.h: Likewise.
3318         * lib/pty.in.h: Likewise.
3319         * lib/sched.in.h: Likewise.
3320         * lib/se-selinux.in.h: Likewise.
3321         * lib/search.in.h: Likewise.
3322         * lib/spawn.in.h: Likewise.
3323         * lib/stdarg.in.h: Likewise.
3324         * lib/stdint.in.h: Likewise.
3325         * lib/string.in.h: Likewise.
3326         * lib/strings.in.h: Likewise.
3327         * lib/sys_file.in.h: Likewise.
3328         * lib/sys_ioctl.in.h: Likewise.
3329         * lib/sys_time.in.h: Likewise.
3330         * lib/sys_times.in.h: Likewise.
3331         * lib/sys_utsname.in.h: Likewise.
3332         * lib/sys_wait.in.h: Likewise.
3333         * lib/sysexits.in.h: Likewise.
3334         * lib/wctype.in.h: Likewise.
3335
3336 2010-03-28  James Youngman  <jay@gnu.org>
3337
3338         save-cwd: don't leak a file descriptor when the caller execs.
3339         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
3340         saved file descriptor.
3341         * modules/save-cwd (Depends-on): Depend on cloexec.
3342
3343 2010-03-29  Bruno Haible  <bruno@clisp.org>
3344
3345         Remove vestiges of fts-lgpl module.
3346         * lib/fts_.h: Assume GNULIB_FTS is 1.
3347         * lib/fts.c: Likewise.
3348         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
3349
3350 2010-03-28  Bruno Haible  <bruno@clisp.org>
3351
3352         Fix definition of tests witness macro.
3353         * gnulib-tool (func_import): Fix definition of witness macro.
3354
3355 2010-03-28  Bruno Haible  <bruno@clisp.org>
3356
3357         Fix ioctl's protoype on glibc systems.
3358         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
3359         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
3360         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
3361         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
3362         signature. If not, arrange to replace the ioctl function.
3363         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
3364         REPLACE_IOCTL.
3365         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
3366         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
3367         Reported by Ludovic Courtès <ludo@gnu.org>.
3368
3369 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
3370
3371         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
3372         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
3373         made it so grep -r --include=GLOB* ... did not work.
3374
3375 2010-03-26  Jim Meyering  <meyering@redhat.com>
3376             Eric Blake  <eblake@redhat.com>
3377
3378         maint.mk: prohibit use of test's -o and -a operators
3379         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
3380
3381 2010-03-28  Bruno Haible  <bruno@clisp.org>
3382
3383         Remove unused GNULIB_XYZ macro definitions.
3384         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
3385         invocation.
3386
3387 2010-03-28  Bruno Haible  <bruno@clisp.org>
3388
3389         Mark privileged tests modules.
3390         * modules/idpriv-drop-tests (Status): New section.
3391         * modules/idpriv-droptemp-tests (Status): New section.
3392
3393 2010-03-28  Bruno Haible  <bruno@clisp.org>
3394
3395         Split C++ tests into separate tests modules.
3396         * modules/dirent-c++-tests: New file, extracted from
3397         modules/dirent-tests.
3398         * modules/dirent-tests: Depend on it.
3399         * modules/fcntl-h-c++-tests: New file, extracted from
3400         modules/fcntl-h-tests.
3401         * modules/fcntl-h-tests: Depend on it.
3402         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
3403         * modules/glob-tests: Depend on it.
3404         * modules/iconv-h-c++-tests: New file, extracted from
3405         modules/iconv-h-tests.
3406         * modules/iconv-h-tests: Depend on it.
3407         * modules/langinfo-c++-tests: New file, extracted from
3408         modules/langinfo-tests.
3409         * modules/langinfo-tests: Depend on it.
3410         * modules/locale-c++-tests: New file, extracted from
3411         modules/locale-tests.
3412         * modules/locale-tests: Depend on it.
3413         * modules/math-c++-tests: New file, extracted from modules/math-tests.
3414         * modules/math-tests: Depend on it.
3415         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
3416         * modules/pty-tests: Depend on it.
3417         * modules/search-c++-tests: New file, extracted from
3418         modules/search-tests.
3419         * modules/search-tests: Depend on it.
3420         * modules/signal-c++-tests: New file, extracted from
3421         modules/signal-tests.
3422         * modules/signal-tests: Depend on it.
3423         * modules/spawn-c++-tests: New file, extracted from
3424         modules/spawn-tests.
3425         * modules/spawn-tests: Depend on it.
3426         * modules/stdio-c++-tests: New file, extracted from
3427         modules/stdio-tests.
3428         * modules/stdio-tests: Depend on it.
3429         * modules/stdlib-c++-tests: New file, extracted from
3430         modules/stdlib-tests.
3431         * modules/stdlib-tests: Depend on it.
3432         * modules/string-c++-tests: New file, extracted from
3433         modules/string-tests.
3434         * modules/string-tests: Depend on it.
3435         * modules/sys_ioctl-c++-tests: New file, extracted from
3436         modules/sys_ioctl-tests.
3437         * modules/sys_ioctl-tests: Depend on it.
3438         * modules/sys_select-c++-tests: New file, extracted from
3439         modules/sys_select-tests.
3440         * modules/sys_select-tests: Depend on it.
3441         * modules/sys_socket-c++-tests: New file, extracted from
3442         modules/sys_socket-tests.
3443         * modules/sys_socket-tests: Depend on it.
3444         * modules/sys_stat-c++-tests: New file, extracted from
3445         modules/sys_stat-tests.
3446         * modules/sys_stat-tests: Depend on it.
3447         * modules/sys_time-c++-tests: New file, extracted from
3448         modules/sys_time-tests.
3449         * modules/sys_time-tests: Depend on it.
3450         * modules/time-c++-tests: New file, extracted from modules/time-tests.
3451         * modules/time-tests: Depend on it.
3452         * modules/unistd-c++-tests: New file, extracted from
3453         modules/unistd-tests.
3454         * modules/unistd-tests: Depend on it.
3455         * modules/wchar-c++-tests: New file, extracted from
3456         modules/wchar-tests.
3457         * modules/wchar-tests: Depend on it.
3458         * modules/wctype-c++-tests: New file, extracted from
3459         modules/wctype-tests.
3460         * modules/wctype-tests: Depend on it.
3461         Reported by Simon Josefsson.
3462
3463 2010-03-28  Bruno Haible  <bruno@clisp.org>
3464
3465         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
3466         * gnulib-tool (func_exists_module): New function, extracted from
3467         func_verify_module.
3468         (func_verify_module): Use it.
3469         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
3470         'foo' only if 'foo' exists.
3471         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
3472         module.
3473
3474 2010-03-28  Bruno Haible  <bruno@clisp.org>
3475
3476         gnulib-tool: Add support for special categories of tests.
3477         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
3478         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
3479         (func_usage): Document them.
3480         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
3481         inc_unportable_tests, inc_all_tests): New variables.
3482         (func_acceptable): Consider these variables.
3483         (func_modules_transitive_closure): Make it work when the 'Status' field
3484         consists of multiple words.
3485         (func_import): Store and restore the values of inc_cxx_tests,
3486         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
3487         inc_all_tests in gnulib-comp.m4.
3488         (func_create_testdir): Set inc_all_tests to true.
3489         * doc/gnulib.texi (Extra tests modules): New section.
3490         Suggested by Jim Meyering.
3491
3492 2010-03-28  Bruno Haible  <bruno@clisp.org>
3493
3494         ansi-c++-opt: Allow turning off the C++ build by default.
3495         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
3496         gl_CXX_CHOICE_DEFAULT_NO is defined.
3497         Requested by Eric Blake.
3498
3499 2010-03-28  Bruno Haible  <bruno@clisp.org>
3500
3501         unistd: Avoid #define replacements in C++ mode.
3502         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
3503         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
3504         setsockopt, shutdown, select): In C++, attach a warning to the function
3505         if possible, rather than #defining the symbol to a dysfunctional alias.
3506         Reported by John W. Eaton <jwe@gnu.org>.
3507
3508 2010-03-28  Bruno Haible  <bruno@clisp.org>
3509
3510         Fix link errors on mingw.
3511         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
3512         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
3513         $(LIBSOCKET).
3514         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
3515         $(LIBSOCKET).
3516
3517 2010-03-28  Bruno Haible  <bruno@clisp.org>
3518             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3519
3520         lib-ignore: Determine different options for different compilers.
3521         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
3522         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
3523         Add comments.
3524         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
3525         * NEWS: Mention the change.
3526
3527 2010-03-27  Bruno Haible  <bruno@clisp.org>
3528
3529         Remove unused GNULIB_XYZ macro definitions.
3530         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
3531         * modules/fseek (configure.ac): Likewise.
3532         * modules/ioctl (configure.ac): Likewise.
3533         * modules/open (configure.ac): Likewise.
3534         * modules/stdlib-safer (configure.ac): Likewise.
3535
3536 2010-03-27  Bruno Haible  <bruno@clisp.org>
3537
3538         Add a remark about certain modules.
3539         * modules/malloc (Comment): New section.
3540         * modules/realloc (Comment): Likewise.
3541         * modules/sigpipe (Comment): Likewise.
3542
3543 2010-03-27  Bruno Haible  <bruno@clisp.org>
3544
3545         Resolve conflict between the two kinds of module indicators.
3546         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
3547         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
3548         * modules/canonicalize (configure.ac): Invoke
3549         gl_MODULE_INDICATOR_FOR_TESTS.
3550         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
3551         GNULIB_XYZ.
3552         * tests/test-dirent-c++.cc: Likewise.
3553         * tests/test-dirent-safer.c: Likewise.
3554         * tests/test-dup2.c: Likewise.
3555         * tests/test-fchdir.c: Likewise.
3556         * tests/test-fcntl-h-c++.cc: Likewise.
3557         * tests/test-getopt.c: Likewise.
3558         * tests/test-getopt.h: Likewise.
3559         * tests/test-langinfo-c++.cc: Likewise.
3560         * tests/test-locale-c++.cc: Likewise.
3561         * tests/test-math-c++.cc: Likewise.
3562         * tests/test-pty-c++.cc: Likewise.
3563         * tests/test-search-c++.cc: Likewise.
3564         * tests/test-signal-c++.cc: Likewise.
3565         * tests/test-spawn-c++.cc: Likewise.
3566         * tests/test-stdio-c++.cc: Likewise.
3567         * tests/test-stdlib-c++.cc: Likewise.
3568         * tests/test-string-c++.cc: Likewise.
3569         * tests/test-sys_ioctl-c++.cc: Likewise.
3570         * tests/test-sys_select-c++.cc: Likewise.
3571         * tests/test-sys_socket-c++.cc: Likewise.
3572         * tests/test-sys_stat-c++.cc: Likewise.
3573         * tests/test-sys_time-c++.cc: Likewise.
3574         * tests/test-time-c++.cc: Likewise.
3575         * tests/test-unistd-c++.cc: Likewise.
3576         * tests/test-wchar-c++.cc: Likewise.
3577         * tests/uninorm/test-u8-nfc.c: Likewise.
3578         * tests/uninorm/test-u8-nfd.c: Likewise.
3579         * tests/uninorm/test-u8-nfkc.c: Likewise.
3580         * tests/uninorm/test-u8-nfkd.c: Likewise.
3581         * tests/uninorm/test-u16-nfc.c: Likewise.
3582         * tests/uninorm/test-u16-nfd.c: Likewise.
3583         * tests/uninorm/test-u16-nfkc.c: Likewise.
3584         * tests/uninorm/test-u16-nfkd.c: Likewise.
3585         * tests/uninorm/test-u32-nfc.c: Likewise.
3586         * tests/uninorm/test-u32-nfc-big.c: Likewise.
3587         * tests/uninorm/test-u32-nfd.c: Likewise.
3588         * tests/uninorm/test-u32-nfd-big.c: Likewise.
3589         * tests/uninorm/test-u32-nfkc.c: Likewise.
3590         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
3591         * tests/uninorm/test-u32-nfkd.c: Likewise.
3592         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
3593         * tests/uninorm/test-u32-normalize-big.c: Likewise.
3594
3595 2010-03-27  Bruno Haible  <bruno@clisp.org>
3596
3597         Distinguish two kinds of module indicators.
3598         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
3599         gl_MODULE_INDICATOR.
3600         (gl_MODULE_INDICATOR): New macro.
3601         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
3602         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
3603         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
3604         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
3605         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
3606         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
3607         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
3608         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
3609         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
3610         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
3611         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
3612         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
3613         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
3614         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
3615         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
3616         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
3617         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
3618         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
3619         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
3620         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
3621         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
3622         * modules/cloexec (configure.ac): Likewise.
3623         * modules/getopt-gnu (configure.ac): Likewise.
3624         * modules/uninorm/u8-normalize (configure.ac): Likewise.
3625         * modules/uninorm/u16-normalize (configure.ac): Likewise.
3626         * modules/uninorm/u32-normalize (configure.ac): Likewise.
3627         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
3628
3629 2010-03-27  Bruno Haible  <bruno@clisp.org>
3630
3631         New module description field 'Comment'.
3632         * gnulib-tool: New option --extract-comment.
3633         (func_usage): Document it.
3634         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
3635         (func_get_comment): New function.
3636         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
3637
3638 2010-03-27  Bruno Haible  <bruno@clisp.org>
3639
3640         Addendum to 2010-02-07 commit.
3641         * gnulib-tool (func_usage): Document --extract-applicability option.
3642
3643 2010-03-27  Bruno Haible  <bruno@clisp.org>
3644
3645         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
3646         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
3647         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
3648         rather than link errors.
3649
3650 2010-03-27  Bruno Haible  <bruno@clisp.org>
3651
3652         Avoid side effects from tests-related modules on the compilation of lib.
3653         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
3654         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
3655         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
3656         parameter. Emit into AM_CPPFLAGS a definition of the designated C
3657         macro.
3658         (func_import): Define a witness macro. Assign it a value that depends
3659         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
3660         tests-related modules.
3661         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
3662         Reported by Jim Meyering.
3663
3664 2010-03-27  Bruno Haible  <bruno@clisp.org>
3665
3666         Factorize common .m4 code.
3667         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
3668         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
3669         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
3670         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
3671         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
3672         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
3673         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
3674         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
3675         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
3676         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
3677         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
3678         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
3679         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
3680         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
3681         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
3682         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
3683         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
3684         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
3685         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
3686         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
3687         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
3688         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
3689         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
3690         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
3691         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
3692         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
3693         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
3694         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
3695         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
3696         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
3697         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
3698         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
3699
3700 2010-03-27  Bruno Haible  <bruno@clisp.org>
3701
3702         Fix a compilation error on Cygwin with g++ >= 4.3.
3703         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
3704         if it is undefined or if we alias it to chmod.
3705         (lstat): Don't warn about the use of this function if it is undefined
3706         or if we alias it to stat.
3707         Reported by Simon Josefsson.
3708
3709 2010-03-27  Bruno Haible  <bruno@clisp.org>
3710
3711         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
3712         * modules/getlogin (configure.ac): Update.
3713
3714         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
3715         * modules/getlogin_r (configure.ac): Update.
3716
3717         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
3718         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
3719         * modules/inet_ntop (configure.ac): Update.
3720
3721         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
3722         * modules/inet_pton (configure.ac): Update.
3723
3724         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
3725         * modules/mbslen (configure.ac): Update.
3726
3727         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
3728         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
3729         * modules/forkpty (configure.ac): Update.
3730         * modules/openpty (configure.ac): Update.
3731
3732 2010-03-26  Simon Josefsson  <simon@josefsson.org>
3733
3734         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
3735         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
3736
3737 2010-03-25  Eric Blake  <eblake@redhat.com>
3738
3739         maint: use pragma consistently across replacement headers
3740         * lib/ctype.in.h (system_header): Hoist for consistent placement.
3741         * lib/dirent.in.h (system_header): Likewise.
3742         * lib/errno.in.h (system_header): Likewise.
3743         * lib/float.in.h (system_header): Likewise.
3744         * lib/getopt.in.h (system_header): Likewise.
3745         * lib/iconv.in.h (system_header): Likewise.
3746         * lib/inttypes.in.h (system_header): Likewise.
3747         * lib/langinfo.in.h (system_header): Likewise.
3748         * lib/locale.in.h (system_header): Likewise.
3749         * lib/math.in.h (system_header): Likewise.
3750         * lib/netdb.in.h (system_header): Likewise.
3751         * lib/netinet_in.in.h (system_header): Likewise.
3752         * lib/pty.in.h (system_header): Likewise.
3753         * lib/sched.in.h (system_header): Likewise.
3754         * lib/se-selinux.in.h (system_header): Likewise.
3755         * lib/search.in.h (system_header): Likewise.
3756         * lib/spawn.in.h (system_header): Likewise.
3757         * lib/stdarg.in.h (system_header): Likewise.
3758         * lib/stdint.in.h (system_header): Likewise.
3759         * lib/string.in.h (system_header): Likewise.
3760         * lib/strings.in.h (system_header): Likewise.
3761         * lib/sys_file.in.h (system_header): Likewise.
3762         * lib/sys_ioctl.in.h (system_header): Likewise.
3763         * lib/sys_socket.in.h (system_header): Likewise.
3764         * lib/sys_times.in.h (system_header): Likewise.
3765         * lib/sys_utsname.in.h (system_header): Likewise.
3766         * lib/sys_wait.in.h (system_header): Likewise.
3767         * lib/sysexits.in.h (system_header): Likewise.
3768         * lib/unistd.in.h (system_header): Likewise.
3769         * lib/wctype.in.h (system_header): Likewise.
3770
3771         arpa/inet: fix mingw compilation warning
3772         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
3773         Reported by Matthew Bolte.
3774
3775 2010-03-25  Bruno Haible  <bruno@clisp.org>
3776
3777         Avoid collision between gnulib wrapper and libintl wrapper.
3778         * lib/printf.c (printf): Don't define if a printf wrapper is already
3779         defined in intl/printf.c.
3780         Reported by Michel Boaventura <michel@michelboaventura.com>.
3781
3782 2010-03-25  Bruno Haible  <bruno@clisp.org>
3783
3784         Use ANSI C.
3785         * lib/readutmp.h (getutent): Provide ANSI C prototype.
3786
3787 2010-03-25  Bruno Haible  <bruno@clisp.org>
3788
3789         Minor formatting changes.
3790         * lib/acosl.c: Insert space before function argument list.
3791         * lib/argz.c: Likewise.
3792         * lib/asinl.c: Likewise.
3793         * lib/expl.c: Likewise.
3794         * lib/gen-uni-tables.c: Likewise.
3795         * lib/gettext.h: Likewise.
3796         * lib/glthread/lock.h: Likewise.
3797         * lib/tanl.c: Likewise.
3798         * lib/uniname/uniname.c: Likewise.
3799         * tests/test-idpriv-drop.c: Likewise.
3800         * tests/test-idpriv-droptemp.c: Likewise.
3801         * tests/test-lock.c: Likewise.
3802         * tests/test-tls.c: Likewise.
3803         * lib/argp-help.c: Insert space before function-like macro argument
3804         list.
3805         * lib/memcmp.c: Likewise.
3806         * tests/test-base64.c: Likewise.
3807         * lib/localename.c: Insert space before sizeof's argument list.
3808         * lib/safe-alloc.h: Likewise.
3809         * lib/file-set.h: Insert space before macro argument list.
3810         * tests/test-argp.c: Likewise.
3811         * lib/argp-namefrob.h: Insert space before function parameter list.
3812         * lib/getaddrinfo.c: Likewise.
3813         * lib/netdb.in.h: Likewise.
3814         * lib/parse-duration.h: Likewise.
3815         * lib/parse-duration.c: Likewise.
3816         * lib/poll.c: Likewise.
3817         * lib/select.c: Likewise.
3818         * lib/trim.h: Likewise.
3819         * tests/test-usleep.c: Likewise.
3820         * lib/ldexpl.c: Insert space before function parameter list and before
3821         function argument list.
3822         * lib/logl.c: Likewise.
3823         * lib/sqrtl.c: Likewise.
3824         * lib/trim.c: Likewise.
3825         * lib/cosl.c: Use GNU style indentation. Insert space before function
3826         argument list.
3827         * lib/sinl.c: Likewise.
3828         * lib/tsearch.c: Insert space after 'for'.
3829         Reported by Jim Meyering.
3830
3831 2010-03-23  PĂ¡draig Brady  <P@draigBrady.com>  (tiny change)
3832
3833         * maint.mk (sc_Wundef_boolean): Check for the presence of the
3834         config header before grepping, as it's not present before
3835         autoreconf/configure are run.  Reported by Simon Josefsson.
3836
3837 2010-03-23  Bruno Haible  <bruno@clisp.org>
3838
3839         pt_chown: Make it work with automake < 1.11.
3840         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
3841         Reported by Simon Josefsson.
3842
3843 2010-03-23  Bruno Haible  <bruno@clisp.org>
3844
3845         pt_chown: Don't depend on GPLed modules.
3846         * lib/pt_chown.c: Don't include idpriv.h.
3847         (main): Don't drop privileges.
3848         * modules/pt_chown (Depends-on): Remove idpriv-drop.
3849         Reported by Simon Josefsson.
3850
3851 2010-03-24  Simon Josefsson  <simon@josefsson.org>
3852
3853         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
3854         suggestions from karl@freefriends.org (Karl Berry).
3855
3856 2010-03-22  Eric Blake  <eblake@redhat.com>
3857
3858         gethostname: further tweaks
3859         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
3860         are overriding gethostname.
3861         Suggested by Bruno Haible.
3862
3863 2010-03-21  Bruno Haible  <bruno@clisp.org>
3864
3865         Fix comments.
3866         * lib/forkpty.c (rpl_forkpty): Fix comment.
3867         * lib/openpty.c (rpl_openpty): Likewise.
3868         Reported by Eric Blake.
3869
3870 2010-03-22  Eric Blake  <eblake@redhat.com>
3871
3872         gethostname: fix build on mingw
3873         * lib/unistd.in.h (includes): Work around fact that mingw
3874         <winsock2.h> re-includes <unistd.h>, by avoiding any
3875         redeclarations if we are being included by <winsock2.h>.
3876         Reported by Matthias Bolte.
3877
3878 2010-03-21  Bruno Haible  <bruno@clisp.org>
3879
3880         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
3881         * lib/forkpty.c (forkpty): New replacement function, from glibc with
3882         modifications.
3883         * lib/pty.in.h (forkpty): Update declaration. Add comments.
3884         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
3885         provide the replacement.
3886         * modules/forkpty (Depends-on): Add openpty, login_tty.
3887         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
3888         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
3889         * doc/glibc-functions/forkpty.texi: More supported platforms.
3890         * config/srclist.txt: Add forkpty.c (commented).
3891
3892 2010-03-21  Bruno Haible  <bruno@clisp.org>
3893
3894         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
3895         (Makefile.am): Verify that PTY_LIB is defined.
3896
3897         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
3898
3899 2010-03-21  Bruno Haible  <bruno@clisp.org>
3900
3901         Tests for module 'login_tty'.
3902         * modules/login_tty-tests: New file.
3903         * tests/test-login_tty.c: New file.
3904
3905         New module 'login_tty'.
3906         * lib/login_tty.c: New file.
3907         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
3908         * modules/login_tty: New file.
3909         * doc/glibc-functions/login_tty.texi: Mention the new module.
3910
3911 2010-03-21  Bruno Haible  <bruno@clisp.org>
3912
3913         login_tty: Documentation.
3914         * doc/glibc-functions/login_tty.texi: New file.
3915         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
3916
3917 2010-03-21  Bruno Haible  <bruno@clisp.org>
3918
3919         pty: Consistent macro naming.
3920         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
3921         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
3922         * modules/pty (configure.ac): Update.
3923
3924 2010-03-21  Bruno Haible  <bruno@clisp.org>
3925
3926         Tests for openpty: Make stricter.
3927         * tests/test-openpty.c (main): Add test of canonical processing and
3928         erase.
3929         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
3930
3931         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
3932         * lib/openpty.c (openpty): New replacement function.
3933         * lib/pty.in.h: Include <termios.h>.
3934         (openpty): Update declaration. Add comments.
3935         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
3936         is not declared, arrange to provide the replacement. Check for _getpty
3937         and posix_openpt.
3938         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
3939         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
3940         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
3941         * modules/pty-tests (test_pty_c___LDADD): New variable.
3942         * doc/glibc-functions/openpty.texi: More supported platforms.
3943
3944 2010-03-21  Bruno Haible  <bruno@clisp.org>
3945
3946         setenv: Tweaks.
3947         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
3948         the test program.
3949         * doc/posix-functions/setenv.texi: Update platforms list.
3950
3951 2010-03-21  Bruno Haible  <bruno@clisp.org>
3952
3953         New module 'unlockpt'.
3954         * lib/unlockpt.c: New file, from glibc with modifications.
3955         * m4/unlockpt.m4: New file.
3956         * modules/unlockpt: New file.
3957         * lib/stdlib.in.h (unlockpt): New declaration.
3958         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
3959         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
3960         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
3961         HAVE_UNLOCKPT.
3962         * doc/posix-functions/unlockpt.texi: Mention the new module.
3963         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
3964         * config/srclist.txt: Add unlockpt.c (commented).
3965
3966 2010-03-21  Jim Meyering  <meyering@redhat.com>
3967
3968         maint.mk: prohibit inclusion of "intprops.h" without use
3969         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
3970
3971 2010-03-21  Bruno Haible  <bruno@clisp.org>
3972
3973         New module 'grantpt'.
3974         * lib/grantpt.c: New file, from glibc with modifications.
3975         * m4/grantpt.m4: New file.
3976         * modules/grantpt: New file.
3977         * lib/stdlib.in.h (grantpt): New declaration.
3978         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
3979         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
3980         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
3981         HAVE_GRANTPT.
3982         * doc/posix-functions/grantpt.texi: Mention the new module.
3983         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
3984         * config/srclist.txt: Add grantpt.c (commented).
3985
3986 2010-03-21  Bruno Haible  <bruno@clisp.org>
3987
3988         New module 'pt_chown'.
3989         * lib/pt_chown.c: New file, from glibc with modifications.
3990         * lib/pty-private.h: New file, from glibc with modifications.
3991         * modules/pt_chown: New file.
3992         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
3993
3994 2010-03-21  Bruno Haible  <bruno@clisp.org>
3995
3996         Tests for module 'ptsname'.
3997         * modules/ptsname-tests: New file.
3998         * tests/test-ptsname.c: New file.
3999
4000         New module 'ptsname'.
4001         * lib/ptsname.c: New file, from glibc with modifications.
4002         * m4/ptsname.m4: New file.
4003         * modules/ptsname: New file.
4004         * lib/stdlib.in.h (ptsname): New declaration.
4005         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
4006         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
4007         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
4008         HAVE_PTSNAME.
4009         * doc/posix-functions/ptsname.texi: Mention the new module.
4010         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
4011         * config/srclist.txt: Add ptsname.c (commented).
4012
4013 2010-03-21  Bruno Haible  <bruno@clisp.org>
4014
4015         Tests for module 'ttyname_r'.
4016         * modules/ttyname_r-tests: New file.
4017         * tests/test-ttyname_r.c: New file.
4018
4019         New module 'ttyname_r'.
4020         * lib/ttyname_r.c: New file.
4021         * m4/ttyname_r.m4: New file.
4022         * modules/ttyname_r: New file.
4023         * lib/unistd.in.h (ttyname_r): New declaration.
4024         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
4025         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
4026         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
4027         HAVE_TTYNAME_R.
4028         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
4029         * doc/posix-functions/ttyname_r.texi: Mention the new module.
4030
4031 2010-03-20  Bruno Haible  <bruno@clisp.org>
4032
4033         signal: Undefine macro definitions in C++ mode.
4034         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
4035         sigfillset): Undefine macro definitions from the system header in C++
4036         mode.
4037         Reported by John W. Eaton <jwe@gnu.org>.
4038
4039 2010-03-20  Bruno Haible  <bruno@clisp.org>
4040
4041         Ensure no #include statements inside extern "C" { ... }.
4042         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
4043         contain #include statements.
4044         * lib/time.in.h: Likewise.
4045
4046 2010-03-20  Bruno Haible  <bruno@clisp.org>
4047
4048         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
4049         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
4050         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
4051         Reported by John W. Eaton <jwe@gnu.org>.
4052
4053 2010-03-20  Bruno Haible  <bruno@clisp.org>
4054
4055         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
4056         Reported by Jim Meyering.
4057
4058 2010-03-20  Bruno Haible  <bruno@clisp.org>
4059
4060         pipe: Set errno upon failure.
4061         * lib/pipe.h: Specify that when -1 is returned, errno is set.
4062         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
4063         errno value in error message.
4064
4065 2010-03-20  Bruno Haible  <bruno@clisp.org>
4066             Jim Meyering  <meyering@redhat.com>
4067
4068         lchown: Avoid "unused variable" warning.
4069         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
4070
4071 2010-03-20  Bruno Haible  <bruno@clisp.org>
4072
4073         Work around unlink() bug on MacOS X 10.5.6.
4074         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
4075         attempting to unlink a parent directory.
4076         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
4077         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
4078         activate for the replacement function.
4079         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
4080
4081 2010-03-20  Bruno Haible  <bruno@clisp.org>
4082
4083         Fix link errors on Solaris 8.
4084         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
4085         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
4086
4087 2010-03-19  Jim Meyering  <meyering@redhat.com>
4088
4089         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
4090         The _LIBC implementation of build_range_exp correctly honors the
4091         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
4092         However, the non-_LIBC implementation would ignore that syntax-bit
4093         flag and return REG_ERANGE unconditionally.
4094         This change makes it honor that flag.
4095         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
4096         Make two pointer parameters "const".
4097         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
4098         (parse_bracket_exp): Update caller.
4099
4100         regex.m4: correct the reversed range endpoint ([b-a]) test
4101         * m4/regex.m4: When requiring that [b-a] evoke failure,
4102         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
4103         test pass once again for x86-based systems.
4104
4105 2010-03-19  Bruno Haible  <bruno@clisp.org>
4106
4107         scandir: Fix link error on Solaris 8.
4108         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
4109         macros.
4110
4111 2010-03-19  Bruno Haible  <bruno@clisp.org>
4112
4113         getusershell: Fix documentation.
4114         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
4115         module.
4116         * doc/glibc-functions/setusershell.texi: Likewise.
4117
4118         getusershell: Provide declaration, missing on Solaris 9.
4119         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
4120         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
4121         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
4122         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
4123         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4124         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
4125         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
4126         HAVE_GETUSERSHELL.
4127         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
4128
4129 2010-03-19  Bruno Haible  <bruno@clisp.org>
4130
4131         wctype: Provide iswblank function.
4132         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
4133         exists and is fine.
4134         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
4135         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
4136         * tests/test-wctype.c (main): Re-enable the iswblank tests.
4137         * doc/posix-functions/iswblank.texi: Update.
4138
4139 2010-03-19  Bruno Haible  <bruno@clisp.org>
4140
4141         Tests of module 'pty' in C++ mode.
4142         * modules/pty-tests: New file.
4143         * tests/test-pty-c++.cc: New file.
4144         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4145
4146 2010-03-19  Eric Blake  <eblake@redhat.com>
4147
4148         logb: fix documentation
4149         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
4150         1.5 declaration bug.
4151
4152         forkpty, openpty: prefer glibc's const-safe prototype
4153         * lib/forkpty.c (rpl_forkpty): New file.
4154         * lib/openpty.c (rpl_openpty): Likewise.
4155         * modules/forkpty (Files): Distribute it.
4156         * modules/openpty (Files): Likewise.
4157         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
4158         check...
4159         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
4160         replacement for for non-const BSD signature.
4161         * modules/pty (Makefile.am): Substitute witnesses.
4162         * lib/pty.in.h (forkpty, openpty): Declare replacements.
4163         * tests/test-forkpty.c: Update signature check.
4164         * tests/test-openpty.c: Likewise.
4165         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
4166         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4167
4168         forkpty, openpty: split functions into new modules
4169         * modules/pty (Makefile.am): Substitute new witnesses.
4170         (Libraries): Move library detection...
4171         * modules/forkpty: ...into new module.
4172         * modules/openpty: Another new module.
4173         * modules/pty-tests: Rename and split...
4174         * modules/forkpty-tests: ...to this...
4175         * modules/openpty-tests: ...and this.
4176         * tests/test-pty.c: Rename and split...
4177         * tests/test-forkpty.c: ...to this...
4178         * tests/test-openpty.c: ...and this.
4179         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
4180         (gl_PTY): Split library searching...
4181         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
4182         (gl_FORKPTY, gl_OPENPTY): New macros.
4183         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
4184         * NEWS: Mention the split.
4185         * MODULES.html.sh (Misc): Document the modules.
4186         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
4187         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4188
4189         pty: improve replacement header
4190         * lib/pty.in.h: New file.
4191         * modules/pty (Files): Ship it.
4192         (Makefile.am): Always build replacement.
4193         * m4/pty.m4: Rename...
4194         * m4/pty_h.m4: ...to this.
4195         (gl_PTY): Modernize setting of witness macros; update check of
4196         forkpty to take proper advantage of cache.
4197         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
4198
4199         getopt: avoid compiler warning
4200         * lib/getopt.c (attribute_hidden): Remove unused macro.
4201
4202 2010-03-18  Bruno Haible  <bruno@clisp.org>
4203
4204         Fix link errors on Solaris 8.
4205         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
4206         * modules/search-tests (test_search_c___LDADD): Likewise.
4207         * modules/signal-tests (test_signal_c___LDADD): Likewise.
4208         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
4209         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
4210         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
4211         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
4212         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
4213         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
4214
4215 2010-03-18  Bruno Haible  <bruno@clisp.org>
4216
4217         Fix bug introduced on 2010-03-14.
4218         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
4219         (gl_SPAWN_H): Require it.
4220         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
4221         Reported by Simon Josefsson.
4222
4223 2010-03-18  Bruno Haible  <bruno@clisp.org>
4224
4225         Fix typo introduced on 2009-12-31.
4226         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
4227         posix_spawn_file_actions_adddup2.
4228
4229 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
4230         and Eric Blake  <eblake@redhat.com>
4231
4232         test-vc-list-files-git: make more robust
4233         * tests/test-vc-list-files-git.sh: Unset problematic environment
4234         variables.  Chain commands together.
4235
4236 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
4237
4238         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
4239         `AC_CHECK_DECL' invocation.
4240
4241 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
4242
4243         * lib/inttostr.c (inttostr): Make sure the invocation of verify
4244         appears before executable statements. Suggested by Petr Sumbera
4245         <Petr.Sumbera@Sun.COM>.
4246
4247 2010-03-14  Bruno Haible  <bruno@clisp.org>
4248
4249         * tests/test-flock.c (test_exclusive): Comment out a test that causes
4250         portability problems. Instead use a simpler test.
4251         (main): Check that invalid arguments are rejected only on Linux.
4252
4253 2010-03-14  Bruno Haible  <bruno@clisp.org>
4254
4255         Fix bug introduced on 2009-12-31.
4256         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
4257         gl_PREREQ_SYS_H_WINSOCK2 always.
4258         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
4259         SYS_SOCKET_H variable.
4260         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
4261         Update comments.
4262         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
4263         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
4264         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4265         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4266         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4267
4268 2010-03-14  Bruno Haible  <bruno@clisp.org>
4269
4270         Fix values returned by sinl, cosl.
4271         * lib/trigl.h: Add specification comments.
4272         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
4273         that combines the values from the precomputed table with the values of
4274         the Chebyshev polynomials.
4275
4276 2010-03-14  Bruno Haible  <bruno@clisp.org>
4277
4278         Fix compilation error when modules 'posix_spawn[p]' are not used.
4279         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
4280         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
4281
4282 2010-03-14  Bruno Haible  <bruno@clisp.org>
4283
4284         Fix compilation error on mingw when module 'time_r' is not used.
4285         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
4286         is 1.
4287         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
4288         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
4289         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
4290         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
4291
4292 2010-03-14  Bruno Haible  <bruno@clisp.org>
4293
4294         Fix compilation error with Sun C.
4295         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
4296         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
4297         instead of GCC specific ULONG_LONG_MAX.
4298         * lib/xstrtoll.c: Likewise.
4299         * lib/xstrtoull.c: Likewise.
4300
4301 2010-03-13  Bruno Haible  <bruno@clisp.org>
4302
4303         Allow the user to disable C++ code and tests.
4304         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
4305         (gl_PROG_ANSI_CXX): Require it.
4306
4307 2010-03-13  Bruno Haible  <bruno@clisp.org>
4308
4309         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
4310         cases.
4311
4312 2010-03-13  Bruno Haible  <bruno@clisp.org>
4313
4314         Test that gnulib does not break the standard C++ headers.
4315         * tests/test-locale-c++2.cc: New file.
4316         * modules/locale-tests (Files): Add it.
4317         (Makefile.am): Compile it for test-locale-c++.
4318         * tests/test-math-c++2.cc: New file.
4319         * modules/math-tests (Files): Add it.
4320         (Makefile.am): Compile it for test-math-c++.
4321         * tests/test-signal-c++2.cc: New file.
4322         * modules/signal-tests (Files): Add it.
4323         (Makefile.am): Compile it for test-signal-c++.
4324         * tests/test-stdio-c++2.cc: New file.
4325         * modules/stdio-tests (Files): Add it.
4326         (Makefile.am): Compile it for test-stdio-c++.
4327         * tests/test-stdlib-c++2.cc: New file.
4328         * modules/stdlib-tests (Files): Add it.
4329         (Makefile.am): Compile it for test-stdlib-c++.
4330         * tests/test-string-c++2.cc: New file.
4331         * modules/string-tests (Files): Add it.
4332         (Makefile.am): Compile it for test-string-c++.
4333         * tests/test-time-c++2.cc: New file.
4334         * modules/time-tests (Files): Add it.
4335         (Makefile.am): Compile it for test-time-c++.
4336         Reported by John W. Eaton <jwe@gnu.org>.
4337
4338 2010-03-13  Bruno Haible  <bruno@clisp.org>
4339
4340         * gnulib-tool (func_usage): Clarify which options are available for
4341         --create-testdir and --create-megatestdir.
4342
4343 2010-03-13  Bruno Haible  <bruno@clisp.org>
4344
4345         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
4346         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
4347         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
4348         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
4349         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
4350         when appropriate.
4351         Reported by Jim Meyering.
4352
4353 2010-03-12  Simon Josefsson  <simon@josefsson.org>
4354
4355         * gnulib-tool (func_import): Explain origin of code.
4356
4357 2010-03-12  Bruno Haible  <bruno@clisp.org>
4358
4359         Fix problem with automake's definition of CXXLINK.
4360         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
4361         Reported by Simon Josefsson and Ludovic Courtès.
4362
4363 2010-03-12  Bruno Haible  <bruno@clisp.org>
4364
4365         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
4366         stable releases.
4367
4368 2010-03-11  Bruno Haible  <bruno@clisp.org>
4369
4370         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
4371         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
4372         whether the system provides one variant or multiple variants of the
4373         function.
4374         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
4375         C++ compilers.
4376         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
4377         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
4378         Reported by Jim Meyering.
4379
4380 2010-03-09  Simon Josefsson  <simon@josefsson.org>
4381
4382         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
4383
4384 2010-03-08  Bruno Haible  <bruno@clisp.org>
4385
4386         gnulib-tool: Add support for --libtool in --create-testdir.
4387         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
4388         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
4389
4390 2010-03-08  Eric Blake  <eblake@redhat.com>
4391
4392         gnulib-tool.texi: mention possibility of git submodule
4393         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
4394         submodules.
4395         * doc/.gitignore: Ignore another generated file.
4396
4397 2010-03-08  Karl Berry  <karl@gnu.org>
4398
4399         * doc/gnulib-tool.texi (VCS Issues): Mention third option
4400         of committing gnulib files while skipping others.
4401
4402 2010-03-07  Bruno Haible  <bruno@clisp.org>
4403
4404         Tests of module 'wctype' in C++ mode.
4405         * tests/test-wctype-c++.cc: New file.
4406         * modules/wctype-tests (Files): Add it and tests/signature.h.
4407         (Depends-on): Add ansi-c++-opt.
4408         (Makefile.am): Arrange to compile and run test-wctype-c++.
4409
4410         Tests of module 'wchar' in C++ mode.
4411         * tests/test-wchar-c++.cc: New file.
4412         * modules/wchar-tests (Files): Add it and tests/signature.h.
4413         (Depends-on): Add ansi-c++-opt.
4414         (Makefile.am): Arrange to compile and run test-wchar-c++.
4415         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
4416         gl_MODULE_INDICATOR.
4417
4418         Tests of module 'unistd' in C++ mode.
4419         * tests/test-unistd-c++.cc: New file.
4420         * modules/unistd-tests (Files): Add it and tests/signature.h.
4421         (Depends-on): Add ansi-c++-opt.
4422         (Makefile.am): Arrange to compile and run test-unistd-c++.
4423         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
4424         gl_MODULE_INDICATOR.
4425
4426         Tests of module 'time' in C++ mode.
4427         * tests/test-time-c++.cc: New file.
4428         * modules/time-tests (Files): Add it and tests/signature.h.
4429         (Depends-on): Add ansi-c++-opt.
4430         (Makefile.am): Arrange to compile and run test-time-c++.
4431         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4432
4433         Tests of module 'sys_time' in C++ mode.
4434         * tests/test-sys_time-c++.cc: New file.
4435         * modules/sys_time-tests (Files): Add it and tests/signature.h.
4436         (Depends-on): Add ansi-c++-opt.
4437         (Makefile.am): Arrange to compile and run test-sys_time-c++.
4438         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
4439         gl_MODULE_INDICATOR.
4440
4441         Tests of module 'sys_stat' in C++ mode.
4442         * tests/test-sys_stat-c++.cc: New file.
4443         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
4444         (Depends-on): Add ansi-c++-opt.
4445         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
4446         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
4447         gl_MODULE_INDICATOR.
4448
4449         Tests of module 'sys_socket' in C++ mode.
4450         * tests/test-sys_socket-c++.cc: New file.
4451         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
4452         (Depends-on): Add ansi-c++-opt.
4453         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
4454         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
4455         gl_MODULE_INDICATOR.
4456
4457         Tests of module 'sys_select' in C++ mode.
4458         * tests/test-sys_select-c++.cc: New file.
4459         * modules/sys_select-tests (Files): Add it and tests/signature.h.
4460         (Depends-on): Add ansi-c++-opt.
4461         (Makefile.am): Arrange to compile and run test-sys_select-c++.
4462         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
4463         gl_MODULE_INDICATOR.
4464
4465         Tests of module 'sys_ioctl' in C++ mode.
4466         * tests/test-sys_ioctl-c++.cc: New file.
4467         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
4468         (Depends-on): Add ansi-c++-opt.
4469         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
4470         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
4471         gl_MODULE_INDICATOR.
4472
4473         Tests of module 'string' in C++ mode.
4474         * tests/test-string-c++.cc: New file.
4475         * modules/string-tests (Files): Add it and tests/signature.h.
4476         (Depends-on): Add ansi-c++-opt.
4477         (Makefile.am): Arrange to compile and run test-string-c++.
4478         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
4479         gl_MODULE_INDICATOR.
4480
4481         Tests of module 'stdlib' in C++ mode.
4482         * tests/test-stdlib-c++.cc: New file.
4483         * modules/stdlib-tests (Files): Add it and tests/signature.h.
4484         (Depends-on): Add ansi-c++-opt.
4485         (Makefile.am): Arrange to compile and run test-stdlib-c++.
4486         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
4487         gl_MODULE_INDICATOR.
4488
4489         Tests of module 'stdio' in C++ mode.
4490         * tests/test-stdio-c++.cc: New file.
4491         * modules/stdio-tests (Files): Add it and tests/signature.h.
4492         (Depends-on): Add ansi-c++-opt.
4493         (Makefile.am): Arrange to compile and run test-stdio-c++.
4494         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
4495         gl_MODULE_INDICATOR.
4496
4497         Tests of module 'spawn' in C++ mode.
4498         * tests/test-spawn-c++.cc: New file.
4499         * modules/spawn-tests (Files): Add it and tests/signature.h.
4500         (Depends-on): Add ansi-c++-opt.
4501         (Makefile.am): Arrange to compile and run test-spawn-c++.
4502         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
4503         gl_MODULE_INDICATOR.
4504
4505         Tests of module 'signal' in C++ mode.
4506         * tests/test-signal-c++.cc: New file.
4507         * modules/signal-tests (Files): Add it and tests/signature.h.
4508         (Depends-on): Add ansi-c++-opt.
4509         (Makefile.am): Arrange to compile and run test-signal-c++.
4510         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
4511         gl_MODULE_INDICATOR.
4512
4513         Tests of module 'search' in C++ mode.
4514         * tests/test-search-c++.cc: New file.
4515         * modules/search-tests (Files): Add it and tests/signature.h.
4516         (Depends-on): Add ansi-c++-opt.
4517         (Makefile.am): Arrange to compile and run test-search-c++.
4518         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
4519         gl_MODULE_INDICATOR.
4520
4521         Tests of module 'math' in C++ mode.
4522         * tests/test-math-c++.cc: New file.
4523         * modules/math-tests (Files): Add it and tests/signature.h.
4524         (Depends-on): Add ansi-c++-opt.
4525         (Makefile.am): Arrange to compile and run test-math-c++.
4526         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4527
4528         Tests of module 'locale' in C++ mode.
4529         * tests/test-locale-c++.cc: New file.
4530         * modules/locale-tests (Files): Add it and tests/signature.h.
4531         (Depends-on): Add ansi-c++-opt.
4532         (Makefile.am): Arrange to compile and run test-locale-c++.
4533         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
4534         gl_MODULE_INDICATOR.
4535
4536         Tests of module 'langinfo' in C++ mode.
4537         * tests/test-langinfo-c++.cc: New file.
4538         * modules/langinfo-tests (Files): Add it and tests/signature.h.
4539         (Depends-on): Add ansi-c++-opt.
4540         (Makefile.am): Arrange to compile and run test-langinfo-c++.
4541         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
4542         gl_MODULE_INDICATOR.
4543
4544         Tests of module 'iconv-h' in C++ mode.
4545         * tests/test-iconv-h-c++.cc: New file.
4546         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
4547         (Depends-on): Add ansi-c++-opt.
4548         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
4549
4550         Tests of module 'glob' in C++ mode.
4551         * tests/test-glob-c++.cc: New file.
4552         * modules/glob-tests (Files): Add it.
4553         (Depends-on): Add ansi-c++-opt.
4554         (Makefile.am): Arrange to compile and run test-glob-c++.
4555
4556         Tests of module 'fcntl-h' in C++ mode.
4557         * tests/test-fcntl-h-c++.cc: New file.
4558         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
4559         (Depends-on): Add ansi-c++-opt.
4560         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
4561         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
4562         gl_MODULE_INDICATOR.
4563
4564         Tests of module 'dirent' in C++ mode.
4565         * tests/test-dirent-c++.cc: New file.
4566         * modules/dirent-tests (Files): Add it and tests/signature.h.
4567         (Depends-on): Add ansi-c++-opt.
4568         (Makefile.am): Arrange to compile and run test-dirent-c++.
4569         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
4570         gl_MODULE_INDICATOR.
4571
4572         New module 'ansi-c++-opt'.
4573         * modules/ansi-c++-opt: New file.
4574         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
4575
4576         Document C++ namespace mode.
4577         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
4578
4579         wctype: Avoid #define replacements in C++ mode.
4580         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
4581         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
4582         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
4583         In C++, define a namespaced alias symbol.
4584         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
4585         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
4586         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
4587         rule.
4588
4589         wchar: Avoid #define replacements in C++ mode.
4590         * lib/wchar.in.h: Include c++defs.h.
4591         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
4592         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
4593         symbol.
4594         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
4595         * modules/wchar (Depends-on): Add c++defs.
4596         (Makefile.am): Update wchar.h rule.
4597
4598         unistd: Avoid #define replacements in C++ mode.
4599         * lib/unistd.in.h: Include c++defs.h.
4600         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
4601         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
4602         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
4603         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
4604         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
4605         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
4606         symbol.
4607         (environ): Update.
4608         * modules/unistd (Depends-on): Add c++defs.
4609         (Makefile.am): Update unistd.h rule.
4610
4611         time: Avoid #define replacements in C++ mode.
4612         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
4613         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
4614         define a namespaced alias symbol.
4615         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
4616         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
4617         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
4618         * modules/time (Depends-on): Add c++defs, warn-on-use.
4619         (Makefile.am): Update time.h rule.
4620         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
4621         * modules/nanosleep (configure.ac): Likewise.
4622         * modules/strptime (configure.ac): Likewise.
4623         * modules/timegm (configure.ac): Likewise.
4624
4625         sys_time: Avoid #define replacements in C++ mode.
4626         * lib/sys_time.in.h: Include c++defs.h.
4627         (gettimeofday): In C++, define a namespaced alias symbol.
4628         * modules/sys_time (Depends-on): Add c++defs.
4629         (Makefile.am): Update sys/time.h rule.
4630
4631         sys_stat: Avoid #define replacements in C++ mode.
4632         * lib/sys_stat.in.h: Include c++defs.h.
4633         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
4634         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
4635         namespaced alias symbol.
4636         In C++, define a namespaced alias symbol.
4637         * modules/sys_stat (Depends-on): Add c++defs.
4638         (Makefile.am): Update sys/stat.h rule.
4639
4640         sys_socket: Avoid #define replacements in C++ mode.
4641         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
4642         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
4643         definitions also when the system has a <sys/socket.h>.
4644         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
4645         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
4646         In C++, define a namespaced alias symbol.
4647         * modules/sys_socket (Depends-on): Add c++defs.
4648         (Makefile.am): Update sys/socket.h rule.
4649
4650         sys_select: Avoid #define replacements in C++ mode.
4651         * lib/sys_select.in.h: Include c++defs.h. Enable the function
4652         definitions also when the system has a <sys/select.h>.
4653         (select): In C++, define a namespaced alias symbol.
4654         * modules/sys_select (Depends-on): Add c++defs.
4655         (Makefile.am): Update sys/select.h rule.
4656
4657         sys_ioctl: Avoid #define replacements in C++ mode.
4658         * lib/sys_ioctl.in.h: Include c++defs.h.
4659         (ioctl): In C++, define a namespaced alias symbol.
4660         * modules/sys_ioctl (Depends-on): Add c++defs.
4661         (Makefile.am): Update sys/ioctl.h rule.
4662
4663         string: Avoid #define replacements in C++ mode.
4664         * lib/string.in.h: Include c++defs.h.
4665         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
4666         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
4667         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
4668         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
4669         strsignal, strverscmp): In C++, define a namespaced alias symbol.
4670         * modules/string (Depends-on): Add c++defs.
4671         (Makefile.am): Update string.h rule.
4672
4673         stdlib: Avoid #define replacements in C++ mode.
4674         * lib/stdlib.in.h: Include c++defs.h.
4675         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
4676         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
4677         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
4678         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
4679         symbol.
4680         * modules/stdlib (Depends-on): Add c++defs.
4681         (Makefile.am): Update stdlib.h rule.
4682
4683         stdio: Avoid #define replacements in C++ mode.
4684         * lib/stdio.in.h: Include c++defs.h.
4685         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
4686         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
4687         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
4688         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
4689         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
4690         namespaced alias symbol.
4691         * modules/stdio (Depends-on): Add c++defs.
4692         (Makefile.am): Update stdio.h rule.
4693
4694         spawn: Avoid #define replacements in C++ mode.
4695         * lib/spawn.in.h: Include c++defs.h.
4696         (posix_spawn, posix_spawnp, posix_spawnattr_init,
4697         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
4698         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
4699         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
4700         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
4701         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
4702         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
4703         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
4704         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
4705         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
4706         In C++, define a namespaced alias symbol.
4707         * modules/spawn (Depends-on): Add c++defs.
4708         (Makefile.am): Update spawn.h rule.
4709
4710         signal: Avoid #define replacements in C++ mode.
4711         * lib/signal.in.h: Include c++defs.h.
4712         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
4713         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
4714         namespaced alias symbol.
4715         * modules/signal (Depends-on): Add c++defs.
4716         (Makefile.am): Update signal.h rule.
4717
4718         search: Avoid #define replacements in C++ mode.
4719         * lib/search.in.h: Include c++defs.h.
4720         (_gl_search_compar_fn, _gl_search_action_fn): New types.
4721         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
4722         symbol.
4723         * modules/search (Depends-on): Add c++defs.
4724         (Makefile.am): Update search.h rule.
4725
4726         math: Avoid #define replacements in C++ mode.
4727         * lib/math.in.h: Include c++defs.h.
4728         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
4729         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
4730         trunc, truncl): In C++, define a namespaced alias symbol.
4731         * modules/math (Depends-on): Add c++defs.
4732         (Makefile.am): Update math.h rule.
4733
4734         locale: Avoid #define replacements in C++ mode.
4735         * lib/locale.in.h: Include c++defs.h.
4736         (duplocale): In C++, define a namespaced alias symbol.
4737         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
4738         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
4739         * modules/locale (Depends-on): Add c++defs.
4740         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
4741
4742         langinfo: Avoid #define replacements in C++ mode.
4743         * lib/langinfo.in.h: Include c++defs.h.
4744         (nl_langinfo): In C++, define a namespaced alias symbol.
4745         * modules/langinfo (Depends-on): Add c++defs.
4746         (Makefile.am): Update langinfo.h rule.
4747
4748         iconv-h: Avoid #define replacements in C++ mode.
4749         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
4750         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
4751         symbol.
4752         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
4753         whenever iconv is present.
4754         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
4755         (Makefile.am): Update iconv.h rule.
4756
4757         glob: Avoid #define replacements in C++ mode.
4758         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
4759         (_gl_glob_errfunc_fn): New type.
4760         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
4761         symbol.
4762         * modules/glob (Depends-on): Add c++defs, warn-on-use.
4763         (Makefile.am): Update glob.h rule.
4764
4765         fcntl-h: Avoid #define replacements in C++ mode.
4766         * lib/fcntl.in.h: Include c++defs.h.
4767         (fcntl, open, openat): In C++, define a namespaced alias symbol.
4768         * modules/fcntl-h (Depends-on): Add c++defs.
4769         (Makefile.am): Update fcntl.h rule.
4770
4771         dirent: Avoid #define replacements in C++ mode.
4772         * lib/dirent.in.h: Include c++defs.h.
4773         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
4774         namespaced alias symbol.
4775         (dirfd): Update declaration.
4776         * modules/dirent (Depends-on): Add c++defs.
4777         (Makefile.am): Update dirent.h rule.
4778
4779         ctype: Make it usable in C++ code.
4780         * lib/ctype.in.h: Include c++defs.h.
4781         (isblank): Declare as extern "C".
4782         * modules/ctype (Depends-on): Add c++defs.
4783         (Makefile.am): Update ctype.h rule.
4784
4785         New module 'c++defs'.
4786         * modules/c++defs: New file.
4787         * build-aux/c++defs.h: New file.
4788         Reported by John W. Eaton <jwe@gnu.org>.
4789
4790 2010-03-07  Bruno Haible  <bruno@clisp.org>
4791
4792         logb: Provide missing declaration for Cygwin.
4793         * lib/math.in.h (logb): New declaration.
4794         * m4/logb.m4: New file.
4795         * modules/logb (Files): Add m4/logb.m4.
4796         (Depends-on): Add math.
4797         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
4798         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
4799         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
4800         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
4801         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
4802
4803 2010-03-07  Bruno Haible  <bruno@clisp.org>
4804
4805         Fix test-cond link error.
4806         * tests/test-cond.c: Include <stdio.h>.
4807
4808 2010-03-07  Bruno Haible  <bruno@clisp.org>
4809
4810         Fix test-dirent-safer link error.
4811         * modules/dirent-safer-tests (Makefile.am): Define
4812         test_dirent_safer_LDADD.
4813
4814 2010-03-07  Bruno Haible  <bruno@clisp.org>
4815
4816         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
4817         among default module list.
4818
4819 2010-03-07  Bruno Haible  <bruno@clisp.org>
4820
4821         Fix link error on platforms with GNU libiconv.
4822         * modules/unistr/u8-strcoll-tests (Makefile): Define
4823         test_u8_strcoll_LDADD.
4824         * modules/unistr/u16-strcoll-tests (Makefile): Define
4825         test_u16_strcoll_LDADD.
4826         * modules/unistr/u32-strcoll-tests (Makefile): Define
4827         test_u32_strcoll_LDADD.
4828
4829 2010-03-07  Bruno Haible  <bruno@clisp.org>
4830
4831         Use POSIX declarations for socket functions.
4832         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
4833         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
4834         rpl_sendto): Change declaration to match POSIX.
4835         * lib/connect.c (rpl_connect): Likewise.
4836         * lib/accept.c (rpl_accept): Likewise.
4837         * lib/bind.c (rpl_bind): Likewise.
4838         * lib/getpeername.c (rpl_getpeername): Likewise.
4839         * lib/getsockname.c (rpl_getsockname): Likewise.
4840         * lib/recv.c (rpl_recv): Likewise.
4841         * lib/send.c (rpl_send): Likewise.
4842         * lib/recvfrom.c (rpl_recvfrom): Likewise.
4843         * lib/sendto.c (rpl_sendto): Likewise.
4844
4845 2010-03-06  Bruno Haible  <bruno@clisp.org>
4846
4847         Clarify access, euidaccess, faccessat.
4848         * doc/posix-functions/faccessat.texi: Mention security problem under
4849         "Other problems", not "Portability problems".
4850         * doc/posix-functions/access.texi: Likewise. Mention a related security
4851         problem.
4852         * doc/glibc-functions/euidaccess.texi: Mention security problems.
4853         * lib/euidaccess.c: Add comments about platforms.
4854         * lib/unistd.in.h (access, euidaccess): Add warnings.
4855
4856 2010-03-07  Bruno Haible  <bruno@clisp.org>
4857
4858         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
4859         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
4860         (POSIX_SPAWN_SETSCHEDULER): Likewise.
4861         (POSIX_SPAWN_USEVFORK): Define in a way that works when
4862         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
4863         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
4864         declare when POSIX_SPAWN_SETSCHEDULER is zero.
4865         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
4866         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
4867         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
4868         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
4869         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
4870         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
4871         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
4872         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
4873         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
4874         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
4875         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
4876         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
4877         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
4878         Likewise.
4879         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
4880         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
4881         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
4882         Likewise.
4883         * tests/test-spawn.c (main): Make it work when
4884         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
4885
4886 2010-03-07  Bruno Haible  <bruno@clisp.org>
4887
4888         Fix incorrect Makefile.am generation in German locale.
4889         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4890         Execute sed command with character range in C locale.
4891
4892 2010-03-06  Bruno Haible  <bruno@clisp.org>
4893
4894         Tests for module 'iconv-h'.
4895         * modules/iconv-h-tests: New file.
4896         * tests/test-iconv-h.c: New file.
4897
4898         New module 'iconv-h'.
4899         * modules/iconv-h: New file.
4900         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
4901         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
4902         (configure.ac): Remove gl_ICONV_H.
4903         (Makefile.am): Remove rule for iconv.h.
4904
4905 2010-03-06  Bruno Haible  <bruno@clisp.org>
4906
4907         More consistent naming of *.m4 files.
4908         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
4909         * modules/wctype (Files): Update.
4910
4911         More consistent naming of *.m4 files.
4912         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
4913         * modules/wchar (Files): Update.
4914
4915 2010-03-06  Jim Meyering  <meyering@redhat.com>
4916
4917         euidaccess: relax license to LGPLv2+
4918         * modules/euidaccess (License): Relax to LGPLv2+.
4919
4920 2010-03-06  Bruno Haible  <bruno@clisp.org>
4921
4922         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
4923         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
4924         (Makefile.am): Augment lib_SOURCES instead.
4925
4926 2010-03-04  Jim Meyering  <meyering@redhat.com>
4927
4928         utime: remove obsolete module
4929         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
4930         unnecessary for years, and has been marked as obsolete for 10 months.
4931         * modules/utime: Remove file.
4932         * lib/utime.c: Remove file.
4933         * m4/utime.m4: Remove file.
4934         * m4/utimes-null.m4: Remove file.
4935         * doc/posix-functions/utime.texi (utime): Remove reference to
4936         the module.  Move the sole "fixed by gnulib" item into the
4937         "problems not fixed by Gnulib" list.
4938         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
4939
4940 2010-03-05  Simon Josefsson  <simon@josefsson.org>
4941
4942         * modules/exit (License): Relax license to LGPLv2+.
4943         (Status): Mark as obsolete.
4944         * NEWS: Mention deprecated 'exit' module.
4945         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
4946         of now obsolete 'exit'.
4947
4948 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4949
4950         fts-lgpl: remove unused module
4951         * modules/fts-lgpl: Remove.
4952         * MODULES.html.sh (func_all_modules): Adjust.
4953         * check-module (find_included_lib_files): Adjust.
4954         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
4955
4956 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
4957
4958         copy-acl: enhance Solaris ACL error handling
4959         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
4960         * lib/set-mode-acl.c (qset_acl): Likewise.
4961
4962 2010-03-02  Bruno Haible  <bruno@clisp.org>
4963
4964         spawn: Don't override the system defined values on FreeBSD 8.
4965         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
4966         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
4967         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
4968         if HAVE_POSIX_SPAWN is 1.
4969         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
4970
4971 2010-03-01  Bruno Haible  <bruno@clisp.org>
4972
4973         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
4974         regarding Automake.
4975
4976 2010-02-25  Bruno Haible  <bruno@clisp.org>
4977
4978         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
4979         * gnulib-tool: Define 'echo' as a function only before the ksh alias
4980         setting, not afterwards.
4981         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4982
4983 2010-02-24  Eric Blake  <eblake@redhat.com>
4984
4985         bootstrap, git-version-gen: use timestamp
4986         * build-aux/git-version-gen (scriptversion): Force UTC.
4987         * build-aux/bootstrap (scriptversion): New variable.
4988
4989         bootstrap: allow older git
4990         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
4991         older than 1.6.4.  Requested by the libvirt project.
4992
4993 2010-02-23  Eric Blake  <eblake@redhat.com>
4994
4995         warn-on-use: work with old autoconf
4996         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
4997         AS_VAR semantics of autoconf 2.60.
4998         Reported by Bruno Haible.
4999
5000         bootstrap: improve some comments
5001         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
5002         clarification comments.
5003
5004         gettimeofday: provide correct function
5005         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
5006         when replacement is declared, otherwise provide gettimeofday.
5007         Reported by Michael Goffioul.
5008
5009 2010-02-23  Jim Meyering  <meyering@redhat.com>
5010
5011         lib-ignore: relax license to "unlimited", not LGPLv2+
5012         * modules/lib-ignore (License): Relax to "unlimited".
5013
5014 2010-02-23  Jim Meyering  <meyering@redhat.com>
5015
5016         lib-ignore: relax license to LGPLv2+
5017         * modules/lib-ignore (License): Relax to LGPLv2+.
5018
5019 2010-02-22  Eric Blake  <eblake@redhat.com>
5020
5021         lseek: avoid bash 3.2 broken pipe bug
5022         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
5023         warning from bash 3.2.
5024         Reported by Ben Pfaff, with analysis from Bruno Haible.
5025
5026         bootstrap: support non-FSF copyright holder
5027         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
5028         bootstrap.conf override of COPYRIGHT_HOLDER.
5029         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
5030
5031         bootstrap: interoperate with gettext 0.14.1
5032         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
5033
5034         bootstrap: allow for alternate submodule location
5035         * build-aux/bootstrap (gnulib_path): New variable; use instead of
5036         hardcoding submodule location.
5037         (gnulib_mk): Allow direct use of Makefile.am.
5038
5039         bootstrap: use GNULIB_SRCDIR to reduce disk usage
5040         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
5041         rather than reconfiguring where the submodule points.
5042
5043         gettimeofday: restore support for platforms that lack function
5044         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
5045         replacement if function is missing.
5046         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
5047         * modules/sys_time (Makefile.am): Substitute it.
5048         * lib/sys_time.in.h (gettimeofday): Check it.
5049         Reported by Michael Goffioul.
5050
5051 2010-02-21  Bruno Haible  <bruno@clisp.org>
5052
5053         * lib/stdio.in.h (obstack_printf): Fix typo.
5054
5055 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
5056
5057         vc-list-files: use bzr ls's -R option
5058         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
5059         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
5060
5061 2010-02-21  Jim Meyering  <meyering@redhat.com>
5062
5063         init.sh: fix EXEEXT shims to work also for names like test-prog
5064         * tests/init.sh: Re-exec a better shell, when needed.
5065         If the current shell lacks support for posix $(...), an init.sh-using
5066         test will now try to find a shell that supports that.  If EXEEXT is
5067         nonempty, we also require support for hyphen-in-alias-name and shell
5068         substitutions like ${var#glob}.  Failure to find such a shell results
5069         in a skipped test.
5070
5071 2010-02-21  Bruno Haible  <bruno@clisp.org>
5072
5073         Really work around around "broken pipe" error message from bash 3.2.
5074         * gnulib-tool (func_reset_sigpipe): Remove function.
5075         (echo): In bash 3.2, define to a function that uses printf.
5076         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
5077
5078 2010-02-20  Bruno Haible  <bruno@clisp.org>
5079
5080         Restore support for automake 1.9.6 with autoconf 2.61.
5081         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
5082         Reported by James Youngman <jay@gnu.org>.
5083
5084 2010-02-20  Bruno Haible  <bruno@clisp.org>
5085
5086         Improve *printf warning condition.
5087         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
5088         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
5089         and the function is overridden due to SIGPIPE emulation.
5090
5091 2010-02-20  Bruno Haible  <bruno@clisp.org>
5092
5093         * lib/stdio.in.h: Tweak comments.
5094
5095 2010-02-19  Bruno Haible  <bruno@clisp.org>
5096
5097         Make it easier to find modules. New gnulib-tool option '--find'.
5098         * gnulib-tool: New option --find.
5099         (func_usage): Document it.
5100         (func_sanitize_modulelist): New function, extracted from
5101         func_all_modules.
5102         (func_all_modules): Invoke it.
5103         * doc/gnulib-tool.texi (Which modules?): New node.
5104
5105 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
5106
5107         * lib/sys_select.in.h: Provide select replacement even if
5108         sys/select.h exists on a system, for Interix.
5109
5110 2010-02-18  Jim Meyering  <meyering@redhat.com>
5111
5112         init.sh: don't use $(...) just yet
5113         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
5114         to accommodate e.g., Solaris' /bin/sh.
5115
5116 2010-02-17  Bruno Haible  <bruno@clisp.org>
5117
5118         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
5119         Reported by Ludovic Courtès <ludo@gnu.org>.
5120
5121 2010-02-16  Simon Josefsson  <simon@josefsson.org>
5122
5123         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
5124         linking with -lintl.
5125
5126 2010-02-17  Simon Josefsson  <simon@josefsson.org>
5127
5128         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
5129         if not provided by the system's netdb.h.  Reported by
5130         ludo@gnu.org (Ludovic Courtès).
5131
5132 2010-02-15  Jim Meyering  <meyering@redhat.com>
5133
5134         init.sh: improve portability and efficiency
5135         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
5136         "dummy" in a for loop.
5137         Use '!', not '^' to select the complement of a character set used
5138         in a "case" statement.
5139         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
5140         Suggestions from Eric Blake.
5141
5142         init.sh: automatically accommodate programs with the .exe suffix
5143         Automatically arrange for an invocation of "prog" to execute the
5144         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
5145         may use the simpler "prog", yet still work when built on a system
5146         that requires specifying the added suffix.
5147         Do this by constructing a function named "prog" that invokes
5148         "prog.exe" for each .exe file in selected directories.
5149         * tests/init.sh (find_exe_basenames_): New function.
5150         (create_exe_shim_functions_): New function.
5151         (path_prepend_): Use it.
5152
5153         maint.mk: mark syntax-check sc_*.m rules as .PHONY
5154         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
5155         "make -t syntax-check" doesn't create a ton of sc_*.m files.
5156
5157 2010-02-14  Jim Meyering  <meyering@redhat.com>
5158
5159         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
5160         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
5161         (sc_prohibit_hash_pjw_without_use): New rule.
5162
5163         maint.mk: allow the default upload destination dir to be overridden
5164         * top/maint.mk (upload_dest_dir_): Define with a default that
5165         preserves the status quo.
5166         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
5167         Reported by Peter Simons.
5168
5169         maint.mk: prohibit inclusion of "hash.h" without_use
5170         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
5171
5172 2010-02-10  Jim Meyering  <meyering@redhat.com>
5173
5174         maint.mk: prohibit inclusion of "ignore-value.h" without_use
5175         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
5176
5177 2010-02-09  Eric Blake  <ebb9@byu.net>
5178         and Bruno Haible  <bruno@clisp.org>
5179
5180         obstack-printf-posix: ensure declaration
5181         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
5182         extracted from gl_FUNC_OBSTACK_PRINTF.
5183         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
5184         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
5185         Likewise.
5186         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
5187         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
5188         0.
5189
5190 2010-02-08  Bruno Haible  <bruno@clisp.org>
5191
5192         gnulib-tool: Fix typo in 2010-02-07 commit.
5193         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
5194         Reported by Eric Blake.
5195
5196 2010-02-07  Bruno Haible  <bruno@clisp.org>
5197
5198         gnulib-tool: Fix up caching patches.
5199         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
5200         option --no-cache. Use associative arrays when supported by the shell.
5201         (sed_comments): New variable.
5202         (modcache): Renamed from do_cache.
5203         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
5204         abbreviate unnecessarily.
5205         (have_associative): New variable.
5206         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
5207         way also for ksh and zsh.
5208         (func_init_sed_convert_to_cache_statements): New function, extracted
5209         from func_cache_lookup_module. Add support for associative arrays.
5210         Don't set the c_MODULE_cached variable here. Ignore all lines before
5211         the first field header. Remove only the final newline, not all trailing
5212         newlines. Support empty fields correctly. Limit the use of 'eval' to
5213         assignments.
5214         (func_get_description, func_get_status, func_get_notice,
5215         func_get_applicability, func_get_filelist, func_get_dependencies,
5216         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
5217         func_get_automake_snippet, func_get_include_directive,
5218         func_get_link_directive, func_get_license, func_get_maintainer):
5219         Update documentation. List the unoptimized code first. Add support for
5220         associative arrays. Limit the use of 'eval' to assignments.
5221         (func_get_applicability): Undo stylistic pessimisations.
5222         (func_get_automake_snippet, func_get_include_directive): Reduce code
5223         duplication.
5224         (func_modules_transitive_closure, func_modules_add_dummy,
5225         func_modules_notice, func_modules_to_filelist, func_add_file,
5226         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
5227         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
5228         func_create_testdir, func_create_megatestdir): Update documentation.
5229
5230 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5231
5232         * gnulib-tool (func_cache_lookup_module): Store the module name
5233         belonging to the cache variable; error out if two different
5234         module names map to the same cache variable name.
5235
5236 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5237
5238         gnulib-tool: Make caching optional.
5239         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
5240         Update matching short versions of --no-changelog.
5241         (func_usage): Update.
5242         (sed_extract_cache_prog): Renamed from ...
5243         (sed_extract_prog): ... this; revert to old extraction script.
5244         (func_get_description, func_get_status)
5245         (func_get_notice, func_get_applicability, func_get_filelist)
5246         (func_get_dependencies, func_get_autoconf_early_snippet)
5247         (func_get_autoconf_snippet, func_get_automake_snippet)
5248         (func_get_include_directive, func_get_link_directive)
5249         (func_get_license, func_get_maintainer): If $do_cache is false,
5250         use old, non-caching extraction scripts.
5251         Suggestion by Bruno Haible.
5252
5253 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5254
5255         gnulib-tool: cache module metainformation.
5256         * gnulib-tool (sed_extract_prog): Match newline before each
5257         header, and rewrite header to a shell variable suffix.
5258         (func_cache_var, func_cache_lookup_module): New functions,
5259         to turn a module name into a cache variable prefix, and to
5260         look up and cache module metainformation.
5261         (func_get_description, func_get_status)
5262         (func_get_notice, func_get_applicability, func_get_filelist)
5263         (func_get_dependencies, func_get_autoconf_early_snippet)
5264         (func_get_autoconf_snippet, func_get_automake_snippet)
5265         (func_get_include_directive, func_get_link_directive)
5266         (func_get_license, func_get_maintainer): Use
5267         func_cache_lookup_module.
5268
5269 2010-02-07  Bruno Haible  <bruno@clisp.org>
5270
5271         fnctl: Fix missing dependency.
5272         * modules/fcntl (Depends-on): Add getdtablesize.
5273         Reported by John W. Eaton <jwe@gnu.org>.
5274
5275 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5276
5277         Argp: fix recognition of short alias options.
5278
5279         * lib/argp-parse.c (convert_options): Fix improper use of
5280         `|' between character values.
5281         * tests/test-argp.c (group1_option): New alias option
5282         --read (-r).
5283         (group1_parser): Special handling for 'r'.
5284         (test15): New test case.
5285         (test_fun): Add test15.
5286         * tests/test-argp-2.sh: Update expected --help and --usage
5287         outputs.
5288
5289 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5290
5291         * tests/test-argp.c: Fix indentation.
5292
5293 2010-02-04  Eric Blake  <ebb9@byu.net>
5294
5295         gettimeofday: expose type of second argument
5296         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
5297         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
5298         * tests/test-gettimeofday.c: Use it to silence warning.
5299         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
5300         the issue.
5301
5302 2010-02-03  Jim Meyering  <meyering@redhat.com>
5303
5304         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
5305         * lib/regcomp.c (TYPE_SIGNED): Define.
5306         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
5307
5308         regcomp.c: avoid a new -Wshadow warning
5309         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
5310
5311 2010-02-01  Jim Meyering  <meyering@redhat.com>
5312
5313         removing useless parentheses in cpp #define directives
5314         For motivation, see commit c0221df4, "define STREQ(a,b)
5315         consistently, removing useless parentheses"
5316         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
5317         * lib/mountlist.c (MNT_IGNORE): Likewise.
5318         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
5319
5320 2010-02-01  Eric Blake  <ebb9@byu.net>
5321
5322         sys_time: use link-warning
5323         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
5324         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
5325         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
5326         * modules/sys_time (Depends-on): Add warn-on-use.
5327         (Makefile.am): Always build replacement.
5328         (configure.ac): Update substitutions.
5329         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
5330         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
5331         bother with SYS_TIME_H.
5332         * modules/gettimeofday (configure.ac): Declare indicator.
5333         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
5334         in use.
5335
5336         closein-tests: silence compiler warning
5337         * tests/test-closein.c (main): Ignore fread result.
5338         * modules/closein-tests (Depends-on): Add ignore-value.
5339
5340         tests: silence warning about system return
5341         * tests/test-areadlink-with-size.c (main): Ignore system result.
5342         * tests/test-areadlink.c (main): Likewise.
5343         * tests/test-areadlinkat-with-size.c (main): Likewise.
5344         * tests/test-areadlinkat.c (main): Likewise.
5345         * tests/test-canonicalize-lgpl.c (main): Likewise.
5346         * tests/test-canonicalize.c (main): Likewise.
5347         * tests/test-chown.c (main): Likewise.
5348         * tests/test-fchownat.c (main): Likewise.
5349         * tests/test-fdutimensat.c (main): Likewise.
5350         * tests/test-fstatat.c (main): Likewise.
5351         * tests/test-futimens.c (main): Likewise.
5352         * tests/test-lchown.c (main): Likewise.
5353         * tests/test-link.c (main): Likewise.
5354         * tests/test-linkat.c (main): Likewise.
5355         * tests/test-lstat.c (main): Likewise.
5356         * tests/test-mkdir.c (main): Likewise.
5357         * tests/test-mkdirat.c (main): Likewise.
5358         * tests/test-mkfifo.c (main): Likewise.
5359         * tests/test-mkfifoat.c (main): Likewise.
5360         * tests/test-mknod.c (main): Likewise.
5361         * tests/test-readlink.c (main): Likewise.
5362         * tests/test-remove.c (main): Likewise.
5363         * tests/test-rename.c (main): Likewise.
5364         * tests/test-renameat.c (main): Likewise.
5365         * tests/test-rmdir.c (main): Likewise.
5366         * tests/test-symlink.c (main): Likewise.
5367         * tests/test-symlinkat.c (main): Likewise.
5368         * tests/test-unlink.c (main): Likewise.
5369         * tests/test-unlinkat.c (main): Likewise.
5370         * tests/test-utimens.c (main): Likewise.
5371         * tests/test-utimensat.c (main): Likewise.
5372         * modules/areadlink-tests (Depends-on): Add ignore-value.
5373         * modules/areadlink-with-size-tests (Depends-on): Likewise.
5374         * modules/areadlinkat-tests (Depends-on): Likewise.
5375         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
5376         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5377         * modules/canonicalize-tests (Depends-on): Likewise.
5378         * modules/chown-tests (Depends-on): Likewise.
5379         * modules/fdutimensat-tests (Depends-on): Likewise.
5380         * modules/futimens-tests (Depends-on): Likewise.
5381         * modules/lchown-tests (Depends-on): Likewise.
5382         * modules/link-tests (Depends-on): Likewise.
5383         * modules/linkat-tests (Depends-on): Likewise.
5384         * modules/lstat-tests (Depends-on): Likewise.
5385         * modules/mkdir-tests (Depends-on): Likewise.
5386         * modules/mkfifo-tests (Depends-on): Likewise.
5387         * modules/mkfifoat-tests (Depends-on): Likewise.
5388         * modules/mknod-tests (Depends-on): Likewise.
5389         * modules/openat-tests (Depends-on): Likewise.
5390         * modules/readlink-tests (Depends-on): Likewise.
5391         * modules/remove-tests (Depends-on): Likewise.
5392         * modules/rename-tests (Depends-on): Likewise.
5393         * modules/renameat-tests (Depends-on): Likewise.
5394         * modules/rmdir-tests (Depends-on): Likewise.
5395         * modules/symlink-tests (Depends-on): Likewise.
5396         * modules/symlinkat-tests (Depends-on): Likewise.
5397         * modules/unlink-tests (Depends-on): Likewise.
5398         * modules/utimens-tests (Depends-on): Likewise.
5399         * modules/utimensat-tests (Depends-on): Likewise.
5400
5401 2010-01-31  Bruno Haible  <bruno@clisp.org>
5402
5403         Perform the same test for many <math.h> functions.
5404         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
5405         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
5406         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
5407         of gl_MATHFUNC.
5408         * modules/acos (configure.ac): Likewise.
5409         * modules/asin (configure.ac): Likewise.
5410         * modules/atan (configure.ac): Likewise.
5411         * modules/atan2 (configure.ac): Likewise.
5412         * modules/cbrt (configure.ac): Likewise.
5413         * modules/copysign (configure.ac): Likewise.
5414         * modules/cos (configure.ac): Likewise.
5415         * modules/cosh (configure.ac): Likewise.
5416         * modules/erf (configure.ac): Likewise.
5417         * modules/erfc (configure.ac): Likewise.
5418         * modules/exp (configure.ac): Likewise.
5419         * modules/fmod (configure.ac): Likewise.
5420         * modules/hypot (configure.ac): Likewise.
5421         * modules/j0 (configure.ac): Likewise.
5422         * modules/j1 (configure.ac): Likewise.
5423         * modules/jn (configure.ac): Likewise.
5424         * modules/lgamma (configure.ac): Likewise.
5425         * modules/log (configure.ac): Likewise.
5426         * modules/log10 (configure.ac): Likewise.
5427         * modules/log1p (configure.ac): Likewise.
5428         * modules/pow (configure.ac): Likewise.
5429         * modules/remainder (configure.ac): Likewise.
5430         * modules/sin (configure.ac): Likewise.
5431         * modules/sinh (configure.ac): Likewise.
5432         * modules/tan (configure.ac): Likewise.
5433         * modules/tanh (configure.ac): Likewise.
5434         * modules/y0 (configure.ac): Likewise.
5435         * modules/y1 (configure.ac): Likewise.
5436         * modules/yn (configure.ac): Likewise.
5437         Suggested by Paolo Bonzini.
5438
5439 2010-01-31  Bruno Haible  <bruno@clisp.org>
5440
5441         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
5442
5443 2010-01-31  Bruno Haible  <bruno@clisp.org>
5444
5445         Work around getdelim() bug on FreeBSD 8.0.
5446         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
5447         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
5448         not work.
5449         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
5450         is 1.
5451         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
5452         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
5453         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
5454         a non-zero size.
5455         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
5456
5457 2010-01-31  Bruno Haible  <bruno@clisp.org>
5458
5459         Work around getline() bug on FreeBSD 8.0.
5460         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
5461         and a non-zero size.
5462         * tests/test-getline.c (main): Likewise.
5463         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
5464         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
5465
5466 2010-01-28  Eric Blake  <ebb9@byu.net>
5467
5468         regex: fix build failure
5469         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
5470         platforms.
5471
5472 2010-01-28  Jim Meyering  <meyering@redhat.com>
5473
5474         regex: do not ignore memory allocation failure
5475         * lib/regex_internal.c (create_cd_newstate): Detect
5476         re_node_set_init_copy failure.   Extracted from glibc commit
5477         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5478
5479         regex: sync more white-space changes from libc
5480         * lib/regex_internal.c: White-space only changes.
5481         * lib/regexec.c: Likewise.
5482
5483         regex: add many uses of __attribute_warn_unused_result__
5484         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
5485         * lib/regexec.c: Likewise.
5486         Extracted from a messy glibc commit.
5487
5488         regcomp.c: spelling and merge-artifact from glibc
5489         * lib/regcomp.c: Merge remainder of glibc's
5490         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5491
5492         regcomp.c: sync white-space changes from glibc
5493         * lib/regcomp.c: Merge to accommodate white space
5494         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5495
5496         regcomp.c: do not ignore internal return values
5497         * lib/regcomp.c: Do not ignore internal return values.
5498         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
5499         but without its white-space changes and spelling fixes.
5500
5501         regex_internal.h: define __attribute_warn_unused_result__
5502         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
5503
5504         maint: add a syntax-check rule to check for vulnerable Makefile.in
5505         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
5506
5507 2010-01-27  Jim Meyering  <meyering@redhat.com>
5508
5509         ncftpput-ftp: clean up spaces
5510         * build-aux/ncftpput-ftp: Make Copyright line consistent.
5511         Remove trailing blanks.
5512
5513 2010-01-27  Simon Josefsson  <simon@josefsson.org>
5514
5515         * build-aux/git-version-gen: Fix copyright statement.
5516         * build-aux/gnupload: Likewise.
5517         * tests/test-arcfour.c: Likewise.
5518         * tests/test-arctwo.c: Likewise.
5519         * tests/test-count-one-bits.c: Likewise.
5520         * tests/test-crc.c: Likewise.
5521         * tests/test-des.c: Likewise.
5522         * tests/test-gc-arcfour.c: Likewise.
5523         * tests/test-gc-arctwo.c: Likewise.
5524         * tests/test-gc-des.c: Likewise.
5525         * tests/test-gc-hmac-md5.c: Likewise.
5526         * tests/test-gc-hmac-sha1.c: Likewise.
5527         * tests/test-gc-md2.c: Likewise.
5528         * tests/test-gc-md4.c: Likewise.
5529         * tests/test-gc-md5.c: Likewise.
5530         * tests/test-gc-pbkdf2-sha1.c: Likewise.
5531         * tests/test-gc-rijndael.c: Likewise.
5532         * tests/test-gc-sha1.c: Likewise.
5533         * tests/test-gc.c: Likewise.
5534         * tests/test-gethostname.c: Likewise.
5535         * tests/test-gettimeofday.c: Likewise.
5536         * tests/test-hash.c: Likewise.
5537         * tests/test-hmac-md5.c: Likewise.
5538         * tests/test-hmac-sha1.c: Likewise.
5539         * tests/test-md2.c: Likewise.
5540         * tests/test-md4.c: Likewise.
5541         * tests/test-md5.c: Likewise.
5542         * tests/test-memchr.c: Likewise.
5543         * tests/test-memchr2.c: Likewise.
5544         * tests/test-memcmp.c: Likewise.
5545         * tests/test-memmem.c: Likewise.
5546         * tests/test-memrchr.c: Likewise.
5547         * tests/test-rawmemchr.c: Likewise.
5548         * tests/test-read-file.c: Likewise.
5549         * tests/test-rijndael.c: Likewise.
5550         * tests/test-sockets.c: Likewise.
5551         * tests/test-strchrnul.c: Likewise.
5552         * tests/test-strstr.c: Likewise.
5553         * tests/test-strtod.c: Likewise.
5554         * build-aux/ncftpput-ftp: Likewise.
5555
5556 2010-01-26  Eric Blake  <ebb9@byu.net>
5557
5558         ignore-value: update recommended header name
5559         * modules/ignore-value (Include): Only use <> for headers that
5560         exist in glibc.
5561
5562 2010-01-26  Jim Meyering  <meyering@redhat.com>
5563
5564         test-userspec.c: avoid compiler warnings
5565         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
5566         and "initialization discards qualifiers..." warnings.
5567         Put the first "uid" in its own scope, and make char* members "const".
5568
5569 2010-01-25  Bruno Haible  <bruno@clisp.org>
5570
5571         gnulib-tool: Make warning diagnostics consistent.
5572         * gnulib-tool (func_warning): New function.
5573         Use it everywhere where gnulib-tool produces output to stderr and it is
5574         not a fatal error.
5575
5576 2010-01-25  Bruno Haible  <bruno@clisp.org>
5577
5578         Fix test dependencies.
5579         * modules/xstrtol-tests (Depends-on): Add inttypes.
5580         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
5581
5582 2010-01-25 PĂ¡draig Brady <P@draigBrady.com>
5583
5584         syntax-check: detect incorrect boolean macro values in config.h
5585         * modules/maintainer-makefile (configure.ac): Parameterize the location
5586         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
5587         The logic is from Eric Blake and the location indicated by Jim Meyering.
5588         Note the more natural CONFIG_HEADER name is prohibited by automake
5589         for backwards compatibility reasons.
5590         * top/maint.mk (sc_Wundef_boolean): New rule.
5591
5592 2010-01-25  Jim Meyering  <meyering@redhat.com>
5593
5594         bootstrap: detect MacOS 10.6's shasum, too
5595         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
5596         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
5597
5598 2010-01-23  Jim Meyering  <meyering@redhat.com>
5599
5600         xstrtoll: new module
5601         * modules/xstrtoll: New file.
5602         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
5603         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
5604         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
5605         ./configure fails if you use this module and lack "long long".
5606         * modules/xstrtoll-tests: New module.
5607         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
5608         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
5609         new init.sh-based test framework.
5610
5611 2010-01-24  Bruno Haible  <bruno@clisp.org>
5612
5613         Tests for module 'yn'.
5614         * modules/yn-tests: New file.
5615         * tests/test-yn.c: New file.
5616
5617         Tests for module 'y1'.
5618         * modules/y1-tests: New file.
5619         * tests/test-y1.c: New file.
5620
5621         Tests for module 'y0'.
5622         * modules/y0-tests: New file.
5623         * tests/test-y0.c: New file.
5624
5625         Tests for module 'tanh'.
5626         * modules/tanh-tests: New file.
5627         * tests/test-tanh.c: New file.
5628
5629         Tests for module 'tan'.
5630         * modules/tan-tests: New file.
5631         * tests/test-tan.c: New file.
5632
5633         Tests for module 'sqrt'.
5634         * modules/sqrt-tests: New file.
5635         * tests/test-sqrt.c: New file.
5636
5637         Tests for module 'sinh'.
5638         * modules/sinh-tests: New file.
5639         * tests/test-sinh.c: New file.
5640
5641         Tests for module 'sin'.
5642         * modules/sin-tests: New file.
5643         * tests/test-sin.c: New file.
5644
5645         Tests for module 'rint'.
5646         * modules/rint-tests: New file.
5647         * tests/test-rint.c: New file.
5648
5649         Tests for module 'remainder'.
5650         * modules/remainder-tests: New file.
5651         * tests/test-remainder.c: New file.
5652
5653         Tests for module 'pow'.
5654         * modules/pow-tests: New file.
5655         * tests/test-pow.c: New file.
5656
5657         Tests for module 'nextafter'.
5658         * modules/nextafter-tests: New file.
5659         * tests/test-nextafter.c: New file.
5660
5661         Tests for module 'modf'.
5662         * modules/modf-tests: New file.
5663         * tests/test-modf.c: New file.
5664
5665         Tests for module 'logb'.
5666         * modules/logb-tests: New file.
5667         * tests/test-logb.c: New file.
5668
5669         Tests for module 'log1p'.
5670         * modules/log1p-tests: New file.
5671         * tests/test-log1p.c: New file.
5672
5673         Tests for module 'log10'.
5674         * modules/log10-tests: New file.
5675         * tests/test-log10.c: New file.
5676
5677         Tests for module 'log'.
5678         * modules/log-tests: New file.
5679         * tests/test-log.c: New file.
5680
5681         Tests for module 'lgamma'.
5682         * modules/lgamma-tests: New file.
5683         * tests/test-lgamma.c: New file.
5684
5685         Tests for module 'ldexp'.
5686         * modules/ldexp-tests: New file.
5687         * tests/test-ldexp.c: New file.
5688
5689         Tests for module 'jn'.
5690         * modules/jn-tests: New file.
5691         * tests/test-jn.c: New file.
5692
5693         Tests for module 'j1'.
5694         * modules/j1-tests: New file.
5695         * tests/test-j1.c: New file.
5696
5697         Tests for module 'j0'.
5698         * modules/j0-tests: New file.
5699         * tests/test-j0.c: New file.
5700
5701         Tests for module 'hypot'.
5702         * modules/hypot-tests: New file.
5703         * tests/test-hypot.c: New file.
5704
5705         Tests for module 'fmod'.
5706         * modules/fmod-tests: New file.
5707         * tests/test-fmod.c: New file.
5708
5709         Tests for module 'fabs'.
5710         * modules/fabs-tests: New file.
5711         * tests/test-fabs.c: New file.
5712
5713         Tests for module 'exp'.
5714         * modules/exp-tests: New file.
5715         * tests/test-exp.c: New file.
5716
5717         Tests for module 'erfc'.
5718         * modules/erfc-tests: New file.
5719         * tests/test-erfc.c: New file.
5720
5721         Tests for module 'erf'.
5722         * modules/erf-tests: New file.
5723         * tests/test-erf.c: New file.
5724
5725         Tests for module 'cosh'.
5726         * modules/cosh-tests: New file.
5727         * tests/test-cosh.c: New file.
5728
5729         Tests for module 'cos'.
5730         * modules/cos-tests: New file.
5731         * tests/test-cos.c: New file.
5732
5733         Tests for module 'copysign'.
5734         * modules/copysign-tests: New file.
5735         * tests/test-copysign.c: New file.
5736
5737         Tests for module 'cbrt'.
5738         * modules/cbrt-tests: New file.
5739         * tests/test-cbrt.c: New file.
5740
5741         Tests for module 'atan2'.
5742         * modules/atan2-tests: New file.
5743         * tests/test-atan2.c: New file.
5744
5745         Tests for module 'atan'.
5746         * modules/atan-tests: New file.
5747         * tests/test-atan.c: New file.
5748
5749         Tests for module 'asin'.
5750         * modules/asin-tests: New file.
5751         * tests/test-asin.c: New file.
5752
5753         Tests for module 'acos'.
5754         * modules/acos-tests: New file.
5755         * tests/test-acos.c: New file.
5756
5757 2010-01-24  Bruno Haible  <bruno@clisp.org>
5758
5759         Fix tests for common <math.h> functions.
5760         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
5761         code snippet that references the function pointer, rather than merely
5762         calling the function. Substitute the FUNC_LIBM variable.
5763         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
5764         * modules/acos (configure.ac): Likewise.
5765         * modules/asin (configure.ac): Likewise.
5766         * modules/atan (configure.ac): Likewise.
5767         * modules/atan2 (configure.ac): Likewise.
5768         * modules/cbrt (configure.ac): Likewise.
5769         * modules/copysign (configure.ac): Likewise.
5770         * modules/cos (configure.ac): Likewise.
5771         * modules/cosh (configure.ac): Likewise.
5772         * modules/erf (configure.ac): Likewise.
5773         * modules/erfc (configure.ac): Likewise.
5774         * modules/exp (configure.ac): Likewise.
5775         * modules/fabs (configure.ac): Likewise.
5776         * modules/fmod (configure.ac): Likewise.
5777         * modules/hypot (configure.ac): Likewise.
5778         * modules/j0 (configure.ac): Likewise.
5779         * modules/j1 (configure.ac): Likewise.
5780         * modules/jn (configure.ac): Likewise.
5781         * modules/ldexp (configure.ac): Likewise.
5782         * modules/lgamma (configure.ac): Likewise.
5783         * modules/log (configure.ac): Likewise.
5784         * modules/log10 (configure.ac): Likewise.
5785         * modules/log1p (configure.ac): Likewise.
5786         * modules/logb (configure.ac): Likewise.
5787         * modules/modf (configure.ac): Likewise.
5788         * modules/nextafter (configure.ac): Likewise.
5789         * modules/pow (configure.ac): Likewise.
5790         * modules/remainder (configure.ac): Likewise.
5791         * modules/rint (configure.ac): Likewise.
5792         * modules/sin (configure.ac): Likewise.
5793         * modules/sinh (configure.ac): Likewise.
5794         * modules/tan (configure.ac): Likewise.
5795         * modules/tanh (configure.ac): Likewise.
5796         * modules/y0 (configure.ac): Likewise.
5797         * modules/y1 (configure.ac): Likewise.
5798         * modules/yn (configure.ac): Likewise.
5799
5800 2010-01-24  Bruno Haible  <bruno@clisp.org>
5801
5802         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
5803         * tests/test-acosl.c (x): New variable.
5804         (main): Store argument in x and fetch it from x.
5805         * tests/test-asinl.c (x): New variable.
5806         (main): Store argument in x and fetch it from x.
5807         * tests/test-atanl.c (x): New variable.
5808         (main): Store argument in x and fetch it from x.
5809         * tests/test-cosl.c (x): New variable.
5810         (main): Store argument in x and fetch it from x.
5811         * tests/test-expl.c (x): New variable.
5812         (main): Store argument in x and fetch it from x.
5813         * tests/test-logl.c (x): New variable.
5814         (main): Store argument in x and fetch it from x.
5815         * tests/test-sinl.c (x): New variable.
5816         (main): Store argument in x and fetch it from x.
5817         * tests/test-sqrtl.c (x): New variable.
5818         (main): Store argument in x and fetch it from x.
5819         * tests/test-tanl.c (x): New variable.
5820         (main): Store argument in x and fetch it from x.
5821
5822 2010-01-24  Bruno Haible  <bruno@clisp.org>
5823
5824         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
5825         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
5826         assignments to the initial TESTS_ENVIRONMENT.
5827         * doc/gnulib.texi (Unit test modules): Document it.
5828         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
5829         TESTS_ENVIRONMENT.
5830         * modules/btowc-tests (Makefile.am): Likewise.
5831         * modules/c-stack-tests (Makefile.am): Likewise.
5832         * modules/c-strcase-tests (Makefile.am): Likewise.
5833         * modules/copy-file-tests (Makefile.am): Likewise.
5834         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
5835         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
5836         * modules/mbrtowc-tests (Makefile.am): Likewise.
5837         * modules/mbscasecmp-tests (Makefile.am): Likewise.
5838         * modules/mbscasestr-tests (Makefile.am): Likewise.
5839         * modules/mbschr-tests (Makefile.am): Likewise.
5840         * modules/mbscspn-tests (Makefile.am): Likewise.
5841         * modules/mbsinit-tests (Makefile.am): Likewise.
5842         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
5843         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
5844         * modules/mbspbrk-tests (Makefile.am): Likewise.
5845         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
5846         * modules/mbsrchr-tests (Makefile.am): Likewise.
5847         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
5848         * modules/mbsspn-tests (Makefile.am): Likewise.
5849         * modules/mbsstr-tests (Makefile.am): Likewise.
5850         * modules/nl_langinfo-tests (Makefile.am): Likewise.
5851         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
5852         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
5853         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
5854         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
5855         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
5856         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
5857         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
5858         * modules/wcrtomb-tests (Makefile.am): Likewise.
5859         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
5860         * modules/wcsrtombs-tests (Makefile.am): Likewise.
5861         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
5862         assignments from TESTS_ENVIRONMENT.
5863         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
5864         augmentation.
5865         * modules/argp-version-etc-tests (Makefile.am): Likewise.
5866         * modules/atexit-tests (Makefile.am): Likewise.
5867         * modules/binary-io-tests (Makefile.am): Likewise.
5868         * modules/closein-tests (Makefile.am): Likewise.
5869         * modules/dprintf-posix-tests (Makefile.am): Likewise.
5870         * modules/exclude-tests (Makefile.am): Likewise.
5871         * modules/fflush-tests (Makefile.am): Likewise.
5872         * modules/fpending-tests (Makefile.am): Likewise.
5873         * modules/fprintf-posix-tests (Makefile.am): Likewise.
5874         * modules/freadahead-tests (Makefile.am): Likewise.
5875         * modules/freadptr-tests (Makefile.am): Likewise.
5876         * modules/freadseek-tests (Makefile.am): Likewise.
5877         * modules/fseek-tests (Makefile.am): Likewise.
5878         * modules/fseeko-tests (Makefile.am): Likewise.
5879         * modules/ftell-tests (Makefile.am): Likewise.
5880         * modules/ftello-tests (Makefile.am): Likewise.
5881         * modules/idpriv-drop-tests (Makefile.am): Likewise.
5882         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
5883         * modules/lseek-tests (Makefile.am): Likewise.
5884         * modules/parse-duration-tests (Makefile.am): Likewise.
5885         * modules/perror-tests (Makefile.am): Likewise.
5886         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
5887         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
5888         * modules/pipe-tests (Makefile.am): Likewise.
5889         * modules/pread-tests (Makefile.am): Likewise.
5890         * modules/printf-posix-tests (Makefile.am): Likewise.
5891         * modules/select-tests (Makefile.am): Likewise.
5892         * modules/sigpipe-tests (Makefile.am): Likewise.
5893         * modules/tsearch-tests (Makefile.am): Likewise.
5894         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
5895         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
5896         * modules/uniname/uniname-tests (Makefile.am): Likewise.
5897         * modules/uniwidth/width-tests (Makefile.am): Likewise.
5898         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
5899         * modules/version-etc-tests (Makefile.am): Likewise.
5900         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
5901         * modules/vprintf-posix-tests (Makefile.am): Likewise.
5902         * modules/xalloc-die-tests (Makefile.am): Likewise.
5903         * modules/xprintf-posix-tests (Makefile.am): Likewise.
5904         * modules/xstrtoimax-tests (Makefile.am): Likewise.
5905         * modules/xstrtol-tests (Makefile.am): Likewise.
5906         * modules/xstrtoumax-tests (Makefile.am): Likewise.
5907         * modules/yesno-tests (Makefile.am): Likewise.
5908         Suggested by Jim Meyering.
5909
5910 2010-01-24  Bruno Haible  <bruno@clisp.org>
5911
5912         More documentation.
5913         * doc/gnulib.texi (Writing modules): New chapter.
5914         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
5915         the new chapter.
5916
5917 2010-01-24  Jim Meyering  <meyering@redhat.com>
5918
5919         maint.mk: do not prepend "./" after filtering
5920         * top/maint.mk (_prepend_srcdir_prefix): New variable
5921         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
5922         "./" when $(srcdir) is ".".
5923
5924         define STREQ(a,b) consistently, removing useless parentheses
5925         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
5926         since the only risk is that "a" or "b" contains an unparenthesized
5927         comma, but if either did that, STREQ would have 3 or more arguments.
5928         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
5929         * lib/fts.c (STREQ): Remove unnecessary parentheses.
5930         * lib/hash-triple.c (STREQ): Likewise.
5931         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
5932         * lib/getugroups.c (STREQ): Likewise.
5933
5934 2010-01-23  Jim Meyering  <meyering@redhat.com>
5935
5936         maint.mk: fix syntax-check in a non-srcdir build directory
5937         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
5938         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
5939
5940 2010-01-22  Jim Meyering  <meyering@redhat.com>
5941
5942         userspec: add unit tests
5943         * tests/test-userspec.c: New file.
5944         * modules/userspec-tests: Likewise.
5945
5946 2010-01-21  Jim Meyering  <meyering@redhat.com>
5947
5948         maint.mk: handle source file names containing "." robustly
5949         * top/maint.mk (_dot_escaped_srcdir): Define.
5950         (VC_LIST): Use it in LHS of sed substitution.
5951
5952 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
5953
5954         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
5955         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
5956         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
5957         from a non-srcdir build.
5958
5959 2010-01-20  Eric Blake  <ebb9@byu.net>
5960
5961         warn-on-use: use instead of link-warning
5962         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
5963         * modules/unistd (Depends-on, Makefile.am): Likewise.
5964         * modules/arpa_inet (Depends-on): Replace link-warning with
5965         warn-on-use.
5966         (Makefile.am): Update rules accordingly.
5967         * modules/ctype (Depends-on, Makefile.am): Likewise.
5968         * modules/dirent (Depends-on, Makefile.am): Likewise.
5969         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
5970         * modules/inttypes (Depends-on, Makefile.am): Likewise.
5971         * modules/langinfo (Depends-on, Makefile.am): Likewise.
5972         * modules/locale (Depends-on, Makefile.am): Likewise.
5973         * modules/math (Depends-on, Makefile.am): Likewise.
5974         * modules/search (Depends-on, Makefile.am): Likewise.
5975         * modules/signal (Depends-on, Makefile.am): Likewise.
5976         * modules/spawn (Depends-on, Makefile.am): Likewise.
5977         * modules/stdlib (Depends-on, Makefile.am): Likewise.
5978         * modules/string (Depends-on, Makefile.am): Likewise.
5979         * modules/strings (Depends-on, Makefile.am): Likewise.
5980         * modules/sys_file (Depends-on, Makefile.am): Likewise.
5981         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
5982         * modules/sys_select (Depends-on, Makefile.am): Likewise.
5983         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
5984         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
5985         * modules/sys_times (Depends-on, Makefile.am): Likewise.
5986         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
5987         * modules/wchar (Depends-on, Makefile.am): Likewise.
5988         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
5989         should be poisoned.
5990         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
5991         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
5992         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
5993         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
5994         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5995         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
5996         * m4/math_h.m4 (gl_MATH_H): Likewise.
5997         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5998         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
5999         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6000         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
6001         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
6002         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
6003         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
6004         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
6005         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6006         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6007         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6008         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6009         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6010         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6011         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6012         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
6013         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
6014         GL_LINK_WARNING.
6015         * lib/ctype.in.h: Likewise.
6016         * lib/dirent.in.h: Likewise.
6017         * lib/fcntl.in.h: Likewise.
6018         * lib/inttypes.in.h: Likewise.
6019         * lib/langinfo.in.h: Likewise.
6020         * lib/locale.in.h: Likewise.
6021         * lib/math.in.h: Likewise.
6022         * lib/search.in.h: Likewise.
6023         * lib/signal.in.h: Likewise.
6024         * lib/spawn.in.h: Likewise.
6025         * lib/stdio.in.h: Likewise.
6026         * lib/stdlib.in.h: Likewise.
6027         * lib/string.in.h: Likewise.
6028         * lib/strings.in.h: Likewise.
6029         * lib/sys_file.in.h: Likewise.
6030         * lib/sys_ioctl.in.h: Likewise.
6031         * lib/sys_select.in.h: Likewise.
6032         * lib/sys_socket.in.h: Likewise.
6033         * lib/sys_stat.in.h: Likewise.
6034         * lib/sys_times.in.h: Likewise.
6035         * lib/sys_utsname.in.h: Likewise.
6036         * lib/unistd.in.h: Likewise.
6037         * lib/wchar.in.h: Likewise.
6038
6039 2010-01-20  Bruno Haible  <bruno@clisp.org>
6040
6041         Avoid duplicate -lm.
6042         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
6043         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
6044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
6045         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
6046         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
6047         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
6048         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
6049         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
6050         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
6051         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
6052         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
6053         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6054         Reported by Paolo Bonzini.
6055
6056 2010-01-19  Bruno Haible  <bruno@clisp.org>
6057
6058         langinfo, nl_langinfo: Relicense under LGPLv2+.
6059         * modules/langinfo (License): Change to LGPLv2+.
6060         * modules/nl_langinfo (License): Likewise.
6061         Patch by David Lutterkort <lutter@redhat.com>.
6062
6063 2010-01-19  Bruno Haible  <bruno@clisp.org>
6064
6065         Avoid compilation error with cc on OSF/1 5.1.
6066         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
6067         statement, not before.
6068         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6069
6070 2010-01-18  Bruno Haible  <bruno@clisp.org>
6071
6072         Avoid a link error due to the __printf__ symbol.
6073         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
6074         and 2.6.x.
6075         (__format__, __printf__): Remove definitions.
6076         * lib/argp-fmtstream.h: Likewise.
6077         * lib/argp.h: Likewise.
6078         * lib/error.h: Likewise.
6079         * lib/vasnprintf.h: Likewise.
6080         * lib/xprintf.h: Likewise.
6081         * lib/xvasprintf.h: Likewise.
6082         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6083
6084 2010-01-18  Bruno Haible  <bruno@clisp.org>
6085
6086         Tests for module 'tanl'.
6087         * modules/tanl-tests: New file.
6088         * tests/test-tanl.c: New file.
6089
6090         Tests for module 'sqrtl'.
6091         * modules/sqrtl-tests: New file.
6092         * tests/test-sqrtl.c: New file.
6093
6094         Tests for module 'sinl'.
6095         * modules/sinl-tests: New file.
6096         * tests/test-sinl.c: New file.
6097
6098         Tests for module 'logl'.
6099         * modules/logl-tests: New file.
6100         * tests/test-logl.c: New file.
6101
6102         Tests for module 'expl'.
6103         * modules/expl-tests: New file.
6104         * tests/test-expl.c: New file.
6105
6106         Tests for module 'cosl'.
6107         * modules/cosl-tests: New file.
6108         * tests/test-cosl.c: New file.
6109
6110         Tests for module 'atanl'.
6111         * modules/atanl-tests: New file.
6112         * tests/test-atanl.c: New file.
6113
6114         Tests for module 'asinl'.
6115         * modules/asinl-tests: New file.
6116         * tests/test-asinl.c: New file.
6117
6118         Tests for module 'acosl'.
6119         * modules/acosl-tests: New file.
6120         * tests/test-acosl.c: New file.
6121
6122         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6123         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6124         tanl): Use the standard gnulib idiom.
6125         * lib/cosl.c: Don't include trigl.c and sincosl.c.
6126         * lib/sinl.c: Likewise.
6127         * lib/tanl.c: Don't include trigl.c.
6128         (kernel_tanl): Make static.
6129         * lib/sincosl.c: Include trigl.h first.
6130         * lib/trigl.c: Likewise.
6131         * m4/acosl.m4: New file.
6132         * m4/asinl.m4: New file.
6133         * m4/atanl.m4: New file.
6134         * m4/cosl.m4: New file.
6135         * m4/expl.m4: New file.
6136         * m4/logl.m4: New file.
6137         * m4/sinl.m4: New file.
6138         * m4/sqrtl.m4: New file.
6139         * m4/tanl.m4: New file.
6140         * m4/mathl.m4: Remove file.
6141         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
6142         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6143         Don't initialize GNULIB_MATHL.
6144         * modules/acosl: New file.
6145         * modules/asinl: New file.
6146         * modules/atanl: New file.
6147         * modules/cosl: New file.
6148         * modules/expl: New file.
6149         * modules/logl: New file.
6150         * modules/sinl: New file.
6151         * modules/sqrtl: New file.
6152         * modules/tanl: New file.
6153         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
6154         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
6155         substitute GNULIB_MATHL.
6156         * modules/mathl: Rewritten.
6157         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
6158         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
6159         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
6160         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
6161         * doc/posix-functions/expl.texi: Mention the 'expl' module.
6162         * doc/posix-functions/logl.texi: Mention the 'logl' module.
6163         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
6164         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
6165         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
6166
6167 2010-01-18  Bruno Haible  <bruno@clisp.org>
6168
6169         sqrt: Make gl_FUNC_SQRT requirable.
6170         * m4/sqrt.m4: New file.
6171         * modules/sqrt (Files): Add it.
6172         (configure.ac): Invoke gl_FUNC_SQRT.
6173
6174 2010-01-18  Bruno Haible  <bruno@clisp.org>
6175
6176         New modules for common <math.h> functions.
6177         * m4/mathfunc.m4: New file.
6178         * modules/acos: New file.
6179         * modules/asin: New file.
6180         * modules/atan: New file.
6181         * modules/atan2: New file.
6182         * modules/cbrt: New file.
6183         * modules/copysign: New file.
6184         * modules/cos: New file.
6185         * modules/cosh: New file.
6186         * modules/erf: New file.
6187         * modules/erfc: New file.
6188         * modules/exp: New file.
6189         * modules/fabs: New file.
6190         * modules/fmod: New file.
6191         * modules/hypot: New file.
6192         * modules/j0: New file.
6193         * modules/j1: New file.
6194         * modules/jn: New file.
6195         * modules/ldexp: New file.
6196         * modules/lgamma: New file.
6197         * modules/log: New file.
6198         * modules/log10: New file.
6199         * modules/log1p: New file.
6200         * modules/logb: New file.
6201         * modules/modf: New file.
6202         * modules/nextafter: New file.
6203         * modules/pow: New file.
6204         * modules/remainder: New file.
6205         * modules/rint: New file.
6206         * modules/sin: New file.
6207         * modules/sinh: New file.
6208         * modules/sqrt: New file.
6209         * modules/tan: New file.
6210         * modules/tanh: New file.
6211         * modules/y0: New file.
6212         * modules/y1: New file.
6213         * modules/yn: New file.
6214         * doc/posix-functions/acos.texi: Mention the 'acos' module.
6215         * doc/posix-functions/asin.texi: Mention the 'asin' module.
6216         * doc/posix-functions/atan.texi: Mention the 'atan' module.
6217         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
6218         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
6219         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
6220         * doc/posix-functions/cos.texi: Mention the 'cos' module.
6221         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
6222         * doc/posix-functions/erf.texi: Mention the 'erf' module.
6223         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
6224         * doc/posix-functions/exp.texi: Mention the 'exp' module.
6225         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
6226         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
6227         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
6228         * doc/posix-functions/j0.texi: Mention the 'j0' module.
6229         * doc/posix-functions/j1.texi: Mention the 'j1' module.
6230         * doc/posix-functions/jn.texi: Mention the 'jn' module.
6231         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
6232         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
6233         * doc/posix-functions/log.texi: Mention the 'log' module.
6234         * doc/posix-functions/log10.texi: Mention the 'log10' module.
6235         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
6236         * doc/posix-functions/logb.texi: Mention the 'logb' module.
6237         * doc/posix-functions/modf.texi: Mention the 'modf' module.
6238         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
6239         * doc/posix-functions/pow.texi: Mention the 'pow' module.
6240         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
6241         * doc/posix-functions/rint.texi: Mention the 'rint' module.
6242         * doc/posix-functions/sin.texi: Mention the 'sin' module.
6243         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
6244         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
6245         * doc/posix-functions/tan.texi: Mention the 'tan' module.
6246         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
6247         * doc/posix-functions/y0.texi: Mention the 'y0' module.
6248         * doc/posix-functions/y1.texi: Mention the 'y1' module.
6249         * doc/posix-functions/yn.texi: Mention the 'yn' module.
6250
6251 2010-01-18  Jim Meyering  <meyering@redhat.com>
6252
6253         ignore-value: relax license to LGPLv2+
6254         * modules/ignore-value (License): Relax to LGPLv2+.
6255
6256         getdate: don't leak when TZ contains two or more '"'s
6257         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
6258         double quote in TZ after the first one.
6259
6260         readtokens: do not leak internal token_lengths buffer
6261         * lib/readtokens.c (readtokens): Free the local, lengths,
6262         when the supplied "token_lengths" parameter is NULL.
6263
6264 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6265
6266         Fix a couple of missing LIBTHREAD link failures on AIX.
6267         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
6268         $(LIBTHREAD).
6269         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
6270
6271         Link test-poll against INET_PTON_LIB.
6272         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
6273         for inet_pton on Solaris 10.
6274
6275 2010-01-17  Bruno Haible  <bruno@clisp.org>
6276
6277         unistdio/*-sprintf: Fix typo in module description.
6278         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
6279         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
6280         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
6281         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
6282         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
6283         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
6284         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
6285         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6286
6287 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6288
6289         gnulib-tool: fix filelist for AIX, HP-UX ksh.
6290         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
6291         variables in shell case patterns, for AIX and HP-UX ksh.
6292
6293         Split large sed scripts, for HP-UX sed.
6294         * modules/stdio: Split sed scripts around 50 sed commands,
6295         to avoid HP-UX limit of 99 commands, in the near future.
6296         * modules/string: Likewise.
6297         * modules/unistd: Likewise.
6298
6299         gnulib-tool: avoid writing in the current directory.
6300         * gnulib-tool (func_emit_lib_Makefile_am)
6301         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
6302         not in the current directory, so concurrent gnulib-tool
6303         instances do not interfere.
6304
6305 2010-01-16  Jim Meyering  <meyering@redhat.com>
6306
6307         doc: update users.txt
6308         * users.txt: Add grep.
6309         (diffutils, gzip): Update URLs.
6310
6311 2010-01-12  Bruno Haible  <bruno@clisp.org>
6312
6313         posix_spawn: Avoid test failure on Cygwin.
6314         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
6315         characters.
6316         Reported by Simon Josefsson.
6317
6318 2010-01-12  Bruno Haible  <bruno@clisp.org>
6319
6320         * tests/test-cond.c (main): When skipping the test, show the reason.
6321
6322 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6323
6324         * lib/striconv.c (str_cd_iconv): Avoid if before free.
6325
6326 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6327
6328         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
6329         VC_LIST_ALWAYS_EXCLUDE_REGEX.
6330
6331 2010-01-12  Eric Blake  <ebb9@byu.net>
6332
6333         build: guarantee AS_VAR_IF
6334         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
6335         (gl_AS_VAR_IF): Move...
6336         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
6337         Reported by Simon Josefsson.
6338
6339 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6340
6341         * lib/stdio.in.h: Fix typo.
6342
6343 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6344
6345         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
6346         libgpg-error.
6347
6348 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6349
6350         * tests/test-xalloc-die.sh: Use $EXEEXT.
6351
6352 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6353             Bruno Haible  <bruno@clisp.org>
6354
6355         getlogin, getlogin_r: Avoid test failure.
6356         * tests/test-getlogin.c: Include <stdio.h>.
6357         (main): Skip the test when the function fails because stdin is not a
6358         tty.
6359         * tests/test-getlogin_r.c: Include <stdio.h>.
6360         (main): Skip the test when the function fails because stdin is not a
6361         tty.
6362
6363 2010-01-11  Eric Blake  <ebb9@byu.net>
6364
6365         tests: avoid more large file warnings
6366         * tests/test-fflush.c: Avoid warning about ftell use.
6367         * tests/test-fseek.c: Avoid warning about fseek use.
6368
6369 2010-01-10  Bruno Haible  <bruno@clisp.org>
6370
6371         nproc: Work better on Linux when /proc and /sys are not mounted.
6372         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
6373         as lower bound when, on glibc/Linux systems,
6374         sysconf (_SC_NPROCESSORS_CONF) returns 1.
6375         Suggested by PĂ¡draig Brady <P@draigbrady.com>.
6376         Reported by Dmitry V. Levin <ldv@altlinux.org>.
6377
6378         nproc: Refactor.
6379         * lib/nproc.c (num_processors_via_affinity_mask): New function,
6380         extracted from num_processors.
6381         (num_processors): Call it.
6382
6383 2010-01-11  Jim Meyering  <meyering@redhat.com>
6384
6385         utimecmp: avoid new warning from upcoming gcc-4.5.0
6386         * lib/utimecmp.c (BILLION): Define using #define rather than an
6387         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
6388
6389 2010-01-11  Eric Blake  <ebb9@byu.net>
6390
6391         math: add portability warnings for classification macros
6392         * modules/math (Depends-on): Add warn-on-use.
6393         (Makefile.am): Provide new substitutions.
6394         * m4/math_h.m4 (gl_MATH_H): Require inline.
6395         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
6396         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
6397         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
6398         implement warnings.
6399
6400         unistd: warn on use of environ without module
6401         * modules/unistd (Depends-on): Add warn-on-use.
6402         (Makefile.am): Provide new substitutions.
6403         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
6404         * lib/unistd.in.h (environ): Wrap with a warning helper function.
6405
6406         stdio: warn on suspicious uses
6407         * modules/stdio (Depends-on): Add warn-on-use.
6408         (Makefile.am): Provide new substitutions.
6409         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
6410         fseeko.
6411         * lib/stdio.in.h (gets): Always warn on use.
6412         (fseek, ftell): Adjust when warnings are issued, and honor
6413         _GL_NO_LARGE_FILES as a way to silence the warning.
6414         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
6415         any warning about large file offsets.
6416         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
6417         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
6418         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
6419         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
6420         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
6421         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
6422         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
6423         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
6424
6425         warn-on-use: new module
6426         * modules/warn-on-use: New file.
6427         * build-aux/warn-on-use.h: Likewise.
6428         * m4/warn-on-use.m4: Likewise.
6429         * MODULES.html.sh (Support for building): Mention it.
6430
6431 2010-01-10  Bruno Haible  <bruno@clisp.org>
6432
6433         Tests for module 'unistr/u32-strdup'.
6434         * modules/unistr/u32-strdup-tests: New file.
6435         * tests/unistr/test-u32-strdup.c: New file.
6436
6437         Tests for module 'unistr/u16-strdup'.
6438         * modules/unistr/u16-strdup-tests: New file.
6439         * tests/unistr/test-u16-strdup.c: New file.
6440
6441         Tests for module 'unistr/u8-strdup'.
6442         * modules/unistr/u8-strdup-tests: New file.
6443         * tests/unistr/test-u8-strdup.c: New file.
6444         * tests/unistr/test-strdup.h: New file.
6445
6446         Tests for module 'unistr/u32-strncmp'.
6447         * modules/unistr/u32-strncmp-tests: New file.
6448         * tests/unistr/test-u32-strncmp.c: New file.
6449
6450         Tests for module 'unistr/u16-strncmp'.
6451         * modules/unistr/u16-strncmp-tests: New file.
6452         * tests/unistr/test-u16-strncmp.c: New file.
6453
6454         Tests for module 'unistr/u8-strncmp'.
6455         * modules/unistr/u8-strncmp-tests: New file.
6456         * tests/unistr/test-u8-strncmp.c: New file.
6457         * tests/unistr/test-strncmp.h: New file.
6458
6459         Tests for module 'unistr/u32-strcoll'.
6460         * modules/unistr/u32-strcoll-tests: New file.
6461         * tests/unistr/test-u32-strcoll.c: New file.
6462
6463         Tests for module 'unistr/u16-strcoll'.
6464         * modules/unistr/u16-strcoll-tests: New file.
6465         * tests/unistr/test-u16-strcoll.c: New file.
6466
6467         Tests for module 'unistr/u8-strcoll'.
6468         * modules/unistr/u8-strcoll-tests: New file.
6469         * tests/unistr/test-u8-strcoll.c: New file.
6470
6471         Tests for module 'unistr/u32-strcmp'.
6472         * modules/unistr/u32-strcmp-tests: New file.
6473         * tests/unistr/test-u32-strcmp.c: New file.
6474         * tests/unistr/test-u32-strcmp.h: New file.
6475
6476         Tests for module 'unistr/u16-strcmp'.
6477         * modules/unistr/u16-strcmp-tests: New file.
6478         * tests/unistr/test-u16-strcmp.c: New file.
6479         * tests/unistr/test-u16-strcmp.h: New file.
6480
6481         Tests for module 'unistr/u8-strcmp'.
6482         * modules/unistr/u8-strcmp-tests: New file.
6483         * tests/unistr/test-u8-strcmp.c: New file.
6484         * tests/unistr/test-u8-strcmp.h: New file.
6485         * tests/unistr/test-strcmp.h: New file.
6486
6487         Tests for module 'unistr/u32-strncat'.
6488         * modules/unistr/u32-strncat-tests: New file.
6489         * tests/unistr/test-u32-strncat.c: New file.
6490
6491         Tests for module 'unistr/u16-strncat'.
6492         * modules/unistr/u16-strncat-tests: New file.
6493         * tests/unistr/test-u16-strncat.c: New file.
6494
6495         Tests for module 'unistr/u8-strncat'.
6496         * modules/unistr/u8-strncat-tests: New file.
6497         * tests/unistr/test-u8-strncat.c: New file.
6498         * tests/unistr/test-strncat.h: New file.
6499
6500         Tests for module 'unistr/u32-strcat'.
6501         * modules/unistr/u32-strcat-tests: New file.
6502         * tests/unistr/test-u32-strcat.c: New file.
6503
6504         Tests for module 'unistr/u16-strcat'.
6505         * modules/unistr/u16-strcat-tests: New file.
6506         * tests/unistr/test-u16-strcat.c: New file.
6507
6508         Tests for module 'unistr/u8-strcat'.
6509         * modules/unistr/u8-strcat-tests: New file.
6510         * tests/unistr/test-u8-strcat.c: New file.
6511         * tests/unistr/test-strcat.h: New file.
6512
6513         Tests for module 'unistr/u32-stpncpy'.
6514         * modules/unistr/u32-stpncpy-tests: New file.
6515         * tests/unistr/test-u32-stpncpy.c: New file.
6516
6517         Tests for module 'unistr/u16-stpncpy'.
6518         * modules/unistr/u16-stpncpy-tests: New file.
6519         * tests/unistr/test-u16-stpncpy.c: New file.
6520
6521         Tests for module 'unistr/u8-stpncpy'.
6522         * modules/unistr/u8-stpncpy-tests: New file.
6523         * tests/unistr/test-u8-stpncpy.c: New file.
6524         * tests/unistr/test-stpncpy.h: New file.
6525
6526         Tests for module 'unistr/u32-strncpy'.
6527         * modules/unistr/u32-strncpy-tests: New file.
6528         * tests/unistr/test-u32-strncpy.c: New file.
6529
6530         Tests for module 'unistr/u16-strncpy'.
6531         * modules/unistr/u16-strncpy-tests: New file.
6532         * tests/unistr/test-u16-strncpy.c: New file.
6533
6534         Tests for module 'unistr/u8-strncpy'.
6535         * modules/unistr/u8-strncpy-tests: New file.
6536         * tests/unistr/test-u8-strncpy.c: New file.
6537         * tests/unistr/test-strncpy.h: New file.
6538
6539         Tests for module 'unistr/u32-stpcpy'.
6540         * modules/unistr/u32-stpcpy-tests: New file.
6541         * tests/unistr/test-u32-stpcpy.c: New file.
6542
6543         Tests for module 'unistr/u16-stpcpy'.
6544         * modules/unistr/u16-stpcpy-tests: New file.
6545         * tests/unistr/test-u16-stpcpy.c: New file.
6546
6547         Tests for module 'unistr/u8-stpcpy'.
6548         * modules/unistr/u8-stpcpy-tests: New file.
6549         * tests/unistr/test-u8-stpcpy.c: New file.
6550         * tests/unistr/test-stpcpy.h: New file.
6551
6552         Tests for module 'unistr/u32-strcpy'.
6553         * modules/unistr/u32-strcpy-tests: New file.
6554         * tests/unistr/test-u32-strcpy.c: New file.
6555
6556         Tests for module 'unistr/u16-strcpy'.
6557         * modules/unistr/u16-strcpy-tests: New file.
6558         * tests/unistr/test-u16-strcpy.c: New file.
6559
6560         Tests for module 'unistr/u8-strcpy'.
6561         * modules/unistr/u8-strcpy-tests: New file.
6562         * tests/unistr/test-u8-strcpy.c: New file.
6563         * tests/unistr/test-strcpy.h: New file.
6564
6565         Tests for module 'unistr/u32-strnlen'.
6566         * modules/unistr/u32-strnlen-tests: New file.
6567         * tests/unistr/test-u32-strnlen.c: New file.
6568
6569         Tests for module 'unistr/u16-strnlen'.
6570         * modules/unistr/u16-strnlen-tests: New file.
6571         * tests/unistr/test-u16-strnlen.c: New file.
6572
6573         Tests for module 'unistr/u8-strnlen'.
6574         * modules/unistr/u8-strnlen-tests: New file.
6575         * tests/unistr/test-u8-strnlen.c: New file.
6576         * tests/unistr/test-strnlen.h: New file.
6577
6578         Tests for module 'unistr/u32-strlen'.
6579         * modules/unistr/u32-strlen-tests: New file.
6580         * tests/unistr/test-u32-strlen.c: New file.
6581
6582         Tests for module 'unistr/u16-strlen'.
6583         * modules/unistr/u16-strlen-tests: New file.
6584         * tests/unistr/test-u16-strlen.c: New file.
6585
6586         Tests for module 'unistr/u8-strlen'.
6587         * modules/unistr/u8-strlen-tests: New file.
6588         * tests/unistr/test-u8-strlen.c: New file.
6589
6590         Tests for module 'unistr/u32-prev'.
6591         * modules/unistr/u32-prev-tests: New file.
6592         * tests/unistr/test-u32-prev.c: New file.
6593
6594         Tests for module 'unistr/u16-prev'.
6595         * modules/unistr/u16-prev-tests: New file.
6596         * tests/unistr/test-u16-prev.c: New file.
6597
6598         Tests for module 'unistr/u8-prev'.
6599         * modules/unistr/u8-prev-tests: New file.
6600         * tests/unistr/test-u8-prev.c: New file.
6601
6602         Tests for module 'unistr/u32-next'.
6603         * modules/unistr/u32-next-tests: New file.
6604         * tests/unistr/test-u32-next.c: New file.
6605
6606         Tests for module 'unistr/u16-next'.
6607         * modules/unistr/u16-next-tests: New file.
6608         * tests/unistr/test-u16-next.c: New file.
6609
6610         Tests for module 'unistr/u8-next'.
6611         * modules/unistr/u8-next-tests: New file.
6612         * tests/unistr/test-u8-next.c: New file.
6613
6614         Tests for module 'unistr/u32-strmbtouc'.
6615         * modules/unistr/u32-strmbtouc-tests: New file.
6616         * tests/unistr/test-u32-strmbtouc.c: New file.
6617
6618         Tests for module 'unistr/u16-strmbtouc'.
6619         * modules/unistr/u16-strmbtouc-tests: New file.
6620         * tests/unistr/test-u16-strmbtouc.c: New file.
6621
6622         Tests for module 'unistr/u8-strmbtouc'.
6623         * modules/unistr/u8-strmbtouc-tests: New file.
6624         * tests/unistr/test-u8-strmbtouc.c: New file.
6625
6626         Tests for module 'unistr/u32-strmblen'.
6627         * modules/unistr/u32-strmblen-tests: New file.
6628         * tests/unistr/test-u32-strmblen.c: New file.
6629
6630         Tests for module 'unistr/u16-strmblen'.
6631         * modules/unistr/u16-strmblen-tests: New file.
6632         * tests/unistr/test-u16-strmblen.c: New file.
6633
6634         Tests for module 'unistr/u8-strmblen'.
6635         * modules/unistr/u8-strmblen-tests: New file.
6636         * tests/unistr/test-u8-strmblen.c: New file.
6637
6638         Tests for module 'unistr/u32-cpy-alloc'.
6639         * modules/unistr/u32-cpy-alloc-tests: New file.
6640         * tests/unistr/test-u32-cpy-alloc.c: New file.
6641
6642         Tests for module 'unistr/u16-cpy-alloc'.
6643         * modules/unistr/u16-cpy-alloc-tests: New file.
6644         * tests/unistr/test-u16-cpy-alloc.c: New file.
6645
6646         Tests for module 'unistr/u8-cpy-alloc'.
6647         * modules/unistr/u8-cpy-alloc-tests: New file.
6648         * tests/unistr/test-u8-cpy-alloc.c: New file.
6649         * tests/unistr/test-cpy-alloc.h: New file.
6650
6651         Tests for module 'unistr/u32-mbsnlen'.
6652         * modules/unistr/u32-mbsnlen-tests: New file.
6653         * tests/unistr/test-u32-mbsnlen.c: New file.
6654
6655         Tests for module 'unistr/u16-mbsnlen'.
6656         * modules/unistr/u16-mbsnlen-tests: New file.
6657         * tests/unistr/test-u16-mbsnlen.c: New file.
6658
6659         Tests for module 'unistr/u8-mbsnlen'.
6660         * modules/unistr/u8-mbsnlen-tests: New file.
6661         * tests/unistr/test-u8-mbsnlen.c: New file.
6662
6663         Tests for module 'unistr/u32-chr'.
6664         * modules/unistr/u32-chr-tests: New file.
6665         * tests/unistr/test-u32-chr.c: New file.
6666
6667         Tests for module 'unistr/u16-chr'.
6668         * modules/unistr/u16-chr-tests: New file.
6669         * tests/unistr/test-u16-chr.c: New file.
6670
6671         Tests for module 'unistr/u8-chr'.
6672         * modules/unistr/u8-chr-tests: New file.
6673         * tests/unistr/test-u8-chr.c: New file.
6674         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
6675
6676         Tests for module 'unistr/u32-cmp2'.
6677         * modules/unistr/u32-cmp2-tests: New file.
6678         * tests/unistr/test-u32-cmp2.c: New file.
6679
6680         Tests for module 'unistr/u16-cmp2'.
6681         * modules/unistr/u16-cmp2-tests: New file.
6682         * tests/unistr/test-u16-cmp2.c: New file.
6683
6684         Tests for module 'unistr/u8-cmp2'.
6685         * modules/unistr/u8-cmp2-tests: New file.
6686         * tests/unistr/test-u8-cmp2.c: New file.
6687         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
6688
6689         Tests for module 'unistr/u32-cmp'.
6690         * modules/unistr/u32-cmp-tests: New file.
6691         * tests/unistr/test-u32-cmp.c: New file.
6692
6693         Tests for module 'unistr/u16-cmp'.
6694         * modules/unistr/u16-cmp-tests: New file.
6695         * tests/unistr/test-u16-cmp.c: New file.
6696
6697         Tests for module 'unistr/u8-cmp'.
6698         * modules/unistr/u8-cmp-tests: New file.
6699         * tests/unistr/test-u8-cmp.c: New file.
6700         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
6701
6702         Tests for module 'unistr/u32-set'.
6703         * modules/unistr/u32-set-tests: New file.
6704         * tests/unistr/test-u32-set.c: New file.
6705
6706         Tests for module 'unistr/u16-set'.
6707         * modules/unistr/u16-set-tests: New file.
6708         * tests/unistr/test-u16-set.c: New file.
6709
6710         Tests for module 'unistr/u8-set'.
6711         * modules/unistr/u8-set-tests: New file.
6712         * tests/unistr/test-u8-set.c: New file.
6713         * tests/unistr/test-set.h: New file.
6714
6715         Tests for module 'unistr/u32-move'.
6716         * modules/unistr/u32-move-tests: New file.
6717         * tests/unistr/test-u32-move.c: New file.
6718
6719         Tests for module 'unistr/u16-move'.
6720         * modules/unistr/u16-move-tests: New file.
6721         * tests/unistr/test-u16-move.c: New file.
6722
6723         Tests for module 'unistr/u8-move'.
6724         * modules/unistr/u8-move-tests: New file.
6725         * tests/unistr/test-u8-move.c: New file.
6726         * tests/unistr/test-move.h: New file.
6727
6728         Tests for module 'unistr/u32-cpy'.
6729         * modules/unistr/u32-cpy-tests: New file.
6730         * tests/unistr/test-u32-cpy.c: New file.
6731
6732         Tests for module 'unistr/u16-cpy'.
6733         * modules/unistr/u16-cpy-tests: New file.
6734         * tests/unistr/test-u16-cpy.c: New file.
6735
6736         Tests for module 'unistr/u8-cpy'.
6737         * modules/unistr/u8-cpy-tests: New file.
6738         * tests/unistr/test-u8-cpy.c: New file.
6739         * tests/unistr/test-cpy.h: New file.
6740
6741 2010-01-09  Bruno Haible  <bruno@clisp.org>
6742
6743         Tests for module 'unistr/u32-uctomb'.
6744         * modules/unistr/u32-uctomb-tests: New file.
6745         * tests/unistr/test-u32-uctomb.c: New file.
6746
6747         Tests for module 'unistr/u16-uctomb'.
6748         * modules/unistr/u16-uctomb-tests: New file.
6749         * tests/unistr/test-u16-uctomb.c: New file.
6750
6751         Tests for module 'unistr/u8-uctomb'.
6752         * modules/unistr/u8-uctomb-tests: New file.
6753         * tests/unistr/test-u8-uctomb.c: New file.
6754
6755         Tests for module 'unistr/u32-mbtoucr'.
6756         * modules/unistr/u32-mbtoucr-tests: New file.
6757         * tests/unistr/test-u32-mbtoucr.c: New file.
6758
6759         Tests for module 'unistr/u16-mbtoucr'.
6760         * modules/unistr/u16-mbtoucr-tests: New file.
6761         * tests/unistr/test-u16-mbtoucr.c: New file.
6762
6763         Tests for module 'unistr/u8-mbtoucr'.
6764         * modules/unistr/u8-mbtoucr-tests: New file.
6765         * tests/unistr/test-u8-mbtoucr.c: New file.
6766
6767         Tests for module 'unistr/u32-mbtouc'.
6768         * modules/unistr/u32-mbtouc-tests: New file.
6769         * tests/unistr/test-u32-mbtouc.c: New file.
6770
6771         Tests for module 'unistr/u16-mbtouc'.
6772         * modules/unistr/u16-mbtouc-tests: New file.
6773         * tests/unistr/test-u16-mbtouc.c: New file.
6774
6775         Tests for module 'unistr/u8-mbtouc'.
6776         * modules/unistr/u8-mbtouc-tests: New file.
6777         * tests/unistr/test-u8-mbtouc.c: New file.
6778
6779         Tests for module 'unistr/u32-mbtouc-unsafe'.
6780         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
6781         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
6782         * tests/unistr/test-u32-mbtouc.h: New file.
6783
6784         Tests for module 'unistr/u16-mbtouc-unsafe'.
6785         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
6786         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
6787         * tests/unistr/test-u16-mbtouc.h: New file.
6788
6789         Tests for module 'unistr/u8-mbtouc-unsafe'.
6790         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
6791         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
6792         * tests/unistr/test-u8-mbtouc.h: New file.
6793
6794         Tests for module 'unistr/u32-mblen'.
6795         * modules/unistr/u32-mblen-tests: New file.
6796         * tests/unistr/test-u32-mblen.c: New file.
6797
6798         Tests for module 'unistr/u16-mblen'.
6799         * modules/unistr/u16-mblen-tests: New file.
6800         * tests/unistr/test-u16-mblen.c: New file.
6801
6802         Tests for module 'unistr/u8-mblen'.
6803         * modules/unistr/u8-mblen-tests: New file.
6804         * tests/unistr/test-u8-mblen.c: New file.
6805
6806         Tests for module 'unistr/u32-to-u16'.
6807         * modules/unistr/u32-to-u16-tests: New file.
6808         * tests/unistr/test-u32-to-u16.c: New file.
6809
6810         Tests for module 'unistr/u32-to-u8'.
6811         * modules/unistr/u32-to-u8-tests: New file.
6812         * tests/unistr/test-u32-to-u8.c: New file.
6813
6814         Tests for module 'unistr/u16-to-u32'.
6815         * modules/unistr/u16-to-u32-tests: New file.
6816         * tests/unistr/test-u16-to-u32.c: New file.
6817
6818         Tests for module 'unistr/u16-to-u8'.
6819         * modules/unistr/u16-to-u8-tests: New file.
6820         * tests/unistr/test-u16-to-u8.c: New file.
6821
6822         Tests for module 'unistr/u8-to-u32'.
6823         * modules/unistr/u8-to-u32-tests: New file.
6824         * tests/unistr/test-u8-to-u32.c: New file.
6825
6826         Tests for module 'unistr/u8-to-u16'.
6827         * modules/unistr/u8-to-u16-tests: New file.
6828         * tests/unistr/test-u8-to-u16.c: New file.
6829
6830         Tests for module 'unistr/u32-check'.
6831         * modules/unistr/u32-check-tests: New file.
6832         * tests/unistr/test-u32-check.c: New file.
6833
6834         Tests for module 'unistr/u16-check'.
6835         * modules/unistr/u16-check-tests: New file.
6836         * tests/unistr/test-u16-check.c: New file.
6837
6838         Tests for module 'unistr/u8-check'.
6839         * modules/unistr/u8-check-tests: New file.
6840         * tests/unistr/test-u8-check.c: New file.
6841
6842         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
6843         (category_equals): New function.
6844         (main): Add more tests.
6845         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
6846
6847         * tests/unictype/test-bidi_byname.c (main): Add more tests.
6848
6849 2010-01-10  Bruno Haible  <bruno@clisp.org>
6850
6851         unistr/u*-strcoll: Try harder to distinguish different strings.
6852         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
6853         compare s1 and s2 to see if they are different.
6854
6855 2010-01-10  Bruno Haible  <bruno@clisp.org>
6856
6857         unistr/u*-stpncpy: Fix the return value.
6858         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
6859         description of the return value consistent with stpncpy in glibc.
6860         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
6861         written non-NUL unit.
6862
6863 2010-01-10  Bruno Haible  <bruno@clisp.org>
6864
6865         unistr/u*-next: Add missing dependencies.
6866         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
6867         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
6868         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
6869
6870 2010-01-10  Bruno Haible  <bruno@clisp.org>
6871
6872         unistr/u8-mbsnlen: Fix return value for incomplete character.
6873         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
6874         u8_mblen.
6875         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
6876         Remove unistr/u8-mblen.
6877         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
6878         u16_mblen.
6879         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
6880         Remove unistr/u16-mblen.
6881
6882 2010-01-10  Bruno Haible  <bruno@clisp.org>
6883
6884         wchar: Fix compilation error when <wchar.h> is used from coreutils.
6885         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
6886         Reported by Brian Gough <bjg@gnu.org> and
6887         Chris Clayton <chris2553@googlemail.com> via
6888         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
6889
6890 2010-01-09  Bruno Haible  <bruno@clisp.org>
6891
6892         unistr/u16-to-u32: Reject invalid input.
6893         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
6894         u16_mbtouc.
6895         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
6896         Remove unistr/u16-mbtouc.
6897
6898         unistr/u16-to-u8: Reject invalid input.
6899         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
6900         u16_mbtouc.
6901         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
6902         Remove unistr/u16-mbtouc.
6903
6904         unistr/u8-to-u32: Reject invalid input.
6905         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
6906         u8_mbtouc.
6907         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
6908         Remove unistr/u8-mbtouc.
6909
6910         unistr/u8-to-u16: Reject invalid input.
6911         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
6912         u8_mbtouc.
6913         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
6914         Remove unistr/u8-mbtouc.
6915
6916 2010-01-09  Bruno Haible  <bruno@clisp.org>
6917
6918         Tests for module 'getlogin'.
6919         * modules/getlogin-tests: New file.
6920         * tests/test-getlogin.c: New file.
6921
6922         New module 'getlogin'.
6923         * lib/unistd.in.h (getlogin): New declaration.
6924         * lib/getlogin.c: New file.
6925         * m4/getlogin.m4: New file.
6926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
6927         HAVE_GETLOGIN.
6928         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
6929         HAVE_GETLOGIN.
6930         * modules/getlogin: New file.
6931         * doc/posix-functions/getlogin.texi: Mention the new module.
6932         Reported by John W. Eaton <jwe@gnu.org>.
6933
6934 2010-01-09  Bruno Haible  <bruno@clisp.org>
6935
6936         getlogin_r: Support for native Windows.
6937         * lib/getlogin_r.c: Include <windows.h>
6938         (getlogin_r): Implement for native Windows.
6939         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
6940         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
6941         via John W. Eaton <jwe@gnu.org>.
6942
6943 2010-01-09  Bruno Haible  <bruno@clisp.org>
6944
6945         getlogin_r: Small fixes.
6946         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
6947         succeeds.
6948         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
6949         before testing whether getlogin_r is declared. No need to set
6950         HAVE_DECL_GETLOGIN_R to 1.
6951         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
6952
6953 2010-01-09  Bruno Haible  <bruno@clisp.org>
6954
6955         * lib/unistd.in.h (getlogin_r): Add comment.
6956
6957 2010-01-09  Bruno Haible  <bruno@clisp.org>
6958
6959         Tests for module 'getlogin_r'.
6960         * modules/getlogin_r-tests: New file.
6961         * tests/test-getlogin_r.c: New file.
6962
6963 2010-01-09  Jim Meyering  <meyering@redhat.com>
6964
6965         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
6966         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
6967         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
6968
6969 2010-01-08  Simon Josefsson  <simon@josefsson.org>
6970
6971         * lib/dup2.c (rpl_dup2): Improve comment.
6972
6973 2010-01-08  Eric Blake  <ebb9@byu.net>
6974
6975         maint.mk: allow packages to add makefile @@ exceptions
6976         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
6977         (sc_makefile_check): Rename...
6978         (sc_makefile_at_at_check): ...to this, and use hook.
6979
6980         dup2: work around mingw bug
6981         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
6982         Reported by Simon Josefsson.
6983
6984 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
6985
6986         glob: Fix C++ compilation.
6987         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
6988         C++.
6989
6990 2010-01-07  Bruno Haible  <bruno@clisp.org>
6991
6992         Fix indentation of wctype.in.h, broken since 2007-01-06.
6993         * lib/wctype.in.h: Fix indentation of preprocessor directives.
6994
6995 2010-01-07  Bruno Haible  <bruno@clisp.org>
6996
6997         mbslen: Avoid collision with system function.
6998         * lib/string.in.h [MirBSD]: Include <wchar.h>.
6999         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
7000         * m4/mbslen.m4: New file.
7001         * modules/mbslen (Files): Add it.
7002         (configure.ac): Invoke gl_MBSLEN.
7003         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
7004         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
7005         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
7006         via Ian Beckwith <ianb@erislabs.net>.
7007
7008 2010-01-07  Bruno Haible  <bruno@clisp.org>
7009
7010         dirent: Document the last fix.
7011         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
7012
7013 2010-01-07  Bruno Haible  <bruno@clisp.org>
7014
7015         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
7016         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
7017         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
7018         va_list are defined.
7019         * doc/posix-headers/stdio.texi: Document the bug of missing types.
7020         Reported by Eric Blake.
7021
7022 2010-01-07  Bruno Haible  <bruno@clisp.org>
7023
7024         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
7025         * modules/xlist (Depends-on): Add 'list',
7026         * modules/xoset (Depends-on): Add 'oset'.
7027         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7028
7029 2010-01-07  Bruno Haible  <bruno@clisp.org>
7030
7031         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
7032         * doc/posix-functions/strncasecmp.texi: Likewise.
7033
7034 2010-01-07  Bruno Haible  <bruno@clisp.org>
7035
7036         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
7037
7038 2010-01-07  John W. Eaton  <jwe@octave.org>
7039
7040         wctype: allow C++ use
7041         * lib/wctype.in.h: Add extern "C" block for C++.
7042
7043 2010-01-06  Eric Blake  <ebb9@byu.net>
7044
7045         maint.mk: detect incorrect GFDL usage
7046         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
7047
7048 2010-01-06  Jim Meyering  <meyering@redhat.com>
7049         and Eric Blake  <ebb9@byu.net>
7050
7051         maint.mk: ignore multi-line copyright in NEWS
7052         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
7053
7054 2010-01-06  Eric Blake  <ebb9@byu.net>
7055
7056         select: add missing dependency
7057         * modules/select-tests (Depends-on): Move sockets dependency...
7058         * modules/select (Depends-on): ...here.
7059         Reported by Ian Beckwith.
7060
7061         doc: regenerate INSTALL
7062         * doc/INSTALL: Reflect recent autoconf update.
7063         * doc/INSTALL.ISO: Likewise.
7064         * doc/INSTALL.UTF-8: Likewise.
7065
7066         pread: fix compilation on glibc
7067         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
7068         Reported by Ralf Wildenhues.
7069
7070         dirent: fix test failure
7071         * lib/dirent.in.h (includes): Guarantee ino_t.
7072         Reported by Ralf Wildenhues.
7073
7074 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
7075
7076         linkat, renameat: avoid bad free
7077         * lib/at-func2.c (at_func2): Fix typo.
7078         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
7079
7080 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7081
7082         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
7083         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
7084         to avoid failure of symlink test later.
7085
7086 2010-01-06  Eric Blake  <ebb9@byu.net>
7087
7088         stdio, unistd: guarantee ssize_t
7089         * lib/unistd.in.h (includes): Ensure that types required by POSIX
7090         2008 are exposed when needed.
7091         * lib/stdio.in.h (includes): Likewise.
7092         Reported by Ralf Wildenhues.
7093
7094 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
7095
7096         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
7097         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
7098         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
7099
7100 2010-01-06  Jim Meyering  <meyering@redhat.com>
7101
7102         readtokens: this module *does* require xalloc.h
7103         It uses only functions that were omitted by the old syntax-check rule.
7104         * lib/readtokens.c: Include "xalloc.h" once again.
7105         * modules/readtokens (Depends-on): Add xalloc.
7106         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
7107
7108 2010-01-05  Eric Blake  <ebb9@byu.net>
7109
7110         maint: support 'make announcement' from a VPATH build
7111         * top/maint.mk (announcement): Look for correct NEWS file.
7112
7113 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
7114
7115         utimens (fdutimens): ignore a negative FD, per contract
7116         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
7117         when we have a valid file descriptor.  Otherwise, using a brand
7118         new glibc (with just-patched futimens that now fails with EBADF)
7119         would cause this function to fail with ENOSYS.
7120         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
7121         See also http://bugzilla.redhat.com/552320.
7122
7123 2010-01-05  Eric Blake  <ebb9@byu.net>
7124
7125         strcase: document what it provides
7126         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
7127         gnulib module.
7128         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
7129         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
7130
7131 2010-01-05  Jim Meyering  <meyering@redhat.com>
7132
7133         maint: remove useless inclusions of "xalloc.h"
7134         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
7135         * lib/readtokens.c: Likewise.
7136         * lib/same.c: Likewise.
7137         * modules/getloadavg (Depends-on): Remove xalloc.
7138         * modules/readtokens: Likewise.
7139         * modules/same: Likewise.
7140
7141         maint.mk: include 4 more function names in alloca.h-checking regexp
7142         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
7143         regexp.  Before, we would give a false-positive (saying alloca.h
7144         is included unnecessarily) when the only uses involved omitted symbols.
7145
7146         xalloc.h: use consistent formatting
7147         * lib/xalloc.h: Move declarations to start in the first column.
7148
7149 2010-01-05  Eric Blake  <ebb9@byu.net>
7150
7151         mkdir: avoid xalloc
7152         * lib/mkdir.c (includes): Drop unused header.
7153         Reported by John W. Eaton.
7154
7155 2010-01-04  Jim Meyering  <meyering@redhat.com>
7156
7157         nl_langinfo: avoid configure-time syntax error
7158         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
7159         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
7160         the empty string.  Don't let that provoke a shell syntax error.
7161
7162         regcomp, regexec, fnmatch: avoid array bounds read error
7163         * lib/regcomp.c (build_equiv_class): From glibc:
7164         Use only the low 24 bits of a findidx return value as an index
7165         into the weights array.  Patch by Ulrich Drepper:
7166         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
7167         * lib/regexec.c (check_node_accept_bytes): Likewise.
7168         * lib/fnmatch_loop.c (FCT): Likewise.
7169
7170         regcomp: skip collseq lookup when there are no rules
7171         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
7172         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
7173
7174         regcomp: recognize ill-formed { } expressions
7175         * lib/regcomp.c (parse_dup_op): From glibc:
7176         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
7177
7178         regcomp: fix typo in comment
7179         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
7180         s/satisfy/satisfies/.
7181
7182         regcomp: sync from glibc: remove dead store
7183         * lib/regcomp.c (duplicate_node_closure): Remove useless
7184         search_duplicated_node call and dead store.
7185
7186         regcomp: sync from glibc; always use nl_langinfo
7187         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
7188         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
7189         * modules/regex (Depends-on): Add nl_langinfo.
7190
7191 2010-01-04  Eric Blake  <ebb9@byu.net>
7192
7193         fdopendir: fix configure test
7194         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
7195
7196 2010-01-01  Bruno Haible  <bruno@clisp.org>
7197
7198         wchar: Remove unused configure check.
7199         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
7200
7201 2010-01-01  Eric Blake  <ebb9@byu.net>
7202
7203         headers: make check of system header explicit
7204         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
7205         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
7206         ourselves.
7207         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7208         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7209         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
7210         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
7211         internals.
7212         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
7213         missing.
7214         Suggested by Bruno Haible.
7215
7216 2010-01-01  Jim Meyering  <meyering@redhat.com>
7217
7218         ChangeLog: tweak to eliminate unnecessary copyright line
7219         * ChangeLog: Remove a copyright line that was mistakenly updated
7220         by today's update-copyright run.  Reported by Eric Blake.
7221
7222         test-update-copyright: don't let envvar setting cause test failure
7223         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
7224
7225 2010-01-01  Bruno Haible  <bruno@clisp.org>
7226
7227         localename: Avoid gcc warning.
7228         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
7229         function if it is not used.
7230
7231 2010-01-01  Jim Meyering  <meyering@redhat.com>
7232
7233         update nearly all FSF copyright year lists to include 2010
7234         Use the same procedure as for 2009, outlined in
7235         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
7236
7237         version-etc: set COPYRIGHT_YEAR to 2010
7238         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
7239
7240 2009-12-31  Eric Blake  <ebb9@byu.net>
7241
7242         doc: correct availability of cygwin 1.5.x getopt
7243         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
7244         variables.
7245         * doc/posix-functions/opterr.texi (opterr): Likewise.
7246         * doc/posix-functions/optind.texi (optind): Likewise.
7247         * doc/posix-functions/optopt.texi (optopt): Likewise.
7248         * doc/posix-functions/tzname.texi (tzname): Likewise.
7249
7250         openat: update maintainer
7251         * modules/openat (Maintainer): Add myself.
7252
7253         utimens: avoid shadowing warning
7254         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
7255         buffers into one, to avoid shadowing, as well as avoiding a
7256         redundant stat.
7257         Reported by Jim Meyering.
7258
7259         test-dup2: avoid compiler warning
7260         * tests/test-dup2.c (is_inheritable): Only define if used.
7261
7262 2010-01-01  Bruno Haible  <bruno@clisp.org>
7263
7264         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
7265         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
7266         defined, use wctomb instead of wcrtomb.
7267
7268 2010-01-01  Bruno Haible  <bruno@clisp.org>
7269
7270         iconv: Reject native Solaris iconv.
7271         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
7272         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
7273
7274 2009-12-31  Bruno Haible  <bruno@clisp.org>
7275
7276         * tests/test-signal.c (main): Remove test of 'SIG'.
7277
7278 2009-12-31  Bruno Haible  <bruno@clisp.org>
7279
7280         spawn: Fix incomplete fix.
7281         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7282         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7283         warnings for GNULIB_POSIXCHECK again.
7284         Reported by Eric Blake.
7285
7286 2009-12-31  Bruno Haible  <bruno@clisp.org>
7287
7288         Avoid namespace pollution on glibc systems.
7289         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
7290         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
7291         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
7292         glibc systems.
7293
7294 2009-12-31  Bruno Haible  <bruno@clisp.org>
7295
7296         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
7297         (gl_REPLACE_WCHAR_H): Turn into a no-op.
7298         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
7299         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
7300         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
7301         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
7302         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
7303
7304 2009-12-31  Bruno Haible  <bruno@clisp.org>
7305
7306         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7307         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
7308         afterwards.
7309
7310 2009-12-31  Bruno Haible  <bruno@clisp.org>
7311
7312         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
7313         SYS_UTSNAME_H.
7314
7315 2009-12-31  Bruno Haible  <bruno@clisp.org>
7316
7317         spawn: Fix misapplied patch.
7318         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7319         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7320         warnings for GNULIB_POSIXCHECK.
7321
7322 2009-12-31  Bruno Haible  <bruno@clisp.org>
7323
7324         times: Update after sys_times changed.
7325         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
7326         * modules/times (Files): Add it.
7327         (configure.ac): Invoke gl_FUNC_TIMES.
7328
7329 2009-12-31  Bruno Haible  <bruno@clisp.org>
7330
7331         Use AC_C_INLINE where necessary.
7332         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
7333         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
7334         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
7335         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
7336         * m4/mbfile.m4 (gl_MBFILE): Likewise.
7337         * m4/mbiter.m4 (gl_MBITER): Likewise.
7338         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7339         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7340         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
7341         * modules/u64 (configure.ac): Likewise.
7342
7343 2009-12-31  Bruno Haible  <bruno@clisp.org>
7344
7345         Use AC_C_INLINE instead of module 'inline' where possible.
7346         * modules/inline (Description): Clarify purpose.
7347         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
7348         * modules/count-one-bits (Depends-on): Remove inline.
7349         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
7350         * modules/openat (Depends-on): Remove inline.
7351         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
7352         instead of depending on module 'inline'.
7353         * modules/filevercmp (Depends-on, configure.ac): Likewise.
7354         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
7355         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
7356         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
7357         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
7358         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
7359         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
7360         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
7361         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
7362         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
7363         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
7364         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
7365         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
7366         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
7367         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
7368         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
7369         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
7370         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
7371         Likewise.
7372         * modules/unictype/property-ascii-hex-digit (Depends-on,
7373         configure.ac): Likewise.
7374         * modules/unictype/property-bidi-arabic-digit (Depends-on,
7375         configure.ac): Likewise.
7376         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
7377         configure.ac): Likewise.
7378         * modules/unictype/property-bidi-block-separator (Depends-on,
7379         configure.ac): Likewise.
7380         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
7381         configure.ac): Likewise.
7382         * modules/unictype/property-bidi-common-separator (Depends-on,
7383         configure.ac): Likewise.
7384         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
7385         Likewise.
7386         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
7387         configure.ac): Likewise.
7388         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
7389         configure.ac): Likewise.
7390         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
7391         configure.ac): Likewise.
7392         * modules/unictype/property-bidi-european-digit (Depends-on,
7393         configure.ac): Likewise.
7394         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
7395         configure.ac): Likewise.
7396         * modules/unictype/property-bidi-left-to-right (Depends-on,
7397         configure.ac): Likewise.
7398         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
7399         configure.ac): Likewise.
7400         * modules/unictype/property-bidi-other-neutral (Depends-on,
7401         configure.ac): Likewise.
7402         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
7403         Likewise.
7404         * modules/unictype/property-bidi-segment-separator (Depends-on,
7405         configure.ac): Likewise.
7406         * modules/unictype/property-bidi-whitespace (Depends-on,
7407         configure.ac): Likewise.
7408         * modules/unictype/property-combining (Depends-on, configure.ac):
7409         Likewise.
7410         * modules/unictype/property-composite (Depends-on, configure.ac):
7411         Likewise.
7412         * modules/unictype/property-currency-symbol (Depends-on,
7413         configure.ac): Likewise.
7414         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
7415         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
7416         Likewise.
7417         * modules/unictype/property-default-ignorable-code-point (Depends-on,
7418         configure.ac): Likewise.
7419         * modules/unictype/property-deprecated (Depends-on, configure.ac):
7420         Likewise.
7421         * modules/unictype/property-diacritic (Depends-on, configure.ac):
7422         Likewise.
7423         * modules/unictype/property-extender (Depends-on, configure.ac):
7424         Likewise.
7425         * modules/unictype/property-format-control (Depends-on, configure.ac):
7426         Likewise.
7427         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
7428         Likewise.
7429         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
7430         Likewise.
7431         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
7432         Likewise.
7433         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
7434         Likewise.
7435         * modules/unictype/property-hyphen (Depends-on, configure.ac):
7436         Likewise.
7437         * modules/unictype/property-id-continue (Depends-on, configure.ac):
7438         Likewise.
7439         * modules/unictype/property-id-start (Depends-on, configure.ac):
7440         Likewise.
7441         * modules/unictype/property-ideographic (Depends-on, configure.ac):
7442         Likewise.
7443         * modules/unictype/property-ids-binary-operator (Depends-on,
7444         configure.ac): Likewise.
7445         * modules/unictype/property-ids-trinary-operator (Depends-on,
7446         configure.ac): Likewise.
7447         * modules/unictype/property-ignorable-control (Depends-on,
7448         configure.ac): Likewise.
7449         * modules/unictype/property-iso-control (Depends-on, configure.ac):
7450         Likewise.
7451         * modules/unictype/property-join-control (Depends-on, configure.ac):
7452         Likewise.
7453         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
7454         Likewise.
7455         * modules/unictype/property-line-separator (Depends-on, configure.ac):
7456         Likewise.
7457         * modules/unictype/property-logical-order-exception (Depends-on,
7458         configure.ac): Likewise.
7459         * modules/unictype/property-lowercase (Depends-on, configure.ac):
7460         Likewise.
7461         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
7462         * modules/unictype/property-non-break (Depends-on, configure.ac):
7463         Likewise.
7464         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
7465         Likewise.
7466         * modules/unictype/property-numeric (Depends-on, configure.ac):
7467         Likewise.
7468         * modules/unictype/property-other-alphabetic (Depends-on,
7469         configure.ac): Likewise.
7470         * modules/unictype/property-other-default-ignorable-code-point
7471         (Depends-on, configure.ac): Likewise.
7472         * modules/unictype/property-other-grapheme-extend (Depends-on,
7473         configure.ac): Likewise.
7474         * modules/unictype/property-other-id-continue (Depends-on,
7475         configure.ac): Likewise.
7476         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
7477         Likewise.
7478         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
7479         Likewise.
7480         * modules/unictype/property-other-math (Depends-on, configure.ac):
7481         Likewise.
7482         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
7483         Likewise.
7484         * modules/unictype/property-paired-punctuation (Depends-on,
7485         configure.ac): Likewise.
7486         * modules/unictype/property-paragraph-separator (Depends-on,
7487         configure.ac): Likewise.
7488         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
7489         Likewise.
7490         * modules/unictype/property-pattern-white-space (Depends-on,
7491         configure.ac): Likewise.
7492         * modules/unictype/property-private-use (Depends-on, configure.ac):
7493         Likewise.
7494         * modules/unictype/property-punctuation (Depends-on, configure.ac):
7495         Likewise.
7496         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
7497         Likewise.
7498         * modules/unictype/property-radical (Depends-on, configure.ac):
7499         Likewise.
7500         * modules/unictype/property-sentence-terminal (Depends-on,
7501         configure.ac): Likewise.
7502         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
7503         Likewise.
7504         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
7505         * modules/unictype/property-terminal-punctuation (Depends-on,
7506         configure.ac): Likewise.
7507         * modules/unictype/property-titlecase (Depends-on, configure.ac):
7508         Likewise.
7509         * modules/unictype/property-unassigned-code-value (Depends-on,
7510         configure.ac): Likewise.
7511         * modules/unictype/property-unified-ideograph (Depends-on,
7512         configure.ac): Likewise.
7513         * modules/unictype/property-uppercase (Depends-on, configure.ac):
7514         Likewise.
7515         * modules/unictype/property-variation-selector (Depends-on,
7516         configure.ac): Likewise.
7517         * modules/unictype/property-white-space (Depends-on, configure.ac):
7518         Likewise.
7519         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
7520         Likewise.
7521         * modules/unictype/property-xid-start (Depends-on, configure.ac):
7522         Likewise.
7523         * modules/unictype/property-zero-width (Depends-on, configure.ac):
7524         Likewise.
7525         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
7526         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
7527         Likewise.
7528
7529 2009-12-31  Bruno Haible  <bruno@clisp.org>
7530
7531         Remove unnecessary AC_C_INLINE invocation.
7532         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
7533         since 2009-08-21.
7534
7535 2009-12-31  Jim Meyering  <meyering@redhat.com>
7536
7537         maint.mk: don't require explicit gpg_key_ID in cfg.mk
7538         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
7539         With this change, we can all remove the gpg_key_ID = ... definition
7540         from our respective cfg.mk files.
7541
7542         maint.mk: create announcement template in ~/, not in /tmp
7543         * top/maint.mk (emit_upload_commands): Adjust.
7544         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
7545         Remove temporary file, .ci-msg.
7546
7547 2009-12-31  Eric Blake  <ebb9@byu.net>
7548
7549         link-warning: always build headers with link warnings
7550         * modules/arpa_inet (Makefile.am): Always build replacement
7551         header.
7552         * modules/ctype (Makefile.am): Likewise.
7553         * modules/dirent (Makefile.am): Likewise.
7554         * modules/inttypes (Makefile.am): Likewise.
7555         * modules/langinfo (Makefile.am): Likewise.
7556         * modules/locale (Makefile.am): Likewise.
7557         * modules/spawn (Makefile.am): Likewise.
7558         * modules/sys_file (Makefile.am): Likewise.
7559         * modules/sys_ioctl (Makefile.am): Likewise.
7560         * modules/sys_select (Makefile.am): Likewise.
7561         * modules/sys_socket (Makefile.am): Likewise.
7562         * modules/sys_times (Makefile.am): Likewise.
7563         * modules/sys_utsname (Makefile.am): Likewise.
7564         * modules/sys_wait (Makefile.am): Likewise.
7565         * modules/wchar (Makefile.am): Likewise.
7566         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
7567         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
7568         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
7569         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
7570         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
7571         Likewise.
7572         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
7573         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7574         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
7575         Likewise.
7576         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
7577         Likewise.
7578         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
7579         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
7580         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
7581         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7582         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7583         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
7584         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
7585         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
7586         (gl_WCHAR_H_DEFAULTS): Likewise.
7587
7588 2009-12-31  Eric Blake  <ebb9@byu.net>
7589
7590         signal, spawn: use link warnings
7591         * lib/signal.in.h (sigset_t): Make unconditional.
7592         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
7593         (sigpending, sigprocmask, sigaction): Add link warnings.
7594         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
7595         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
7596         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
7597         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
7598         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
7599         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
7600         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
7601         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
7602         (posix_spawn_file_actions_destroy)
7603         (posix_spawn_file_actions_addopen)
7604         (posix_spawn_file_actions_addclose)
7605         (posix_spawn_file_actions_adddup2): Likewise.
7606         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
7607         * tests/test-signal.c (main): Enhance test.
7608
7609         spawn: improve wrapper support
7610         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
7611         (gl_SPAWN_H_DEFAULTS): New defaults.
7612         * modules/spawn (Makefile.am): Substitute them.
7613         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
7614         Only declare if missing or broken.
7615
7616         sys_times, sys_utsname: use include_next
7617         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
7618         header.
7619         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
7620         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
7621         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
7622         * modules/sys_times (Depends-on): Add include_next.
7623         (Makefile.am): Substitute additional values.
7624         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
7625         * lib/sys_times.in.h (includes): Include native header, if
7626         available.
7627         * lib/sys_utsname.in.h (includes): Likewise.
7628         * tests/test-sys_times.c (main): Enhance test.
7629
7630         fdutimensat: revert prior patch
7631         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
7632         utimens.h.
7633         Reported by Bruno Haible.
7634
7635 2009-12-30  Eric Blake  <ebb9@byu.net>
7636
7637         sys_wait: drop link-warning dependency
7638         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
7639         link-warning efforts.
7640         * lib/sys_wait.in.h: Likewise.
7641
7642         fdutimensat: remove bogus dependency
7643         * modules/fdutimensat (Depends-on): Drop inline.
7644
7645         unistd: fix typo
7646         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
7647
7648 2009-12-30  Bruno Haible  <bruno@clisp.org>
7649
7650         Fix compilation error with Solaris cc.
7651         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
7652         * lib/unicase/u16-is-invariant.c: Likewise.
7653         * lib/unicase/u32-is-invariant.c: Likewise.
7654         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
7655
7656 2009-12-30  Bruno Haible  <bruno@clisp.org>
7657
7658         Fix test crash.
7659         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
7660         locales.
7661         Reported by Simon Josefsson <simon@josefsson.org>.
7662
7663 2009-12-30  Bruno Haible  <bruno@clisp.org>
7664
7665         Fix compilation error on most platforms.
7666         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
7667         Reported by Simon Josefsson <simon@josefsson.org>
7668         and Nelson H. F. Beebe <beebe@math.utah.edu>.
7669
7670 2009-12-30  Eric Blake  <ebb9@byu.net>
7671
7672         futimens, utimensat: work around ntfs-3g bug
7673         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
7674         a ctime bug is present, and expand workaround to cover ntfs-3g.
7675         * lib/utimens.c (fdutimens, lutimens): Likewise.
7676         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
7677         (validate_timespec): Adjust return value.
7678         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
7679         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7680         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
7681
7682 2009-12-29  Eric Blake  <ebb9@byu.net>
7683
7684         link-warning: make usage consistent
7685         * modules/ctype (Depends-on): Add link-warning.
7686         (Makefile.am): Update rules accordingly.
7687         * modules/langinfo (Depends-on, Makefile.am): Likewise.
7688         * modules/locale (Depends-on, Makefile.am): Likewise.
7689         * modules/sys_file (Makefile.am): Likewise.
7690         * modules/getopt-posix (Makefile.am): Delete unused link warning
7691         efforts.
7692         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
7693         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
7694         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
7695         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
7696
7697         stdio: remove unused variables
7698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
7699         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
7700         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
7701
7702         tests: test more substitute headers
7703         * modules/ctype-tests: New file.
7704         * modules/dirent-tests: Likewise.
7705         * modules/spawn-tests: Likewise.
7706         * modules/sys_file-tests: Likewise.
7707         * modules/sys_ioctl-tests: Likewise.
7708         * modules/sys_wait-tests: Likewise.
7709         * tests/test-ctype.c: Likewise.
7710         * tests/test-dirent.c: Likewise.
7711         * tests/test-spawn.c: Likewise.
7712         * tests/test-sys_file.c: Likewise.
7713         * tests/test-sys_ioctl.c: Likewise.
7714         * tests/test-sys_wait.c: Likewise.
7715         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
7716         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
7717         whether or not flock is in use.
7718
7719         tests: remove License section from module
7720         * modules/arpa_inet-tests: Remove unneeded section.
7721         * modules/byteswap-tests: Likewise.
7722         * modules/ceilf-tests: Likewise.
7723         * modules/ceill-tests: Likewise.
7724         * modules/crypto/des-tests: Likewise.
7725         * modules/crypto/gc-arcfour-tests: Likewise.
7726         * modules/crypto/gc-arctwo-tests: Likewise.
7727         * modules/crypto/gc-des-tests: Likewise.
7728         * modules/crypto/gc-hmac-md5-tests: Likewise.
7729         * modules/crypto/gc-hmac-sha1-tests: Likewise.
7730         * modules/crypto/gc-md2-tests: Likewise.
7731         * modules/crypto/gc-md4-tests: Likewise.
7732         * modules/crypto/gc-md5-tests: Likewise.
7733         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
7734         * modules/crypto/gc-rijndael-tests: Likewise.
7735         * modules/crypto/gc-sha1-tests: Likewise.
7736         * modules/crypto/gc-tests: Likewise.
7737         * modules/crypto/md2-tests: Likewise.
7738         * modules/crypto/md4-tests: Likewise.
7739         * modules/fcntl-h-tests: Likewise.
7740         * modules/floorf-tests: Likewise.
7741         * modules/floorl-tests: Likewise.
7742         * modules/frexp-nolibm-tests: Likewise.
7743         * modules/frexp-tests: Likewise.
7744         * modules/frexpl-nolibm-tests: Likewise.
7745         * modules/frexpl-tests: Likewise.
7746         * modules/getaddrinfo-tests: Likewise.
7747         * modules/inttypes-tests: Likewise.
7748         * modules/isfinite-tests: Likewise.
7749         * modules/isinf-tests: Likewise.
7750         * modules/ldexpl-tests: Likewise.
7751         * modules/locale-tests: Likewise.
7752         * modules/math-tests: Likewise.
7753         * modules/netdb-tests: Likewise.
7754         * modules/netinet_in-tests: Likewise.
7755         * modules/printf-frexp-tests: Likewise.
7756         * modules/printf-frexpl-tests: Likewise.
7757         * modules/priv-set-tests: Likewise.
7758         * modules/random_r-tests: Likewise.
7759         * modules/round-tests: Likewise.
7760         * modules/roundf-tests: Likewise.
7761         * modules/roundl-tests: Likewise.
7762         * modules/search-tests: Likewise.
7763         * modules/select-tests: Likewise.
7764         * modules/signal-tests: Likewise.
7765         * modules/stdbool-tests: Likewise.
7766         * modules/stddef-tests: Likewise.
7767         * modules/stdint-tests: Likewise.
7768         * modules/stdio-tests: Likewise.
7769         * modules/stdlib-tests: Likewise.
7770         * modules/string-tests: Likewise.
7771         * modules/strings-tests: Likewise.
7772         * modules/sys_select-tests: Likewise.
7773         * modules/sys_socket-tests: Likewise.
7774         * modules/sys_stat-tests: Likewise.
7775         * modules/sys_time-tests: Likewise.
7776         * modules/sys_utsname-tests: Likewise.
7777         * modules/sysexits-tests: Likewise.
7778         * modules/time-tests: Likewise.
7779         * modules/trunc-tests: Likewise.
7780         * modules/truncf-tests: Likewise.
7781         * modules/truncl-tests: Likewise.
7782         * modules/tsearch-tests: Likewise.
7783         * modules/unistd-tests: Likewise.
7784         * modules/wchar-tests: Likewise.
7785         * modules/wctype-tests: Likewise.
7786
7787         tests: fix license on several tests
7788         * tests/test-des.c: Update to GPLv3+.
7789         * tests/test-flock.c: Likewise.
7790         * tests/test-fsync.c: Likewise.
7791         * tests/test-futimens.h: Likewise.
7792         * tests/test-gc-arcfour.c: Likewise.
7793         * tests/test-gc-arctwo.c: Likewise.
7794         * tests/test-gc-des.c: Likewise.
7795         * tests/test-gc-hmac-md5.c: Likewise.
7796         * tests/test-gc-hmac-sha1.c: Likewise.
7797         * tests/test-gc-md2.c: Likewise.
7798         * tests/test-gc-md4.c: Likewise.
7799         * tests/test-gc-md5.c: Likewise.
7800         * tests/test-gc-pbkdf2-sha1.c: Likewise.
7801         * tests/test-gc-rijndael.c: Likewise.
7802         * tests/test-gc-sha1.c: Likewise.
7803         * tests/test-gc.c: Likewise.
7804         * tests/test-getcwd.c: Likewise.
7805         * tests/test-link.c: Likewise.
7806         * tests/test-link.h: Likewise.
7807         * tests/test-lutimens.h: Likewise.
7808         * tests/test-md2.c: Likewise.
7809         * tests/test-md4.c: Likewise.
7810         * tests/test-mkdir.h: Likewise.
7811         * tests/test-rename.c: Likewise.
7812         * tests/test-rename.h: Likewise.
7813         * tests/test-safe-alloc.c: Likewise.
7814         * tests/test-utimens-common.h: Likewise.
7815         * tests/test-utimens.h: Likewise.
7816
7817         maint: sync license texts
7818         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
7819         * doc/gpl-3.0.texi: Revert copyright year update.
7820         * doc/lgpl-3.0.texi: Likewise.
7821
7822 2009-12-29  Jim Meyering  <meyering@redhat.com>
7823
7824         update nearly all FSF copyright year lists to include 2009
7825         The files named by the following are exempted:
7826             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
7827               test -f "$dst" && { echo "$dst"; continue; }
7828               test -d "$dst" || continue
7829               echo "$dst"/$(basename "$src")
7830             done > exempt
7831             git ls-files tests/unictype >> exempt
7832         In the remaining files, convert to all-interval notation if
7833         - there is already at least one year interval like 2000-2003
7834         - the file is maintained by me
7835         - the file is in lib/uni*/, where that style already prevails
7836         Otherwise, use update-copyright's default.
7837
7838 2009-12-29  Simon Josefsson  <simon@josefsson.org>
7839         and Eric Blake  <ebb9@byu.net>
7840
7841         tests: don't require debug system() to pass
7842         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
7843         * tests/test-rmdir.h (test_rmdir_func): Likewise.
7844         * tests/test-unlink.h (test_unlink_func): Likewise.
7845         * tests/test-fstatat.c (main): ...into callers.
7846         * tests/test-lstat.c (main): Likewise.
7847         * tests/test-rmdir.c (main): Likewise.
7848         * tests/test-unlink.c (main): Likewise.
7849         * tests/test-unlinkat.c (main): Likewise.
7850         * tests/test-areadlink-with-size.c (main): Don't require a
7851         debug-only system call to pass, aiding cross-testing to mingw.
7852         * tests/test-areadlink.c (main): Likewise.
7853         * tests/test-areadlinkat-with-size.c (main): Likewise.
7854         * tests/test-areadlinkat.c (main): Likewise.
7855         * tests/test-canonicalize-lgpl.c (main): Likewise.
7856         * tests/test-canonicalize.c (main): Likewise.
7857         * tests/test-chown.c (main): Likewise.
7858         * tests/test-fchownat.c (main): Likewise.
7859         * tests/test-lchown.c (main): Likewise.
7860         * tests/test-fdutimensat.c (main): Likewise.
7861         * tests/test-futimens.c (main): Likewise.
7862         * tests/test-link.c (main): Likewise.
7863         * tests/test-linkat.c (main): Likewise.
7864         * tests/test-mkdir.c (main): Likewise.
7865         * tests/test-mkdirat.c (main): Likewise.
7866         * tests/test-mkfifo.c (main): Likewise.
7867         * tests/test-mkfifoat.c (main): Likewise.
7868         * tests/test-mknod.c (main): Likewise.
7869         * tests/test-readlink.c (main): Likewise.
7870         * tests/test-remove.c (main): Likewise.
7871         * tests/test-rename.c (main): Likewise.
7872         * tests/test-renameat.c (main): Likewise.
7873         * tests/test-symlink.c (main): Likewise.
7874         * tests/test-symlinkat.c (main): Likewise.
7875         * tests/test-utimens.c (main): Likewise.
7876         * tests/test-utimensat.c (main): Likewise.
7877
7878 2009-12-29  Simon Josefsson  <simon@josefsson.org>
7879
7880         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
7881         on $(UNUSED_PARAMETER_H) to avoid build failure.
7882
7883 2009-12-28  Jim Meyering  <meyering@redhat.com>
7884
7885         update-copyright: you may specify a max. line length other than 72
7886         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
7887
7888         maint: use consistent FSF copyright line syntax
7889         * lib/posixtm.c: Add missing comma in FSF copyright line.
7890         * lib/posixtm.h: Likewise.
7891         * lib/getugroups.c: Add missing ", Inc.".
7892
7893         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
7894         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
7895         FSF copyright line.  Remove trailing blanks.
7896
7897 2009-12-28  Eric Blake  <ebb9@byu.net>
7898
7899         test-dup2: reduce dependencies
7900         * modules/cloexec (Configure.ac): Set witness.
7901         * modules/dup2-tests (Depends-on): Drop cloexec.
7902         * tests/test-dup2.c (main): Skip portion of test if cloexec module
7903         not present.
7904         Suggested by Bruno Haible.
7905
7906 2009-12-26  Bruno Haible  <bruno@clisp.org>
7907
7908         Remove an unneeded dependency.
7909         * modules/fseterr (Depends-on): Remove dup2.
7910
7911 2009-12-26  Eric Blake  <ebb9@byu.net>
7912
7913         tests: use macros.h in more places
7914         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
7915         (ASSERT_STREAM): Provide default of stderr.
7916         * tests/test-dirent-safer.c: Include macros.h, using alternate
7917         stream for assertions.
7918         * tests/test-dup-safer.c: Likewise.
7919         * tests/test-freopen-safer.c: Likewise.
7920         * tests/test-getopt.c: Likewise.
7921         * tests/test-openat-safer.c: Likewise.
7922         * tests/test-pipe.c: Likewise.
7923         * tests/test-popen-safer.c: Likewise.
7924         * modules/dirent-safer-tests (Files): Include macros.h.
7925         * modules/unistd-safer-tests (Files): Likewise.
7926         * modules/freopen-safer-tests (Files): Likewise.
7927         * modules/getopt-posix-tests (Files): Likewise.
7928         * modules/openat-safer-tests (Files): Likewise.
7929         * modules/pipe-tests (Files): Likewise.
7930
7931 2009-12-26  Bruno Haible  <bruno@clisp.org>
7932
7933         javacomp: Portability fix.
7934         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
7935         that it also works on Solaris.
7936
7937 2009-12-26  Bruno Haible  <bruno@clisp.org>
7938
7939         localename: Fix storage allocation of gl_locale_name_thread's result.
7940         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
7941         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
7942         all platforms that have 'uselocale'.
7943         (gl_locale_name_thread_unsafe): New function, extracted from
7944         gl_locale_name_thread.
7945         (gl_locale_name_thread): Call struniq on all platforms that have
7946         'uselocale'.
7947         * tests/test-localename.c (test_locale_name_thread): Check that the
7948         resulting strings are permanently allocated.
7949         * modules/localename-tests (Depends-on): Add strdup.
7950
7951 2009-12-26  Bruno Haible  <bruno@clisp.org>
7952
7953         * tests/test-localename.c (categories): Fill in the strings.
7954
7955 2009-12-26  Jim Meyering  <meyering@redhat.com>
7956
7957         isdir: complete the removal of m4/isdir.m4
7958         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
7959
7960         isdir: clean up, since at least grep still uses it
7961         * lib/isdir.c: Include "isdir.h".
7962         (S_ISDIR): Remove now-unneeded definition.
7963         * modules/isdir (Files): Add lib/isdir.h.
7964         * lib/isdir.h: New file, with declaration.
7965         * m4/isdir.m4: Remove file -- unneeded.
7966
7967 2009-12-25  Bruno Haible  <bruno@clisp.org>
7968
7969         selinux-h: Make generated .h files standalone.
7970         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
7971         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
7972         * lib/se-selinux.in.h: Likewise.
7973         * modules/selinux-h (Depends-on): Add unused-parameter.
7974         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
7975         selinux/selinux.h and selinux/context.h.
7976         Suggested by Eric Blake.
7977
7978 2009-12-25  Bruno Haible  <bruno@clisp.org>
7979
7980         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
7981         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
7982         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
7983         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
7984         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
7985
7986 2009-12-24  Bruno Haible  <bruno@clisp.org>
7987
7988         openat: Fix warning.
7989         * lib/openat-proc.c: Include <unistd.h>.
7990
7991 2009-12-24  Bruno Haible  <bruno@clisp.org>
7992
7993         New module 'unused-parameter'.
7994         * build-aux/unused-parameter.h: New file, extracted from earlier
7995         gnulib-common.m4.
7996         * modules/unused-parameter: New file.
7997         * lib/unistr.h: Include unused-parameter.h.
7998         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
7999         _GL_UNUSED.
8000         * modules/unistr/base (Depends-on): Add unused-parameter.
8001
8002 2009-12-24  Bruno Haible  <bruno@clisp.org>
8003
8004         Add missing dependencies to 'extensions' module.
8005         * m4/extensions.m4: Add comment.
8006         * modules/accept4 (Depends-on): Add extensions.
8007         * modules/dup3 (Depends-on): Likewise.
8008         * modules/fcntl (Depends-on): Likewise.
8009         * modules/futimens (Depends-on): Likewise.
8010         * modules/mknod (Depends-on): Likewise.
8011         * modules/pipe2 (Depends-on): Likewise.
8012         * modules/stat-time (Depends-on): Likewise.
8013         * modules/strcasestr-simple (Depends-on): Likewise.
8014         * modules/strsignal (Depends-on): Likewise.
8015         * modules/utimensat (Depends-on): Likewise.
8016         * modules/localcharset (Depends-on): Likewise. Needed because of
8017         gl_FCNTL_O_FLAGS.
8018         * modules/wcrtomb (Depends-on): Likewise. Needed because of
8019         AC_TYPE_MBSTATE_T.
8020         * modules/wcsnrtombs (Depends-on): Likewise.
8021         * modules/wcsrtombs (Depends-on): Likewise.
8022
8023 2009-12-24  Bruno Haible  <bruno@clisp.org>
8024
8025         binary-io: Avoid gcc warning due to SET_BINARY.
8026         * lib/binary-io.h (SET_BINARY): Cast the result to void.
8027         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
8028
8029 2009-12-24  Bruno Haible  <bruno@clisp.org>
8030
8031         Avoid future namespace pollution on glibc systems.
8032         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
8033         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
8034         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
8035         glibc systems.
8036
8037 2009-12-24  Bruno Haible  <bruno@clisp.org>
8038
8039         Refactor common macros used in tests.
8040         * tests/macros.h: New file.
8041         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
8042         and/or <stdlib.h>, if appropriate.
8043         (ASSERT, SIZEOF): Remove macros.
8044         * tests/test-areadlink-with-size.c: Likewise.
8045         * tests/test-areadlinkat.c: Likewise.
8046         * tests/test-areadlinkat-with-size.c: Likewise.
8047         * tests/test-argmatch.c: Likewise.
8048         * tests/test-argv-iter.c: Likewise.
8049         * tests/test-array-mergesort.c: Likewise.
8050         * tests/test-array_list.c: Likewise.
8051         * tests/test-array_oset.c: Likewise.
8052         * tests/test-avltree_list.c: Likewise.
8053         * tests/test-avltree_oset.c: Likewise.
8054         * tests/test-avltreehash_list.c: Likewise.
8055         * tests/test-base64.c: Likewise.
8056         * tests/test-binary-io.c: Likewise.
8057         * tests/test-bitrotate.c: Likewise.
8058         * tests/test-btowc.c: Likewise.
8059         * tests/test-byteswap.c: Likewise.
8060         * tests/test-c-ctype.c: Likewise.
8061         * tests/test-c-stack.c: Likewise.
8062         * tests/test-c-strcasecmp.c: Likewise.
8063         * tests/test-c-strcasestr.c: Likewise.
8064         * tests/test-c-strncasecmp.c: Likewise.
8065         * tests/test-c-strstr.c: Likewise.
8066         * tests/test-canonicalize-lgpl.c: Likewise.
8067         * tests/test-canonicalize.c: Likewise.
8068         * tests/test-carray_list.c: Likewise.
8069         * tests/test-ceilf1.c: Likewise.
8070         * tests/test-ceilf2.c: Likewise.
8071         * tests/test-ceill.c: Likewise.
8072         * tests/test-chown.c: Likewise.
8073         * tests/test-cloexec.c: Likewise.
8074         * tests/test-copy-acl.c: Likewise.
8075         * tests/test-copy-file.c: Likewise.
8076         * tests/test-count-one-bits.c: Likewise.
8077         * tests/test-dprintf-posix.c: Likewise.
8078         * tests/test-dup2.c: Likewise.
8079         * tests/test-dup3.c: Likewise.
8080         * tests/test-duplocale.c: Likewise.
8081         * tests/test-fbufmode.c: Likewise.
8082         * tests/test-fchdir.c: Likewise.
8083         * tests/test-fchownat.c: Likewise.
8084         * tests/test-fcntl-safer.c: Likewise.
8085         * tests/test-fcntl.c: Likewise.
8086         * tests/test-fdopendir.c: Likewise.
8087         * tests/test-fdutimensat.c: Likewise.
8088         * tests/test-fflush2.c: Likewise.
8089         * tests/test-file-has-acl.c: Likewise.
8090         * tests/test-filevercmp.c: Likewise.
8091         * tests/test-flock.c: Likewise.
8092         * tests/test-floorf1.c: Likewise.
8093         * tests/test-floorf2.c: Likewise.
8094         * tests/test-floorl.c: Likewise.
8095         * tests/test-fnmatch.c: Likewise.
8096         * tests/test-fopen.h: Likewise.
8097         * tests/test-fpending.c: Likewise.
8098         * tests/test-fprintf-posix.c: Likewise.
8099         * tests/test-fpurge.c: Likewise.
8100         * tests/test-freadable.c: Likewise.
8101         * tests/test-freadahead.c: Likewise.
8102         * tests/test-freading.c: Likewise.
8103         * tests/test-freadptr.c: Likewise.
8104         * tests/test-freadptr2.c: Likewise.
8105         * tests/test-freadseek.c: Likewise.
8106         * tests/test-freopen.c: Likewise.
8107         * tests/test-frexp.c: Likewise.
8108         * tests/test-frexpl.c: Likewise.
8109         * tests/test-fseek.c: Likewise.
8110         * tests/test-fseeko.c: Likewise.
8111         * tests/test-fstatat.c: Likewise.
8112         * tests/test-fstrcmp.c: Likewise.
8113         * tests/test-fsync.c: Likewise.
8114         * tests/test-ftell.c: Likewise.
8115         * tests/test-ftello.c: Likewise.
8116         * tests/test-func.c: Likewise.
8117         * tests/test-futimens.c: Likewise.
8118         * tests/test-fwritable.c: Likewise.
8119         * tests/test-fwriting.c: Likewise.
8120         * tests/test-getcwd.c: Likewise.
8121         * tests/test-getdate.c: Likewise.
8122         * tests/test-getdelim.c: Likewise.
8123         * tests/test-getdtablesize.c: Likewise.
8124         * tests/test-getgroups.c: Likewise.
8125         * tests/test-getline.c: Likewise.
8126         * tests/test-getndelim2.c: Likewise.
8127         * tests/test-glob.c: Likewise.
8128         * tests/test-hash.c: Likewise.
8129         * tests/test-i-ring.c: Likewise.
8130         * tests/test-iconv-utf.c: Likewise.
8131         * tests/test-iconv.c: Likewise.
8132         * tests/test-idpriv-drop.c: Likewise.
8133         * tests/test-idpriv-droptemp.c: Likewise.
8134         * tests/test-inet_ntop.c: Likewise.
8135         * tests/test-inet_pton.c: Likewise.
8136         * tests/test-isblank.c: Likewise.
8137         * tests/test-isfinite.c: Likewise.
8138         * tests/test-isinf.c: Likewise.
8139         * tests/test-isnan.c: Likewise.
8140         * tests/test-isnand.h: Likewise.
8141         * tests/test-isnanf.h: Likewise.
8142         * tests/test-isnanl.h: Likewise.
8143         * tests/test-lchown.c: Likewise.
8144         * tests/test-ldexpl.c: Likewise.
8145         * tests/test-link.c: Likewise.
8146         * tests/test-linkat.c: Likewise.
8147         * tests/test-linked_list.c: Likewise.
8148         * tests/test-linkedhash_list.c: Likewise.
8149         * tests/test-localename.c: Likewise.
8150         * tests/test-lseek.c: Likewise.
8151         * tests/test-lstat.c: Likewise.
8152         * tests/test-mbmemcasecmp.c: Likewise.
8153         * tests/test-mbmemcasecoll.c: Likewise.
8154         * tests/test-mbrtowc.c: Likewise.
8155         * tests/test-mbscasecmp.c: Likewise.
8156         * tests/test-mbscasestr1.c: Likewise.
8157         * tests/test-mbscasestr2.c: Likewise.
8158         * tests/test-mbscasestr3.c: Likewise.
8159         * tests/test-mbscasestr4.c: Likewise.
8160         * tests/test-mbschr.c: Likewise.
8161         * tests/test-mbscspn.c: Likewise.
8162         * tests/test-mbsinit.c: Likewise.
8163         * tests/test-mbsncasecmp.c: Likewise.
8164         * tests/test-mbsnrtowcs.c: Likewise.
8165         * tests/test-mbspbrk.c: Likewise.
8166         * tests/test-mbspcasecmp.c: Likewise.
8167         * tests/test-mbsrchr.c: Likewise.
8168         * tests/test-mbsrtowcs.c: Likewise.
8169         * tests/test-mbsspn.c: Likewise.
8170         * tests/test-mbsstr1.c: Likewise.
8171         * tests/test-mbsstr2.c: Likewise.
8172         * tests/test-mbsstr3.c: Likewise.
8173         * tests/test-memchr.c: Likewise.
8174         * tests/test-memchr2.c: Likewise.
8175         * tests/test-memcmp.c: Likewise.
8176         * tests/test-memmem.c: Likewise.
8177         * tests/test-memrchr.c: Likewise.
8178         * tests/test-mkdir.c: Likewise.
8179         * tests/test-mkdirat.c: Likewise.
8180         * tests/test-mkfifo.c: Likewise.
8181         * tests/test-mkfifoat.c: Likewise.
8182         * tests/test-mknod.c: Likewise.
8183         * tests/test-nanosleep.c: Likewise.
8184         * tests/test-nl_langinfo.c: Likewise.
8185         * tests/test-obstack-printf.c: Likewise.
8186         * tests/test-open.c: Likewise.
8187         * tests/test-openat.c: Likewise.
8188         * tests/test-pipe-filter-gi1.c: Likewise.
8189         * tests/test-pipe-filter-gi2-main.c: Likewise.
8190         * tests/test-pipe-filter-ii1.c: Likewise.
8191         * tests/test-pipe-filter-ii2-main.c: Likewise.
8192         * tests/test-pipe2.c: Likewise.
8193         * tests/test-popen.h: Likewise.
8194         * tests/test-posixtm.c: Likewise.
8195         * tests/test-pread.c: Likewise.
8196         * tests/test-printf-frexp.c: Likewise.
8197         * tests/test-printf-frexpl.c: Likewise.
8198         * tests/test-printf-posix.c: Likewise.
8199         * tests/test-priv-set.c: Likewise.
8200         * tests/test-quotearg.c: Likewise.
8201         * tests/test-random_r.c: Likewise.
8202         * tests/test-rawmemchr.c: Likewise.
8203         * tests/test-rbtree_list.c: Likewise.
8204         * tests/test-rbtree_oset.c: Likewise.
8205         * tests/test-rbtreehash_list.c: Likewise.
8206         * tests/test-readlink.c: Likewise.
8207         * tests/test-remove.c: Likewise.
8208         * tests/test-rename.c: Likewise.
8209         * tests/test-renameat.c: Likewise.
8210         * tests/test-rmdir.c: Likewise.
8211         * tests/test-round1.c: Likewise.
8212         * tests/test-roundf1.c: Likewise.
8213         * tests/test-roundl.c: Likewise.
8214         * tests/test-safe-alloc.c: Likewise.
8215         * tests/test-sameacls.c: Likewise.
8216         * tests/test-set-mode-acl.c: Likewise.
8217         * tests/test-setenv.c: Likewise.
8218         * tests/test-sigaction.c: Likewise.
8219         * tests/test-signbit.c: Likewise.
8220         * tests/test-sleep.c: Likewise.
8221         * tests/test-snprintf-posix.c: Likewise.
8222         * tests/test-snprintf.c: Likewise.
8223         * tests/test-sprintf-posix.c: Likewise.
8224         * tests/test-stat-time.c: Likewise.
8225         * tests/test-stat.c: Likewise.
8226         * tests/test-strcasestr.c: Likewise.
8227         * tests/test-strchrnul.c: Likewise.
8228         * tests/test-strerror.c: Likewise.
8229         * tests/test-striconv.c: Likewise.
8230         * tests/test-striconveh.c: Likewise.
8231         * tests/test-striconveha.c: Likewise.
8232         * tests/test-strsignal.c: Likewise.
8233         * tests/test-strstr.c: Likewise.
8234         * tests/test-strtod.c: Likewise.
8235         * tests/test-strverscmp.c: Likewise.
8236         * tests/test-symlink.c: Likewise.
8237         * tests/test-symlinkat.c: Likewise.
8238         * tests/test-trunc1.c: Likewise.
8239         * tests/test-trunc2.c: Likewise.
8240         * tests/test-truncf1.c: Likewise.
8241         * tests/test-truncf2.c: Likewise.
8242         * tests/test-truncl.c: Likewise.
8243         * tests/test-uname.c: Likewise.
8244         * tests/test-unlink.c: Likewise.
8245         * tests/test-unlinkat.c: Likewise.
8246         * tests/test-unsetenv.c: Likewise.
8247         * tests/test-usleep.c: Likewise.
8248         * tests/test-utimens.c: Likewise.
8249         * tests/test-utimensat.c: Likewise.
8250         * tests/test-vasnprintf-posix.c: Likewise.
8251         * tests/test-vasnprintf-posix2.c: Likewise.
8252         * tests/test-vasnprintf.c: Likewise.
8253         * tests/test-vasprintf-posix.c: Likewise.
8254         * tests/test-vasprintf.c: Likewise.
8255         * tests/test-vdprintf-posix.c: Likewise.
8256         * tests/test-vfprintf-posix.c: Likewise.
8257         * tests/test-vprintf-posix.c: Likewise.
8258         * tests/test-vsnprintf-posix.c: Likewise.
8259         * tests/test-vsnprintf.c: Likewise.
8260         * tests/test-vsprintf-posix.c: Likewise.
8261         * tests/test-wcrtomb.c: Likewise.
8262         * tests/test-wcsnrtombs.c: Likewise.
8263         * tests/test-wcsrtombs.c: Likewise.
8264         * tests/test-wctype.c: Likewise.
8265         * tests/test-wcwidth.c: Likewise.
8266         * tests/test-xfprintf-posix.c: Likewise.
8267         * tests/test-xmemdup0.c: Likewise.
8268         * tests/test-xprintf-posix.c: Likewise.
8269         * tests/test-xvasprintf.c: Likewise.
8270         * tests/unicase/test-locale-language.c: Likewise.
8271         * tests/unicase/test-mapping-part1.h: Likewise.
8272         * tests/unicase/test-predicate-part1.h: Likewise.
8273         * tests/unicase/test-u8-casecmp.c: Likewise.
8274         * tests/unicase/test-u8-casecoll.c: Likewise.
8275         * tests/unicase/test-u8-casefold.c: Likewise.
8276         * tests/unicase/test-u8-is-cased.c: Likewise.
8277         * tests/unicase/test-u8-is-casefolded.c: Likewise.
8278         * tests/unicase/test-u8-is-lowercase.c: Likewise.
8279         * tests/unicase/test-u8-is-titlecase.c: Likewise.
8280         * tests/unicase/test-u8-is-uppercase.c: Likewise.
8281         * tests/unicase/test-u8-tolower.c: Likewise.
8282         * tests/unicase/test-u8-totitle.c: Likewise.
8283         * tests/unicase/test-u8-toupper.c: Likewise.
8284         * tests/unicase/test-u16-casecmp.c: Likewise.
8285         * tests/unicase/test-u16-casecoll.c: Likewise.
8286         * tests/unicase/test-u16-casefold.c: Likewise.
8287         * tests/unicase/test-u16-is-cased.c: Likewise.
8288         * tests/unicase/test-u16-is-casefolded.c: Likewise.
8289         * tests/unicase/test-u16-is-lowercase.c: Likewise.
8290         * tests/unicase/test-u16-is-titlecase.c: Likewise.
8291         * tests/unicase/test-u16-is-uppercase.c: Likewise.
8292         * tests/unicase/test-u16-tolower.c: Likewise.
8293         * tests/unicase/test-u16-totitle.c: Likewise.
8294         * tests/unicase/test-u16-toupper.c: Likewise.
8295         * tests/unicase/test-u32-casecmp.c: Likewise.
8296         * tests/unicase/test-u32-casecoll.c: Likewise.
8297         * tests/unicase/test-u32-casefold.c: Likewise.
8298         * tests/unicase/test-u32-is-cased.c: Likewise.
8299         * tests/unicase/test-u32-is-casefolded.c: Likewise.
8300         * tests/unicase/test-u32-is-lowercase.c: Likewise.
8301         * tests/unicase/test-u32-is-titlecase.c: Likewise.
8302         * tests/unicase/test-u32-is-uppercase.c: Likewise.
8303         * tests/unicase/test-u32-tolower.c: Likewise.
8304         * tests/unicase/test-u32-totitle.c: Likewise.
8305         * tests/unicase/test-u32-toupper.c: Likewise.
8306         * tests/unicase/test-ulc-casecmp.c: Likewise.
8307         * tests/unicase/test-ulc-casecoll.c: Likewise.
8308         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
8309         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
8310         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
8311         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
8312         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
8313         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
8314         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
8315         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
8316         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
8317         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
8318         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
8319         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
8320         * tests/unictype/test-bidi_byname.c: Likewise.
8321         * tests/unictype/test-bidi_name.c: Likewise.
8322         * tests/unictype/test-bidi_of.c: Likewise.
8323         * tests/unictype/test-bidi_test.c: Likewise.
8324         * tests/unictype/test-block_list.c: Likewise.
8325         * tests/unictype/test-block_of.c: Likewise.
8326         * tests/unictype/test-block_test.c: Likewise.
8327         * tests/unictype/test-categ_and.c: Likewise.
8328         * tests/unictype/test-categ_and_not.c: Likewise.
8329         * tests/unictype/test-categ_byname.c: Likewise.
8330         * tests/unictype/test-categ_name.c: Likewise.
8331         * tests/unictype/test-categ_none.c: Likewise.
8332         * tests/unictype/test-categ_of.c: Likewise.
8333         * tests/unictype/test-categ_or.c: Likewise.
8334         * tests/unictype/test-categ_test_withtable.c: Likewise.
8335         * tests/unictype/test-combining.c: Likewise.
8336         * tests/unictype/test-decdigit.c: Likewise.
8337         * tests/unictype/test-digit.c: Likewise.
8338         * tests/unictype/test-mirror.c: Likewise.
8339         * tests/unictype/test-numeric.c: Likewise.
8340         * tests/unictype/test-pr_byname.c: Likewise.
8341         * tests/unictype/test-pr_test.c: Likewise.
8342         * tests/unictype/test-predicate-part1.h: Likewise.
8343         * tests/unictype/test-scripts.c: Likewise.
8344         * tests/unictype/test-sy_c_ident.c: Likewise.
8345         * tests/unictype/test-sy_java_ident.c: Likewise.
8346         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
8347         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
8348         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
8349         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
8350         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
8351         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
8352         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
8353         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
8354         * tests/uninorm/test-canonical-decomposition.c: Likewise.
8355         * tests/uninorm/test-compat-decomposition.c: Likewise.
8356         * tests/uninorm/test-composition.c: Likewise.
8357         * tests/uninorm/test-decomposing-form.c: Likewise.
8358         * tests/uninorm/test-decomposition.c: Likewise.
8359         * tests/uninorm/test-u8-nfc.c: Likewise.
8360         * tests/uninorm/test-u8-nfd.c: Likewise.
8361         * tests/uninorm/test-u8-nfkc.c: Likewise.
8362         * tests/uninorm/test-u8-nfkd.c: Likewise.
8363         * tests/uninorm/test-u8-normcmp.c: Likewise.
8364         * tests/uninorm/test-u8-normcoll.c: Likewise.
8365         * tests/uninorm/test-u16-nfc.c: Likewise.
8366         * tests/uninorm/test-u16-nfd.c: Likewise.
8367         * tests/uninorm/test-u16-nfkc.c: Likewise.
8368         * tests/uninorm/test-u16-nfkd.c: Likewise.
8369         * tests/uninorm/test-u16-normcmp.c: Likewise.
8370         * tests/uninorm/test-u16-normcoll.c: Likewise.
8371         * tests/uninorm/test-u32-nfc.c: Likewise.
8372         * tests/uninorm/test-u32-nfd.c: Likewise.
8373         * tests/uninorm/test-u32-nfkc.c: Likewise.
8374         * tests/uninorm/test-u32-nfkd.c: Likewise.
8375         * tests/uninorm/test-u32-normalize-big.c: Likewise.
8376         * tests/uninorm/test-u32-normcmp.c: Likewise.
8377         * tests/uninorm/test-u32-normcoll.c: Likewise.
8378         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
8379         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
8380         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
8381         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
8382         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
8383         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
8384         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
8385         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
8386         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
8387         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
8388         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
8389         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
8390         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
8391         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
8392         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
8393         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
8394         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
8395         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
8396         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
8397         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
8398         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
8399         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
8400         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
8401         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
8402         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
8403         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
8404         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
8405         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
8406         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
8407         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
8408         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
8409         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
8410         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
8411         * tests/uniwidth/test-u8-strwidth.c: Likewise.
8412         * tests/uniwidth/test-u8-width.c: Likewise.
8413         * tests/uniwidth/test-u16-strwidth.c: Likewise.
8414         * tests/uniwidth/test-u16-width.c: Likewise.
8415         * tests/uniwidth/test-u32-strwidth.c: Likewise.
8416         * tests/uniwidth/test-u32-width.c: Likewise.
8417         * tests/uniwidth/test-uc_width.c: Likewise.
8418         * tests/uniwidth/test-uc_width2.c: Likewise.
8419         * modules/acl-tests (Files): Add tests/macros.h.
8420         * modules/areadlink-tests (Files): Likewise.
8421         * modules/areadlink-with-size-tests (Files): Likewise.
8422         * modules/areadlinkat-tests (Files): Likewise.
8423         * modules/areadlinkat-with-size-tests (Files): Likewise.
8424         * modules/argmatch-tests (Files): Likewise.
8425         * modules/argv-iter-tests (Files): Likewise.
8426         * modules/array-list-tests (Files): Likewise.
8427         * modules/array-mergesort-tests (Files): Likewise.
8428         * modules/array-oset-tests (Files): Likewise.
8429         * modules/avltree-list-tests (Files): Likewise.
8430         * modules/avltree-oset-tests (Files): Likewise.
8431         * modules/avltreehash-list-tests (Files): Likewise.
8432         * modules/base64-tests (Files): Likewise.
8433         * modules/binary-io-tests (Files): Likewise.
8434         * modules/bitrotate-tests (Files): Likewise.
8435         * modules/btowc-tests (Files): Likewise.
8436         * modules/byteswap-tests (Files): Likewise.
8437         * modules/c-ctype-tests (Files): Likewise.
8438         * modules/c-stack-tests (Files): Likewise.
8439         * modules/c-strcase-tests (Files): Likewise.
8440         * modules/c-strcasestr-tests (Files): Likewise.
8441         * modules/c-strstr-tests (Files): Likewise.
8442         * modules/canonicalize-lgpl-tests (Files): Likewise.
8443         * modules/canonicalize-tests (Files): Likewise.
8444         * modules/carray-list-tests (Files): Likewise.
8445         * modules/ceilf-tests (Files): Likewise.
8446         * modules/ceill-tests (Files): Likewise.
8447         * modules/chown-tests (Files): Likewise.
8448         * modules/cloexec-tests (Files): Likewise.
8449         * modules/copy-file-tests (Files): Likewise.
8450         * modules/count-one-bits-tests (Files): Likewise.
8451         * modules/dprintf-posix-tests (Files): Likewise.
8452         * modules/dup2-tests (Files): Likewise.
8453         * modules/dup3-tests (Files): Likewise.
8454         * modules/duplocale-tests (Files): Likewise.
8455         * modules/fbufmode-tests (Files): Likewise.
8456         * modules/fchdir-tests (Files): Likewise.
8457         * modules/fcntl-safer-tests (Files): Likewise.
8458         * modules/fcntl-tests (Files): Likewise.
8459         * modules/fdopendir-tests (Files): Likewise.
8460         * modules/fdutimensat-tests (Files): Likewise.
8461         * modules/fflush-tests (Files): Likewise.
8462         * modules/filevercmp-tests (Files): Likewise.
8463         * modules/flock-tests (Files): Likewise.
8464         * modules/floorf-tests (Files): Likewise.
8465         * modules/floorl-tests (Files): Likewise.
8466         * modules/fnmatch-tests (Files): Likewise.
8467         * modules/fopen-safer-tests (Files): Likewise.
8468         * modules/fopen-tests (Files): Likewise.
8469         * modules/fpending-tests (Files): Likewise.
8470         * modules/fprintf-posix-tests (Files): Likewise.
8471         * modules/fpurge-tests (Files): Likewise.
8472         * modules/freadable-tests (Files): Likewise.
8473         * modules/freadahead-tests (Files): Likewise.
8474         * modules/freading-tests (Files): Likewise.
8475         * modules/freadptr-tests (Files): Likewise.
8476         * modules/freadseek-tests (Files): Likewise.
8477         * modules/freopen-tests (Files): Likewise.
8478         * modules/frexp-nolibm-tests (Files): Likewise.
8479         * modules/frexp-tests (Files): Likewise.
8480         * modules/frexpl-nolibm-tests (Files): Likewise.
8481         * modules/frexpl-tests (Files): Likewise.
8482         * modules/fseek-tests (Files): Likewise.
8483         * modules/fseeko-tests (Files): Likewise.
8484         * modules/fstrcmp-tests (Files): Likewise.
8485         * modules/fsync-tests (Files): Likewise.
8486         * modules/ftell-tests (Files): Likewise.
8487         * modules/ftello-tests (Files): Likewise.
8488         * modules/func-tests (Files): Likewise.
8489         * modules/futimens-tests (Files): Likewise.
8490         * modules/fwritable-tests (Files): Likewise.
8491         * modules/fwriting-tests (Files): Likewise.
8492         * modules/getcwd-tests (Files): Likewise.
8493         * modules/getdate-tests (Files): Likewise.
8494         * modules/getdelim-tests (Files): Likewise.
8495         * modules/getdtablesize-tests (Files): Likewise.
8496         * modules/getgroups-tests (Files): Likewise.
8497         * modules/getline-tests (Files): Likewise.
8498         * modules/getndelim2-tests (Files): Likewise.
8499         * modules/glob-tests (Files): Likewise.
8500         * modules/hash-tests (Files): Likewise.
8501         * modules/i-ring-tests (Files): Likewise.
8502         * modules/iconv-tests (Files): Likewise.
8503         * modules/iconv_open-utf-tests (Files): Likewise.
8504         * modules/idpriv-drop-tests (Files): Likewise.
8505         * modules/idpriv-droptemp-tests (Files): Likewise.
8506         * modules/inet_ntop-tests (Files): Likewise.
8507         * modules/inet_pton-tests (Files): Likewise.
8508         * modules/isblank-tests (Files): Likewise.
8509         * modules/isfinite-tests (Files): Likewise.
8510         * modules/isinf-tests (Files): Likewise.
8511         * modules/isnan-tests (Files): Likewise.
8512         * modules/isnand-nolibm-tests (Files): Likewise.
8513         * modules/isnand-tests (Files): Likewise.
8514         * modules/isnanf-nolibm-tests (Files): Likewise.
8515         * modules/isnanf-tests (Files): Likewise.
8516         * modules/isnanl-nolibm-tests (Files): Likewise.
8517         * modules/isnanl-tests (Files): Likewise.
8518         * modules/lchown-tests (Files): Likewise.
8519         * modules/ldexpl-tests (Files): Likewise.
8520         * modules/link-tests (Files): Likewise.
8521         * modules/linkat-tests (Files): Likewise.
8522         * modules/linked-list-tests (Files): Likewise.
8523         * modules/linkedhash-list-tests (Files): Likewise.
8524         * modules/localename-tests (Files): Likewise.
8525         * modules/lseek-tests (Files): Likewise.
8526         * modules/lstat-tests (Files): Likewise.
8527         * modules/mbmemcasecmp-tests (Files): Likewise.
8528         * modules/mbmemcasecoll-tests (Files): Likewise.
8529         * modules/mbrtowc-tests (Files): Likewise.
8530         * modules/mbscasecmp-tests (Files): Likewise.
8531         * modules/mbscasestr-tests (Files): Likewise.
8532         * modules/mbschr-tests (Files): Likewise.
8533         * modules/mbscspn-tests (Files): Likewise.
8534         * modules/mbsinit-tests (Files): Likewise.
8535         * modules/mbsncasecmp-tests (Files): Likewise.
8536         * modules/mbsnrtowcs-tests (Files): Likewise.
8537         * modules/mbspbrk-tests (Files): Likewise.
8538         * modules/mbspcasecmp-tests (Files): Likewise.
8539         * modules/mbsrchr-tests (Files): Likewise.
8540         * modules/mbsrtowcs-tests (Files): Likewise.
8541         * modules/mbsspn-tests (Files): Likewise.
8542         * modules/mbsstr-tests (Files): Likewise.
8543         * modules/memchr-tests (Files): Likewise.
8544         * modules/memchr2-tests (Files): Likewise.
8545         * modules/memcmp-tests (Files): Likewise.
8546         * modules/memmem-tests (Files): Likewise.
8547         * modules/memrchr-tests (Files): Likewise.
8548         * modules/mkdir-tests (Files): Likewise.
8549         * modules/mkfifo-tests (Files): Likewise.
8550         * modules/mkfifoat-tests (Files): Likewise.
8551         * modules/mknod-tests (Files): Likewise.
8552         * modules/nanosleep-tests (Files): Likewise.
8553         * modules/nl_langinfo-tests (Files): Likewise.
8554         * modules/obstack-printf-tests (Files): Likewise.
8555         * modules/open-tests (Files): Likewise.
8556         * modules/openat-tests (Files): Likewise.
8557         * modules/pipe-filter-gi-tests (Files): Likewise.
8558         * modules/pipe-filter-ii-tests (Files): Likewise.
8559         * modules/pipe2-tests (Files): Likewise.
8560         * modules/popen-safer-tests (Files): Likewise.
8561         * modules/popen-tests (Files): Likewise.
8562         * modules/posixtm-tests (Files): Likewise.
8563         * modules/pread-tests (Files): Likewise.
8564         * modules/printf-frexp-tests (Files): Likewise.
8565         * modules/printf-frexpl-tests (Files): Likewise.
8566         * modules/printf-posix-tests (Files): Likewise.
8567         * modules/priv-set-tests (Files): Likewise.
8568         * modules/quotearg-tests (Files): Likewise.
8569         * modules/random_r-tests (Files): Likewise.
8570         * modules/rawmemchr-tests (Files): Likewise.
8571         * modules/rbtree-list-tests (Files): Likewise.
8572         * modules/rbtree-oset-tests (Files): Likewise.
8573         * modules/rbtreehash-list-tests (Files): Likewise.
8574         * modules/readlink-tests (Files): Likewise.
8575         * modules/remove-tests (Files): Likewise.
8576         * modules/rename-tests (Files): Likewise.
8577         * modules/renameat-tests (Files): Likewise.
8578         * modules/rmdir-tests (Files): Likewise.
8579         * modules/round-tests (Files): Likewise.
8580         * modules/roundf-tests (Files): Likewise.
8581         * modules/roundl-tests (Files): Likewise.
8582         * modules/safe-alloc-tests (Files): Likewise.
8583         * modules/setenv-tests (Files): Likewise.
8584         * modules/sigaction-tests (Files): Likewise.
8585         * modules/signbit-tests (Files): Likewise.
8586         * modules/sleep-tests (Files): Likewise.
8587         * modules/snprintf-posix-tests (Files): Likewise.
8588         * modules/snprintf-tests (Files): Likewise.
8589         * modules/sprintf-posix-tests (Files): Likewise.
8590         * modules/stat-tests (Files): Likewise.
8591         * modules/stat-time-tests (Files): Likewise.
8592         * modules/strcasestr-tests (Files): Likewise.
8593         * modules/strchrnul-tests (Files): Likewise.
8594         * modules/strerror-tests (Files): Likewise.
8595         * modules/striconv-tests (Files): Likewise.
8596         * modules/striconveh-tests (Files): Likewise.
8597         * modules/striconveha-tests (Files): Likewise.
8598         * modules/strsignal-tests (Files): Likewise.
8599         * modules/strstr-tests (Files): Likewise.
8600         * modules/strtod-tests (Files): Likewise.
8601         * modules/strverscmp-tests (Files): Likewise.
8602         * modules/symlink-tests (Files): Likewise.
8603         * modules/symlinkat-tests (Files): Likewise.
8604         * modules/trunc-tests (Files): Likewise.
8605         * modules/truncf-tests (Files): Likewise.
8606         * modules/truncl-tests (Files): Likewise.
8607         * modules/uname-tests (Files): Likewise.
8608         * modules/unicase/cased-tests (Files): Likewise.
8609         * modules/unicase/ignorable-tests (Files): Likewise.
8610         * modules/unicase/locale-language-tests (Files): Likewise.
8611         * modules/unicase/tolower-tests (Files): Likewise.
8612         * modules/unicase/totitle-tests (Files): Likewise.
8613         * modules/unicase/toupper-tests (Files): Likewise.
8614         * modules/unicase/u8-casecmp-tests (Files): Likewise.
8615         * modules/unicase/u8-casecoll-tests (Files): Likewise.
8616         * modules/unicase/u8-casefold-tests (Files): Likewise.
8617         * modules/unicase/u8-is-cased-tests (Files): Likewise.
8618         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
8619         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
8620         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
8621         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
8622         * modules/unicase/u8-tolower-tests (Files): Likewise.
8623         * modules/unicase/u8-totitle-tests (Files): Likewise.
8624         * modules/unicase/u8-toupper-tests (Files): Likewise.
8625         * modules/unicase/u16-casecmp-tests (Files): Likewise.
8626         * modules/unicase/u16-casecoll-tests (Files): Likewise.
8627         * modules/unicase/u16-casefold-tests (Files): Likewise.
8628         * modules/unicase/u16-is-cased-tests (Files): Likewise.
8629         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
8630         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
8631         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
8632         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
8633         * modules/unicase/u16-tolower-tests (Files): Likewise.
8634         * modules/unicase/u16-totitle-tests (Files): Likewise.
8635         * modules/unicase/u16-toupper-tests (Files): Likewise.
8636         * modules/unicase/u32-casecmp-tests (Files): Likewise.
8637         * modules/unicase/u32-casecoll-tests (Files): Likewise.
8638         * modules/unicase/u32-casefold-tests (Files): Likewise.
8639         * modules/unicase/u32-is-cased-tests (Files): Likewise.
8640         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
8641         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
8642         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
8643         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
8644         * modules/unicase/u32-tolower-tests (Files): Likewise.
8645         * modules/unicase/u32-totitle-tests (Files): Likewise.
8646         * modules/unicase/u32-toupper-tests (Files): Likewise.
8647         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
8648         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
8649         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
8650         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
8651         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
8652         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
8653         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
8654         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
8655         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
8656         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
8657         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
8658         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
8659         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
8660         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
8661         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
8662         * modules/unictype/bidicategory-name-tests (Files): Likewise.
8663         * modules/unictype/bidicategory-of-tests (Files): Likewise.
8664         * modules/unictype/bidicategory-test-tests (Files): Likewise.
8665         * modules/unictype/block-list-tests (Files): Likewise.
8666         * modules/unictype/block-of-tests (Files): Likewise.
8667         * modules/unictype/block-test-tests (Files): Likewise.
8668         * modules/unictype/category-C-tests (Files): Likewise.
8669         * modules/unictype/category-Cc-tests (Files): Likewise.
8670         * modules/unictype/category-Cf-tests (Files): Likewise.
8671         * modules/unictype/category-Cn-tests (Files): Likewise.
8672         * modules/unictype/category-Co-tests (Files): Likewise.
8673         * modules/unictype/category-Cs-tests (Files): Likewise.
8674         * modules/unictype/category-L-tests (Files): Likewise.
8675         * modules/unictype/category-Ll-tests (Files): Likewise.
8676         * modules/unictype/category-Lm-tests (Files): Likewise.
8677         * modules/unictype/category-Lo-tests (Files): Likewise.
8678         * modules/unictype/category-Lt-tests (Files): Likewise.
8679         * modules/unictype/category-Lu-tests (Files): Likewise.
8680         * modules/unictype/category-M-tests (Files): Likewise.
8681         * modules/unictype/category-Mc-tests (Files): Likewise.
8682         * modules/unictype/category-Me-tests (Files): Likewise.
8683         * modules/unictype/category-Mn-tests (Files): Likewise.
8684         * modules/unictype/category-N-tests (Files): Likewise.
8685         * modules/unictype/category-Nd-tests (Files): Likewise.
8686         * modules/unictype/category-Nl-tests (Files): Likewise.
8687         * modules/unictype/category-No-tests (Files): Likewise.
8688         * modules/unictype/category-P-tests (Files): Likewise.
8689         * modules/unictype/category-Pc-tests (Files): Likewise.
8690         * modules/unictype/category-Pd-tests (Files): Likewise.
8691         * modules/unictype/category-Pe-tests (Files): Likewise.
8692         * modules/unictype/category-Pf-tests (Files): Likewise.
8693         * modules/unictype/category-Pi-tests (Files): Likewise.
8694         * modules/unictype/category-Po-tests (Files): Likewise.
8695         * modules/unictype/category-Ps-tests (Files): Likewise.
8696         * modules/unictype/category-S-tests (Files): Likewise.
8697         * modules/unictype/category-Sc-tests (Files): Likewise.
8698         * modules/unictype/category-Sk-tests (Files): Likewise.
8699         * modules/unictype/category-Sm-tests (Files): Likewise.
8700         * modules/unictype/category-So-tests (Files): Likewise.
8701         * modules/unictype/category-Z-tests (Files): Likewise.
8702         * modules/unictype/category-Zl-tests (Files): Likewise.
8703         * modules/unictype/category-Zp-tests (Files): Likewise.
8704         * modules/unictype/category-Zs-tests (Files): Likewise.
8705         * modules/unictype/category-and-not-tests (Files): Likewise.
8706         * modules/unictype/category-and-tests (Files): Likewise.
8707         * modules/unictype/category-byname-tests (Files): Likewise.
8708         * modules/unictype/category-name-tests (Files): Likewise.
8709         * modules/unictype/category-none-tests (Files): Likewise.
8710         * modules/unictype/category-of-tests (Files): Likewise.
8711         * modules/unictype/category-or-tests (Files): Likewise.
8712         * modules/unictype/category-test-withtable-tests (Files): Likewise.
8713         * modules/unictype/combining-class-tests (Files): Likewise.
8714         * modules/unictype/ctype-alnum-tests (Files): Likewise.
8715         * modules/unictype/ctype-alpha-tests (Files): Likewise.
8716         * modules/unictype/ctype-blank-tests (Files): Likewise.
8717         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
8718         * modules/unictype/ctype-digit-tests (Files): Likewise.
8719         * modules/unictype/ctype-graph-tests (Files): Likewise.
8720         * modules/unictype/ctype-lower-tests (Files): Likewise.
8721         * modules/unictype/ctype-print-tests (Files): Likewise.
8722         * modules/unictype/ctype-punct-tests (Files): Likewise.
8723         * modules/unictype/ctype-space-tests (Files): Likewise.
8724         * modules/unictype/ctype-upper-tests (Files): Likewise.
8725         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
8726         * modules/unictype/decimal-digit-tests (Files): Likewise.
8727         * modules/unictype/digit-tests (Files): Likewise.
8728         * modules/unictype/mirror-tests (Files): Likewise.
8729         * modules/unictype/numeric-tests (Files): Likewise.
8730         * modules/unictype/property-alphabetic-tests (Files): Likewise.
8731         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
8732         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
8733         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
8734         Likewise.
8735         * modules/unictype/property-bidi-block-separator-tests (Files):
8736         Likewise.
8737         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
8738         Likewise.
8739         * modules/unictype/property-bidi-common-separator-tests (Files):
8740         Likewise.
8741         * modules/unictype/property-bidi-control-tests (Files): Likewise.
8742         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
8743         Likewise.
8744         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
8745         Likewise.
8746         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
8747         Likewise.
8748         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
8749         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
8750         Likewise.
8751         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
8752         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
8753         Likewise.
8754         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
8755         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
8756         * modules/unictype/property-bidi-segment-separator-tests (Files):
8757         Likewise.
8758         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
8759         * modules/unictype/property-byname-tests (Files): Likewise.
8760         * modules/unictype/property-combining-tests (Files): Likewise.
8761         * modules/unictype/property-composite-tests (Files): Likewise.
8762         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
8763         * modules/unictype/property-dash-tests (Files): Likewise.
8764         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
8765         * modules/unictype/property-default-ignorable-code-point-tests (Files):
8766         Likewise.
8767         * modules/unictype/property-deprecated-tests (Files): Likewise.
8768         * modules/unictype/property-diacritic-tests (Files): Likewise.
8769         * modules/unictype/property-extender-tests (Files): Likewise.
8770         * modules/unictype/property-format-control-tests (Files): Likewise.
8771         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
8772         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
8773         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
8774         * modules/unictype/property-hex-digit-tests (Files): Likewise.
8775         * modules/unictype/property-hyphen-tests (Files): Likewise.
8776         * modules/unictype/property-id-continue-tests (Files): Likewise.
8777         * modules/unictype/property-id-start-tests (Files): Likewise.
8778         * modules/unictype/property-ideographic-tests (Files): Likewise.
8779         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
8780         * modules/unictype/property-ids-trinary-operator-tests (Files):
8781         Likewise.
8782         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
8783         * modules/unictype/property-iso-control-tests (Files): Likewise.
8784         * modules/unictype/property-join-control-tests (Files): Likewise.
8785         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
8786         * modules/unictype/property-line-separator-tests (Files): Likewise.
8787         * modules/unictype/property-logical-order-exception-tests (Files):
8788         Likewise.
8789         * modules/unictype/property-lowercase-tests (Files): Likewise.
8790         * modules/unictype/property-math-tests (Files): Likewise.
8791         * modules/unictype/property-non-break-tests (Files): Likewise.
8792         * modules/unictype/property-not-a-character-tests (Files): Likewise.
8793         * modules/unictype/property-numeric-tests (Files): Likewise.
8794         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
8795         * modules/unictype/property-other-default-ignorable-code-point-tests
8796         (Files): Likewise.
8797         * modules/unictype/property-other-grapheme-extend-tests (Files):
8798         Likewise.
8799         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
8800         * modules/unictype/property-other-id-start-tests (Files): Likewise.
8801         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
8802         * modules/unictype/property-other-math-tests (Files): Likewise.
8803         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
8804         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
8805         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
8806         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
8807         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
8808         * modules/unictype/property-private-use-tests (Files): Likewise.
8809         * modules/unictype/property-punctuation-tests (Files): Likewise.
8810         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
8811         * modules/unictype/property-radical-tests (Files): Likewise.
8812         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
8813         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
8814         * modules/unictype/property-space-tests (Files): Likewise.
8815         * modules/unictype/property-terminal-punctuation-tests (Files):
8816         Likewise.
8817         * modules/unictype/property-test-tests (Files): Likewise.
8818         * modules/unictype/property-titlecase-tests (Files): Likewise.
8819         * modules/unictype/property-unassigned-code-value-tests (Files):
8820         Likewise.
8821         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
8822         * modules/unictype/property-uppercase-tests (Files): Likewise.
8823         * modules/unictype/property-variation-selector-tests (Files): Likewise.
8824         * modules/unictype/property-white-space-tests (Files): Likewise.
8825         * modules/unictype/property-xid-continue-tests (Files): Likewise.
8826         * modules/unictype/property-xid-start-tests (Files): Likewise.
8827         * modules/unictype/property-zero-width-tests (Files): Likewise.
8828         * modules/unictype/scripts-tests (Files): Likewise.
8829         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
8830         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
8831         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
8832         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
8833         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
8834         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
8835         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
8836         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
8837         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
8838         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
8839         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
8840         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
8841         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
8842         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
8843         * modules/uninorm/composition-tests (Files): Likewise.
8844         * modules/uninorm/decomposing-form-tests (Files): Likewise.
8845         * modules/uninorm/decomposition-tests (Files): Likewise.
8846         * modules/uninorm/filter-tests (Files): Likewise.
8847         * modules/uninorm/nfc-tests (Files): Likewise.
8848         * modules/uninorm/nfd-tests (Files): Likewise.
8849         * modules/uninorm/nfkc-tests (Files): Likewise.
8850         * modules/uninorm/nfkd-tests (Files): Likewise.
8851         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
8852         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
8853         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
8854         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
8855         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
8856         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
8857         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
8858         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
8859         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
8860         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
8861         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
8862         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
8863         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
8864         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
8865         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
8866         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
8867         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
8868         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
8869         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
8870         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
8871         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
8872         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
8873         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
8874         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
8875         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
8876         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
8877         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
8878         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
8879         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
8880         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
8881         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
8882         * modules/uniwidth/u8-width-tests (Files): Likewise.
8883         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
8884         * modules/uniwidth/u16-width-tests (Files): Likewise.
8885         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
8886         * modules/uniwidth/u32-width-tests (Files): Likewise.
8887         * modules/uniwidth/width-tests (Files): Likewise.
8888         * modules/unlink-tests (Files): Likewise.
8889         * modules/unsetenv-tests (Files): Likewise.
8890         * modules/usleep-tests (Files): Likewise.
8891         * modules/utimens-tests (Files): Likewise.
8892         * modules/utimensat-tests (Files): Likewise.
8893         * modules/vasnprintf-posix-tests (Files): Likewise.
8894         * modules/vasnprintf-tests (Files): Likewise.
8895         * modules/vasprintf-posix-tests (Files): Likewise.
8896         * modules/vasprintf-tests (Files): Likewise.
8897         * modules/vdprintf-posix-tests (Files): Likewise.
8898         * modules/vfprintf-posix-tests (Files): Likewise.
8899         * modules/vprintf-posix-tests (Files): Likewise.
8900         * modules/vsnprintf-posix-tests (Files): Likewise.
8901         * modules/vsnprintf-tests (Files): Likewise.
8902         * modules/vsprintf-posix-tests (Files): Likewise.
8903         * modules/wcrtomb-tests (Files): Likewise.
8904         * modules/wcsnrtombs-tests (Files): Likewise.
8905         * modules/wcsrtombs-tests (Files): Likewise.
8906         * modules/wctype-tests (Files): Likewise.
8907         * modules/wcwidth-tests (Files): Likewise.
8908         * modules/xmemdup0-tests (Files): Likewise.
8909         * modules/xprintf-posix-tests (Files): Likewise.
8910         * modules/xvasprintf-tests (Files): Likewise.
8911
8912 2009-12-24  Eric Blake  <ebb9@byu.net>
8913
8914         test-nanosleep: fix typo
8915         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
8916         patch.
8917         Reported by Bruno Haible.
8918
8919 2009-12-24  Bruno Haible  <bruno@clisp.org>
8920
8921         Reduce namespace pollution on glibc systems.
8922         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
8923         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
8924         systems.
8925         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
8926         <getopt.h> on glibc systems.
8927         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
8928         systems.
8929         * lib/fcntl.c: Include <unistd.h> here instead.
8930
8931 2009-12-24  Bruno Haible  <bruno@clisp.org>
8932
8933         * lib/stdlib.in.h (includes): Fix typo in today's commit.
8934
8935 2009-12-24  Eric Blake  <ebb9@byu.net>
8936
8937         tests: add signature checks
8938         * tests/signature.h (SIGNATURE_CHECK): New file.
8939         * modules/atexit-tests (Files): Use it.
8940         * modules/btowc-tests (Files): Likewise.
8941         * modules/canonicalize-lgpl-tests (Files): Likewise.
8942         * modules/ceilf-tests (Files): Likewise.
8943         * modules/ceill-tests (Files): Likewise.
8944         * modules/chown-tests (Files): Likewise.
8945         * modules/dprintf-posix-tests (Files): Likewise.
8946         * modules/dup2-tests (Files): Likewise.
8947         * modules/dup3-tests (Files): Likewise.
8948         * modules/duplocale-tests (Files): Likewise.
8949         * modules/fchdir-tests (Files): Likewise.
8950         * modules/fcntl-tests (Files): Likewise.
8951         * modules/fdopendir-tests (Files): Likewise.
8952         * modules/fflush-tests (Files): Likewise.
8953         * modules/flock-tests (Files): Likewise.
8954         * modules/floorf-tests (Files): Likewise.
8955         * modules/floorl-tests (Files): Likewise.
8956         * modules/fnmatch-tests (Files): Likewise.
8957         * modules/fopen-tests (Files): Likewise.
8958         * modules/fprintf-posix-tests (Files): Likewise.
8959         * modules/freopen-tests (Files): Likewise.
8960         * modules/frexp-nolibm-tests (Files): Likewise.
8961         * modules/frexp-tests (Files): Likewise.
8962         * modules/frexpl-nolibm-tests (Files): Likewise.
8963         * modules/frexpl-tests (Files): Likewise.
8964         * modules/fseek-tests (Files): Likewise.
8965         * modules/fseeko-tests (Files): Likewise.
8966         * modules/fsync-tests (Files): Likewise.
8967         * modules/ftell-tests (Files): Likewise.
8968         * modules/ftello-tests (Files): Likewise.
8969         * modules/futimens-tests (Files): Likewise.
8970         * modules/getaddrinfo-tests (Files): Likewise.
8971         * modules/getcwd-tests (Files): Likewise.
8972         * modules/getdelim-tests (Files): Likewise.
8973         * modules/getdtablesize-tests (Files): Likewise.
8974         * modules/getgroups-tests (Files): Likewise.
8975         * modules/gethostname-tests (Files): Likewise.
8976         * modules/getline-tests (Files): Likewise.
8977         * modules/getopt-posix-tests (Files): Likewise.
8978         * modules/gettimeofday-tests (Files): Likewise.
8979         * modules/glob-tests (Files): Likewise.
8980         * modules/iconv-tests (Files): Likewise.
8981         * modules/inet_ntop-tests (Files): Likewise.
8982         * modules/inet_pton-tests (Files): Likewise.
8983         * modules/isblank-tests (Files): Likewise.
8984         * modules/lchown-tests (Files): Likewise.
8985         * modules/ldexpl-tests (Files): Likewise.
8986         * modules/link-tests (Files): Likewise.
8987         * modules/linkat-tests (Files): Likewise.
8988         * modules/lseek-tests (Files): Likewise.
8989         * modules/lstat-tests (Files): Likewise.
8990         * modules/mbrtowc-tests (Files): Likewise.
8991         * modules/mbsinit-tests (Files): Likewise.
8992         * modules/mbsnrtowcs-tests (Files): Likewise.
8993         * modules/mbsrtowcs-tests (Files): Likewise.
8994         * modules/memchr-tests (Files): Likewise.
8995         * modules/memcmp-tests (Files): Likewise.
8996         * modules/memmem-tests (Files): Likewise.
8997         * modules/memrchr-tests (Files): Likewise.
8998         * modules/mkdir-tests (Files): Likewise.
8999         * modules/mkfifo-tests (Files): Likewise.
9000         * modules/mkfifoat-tests (Files): Likewise.
9001         * modules/mknod-tests (Files): Likewise.
9002         * modules/nanosleep-tests (Files): Likewise.
9003         * modules/nl_langinfo-tests (Files): Likewise.
9004         * modules/obstack-printf-tests (Files): Likewise.
9005         * modules/open-tests (Files): Likewise.
9006         * modules/openat-tests (Files): Likewise.
9007         * modules/perror-tests (Files): Likewise.
9008         * modules/pipe2-tests (Files): Likewise.
9009         * modules/poll-tests (Files): Likewise.
9010         * modules/popen-tests (Files): Likewise.
9011         * modules/posix_spawn-tests (Files): Likewise.
9012         * modules/posix_spawnp-tests (Files): Likewise.
9013         * modules/pread-tests (Files): Likewise.
9014         * modules/printf-posix-tests (Files): Likewise.
9015         * modules/pty-tests (Files): Likewise.
9016         * modules/random_r-tests (Files): Likewise.
9017         * modules/rawmemchr-tests (Files): Likewise.
9018         * modules/readlink-tests (Files): Likewise.
9019         * modules/remove-tests (Files): Likewise.
9020         * modules/rename-tests (Files): Likewise.
9021         * modules/renameat-tests (Files): Likewise.
9022         * modules/rmdir-tests (Files): Likewise.
9023         * modules/round-tests (Files): Likewise.
9024         * modules/roundf-tests (Files): Likewise.
9025         * modules/roundl-tests (Files): Likewise.
9026         * modules/select-tests (Files): Likewise.
9027         * modules/setenv-tests (Files): Likewise.
9028         * modules/sigaction-tests (Files): Likewise.
9029         * modules/sleep-tests (Files): Likewise.
9030         * modules/snprintf-posix-tests (Files): Likewise.
9031         * modules/snprintf-tests (Files): Likewise.
9032         * modules/sprintf-posix-tests (Files): Likewise.
9033         * modules/stat-tests (Files): Likewise.
9034         * modules/strcasestr-tests (Files): Likewise.
9035         * modules/strchrnul-tests (Files): Likewise.
9036         * modules/strerror-tests (Files): Likewise.
9037         * modules/strsignal-tests (Files): Likewise.
9038         * modules/strstr-tests (Files): Likewise.
9039         * modules/strtod-tests (Files): Likewise.
9040         * modules/strverscmp-tests (Files): Likewise.
9041         * modules/symlink-tests (Files): Likewise.
9042         * modules/symlinkat-tests (Files): Likewise.
9043         * modules/times-tests (Files): Likewise.
9044         * modules/trunc-tests (Files): Likewise.
9045         * modules/truncf-tests (Files): Likewise.
9046         * modules/truncl-tests (Files): Likewise.
9047         * modules/tsearch-tests (Files): Likewise.
9048         * modules/uname-tests (Files): Likewise.
9049         * modules/unlink-tests (Files): Likewise.
9050         * modules/unsetenv-tests (Files): Likewise.
9051         * modules/usleep-tests (Files): Likewise.
9052         * modules/utimensat-tests (Files): Likewise.
9053         * modules/vasprintf-tests (Files): Likewise.
9054         * modules/vdprintf-posix-tests (Files): Likewise.
9055         * modules/vfprintf-posix-tests (Files): Likewise.
9056         * modules/vprintf-posix-tests (Files): Likewise.
9057         * modules/vsnprintf-posix-tests (Files): Likewise.
9058         * modules/vsnprintf-tests (Files): Likewise.
9059         * modules/vsprintf-posix-tests (Files): Likewise.
9060         * modules/wcrtomb-tests (Files): Likewise.
9061         * modules/wcsnrtombs-tests (Files): Likewise.
9062         * modules/wcsrtombs-tests (Files): Likewise.
9063         * modules/wcwidth-tests (Files): Likewise.
9064         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
9065         * tests/test-isinf.c (isinf): Likewise.
9066         * tests/test-isnan.c (isnan): Likewise.
9067         * tests/test-signbit.c (signbit): Likewise.
9068         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
9069         declaration, either as macro or with correct signature.
9070         (select): Ensure function under test is declared with correct
9071         signature in correct header.
9072         * tests/test-atexit.c (atexit): Likewise.
9073         * tests/test-btowc.c (btowc): Likewise.
9074         * tests/test-canonicalize-lgpl.c (realpath)
9075         (canonicalize_file_name): Likewise.
9076         * tests/test-ceilf1.c (ceilf): Likewise.
9077         * tests/test-ceill.c (ceill): Likewise.
9078         * tests/test-chown.c (chown): Likewise.
9079         * tests/test-dprintf-posix.c (dprintf): Likewise.
9080         * tests/test-dup2.c (dup2): Likewise.
9081         * tests/test-dup3.c (dup3): Likewise.
9082         * tests/test-duplocale.c (duplocale): Likewise.
9083         * tests/test-fchdir.c (fchdir): Likewise.
9084         * tests/test-fchownat.c (fchownat): Likewise.
9085         * tests/test-fcntl.c (fcntl): Likewise.
9086         * tests/test-fdopendir.c (fdopendir): Likewise.
9087         * tests/test-fflush.c (fflush): Likewise.
9088         * tests/test-flock.c (flock): Likewise.
9089         * tests/test-floorf1.c (floorf): Likewise.
9090         * tests/test-floorl.c (floorl): Likewise.
9091         * tests/test-fnmatch.c (fnmatch): Likewise.
9092         * tests/test-fopen.c (fopen): Likewise.
9093         * tests/test-fprintf-posix.c (fprintf): Likewise.
9094         * tests/test-freopen.c (freopen): Likewise.
9095         * tests/test-frexp.c (frexp): Likewise.
9096         * tests/test-frexpl.c (frexpl): Likewise.
9097         * tests/test-fseek.c (fseek): Likewise.
9098         * tests/test-fseeko.c (fseeko): Likewise.
9099         * tests/test-fstatat.c (fstatat): Likewise.
9100         * tests/test-fsync.c (fsync): Likewise.
9101         * tests/test-ftell.c (ftell): Likewise.
9102         * tests/test-ftello.c (ftello): Likewise.
9103         * tests/test-futimens.c (futimens): Likewise.
9104         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
9105         (gai_strerror): Likewise.
9106         * tests/test-getcwd.c (getcwd): Likewise.
9107         * tests/test-getdelim.c (getdelim): Likewise.
9108         * tests/test-getdtablesize.c (getdtablesize): Likewise.
9109         * tests/test-getgroups.c (getgroups): Likewise.
9110         * tests/test-gethostname.c (gethostname): Likewise.
9111         * tests/test-getline.c (getline): Likewise.
9112         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
9113         Likewise.
9114         * tests/test-gettimeofday.c (gettimeofday): Likewise.
9115         * tests/test-glob.c (glob, globfree): Likewise.
9116         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
9117         * tests/test-inet_ntop.c (inet_ntop): Likewise.
9118         * tests/test-inet_pton.c (inet_pton): Likewise.
9119         * tests/test-isblank.c (isblank): Likewise.
9120         * tests/test-lchown.c (lchown): Likewise.
9121         * tests/test-ldexpl.c (ldexpl): Likewise.
9122         * tests/test-link.c (link): Likewise.
9123         * tests/test-linkat.c (linkat): Likewise.
9124         * tests/test-lseek.c (lseek): Likewise.
9125         * tests/test-lstat.c (lstat): Likewise.
9126         * tests/test-mbrtowc.c (mbrtowc): Likewise.
9127         * tests/test-mbsinit.c (mbsinit): Likewise.
9128         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
9129         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
9130         * tests/test-memchr.c (memchr): Likewise.
9131         * tests/test-memcmp.c (memcmp): Likewise.
9132         * tests/test-memmem.c (memmem): Likewise.
9133         * tests/test-memrchr.c (memrchr): Likewise.
9134         * tests/test-mkdir.c (mkdir): Likewise.
9135         * tests/test-mkdirat.c (mkdirat): Likewise.
9136         * tests/test-mkfifo.c (mkfifo): Likewise.
9137         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
9138         * tests/test-mknod.c (mknod): Likewise.
9139         * tests/test-nanosleep.c (nanosleep): Likewise.
9140         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
9141         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
9142         Likewise.
9143         * tests/test-open.c (open): Likewise.
9144         * tests/test-openat.c (openat): Likewise.
9145         * tests/test-perror.c (perror): Likewise.
9146         * tests/test-pipe2.c (pipe2): Likewise.
9147         * tests/test-poll.c (poll): Likewise.
9148         * tests/test-popen.c (popen, pclose): Likewise.
9149         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
9150         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
9151         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
9152         (posix_spawn_file_actions_destroy)
9153         (posix_spawn_file_actions_addclose)
9154         (posix_spawn_file_actions_addopen)
9155         (posix_spawn_file_actions_adddup2): Likewise.
9156         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
9157         * tests/test-pread.c (pread): Likewise.
9158         * tests/test-printf-posix.c (printf): Likewise.
9159         * tests/test-pty.c (openpty, forkpty): Likewise.
9160         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
9161         (random_r): Likewise.
9162         * tests/test-rawmemchr.c (rawmemchr): Likewise.
9163         * tests/test-readlink.c (readlink): Likewise.
9164         * tests/test-remove.c (remove): Likewise.
9165         * tests/test-rename.c (rename): Likewise.
9166         * tests/test-renameat.c (renameat): Likewise.
9167         * tests/test-rmdir.c (rmdir): Likewise.
9168         * tests/test-round1.c (round): Likewise.
9169         * tests/test-roundf1.c (roundf): Likewise.
9170         * tests/test-roundl.c (roundl): Likewise.
9171         * tests/test-setenv.c (setenv): Likewise.
9172         * tests/test-sigaction.c (sigaction): Likewise.
9173         * tests/test-sleep.c (sleep): Likewise.
9174         * tests/test-snprintf.c (snprintf): Likewise.
9175         * tests/test-sprintf-posix.c (sprintf): Likewise.
9176         * tests/test-stat.c (stat): Likewise.
9177         * tests/test-stpncpy.c (stpncpy): Likewise.
9178         * tests/test-strcasestr.c (strcasestr): Likewise.
9179         * tests/test-strchrnul.c (strchrnul): Likewise.
9180         * tests/test-strerror.c (strerror): Likewise.
9181         * tests/test-strsignal.c (strsignal): Likewise.
9182         * tests/test-strstr.c (strstr): Likewise.
9183         * tests/test-strtod.c (strtod): Likewise.
9184         * tests/test-strverscmp.c (strverscmp): Likewise.
9185         * tests/test-symlink.c (symlink): Likewise.
9186         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
9187         * tests/test-times.c (times): Likewise.
9188         * tests/test-trunc1.c (trunc): Likewise.
9189         * tests/test-truncf1.c (truncf): Likewise.
9190         * tests/test-truncl.c (truncl): Likewise.
9191         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
9192         Likewise.
9193         * tests/test-uname.c (uname): Likewise.
9194         * tests/test-unlink.c (unlink): Likewise.
9195         * tests/test-unlinkat.c (unlinkat): Likewise.
9196         * tests/test-unsetenv.c (unsetenv): Likewise.
9197         * tests/test-usleep.c (usleep): Likewise.
9198         * tests/test-utimensat.c (utimensat): Likewise.
9199         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
9200         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
9201         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
9202         * tests/test-vprintf-posix.c (vprintf): Likewise.
9203         * tests/test-vsnprintf.c (vsnprintf): Likewise.
9204         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
9205         * tests/test-wcrtomb.c (wcrtomb): Likewise.
9206         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
9207         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
9208         * tests/test-wcwidth.c (wcwidth): Likewise.
9209
9210         build: pull in conditional headers during GNULIB_POSIXCHECK
9211         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
9212         definitions from any conditionally-included headers.
9213         * lib/stdlib.in.h (includes): Likewise.
9214         * lib/unistd.in.h (includes): Likewise.
9215
9216 2009-12-24  Bruno Haible  <bruno@clisp.org>
9217
9218         * tests/test-argv-iter.c: Include header file being tested immediately
9219         after config.h.
9220         * tests/test-base64.c: Likewise.
9221         * tests/test-flock.c: Likewise.
9222         * tests/test-fsync.c: Likewise.
9223         * tests/test-getdate.c: Likewise.
9224         * tests/test-getndelim2.c: Likewise.
9225         * tests/test-isfinite.c: Likewise.
9226         * tests/test-isinf.c: Likewise.
9227         * tests/test-strerror.c: Likewise.
9228         * tests/test-strsignal.c: Likewise.
9229
9230 2009-12-23  Eric Blake  <ebb9@byu.net>
9231
9232         unistd: work around cygwin bug
9233         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
9234         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
9235         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
9236
9237 2009-12-23  Bruno Haible  <bruno@clisp.org>
9238
9239         localename: More tests.
9240         * tests/test-localename.c (SIZEOF): New macro.
9241         (categories): New variable.
9242         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
9243         test_locale_name_default): Add test w.r.t. thread locale.
9244         (test_locale_name_thread): New function.
9245         (main): Invoke it.
9246
9247         localename: Make aware of thread locale.
9248         * lib/localename.h (gl_locale_name_thread): New declaration.
9249         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
9250         behaviour with respect to thread locale.
9251         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
9252         <langinfo.h>, glthread/lock.h.
9253         (SIZE_BITS): New macro.
9254         (string_hash): New function.
9255         (struct hash_node): New type.
9256         (HASH_TABLE_SIZE): New macro.
9257         (struniq_hash_table, struniq_lock): New variables.
9258         (struniq): New function.
9259         (gl_locale_name_thread): New function.
9260         (gl_locale_name): Invoke it.
9261         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
9262         * modules/localename (Depends-on): Add lock.
9263         Reported by Mike Gran <spk121@yahoo.com>.
9264
9265 2009-12-23  Eric Blake  <ebb9@byu.net>
9266
9267         va-args: new module
9268         * modules/va-args: New file.
9269         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
9270         * MODULES.html.sh (Core language properties): Mention it.
9271
9272         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
9273         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
9274         named alias for __attribute__((__unused__)).
9275         * lib/chown.c: Update client.
9276         * lib/fchmodat.c: Likewise.
9277         * lib/fts.c: Likewise.
9278         * lib/getdate.y: Likewise.
9279         * lib/getgroups.c: Likewise.
9280         * lib/getopt.c: Likewise.
9281         * lib/getugroups.c: Likewise.
9282         * lib/mkdir.c: Likewise.
9283         * lib/mkfifo.c: Likewise.
9284         * lib/mkfifoat.c: Likewise.
9285         * lib/mknod.c: Likewise.
9286         * lib/mknodat.c: Likewise.
9287         * lib/readlink.c: Likewise.
9288         * lib/se-context.in.h: Likewise.
9289         * lib/se-selinux.in.h: Likewise.
9290         * lib/sockets.c: Likewise.
9291         * lib/symlink.c: Likewise.
9292         * lib/symlinkat.c: Likewise.
9293         * lib/unicodeio.c: Likewise.
9294         * lib/unistr.h: Likewise.
9295         * tests/test-areadlink.c: Likewise.
9296         * tests/test-areadlinkat.c: Likewise.
9297         * tests/test-filenamecat.c: Likewise.
9298         * tests/test-fseeko.c: Likewise.
9299         * tests/test-ftello.c: Likewise.
9300         * tests/test-getdate.c: Likewise.
9301         * tests/test-getgroups.c: Likewise.
9302         * tests/test-gethostname.c: Likewise.
9303         * tests/test-quotearg.c: Likewise.
9304         * tests/test-version-etc.c: Likewise.
9305         * tests/test-xalloc-die.c: Likewise.
9306         * tests/test-xfprintf-posix.c: Likewise.
9307         * tests/test-xprintf-posix.c: Likewise.
9308         * tests/test-xvasprintf.c: Likewise.
9309
9310         tests: avoid compiler warnings
9311         * tests/test-fcntl.c (main): Delete unused parameters.
9312         * tests/test-freopen-safer.c (main): Likewise.
9313         * tests/test-xalloc-die.c (main): Mark unused parameters.
9314         * tests/test-fseeko.c (main): Likewise.
9315         * tests/test-ftello.c (main): Likewise.
9316         * tests/test-nanosleep.c (main): Avoid declaration warning.
9317         * tests/test-sleep.c (main): Likewise.
9318         * tests/test-unsetenv.c (main): Silence warning about string
9319         literal.
9320         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9321
9322 2009-12-23  Bruno Haible  <bruno@clisp.org>
9323
9324         * tests/test-localename.c (test_locale_name): New function, extracted
9325         from main. Also test mixed situations.
9326         (test_locale_name_posix, test_locale_name_environ,
9327         test_locale_name_default): New functions.
9328         (main): Invoke them all.
9329         * modules/localename-tests (configure.ac): Test for newlocale.
9330
9331 2009-12-23  Bruno Haible  <bruno@clisp.org>
9332
9333         unistd: Ensure getcwd gets declared before being overridden.
9334         * lib/unistd.in.h: Conditionally include <io.h>.
9335
9336 2009-12-22  Bruno Haible  <bruno@clisp.org>
9337
9338         wchar: Diagnose broken combination of glibc and gcc versions and flags.
9339         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
9340         (gl_WCHAR_H): Invoke it.
9341         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
9342         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
9343         Reported by Karl Berry <karl@freefriends.org>.
9344
9345 2009-12-22  Eric Blake  <ebb9@byu.net>
9346
9347         math, unistd: avoid redundant includes
9348         * lib/math.in.h (isnan): No need to re-include <math.h>.
9349         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
9350
9351         getsubopt: work around cygwin bug
9352         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
9353         avoid conflicting with system getsubopt.
9354         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
9355         bug.
9356
9357         getopt: synchronize from glibc
9358         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
9359         parameter order.  Adjust all callers.
9360         (_getopt_internal_r, main): Adjust quoting in error messages.
9361         Drop considerations for outdated POSIX 1003.2 error message.
9362         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
9363         callers.
9364         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
9365
9366         test-getopt: test stderr behavior
9367         * modules/getopt-posix-tests (Depends-on): Add dup2.
9368         * tests/test-getopt.c (ASSERT): Avoid stderr.
9369         (main): Move stderr to a temporary file.
9370         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
9371         Instead, add parameter to inform caller if output occurred.
9372         (test_getopt): Adjust all existing tests to expect silence, and
9373         add new tests of leading ":".
9374         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9375         glibc shortcomings with leading "-:" or "+:" in optstring.
9376         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9377         Likewise.
9378         * doc/posix-functions/getopt.texi (getopt): Likewise.
9379
9380         test-getopt: enhance test
9381         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
9382         supports optind=0.
9383         * tests/test-getopt.c (OPTIND_MIN): Move...
9384         * tests/test-getopt.h (OPTIND_MIN): ...here.
9385         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
9386         Require that optind=0 works, since modern BSD supports it in
9387         addition to optreset, and since coreutils expects it.
9388         (test_getopt_long_only): New test.
9389         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9390         glibc shortcomings with 'W;', and enforcement of optind=0.
9391         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9392         Likewise.
9393
9394 2009-12-21  Bruno Haible  <bruno@clisp.org>
9395
9396         localename: Improvements for MacOS X and Cygwin.
9397         * lib/localename.h (gl_locale_name_environ): New declaration.
9398         * lib/localename.c (gl_locale_name_environ): New function, extracted from
9399         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
9400         (gl_locale_name_posix): Invoke it.
9401         (gl_locale_name_default): Add comments. Use Windows native API also on
9402         Cygwin.
9403
9404 2009-12-21  Bruno Haible  <bruno@clisp.org>
9405
9406         Update list of Win32 locale ids.
9407         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
9408         (LANG_SAMI): Renamed from LANG_SAAMI.
9409         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
9410         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
9411         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
9412         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
9413         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
9414         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
9415         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
9416         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
9417         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
9418         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
9419         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
9420         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
9421         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
9422         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
9423         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
9424         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
9425         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
9426         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
9427         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
9428         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
9429         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
9430         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
9431         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
9432         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
9433         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
9434         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
9435         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
9436         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
9437         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
9438         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
9439         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
9440         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
9441         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
9442         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
9443         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
9444         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
9445         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
9446         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
9447         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
9448         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
9449         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
9450         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
9451         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
9452         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
9453         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
9454         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
9455         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
9456         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
9457         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
9458         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
9459         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
9460         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
9461         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
9462         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
9463         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
9464         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
9465         Add more languages and countries for Sami, Sorbian. Add more countries
9466         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
9467         for Pashto. Change country for Syriac, Tswana.
9468
9469 2009-12-21  Eric Blake  <ebb9@byu.net>
9470
9471         test-utimens: avoid spurious failure
9472         * tests/test-chown.h (nap): Factor...
9473         * tests/nap.h: ...into new file.
9474         * tests/test-lchown.h (nap): Avoid duplication.
9475         * tests/test-utimens-common.h (nap): Use shared implementation,
9476         necessary on file systems with 1-second resolution.
9477         * modules/chown-tests (Files): Include new file.
9478         * modules/fdutimensat-tests (Files): Likewise.
9479         * modules/futimens-tests (Files): Likewise.
9480         * modules/lchown-tests (Files): Likewise.
9481         * modules/openat-tests (Files): Likewise.
9482         * modules/utimens-tests (Files): Likewise.
9483         * modules/utimensat-tests (Files): Likewise.
9484
9485 2009-12-19  Eric Blake  <ebb9@byu.net>
9486
9487         futimens, utimensat: work around Linux bug
9488         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
9489         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9490         * lib/utimensat.c (rpl_utimensat): Work around it.
9491         * lib/futimens.c (rpl_futimens): Adjust comment.
9492
9493         utimens: work around Linux ctime bug
9494         * lib/utimens.c (detect_ctime_bug): New helper function.
9495         (update_timespec): Differentiate between workaround needed for
9496         this bug vs. what is needed for systems that lack utimensat.
9497         (fdutimens, lutimens): Work around bug.
9498
9499         utimens: check for ctime update
9500         * tests/test-utimens-common.h (check_ctime): Define.
9501         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
9502         * tests/test-futimens.h (test_futimens): Likewise.
9503         * tests/test-lutimens.h (test_lutimens): Likewise.
9504         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9505         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9506
9507 2009-12-19  Bruno Haible  <bruno@clisp.org>
9508
9509         dprintf-posix: Check against memory leak fixed on 2009-12-15.
9510         * tests/test-dprintf-posix2.sh: New file.
9511         * tests/test-dprintf-posix2.c: New file.
9512         * modules/dprintf-posix-tests (Files): Add them.
9513         (configure.ac): Check for getrlimit and setrlimit.
9514         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
9515
9516 2009-12-19  Bruno Haible  <bruno@clisp.org>
9517
9518         fprintf-posix: Check against memory leak fixed on 2009-12-15.
9519         * tests/test-fprintf-posix3.sh: New file.
9520         * tests/test-fprintf-posix3.c: New file.
9521         * modules/fprintf-posix-tests (Files): Add them.
9522         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
9523
9524 2009-12-19  Eric Blake  <ebb9@byu.net>
9525
9526         dirfd: fix prototype
9527         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
9528         * lib/dirfd.c (dirfd): Likewise.
9529
9530         canonicalize: reduce memory usage
9531         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
9532         allocation to size.
9533         Reported by Solar Designer <solar@openwall.com>.
9534
9535 2009-12-19  Bruno Haible  <bruno@clisp.org>
9536
9537         New module attribute 'Applicability'.
9538         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
9539         * gnulib-tool: New option --extract-applicability.
9540         (func_usage): Document it.
9541         (sed_extract_prog): Recognize it.
9542         (func_get_applicability): New function.
9543         (func_import): Generalize handling of 'link-warning' module.
9544         * modules/link-warning (Applicability): New section.
9545         * modules/arg-nonnull (Applicability): New section.
9546         Repoted by Simon Josefsson <simon@josefsson.org>.
9547
9548 2009-12-19  Bruno Haible  <bruno@clisp.org>
9549
9550         fflush: tweak
9551         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
9552         * lib/fseeko.c (rpl_fseeko): Likewise.
9553
9554 2009-12-16  JosĂ© E. Marchesi  <jemarch@gnu.org>  (tiny change)
9555
9556         * lib/gl_list.h: Fix typo in comment.
9557
9558 2009-12-16  Eric Blake  <ebb9@byu.net>
9559
9560         fcntl: use to simplify other modules
9561         * modules/cloexec (Depends-on): Add fcntl.
9562         * modules/fchdir (Depends-on): Likewise.
9563         * modules/fd-safer-flag (Depends-on): Likewise.
9564         * modules/unistd-safer (Depends-on): Likewise.
9565         * modules/dup3 (configure.ac): Set module indicator.
9566         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
9567         missing.
9568         * lib/fchdir.c (_gl_register_dup): Fix comment.
9569         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
9570         * lib/dup-safer.c (dup_safer): Likewise.
9571         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
9572         * lib/dup3.c (dup3): Likewise.
9573         * tests/test-fchdir.c (main): Enhance test.
9574         Fixes a dup_cloexec bug reported by OndÅ™ej VaÅ¡Ă­k.
9575
9576         fcntl: port portions of fcntl to mingw
9577         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
9578         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
9579         replacement for mingw.
9580         * modules/fcntl (Description): Update.
9581         (Depends-on): Add dup2.
9582         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
9583         * modules/fcntl-h (Makefile.am): Substitute it.
9584         * lib/fcntl.in.h (fcntl): Update declaration.
9585         (F_DUPFD, F_GETFD): New macros, when needed.
9586         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
9587         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
9588         * tests/test-fcntl.c (check_flags, main): Enhance test for items
9589         we now guarantee.
9590
9591         fcntl: work around cygwin bug in F_DUPFD
9592         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
9593         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
9594         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
9595         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
9596         * doc/posix-functions/fcntl.texi (fcntl): Document it.
9597
9598         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
9599         * modules/fcntl (Files): List new files.
9600         (configure.ac): Run a test.
9601         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
9602         * lib/fcntl.c (rpl_fcntl): Likewise.
9603         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
9604         (gl_FCNTL_H): Always replace fcntl.h.
9605         * modules/fcntl-h (Makefile.am): Substitute witnesses.
9606         * lib/fcntl.in.h (fcntl): Declare replacement.
9607         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
9608         needed, plus a witness.
9609         * doc/posix-functions/fcntl.texi (fcntl): Document this.
9610         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
9611         * tests/test-fcntl.c: New file.
9612         * modules/fcntl-tests: Likewise.
9613
9614         binary-io: avoid potential compilation warning
9615         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
9616         directives.
9617
9618         fflush: avoid compilation error on NetBSD
9619         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
9620         between off_t and fpos_t, since the latter is sometimes a struct.
9621         * lib/fseeko.c (rpl_fseeko): Likewise.
9622         Reported by Alexander Nasonov <alnsn@yandex.ru>.
9623
9624 2009-12-15  Eric Blake  <ebb9@byu.net>
9625
9626         fcntl-h, stdio, sys_ioctl: fix declarations
9627         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
9628         function must not take arguments.
9629         * lib/sys_ioctl.in.h (ioctl): Likewise.
9630         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
9631         (open): Add a link warning.
9632
9633 2009-12-15  Jim Meyering  <meyering@redhat.com>
9634
9635         areadlink, areadlink-with-size: relax license to LGPLv2+
9636         * modules/areadlink (License): Relax to LGPLv2+.
9637         * modules/areadlink-with-size (License): Likewise.
9638
9639 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
9640             Bruno Haible  <bruno@clisp.org>
9641
9642         *printf: Fix memory leak.
9643         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
9644         * lib/vfprintf.c (vfprintf): Likewise.
9645         * lib/dprintf.c (dprintf): Likewise.
9646         * lib/vdprintf.c (vdprintf): Likewise.
9647
9648 2009-12-14  Eric Blake  <ebb9@byu.net>
9649
9650         accept4: adjust module dependencies
9651         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
9652
9653         utimens: one more try at avoiding compiler warning
9654         * lib/utimens.c (lutimens): Lower scope of result.
9655
9656 2009-12-13  Bruno Haible  <bruno@clisp.org>
9657
9658         Move the malloc checking from module 'list' to new module 'xlist'.
9659         * modules/xlist: New file.
9660         * lib/gl_xlist.h: New file.
9661         * lib/gl_xlist.c: New file.
9662         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
9663         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
9664         gl_list_add_last, gl_list_add_before, gl_list_add_after,
9665         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
9666         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
9667         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
9668         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
9669         gl_sortedlist_nx_add): New declarations.
9670         (struct gl_list_implementation): Rename and change methods accordingly.
9671         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
9672         (gl_list_nx_create): Renamed from gl_list_create.
9673         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
9674         (gl_list_nx_set_at): Renamed from gl_list_set_at.
9675         (gl_list_nx_add_first): Renamed from gl_list_add_first.
9676         (gl_list_nx_add_last): Renamed from gl_list_add_last.
9677         (gl_list_nx_add_before): Renamed from gl_list_add_before.
9678         (gl_list_nx_add_after): Renamed from gl_list_add_after.
9679         (gl_list_nx_add_at): Renamed from gl_list_add_at.
9680         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
9681         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
9682         gl_list_create_empty.
9683         (gl_list_nx_create): Renamed from gl_list_create.
9684         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
9685         (gl_list_nx_set_at): Renamed from gl_list_set_at.
9686         (gl_list_nx_add_first): Renamed from gl_list_add_first.
9687         (gl_list_nx_add_last): Renamed from gl_list_add_last.
9688         (gl_list_nx_add_before): Renamed from gl_list_add_before.
9689         (gl_list_nx_add_after): Renamed from gl_list_add_after.
9690         (gl_list_nx_add_at): Renamed from gl_list_add_at.
9691         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
9692         * lib/gl_array_list.c: Don't include xalloc.h.
9693         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
9694         NULL upon out-of-memory.
9695         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
9696         out-of-memory.
9697         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
9698         Change return type to 'int'.
9699         (gl_array_nx_set_at): Renamed from gl_array_set_at.
9700         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
9701         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
9702         upon out-of-memory.
9703         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
9704         upon out-of-memory.
9705         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
9706         upon out-of-memory.
9707         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
9708         upon out-of-memory.
9709         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
9710         out-of-memory.
9711         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
9712         Update.
9713         (gl_array_list_implementation): Update.
9714         * lib/gl_carray_list.c: Don't include xalloc.h.
9715         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
9716         Return NULL upon out-of-memory.
9717         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
9718         out-of-memory.
9719         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
9720         Change return type to 'int'.
9721         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
9722         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
9723         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
9724         upon out-of-memory.
9725         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
9726         upon out-of-memory.
9727         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
9728         out-of-memory.
9729         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
9730         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
9731         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
9732         Update.
9733         (gl_carray_list_implementation): Update.
9734         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
9735         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
9736         gl_linked_create_empty. Return NULL upon out-of-memory.
9737         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
9738         out-of-memory.
9739         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
9740         Change return type to 'int'. Return -1 upon out-of-memory.
9741         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
9742         out-of-memory.
9743         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
9744         upon out-of-memory.
9745         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
9746         upon out-of-memory.
9747         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
9748         NULL upon out-of-memory.
9749         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
9750         upon out-of-memory.
9751         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
9752         out-of-memory.
9753         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
9754         Update.
9755         * lib/gl_linked_list.c: Don't include xalloc.h.
9756         (gl_linked_list_implementation): Update.
9757         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
9758         (add_to_bucket): Change return type to 'int'.
9759         (gl_linkedhash_list_implementation): Update.
9760         * lib/gl_anytree_list1.h (free_subtree): New function.
9761         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
9762         gl_tree_create_empty. Return NULL upon out-of-memory.
9763         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
9764         Change return type to 'int'. Return -1 upon out-of-memory.
9765         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
9766         out-of-memory.
9767         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
9768         (gl_tree_remove_node): New function, moved here from
9769         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
9770         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
9771         Update.
9772         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
9773         malloc, not xmalloc. Return NULL upon out-of-memory.
9774         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
9775         out-of-memory.
9776         (gl_tree_remove_node_from_tree): New function, extracted from
9777         gl_tree_remove_node.
9778         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
9779         upon out-of-memory.
9780         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
9781         out-of-memory.
9782         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
9783         upon out-of-memory.
9784         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
9785         upon out-of-memory.
9786         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
9787         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
9788         not xmalloc. Return NULL upon out-of-memory.
9789         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
9790         out-of-memory.
9791         (gl_tree_remove_node_from_tree): New function, extracted from
9792         gl_tree_remove_node.
9793         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
9794         upon out-of-memory.
9795         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
9796         out-of-memory.
9797         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
9798         upon out-of-memory.
9799         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
9800         upon out-of-memory.
9801         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
9802         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
9803         gl_anytree_list1.h before gl_anyavltree_list2.h.
9804         (gl_avltree_list_implementation): Update.
9805         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
9806         gl_anytree_list1.h before gl_anyavltree_list2.h.
9807         (gl_rbtree_list_implementation): Update.
9808         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
9809         Change return type to 'int'. Return -1 upon out-of-memory. Use
9810         __builtin_expect.
9811         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
9812         (gl_avltreehash_list_implementation): Update.
9813         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
9814         (gl_rbtreehash_list_implementation): Update.
9815         * modules/array-list (Depends-on): Remove xalloc.
9816         * modules/carray-list (Depends-on): Likewise.
9817         * modules/linked-list (Depends-on): Likewise.
9818         * modules/linkedhash-list (Depends-on): Likewise.
9819         * modules/avltree-list (Depends-on): Likewise.
9820         * modules/rbtree-list (Depends-on): Likewise.
9821         * modules/avltreehash-list (Depends-on): Likewise.
9822         * modules/rbtreehash-list (Depends-on): Likewise.
9823
9824         * modules/xsublist: New file.
9825         * lib/gl_xsublist.h: New file.
9826         * lib/gl_xsublist.c: New file.
9827         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
9828         (gl_sublist_nx_create): New declaration.
9829         * lib/gl_sublist.c: Don't include xalloc.h.
9830         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
9831         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
9832         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
9833         Change return type to 'int'. Return -1 upon out-of-memory.
9834         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
9835         upon out-of-memory.
9836         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
9837         NULL upon out-of-memory.
9838         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
9839         upon out-of-memory.
9840         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
9841         NULL upon out-of-memory.
9842         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
9843         NULL upon out-of-memory.
9844         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
9845         upon out-of-memory.
9846         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
9847         (gl_sublist_list_implementation): Update.
9848         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
9849         upon out-of-memory.
9850         * modules/sublist (Depends-on): Remove xalloc.
9851
9852         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
9853         * tests/test-carray_list.c: Likewise.
9854         * tests/test-linked_list.c: Likewise.
9855         * tests/test-linkedhash_list.c: Likewise.
9856         * tests/test-avltree_list.c: Likewise.
9857         * tests/test-rbtree_list.c: Likewise.
9858         * tests/test-avltreehash_list.c: Likewise.
9859         * tests/test-rbtreehash_list.c: Likewise.
9860         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
9861         * modules/carray-list-tests (Makefile.am): Likewise.
9862         * modules/linked-list-tests (Makefile.am): Likewise.
9863         * modules/linkedhash-list-tests (Makefile.am): Likewise.
9864         * modules/avltree-list-tests (Makefile.am): Likewise.
9865         * modules/rbtree-list-tests (Makefile.am): Likewise.
9866         * modules/avltreehash-list-tests (Makefile.am): Likewise.
9867         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
9868
9869         * NEWS: Mention the changes.
9870
9871         * lib/clean-temp.c: Include gl_xlist.h.
9872         * modules/clean-temp (Depends-on): Add xlist.
9873
9874         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
9875         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
9876
9877         * tests/test-array_oset.c: Include gl_xlist.h.
9878         * modules/array-oset-tests (Depends-on): Add xlist.
9879
9880         Reported by JosĂ© E. Marchesi <jemarch@gnu.org>.
9881
9882 2009-12-13  Bruno Haible  <bruno@clisp.org>
9883
9884         Move the malloc checking from module 'oset' to new module 'xoset'.
9885         * modules/xoset: New file.
9886         * lib/gl_xoset.h: New file.
9887         * lib/gl_xoset.c: New file.
9888         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
9889         declarations.
9890         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
9891         (struct gl_oset_implementation): Rename and change methods accordingly.
9892         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
9893         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
9894         'int'. Mark as __warn_unused_result__.
9895         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
9896         gl_oset_create_empty.
9897         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
9898         'int'.
9899         * lib/gl_array_oset.c: Don't include xalloc.h.
9900         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
9901         malloc, not xmalloc.
9902         (grow): Change return type to 'int'. Don't call xalloc_die.
9903         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
9904         to 'int'.
9905         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
9906         'int'.
9907         (gl_array_oset_implementation): Update.
9908         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
9909         gl_tree_create_empty.
9910         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
9911         'int'.
9912         * lib/gl_avltree_oset.c: Don't include xalloc.h.
9913         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
9914         xmalloc.
9915         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
9916         not xmalloc.
9917         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
9918         xmalloc.
9919         (gl_avltree_oset_implementation): Update.
9920         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
9921         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
9922         xmalloc.
9923         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
9924         not xmalloc.
9925         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
9926         xmalloc.
9927         (gl_rbtree_oset_implementation): Update.
9928         * modules/array-oset (Depends-on): Remove xalloc.
9929         * modules/avltree-oset (Depends-on): Likewise.
9930         * modules/rbtree-oset (Depends-on): Likewise.
9931         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
9932         * tests/test-avltree_oset.c: Likewise.
9933         * tests/test-rbtree_oset.c: Likewise.
9934         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
9935         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
9936         * modules/rbtree-oset-tests (Makefile.am): Likewise.
9937         * NEWS: Mention the change.
9938
9939 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
9940
9941         maint.mk: allow a project to override release-prep commands
9942         * top/maint.mk (alpha, beta, stable): Move release-preparatory
9943         commands into a new rule.
9944         (release-prep): New rule.
9945         (release-prep-hook): New overridable variable.
9946
9947 2009-12-13  Bruno Haible  <bruno@clisp.org>
9948
9949         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
9950
9951 2009-12-13  Jim Meyering  <meyering@redhat.com>
9952
9953         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
9954         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
9955
9956 2009-12-12  Bruno Haible  <bruno@clisp.org>
9957
9958         duplocale: Tweak.
9959         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
9960
9961 2009-12-12  Karl Berry  <karl@gnu.org>
9962
9963         * config/srclist.txt (strtoll.c): tab changes, no more sync.
9964
9965 2009-12-12  Bruno Haible  <bruno@clisp.org>
9966
9967         * m4/po.m4: Undo incorrect untabification.
9968
9969 2009-12-12  Bruno Haible  <bruno@clisp.org>
9970
9971         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
9972         * modules/c-strtod (Depends-on): Add locale.
9973         * modules/c-strtold (Depends-on): Likewise.
9974
9975 2009-12-12  Bruno Haible  <bruno@clisp.org>
9976
9977         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
9978
9979 2009-12-11  Eric Blake  <ebb9@byu.net>
9980
9981         setenv: relax requirement in light of POSIX ruling
9982         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
9983         not NULL.
9984         * tests/test-setenv.c (main): Relax test.
9985         * tests/test-unsetenv.c (main): Likewise.
9986         * doc/posix-functions/setenv.texi (setenv): Document this.
9987         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
9988
9989 2009-12-11  Bruno Haible  <bruno@clisp.org>
9990
9991         New module 'fd-safer-flag'.
9992         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
9993         * lib/dup-safer.c (dup_safer_flag): Remove function.
9994         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
9995         * lib/fd-safer.c (fd_safer_flag): Remove function.
9996         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
9997         * modules/cloexec (configure.ac): Drop indicator macro.
9998         * modules/fd-safer-flag: New file.
9999         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
10000         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
10001         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
10002
10003 2009-12-11  Bruno Haible  <bruno@clisp.org>
10004
10005         Tests for module 'nl_langinfo'.
10006         * modules/nl_langinfo-tests: New file.
10007         * tests/test-nl_langinfo.sh: New file.
10008         * tests/test-nl_langinfo.c: New file.
10009
10010         New module 'nl_langinfo'.
10011         * lib/nl_langinfo.c: New file.
10012         * m4/nl_langinfo.m4: New file.
10013         * modules/nl_langinfo: New file.
10014         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
10015
10016 2009-12-11  Bruno Haible  <bruno@clisp.org>
10017
10018         Tests for module 'langinfo'.
10019         * modules/langinfo-tests: New file.
10020         * tests/test-langinfo.c: New file.
10021
10022         New module 'langinfo'.
10023         * lib/langinfo.in.h: New file.
10024         * m4/langinfo_h.m4: New file.
10025         * modules/langinfo: New file.
10026         * doc/posix-headers/langinfo.texi: Mention the new module.
10027
10028 2009-12-11  Bruno Haible  <bruno@clisp.org>
10029
10030         * lib/config.charset: Untabify.
10031
10032 2009-12-11  Bruno Haible  <bruno@clisp.org>
10033
10034         * modules/unistd-safer (configure.ac): Drop indicator macro.
10035
10036 2009-12-11  Bruno Haible  <bruno@clisp.org>
10037
10038         Move pipe2-safer code to its own file.
10039         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
10040         * lib/pipe-safer.c (pipe2_safer): Remove function.
10041         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
10042         (Makefile.am): Add it to lib_SOURCES.
10043
10044 2009-12-10  Bruno Haible  <bruno@clisp.org>
10045
10046         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
10047
10048 2009-12-10  Bruno Haible  <bruno@clisp.org>
10049
10050         Declare which arguments expect non-NULL values, for GCC and clang.
10051         * build-aux/arg-nonnull.h: New file.
10052         * modules/arg-nonnull: New file.
10053         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
10054         (inet_ntop, inet_pton): Use it.
10055         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
10056         (closedir, dirfd, opendir, scandir, alphasort): Use it.
10057         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
10058         (open, openat): Use it.
10059         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
10060         (fnmatch): Use it.
10061         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
10062         (getopt, getopt_long, getopt_long_only): Use it.
10063         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
10064         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
10065         Use it.
10066         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
10067         (iconv_open): Use it.
10068         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
10069         (strtoimax, strtoumax): Use it.
10070         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
10071         (duplocale): Use it.
10072         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
10073         (frexp, frexpl): Use it.
10074         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
10075         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
10076         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
10077         (tsearch, tfind, tdelete, twalk): Use it.
10078         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
10079         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
10080         sigpending): Use it.
10081         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
10082         (posix_spawn, posix_spawnp, posix_spawnattr_init,
10083         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
10084         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
10085         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
10086         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
10087         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
10088         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10089         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
10090         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
10091         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
10092         Use it.
10093         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
10094         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
10095         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
10096         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
10097         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
10098         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
10099         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
10100         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
10101         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
10102         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
10103         strtoull, unsetenv): Use it.
10104         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
10105         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
10106         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
10107         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
10108         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
10109         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
10110         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
10111         (strcasecmp, strncasecmp): Use it.
10112         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
10113         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
10114         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
10115         rpl_setsockopt): Use it.
10116         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
10117         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
10118         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
10119         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
10120         (gettimeofday): Use it.
10121         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
10122         (times): Use it.
10123         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
10124         (uname): Use it.
10125         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
10126         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
10127         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
10128         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
10129         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
10130         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
10131         unlinkat, write): Use it.
10132         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
10133         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
10134         * lib/argv-iter.h: Include arg-nonnull.h.
10135         (_ATTRIBUTE_NONNULL_): Remove macro.
10136         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
10137         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
10138         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
10139         optimization.
10140         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
10141         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
10142         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
10143         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
10144         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
10145         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
10146         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
10147         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
10148         * modules/arpa_inet (Depends-on): Add arg-nonnull.
10149         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
10150         * modules/dirent (Depends-on): Add arg-nonnull.
10151         (Makefile.am): Insert arg-nonnull.h into dirent.h.
10152         * modules/fcntl-h (Depends-on): Add arg-nonnull.
10153         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
10154         * modules/fnmatch (Depends-on): Add arg-nonnull.
10155         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
10156         * modules/getopt-posix (Depends-on): Add arg-nonnull.
10157         (Makefile.am): Insert arg-nonnull.h into getopt.h.
10158         * modules/glob (Depends-on): Add arg-nonnull.
10159         (Makefile.am): Insert arg-nonnull.h into glob.h.
10160         * modules/iconv_open (Depends-on): Add arg-nonnull.
10161         (Makefile.am): Insert arg-nonnull.h into iconv.h.
10162         * modules/inttypes (Depends-on): Add arg-nonnull.
10163         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
10164         * modules/locale (Depends-on): Add arg-nonnull.
10165         (Makefile.am): Insert arg-nonnull.h into locale.h.
10166         * modules/math (Depends-on): Add arg-nonnull.
10167         (Makefile.am): Insert arg-nonnull.h into math.h.
10168         * modules/netdb (Depends-on): Add arg-nonnull.
10169         (Makefile.am): Insert arg-nonnull.h into netdb.h.
10170         * modules/search (Depends-on): Add arg-nonnull.
10171         (Makefile.am): Insert arg-nonnull.h into search.h.
10172         * modules/signal (Depends-on): Add arg-nonnull.
10173         (Makefile.am): Insert arg-nonnull.h into signal.h.
10174         * modules/spawn (Depends-on): Add arg-nonnull.
10175         (Makefile.am): Insert arg-nonnull.h into spawn.h.
10176         * modules/stdio (Depends-on): Add arg-nonnull.
10177         (Makefile.am): Insert arg-nonnull.h into stdio.h.
10178         * modules/stdlib (Depends-on): Add arg-nonnull.
10179         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
10180         * modules/string (Depends-on): Add arg-nonnull.
10181         (Makefile.am): Insert arg-nonnull.h into string.h.
10182         * modules/strings (Depends-on): Add arg-nonnull.
10183         (Makefile.am): Insert arg-nonnull.h into strings.h.
10184         * modules/sys_socket (Depends-on): Add arg-nonnull.
10185         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
10186         * modules/sys_stat (Depends-on): Add arg-nonnull.
10187         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
10188         * modules/sys_time (Depends-on): Add arg-nonnull.
10189         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
10190         * modules/sys_times (Depends-on): Add arg-nonnull.
10191         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
10192         * modules/sys_utsname (Depends-on): Add arg-nonnull.
10193         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
10194         * modules/time (Depends-on): Add arg-nonnull.
10195         (Makefile.am): Insert arg-nonnull.h into time.h.
10196         * modules/unistd (Depends-on): Add arg-nonnull.
10197         (Makefile.am): Insert arg-nonnull.h into unistd.h.
10198         * modules/wchar (Depends-on): Add arg-nonnull.
10199         (Makefile.am): Insert arg-nonnull.h into wchar.h.
10200         * modules/argv-iter (Depends-on): Add arg-nonnull.
10201         * tests/test-canonicalize.c (null_ptr): New function.
10202         (main): Use it.
10203         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
10204         (main): Use it.
10205         * tests/test-memmem.c (null_ptr): New function.
10206         (main): Use it.
10207         Reported by Jim Meyering.
10208
10209 2009-12-10  Bruno Haible  <bruno@clisp.org>
10210
10211         Use spaces for indentation, not tabs.
10212         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10213         * m4/*.m4: Untabify.
10214         * build-aux/*.h: Untabify.
10215         * tests/**/*.[hc]: Untabify.
10216         * README: New section "Indent with spaces, not TABs", based on
10217         coreutils/HACKING and comments by PĂ¡draig Brady and Paolo Bonzini.
10218         * NEWS: Mention the change.
10219
10220 2009-12-10  Bruno Haible  <bruno@clisp.org>
10221
10222         pty test: Fix link error.
10223         * modules/pty-tests (Makefile.am): Add the default LDADD value to
10224         test_pty_LDADD.
10225
10226 2009-12-07  Simon Josefsson  <simon@josefsson.org>
10227
10228         * modules/pty: New file.
10229         * modules/pty-tests: New file.
10230         * m4/pty.m4: New file.
10231         * tests/test-pty.c: New file.
10232         * doc/glibc-headers/pty.texi: Modified.
10233         * doc/glibc-functions/forkpty.texi: Modified.
10234         * doc/glibc-functions/openpty.texi: Modified.
10235
10236 2009-12-10  Bruno Haible  <bruno@clisp.org>
10237
10238         Avoid syntax error in C++ mode.
10239         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
10240
10241 2009-12-10  Bruno Haible  <bruno@clisp.org>
10242
10243         Use sed with option -e.
10244         * gnulib-tool (func_version, func_emit_copyright_notice,
10245         func_emit_initmacro_end, func_import, func_create_testdir): Pass
10246         option -e to sed.
10247         * modules/link-warning (Makefile.am): Likewise.
10248
10249 2009-12-10  Jim Meyering  <meyering@redhat.com>
10250
10251         mgetgroups: do not write bytes beyond end of malloc'd buffer
10252         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
10253         username, we call getgroups with a one-element-shorter buffer,
10254         but still told it the length was original, max_n_groups.
10255
10256 2009-12-09  Eric Blake  <ebb9@byu.net>
10257
10258         cloexec: relax license
10259         * modules/cloexec (Maintainer): Add myself.
10260         (License): Use LGPL, not GPL.
10261
10262         link-warning: optimize generation
10263         * modules/link-warning (Makefile.am): Reduce process usage.
10264
10265 2009-12-09  Bruno Haible  <bruno@clisp.org>
10266
10267         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
10268         workaround was added on 2009-11-17.
10269
10270 2009-12-09  Jim Meyering  <meyering@redhat.com>
10271             Bruno Haible  <bruno@clisp.org>
10272
10273         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
10274         * modules/link-warning (Makefile.am): Make the comment-removing sed
10275         command more robust in the face of bootstrap-prepended comment lines.
10276
10277 2009-12-09  Bruno Haible  <bruno@clisp.org>
10278
10279         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
10280         most one group.
10281
10282 2009-12-09  Simon Josefsson <simon@josefsson.org>
10283             Bruno Haible  <bruno@clisp.org>
10284
10285         * build-aux/link-warning.h: Add copyright notice.
10286         * modules/link-warning (Makefile.am): Generate link-warning.h from
10287         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
10288         * NEWS: Mention change in link-warning module.
10289         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
10290         * modules/dirent (Makefile.am): Add dependency to dirent.h.
10291         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
10292         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
10293         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
10294         * modules/math (Makefile.am): Add dependency to math.h.
10295         * modules/search (Makefile.am): Add dependency to search.h.
10296         * modules/signal (Makefile.am): Add dependency to signal.h.
10297         * modules/spawn (Makefile.am): Add dependency to spawn.h.
10298         * modules/stdio (Makefile.am): Add dependency to stdio.h.
10299         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
10300         * modules/string (Makefile.am): Add dependency to string.h.
10301         * modules/strings (Makefile.am): Add dependency to strings.h.
10302         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
10303         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
10304         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
10305         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
10306         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
10307         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
10308         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
10309         * modules/unistd (Makefile.am): Add dependency to unistd.h.
10310         * modules/wchar (Makefile.am): Add dependency to wchar.h.
10311
10312 2009-12-09  Bruno Haible  <bruno@clisp.org>
10313
10314         fchdir: Optimize away rpl_fstat when possible.
10315         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
10316         REPLACE_OPEN_DIRECTORY.
10317         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
10318
10319 2009-12-09  Bruno Haible  <bruno@clisp.org>
10320
10321         * lib/fchdir.c: Update comment.
10322
10323 2009-12-09  Bruno Haible  <bruno@clisp.org>
10324
10325         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
10326
10327 2009-12-08  Eric Blake  <ebb9@byu.net>
10328
10329         fchdir: avoid memory leak on re-registration.
10330         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
10331
10332 2009-12-08  Jim Meyering  <meyering@redhat.com>
10333
10334         init.sh: avoid Solaris 10 /bin/sh portability problem
10335         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
10336         sourced script:
10337           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
10338           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
10339           bar
10340         tests/init.sh relied on that, accepting a --set-path=DIR argument,
10341         and two tests used that idiom.
10342         * tests/init.sh: Update suggested usage comments.
10343         (path_prepend_): New function, to be used in place
10344         of the --src-path=DIR option.
10345         (setup_): Move PATH-prepending code into path_prepend_.
10346         * tests/test-pread.sh: Adapt to new usage.
10347         * tests/test-xalloc-die.sh: Likewise.
10348
10349 2009-12-08  Simon Josefsson  <simon@josefsson.org>
10350
10351         * doc/gnulib.texi (Glibc pty.h): Add.
10352         * doc/glibc-functions/forkpty.texi: Add.
10353         * doc/glibc-functions/openpty.texi: Add.
10354         Suggested by Bruno Haible.
10355
10356 2009-12-08  Eric Blake  <ebb9@byu.net>
10357
10358         fchdir: fix logic bugs
10359         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
10360         * tests/test-fchdir.c (main): Enhance test.
10361         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
10362         is in use.
10363
10364         dup2: fix logic bugs
10365         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
10366         REPLACE_DUP2 to decide when rpl_dup2 is needed.
10367         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
10368         exists.
10369         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
10370
10371 2009-12-07  Eric Blake  <ebb9@byu.net>
10372
10373         unlink: fix m4 detection
10374         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
10375
10376         unistd-safer: add unit test
10377         * modules/unistd-safer-tests: New file.
10378         * tests/test-dup-safer.c: Likewise.
10379         * tests/test-cloexec.c (setmode): Avoid compiler warning.
10380         * tests/test-dup2.c (setmode): Likewise.
10381         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
10382
10383         cloexec: preserve text vs. binary across dup_cloexec
10384         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
10385         mode.
10386         * modules/dup2-tests (Depends-on): Add binary-io.
10387         * modules/cloexec-tests (Depends-on): Likewise.
10388         * tests/test-dup2.c (setmode, is_mode): New helpers.
10389         (main): Add tests that translation mode is preserved.
10390         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
10391         Reported by Bruno Haible.
10392
10393         mgetgroups: reduce duplicate listings
10394         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
10395         resulting array.
10396         * tests/test-chown.h (test_chown): Simplify client.
10397         * tests/test-lchown.h (test_lchown): Likewise.
10398
10399 2009-12-06  Bruno Haible  <bruno@clisp.org>
10400
10401         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
10402         value.
10403
10404 2009-12-06  Bruno Haible  <bruno@clisp.org>
10405
10406         * lib/progname.c: Include stdio.h, stdlib.h.
10407         (set_program_name): Reject a NULL argument.
10408
10409 2009-12-05  Eric Blake  <ebb9@byu.net>
10410
10411         pipe2-safer: new module
10412         * modules/pipe2-safer: New file.
10413         * lib/unistd-safer.h (pipe2_safer): New prototype.
10414         * lib/unistd--.h (pipe2): New wrapper.
10415         * lib/pipe-safer.c (pipe2_safer): New function.
10416         * modules/pipe (Depends-on): Add pipe2-safer.
10417         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
10418
10419         stdlib-safer: preserve cloexec flag for mkostemp[s]
10420         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
10421         fd_safer_flag.
10422
10423         unistd-safer: allow preservation of cloexec status via flag
10424         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
10425         prototypes.
10426         * lib/dup-safer.c (dup_safer_flag): New function.
10427         * lib/fd-safer.c (fd_safer_flag): Likewise.
10428         * modules/cloexec (configure.ac): Set witness.
10429
10430         test-dup2: enhance test
10431         * modules/dup2-tests (Depends-on): Add cloexec.
10432         * tests/test-dup2.c (main): Enhance test.
10433
10434         cloexec: add dup_cloexec
10435         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
10436         header and comments.
10437         * lib/cloexec.c (set_cloexec_flag): Add comments.
10438         (dup_cloexec): New function, with mingw implementation borrowed
10439         from...
10440         * lib/w32spawn.h (dup_noinherit): ...here.
10441         * modules/execute (Depends-on): Add cloexec.
10442         * modules/pipe (Depends-on): Likewise.
10443         * modules/cloexec (Depends-on): Add dup2.
10444         * modules/cloexec-tests (Files): New file.
10445         * tests/test-cloexec.c: Likewise.
10446
10447         test-xalloc-die: fix test for mingw
10448         * modules/xalloc-die-tests (Files): Add tests/init.sh.
10449         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
10450         directory and .exe suffix off argv[0] output.
10451
10452         test-fseeko: fix test for mingw
10453         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
10454         than undefining fseek, so test will pass on mingw.
10455
10456 2009-12-05  Bruno Haible  <bruno@clisp.org>
10457
10458         * lib/progname.h (set_program_name): Clarify specification.
10459         * lib/progname.c (set_program_name): Likewise.
10460         Reported by Jim Meyering.
10461
10462 2009-12-05  Jim Meyering  <meyering@redhat.com>
10463
10464         maint.mk: backslash-escape parens in default regexp
10465         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
10466         backslash-escape the literal parentheses.
10467
10468         maint.mk: news-date-check: use grep -E
10469         * top/maint.mk (today): Define a Make variable, not a...
10470         (news-date-check): ...shell variable.
10471         (news-date-regexp): Use the Make variable.
10472         Use grep's -E option.  Change the failing diagnostic to mention
10473         the variable, $(news-date-regexp).
10474
10475 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
10476
10477         maintainer-makefile: allow customization of NEWS entry format
10478         * top/maint.mk (news-date-regexp): New overridable variable.
10479         (news-date-check): Use it.
10480
10481 2009-12-04  Eric Blake  <ebb9@byu.net>
10482
10483         mgetgroups: add xgetgroups, and avoid ENOSYS failures
10484         * lib/mgetgroups.h (xgetgroups): New prototype.
10485         * lib/mgetgroups.c (xgetgroups): New wrapper.
10486         (mgetgroups): Handle ENOSYS.
10487         * modules/mgetgroups (Depends-on): Add realloc.
10488         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
10489
10490         mgetgroups: avoid argument promotion issues with -1
10491         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
10492         for invalid gid_t.
10493         * tests/test-chown.h (getegid, test_chown): Likewise.
10494         * tests/test-lchown.h (getegid, test_lchown): Likewise.
10495
10496 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
10497
10498         exclude: Fix header file problems.
10499         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
10500
10501 2009-12-01  Jim Meyering  <meyering@redhat.com>
10502
10503         fts: fts_open: do not let an empty string cause immediate failure
10504         This is required in support of GNU rm, for which the command
10505         "rm A '' B" must process and remove both A and B, in spite of
10506         the empty string argument.
10507         * lib/fts.c (fts_open): Do not let the presence of an empty string
10508         cause fts_open to fail immediately.  Most fts-using tools must be
10509         able to process all arguments, in order, and can be expected to
10510         diagnose such arguments themselves.
10511
10512 2009-11-30  Eric Blake  <ebb9@byu.net>
10513
10514         utimens: fix compilation error
10515         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
10516         Declare variable at right scope.
10517
10518 2009-11-29  Jim Meyering  <meyering@redhat.com>
10519
10520         bootstrap: handle perl-5.11's changed --version output
10521         * build-aux/bootstrap (get_version): Handle perl separately,
10522         since perl-5.11's --version output is different.
10523
10524 2009-11-28  Jim Meyering  <meyering@redhat.com>
10525
10526         userspec: depend on the inttostr module, too
10527         * modules/userspec (Depends-on): Add inttostr.
10528
10529         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
10530         * lib/userspec.c (parse_with_separator): Do not accept a user ID
10531         number of MAXUID when it evaluates to (uid_t) -1.
10532         Likewise for group ID.  Reported by Matt McCutchen in
10533         <http://savannah.gnu.org/bugs/?28113>
10534
10535         userspec: reformat to use spaces, not TABs
10536         * lib/userspec.c: Expand TABs to spaces.
10537         Add Emacs' "indent-tabs-mode: nil" hint.
10538
10539 2009-11-27  Eric Blake  <ebb9@byu.net>
10540
10541         getopt-gnu: flush out another BSD bug
10542         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
10543         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
10544         flush out BSD bug.
10545         * tests/test-getopt.h (test_getopt): End lists with NULL.
10546         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10547         (test_getopt_long_posix): Enhance test.
10548         * modules/getopt-posix-tests (Depends-on): Add stdbool.
10549         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
10550         getopt-gnu.
10551         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10552         Likewise.
10553
10554 2009-11-27  Simon Josefsson  <simon@josefsson.org>
10555
10556         * modules/idpriv-droptemp-tests (Notice): Fix text.
10557
10558 2009-11-27  Jim Meyering  <meyering@redhat.com>
10559
10560         test-xalloc-die: avoid spurious failure due to libtool argv difference
10561         In a libtool-enabled project, this test would fail due to a difference
10562         in the emitted program name, e.g.,
10563         -test-xalloc-die: memory exhausted
10564         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
10565         Use program to avoid that.
10566         * modules/xalloc-die-tests (Depends-on): Add progname.
10567         * tests/test-xalloc-die.c: Include progname.h".
10568         (program_name): Remove decl.
10569         (main): Call set_program_name.
10570         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
10571
10572 2009-11-26  Richard Jones  <rjones@redhat.com>
10573
10574         w32sock: leave win32 error in place.
10575         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
10576
10577 2009-11-26  Eric Blake  <ebb9@byu.net>
10578
10579         init.sh: suggest to use skip_ and fail_ functions in comments
10580         * tests/init.sh: Add a sentence.
10581
10582 2009-11-25  Bruno Haible  <bruno@clisp.org>
10583
10584         init.sh: add documentation in comments
10585         * tests/init.sh: Add some developer and user documentation.
10586
10587 2009-11-26  Jim Meyering  <meyering@redhat.com>
10588
10589         init.sh: accommodate even those who specify bogus srcdir manually
10590         * tests/init.sh: Normally, srcdir is guaranteed by automake and
10591         configure-time tests to be sanitized, so that there is no need to
10592         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
10593         (with no double quotes) suffices.  However, since tests may be
10594         invoked manually, and since you may explicitly set srcdir to the
10595         name of a directory containing spaces, do quote its uses here.
10596         * tests/test-pread.sh: Likewise.
10597         Suggested by Bruno Haible.
10598
10599         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
10600         * tests/test-pread.sh: Write no data into the pipe, because
10601         test-pread actually reads none.  This avoids a diagnostic,
10602         "bash: echo: write error: Broken pipe", that arises in the unusual
10603         event something is ignoring SIGPIPE, and might be interpreted
10604         as some sort of failure.  Reported by Bruno Haible.
10605
10606 2009-11-25  Jim Meyering  <meyering@redhat.com>
10607
10608         test-pread: cover failure with ESPIPE and EINVAL
10609         * tests/test-pread.c (main): Test for failure, too.
10610         * tests/test-pread.sh: Invoke with stdin on a pipe.
10611         Suggested by Eric Blake.
10612
10613         pread: improvement and fix
10614         * modules/pread (Depends-on): Depend on lseek, for portability to
10615         e.g., mingw.  Suggested by Eric Blake.
10616         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
10617
10618         unistd.in.h: correct declaration of pread
10619         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
10620         Reported by Richard W.M. Jones.
10621
10622         test-pread.sh: distribute the test script
10623         * modules/pread-tests (Files): Include test-pread.sh.
10624
10625         test-pread.sh: clean up
10626         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
10627         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
10628         That is unnecessary, since it's always ".".
10629         Suggestion from Eric Blake.
10630
10631         test-pread.sh: make executable
10632         * tests/test-pread.sh: Set executable bit.
10633         Reported by Eric Blake.
10634
10635         correct typo in test-pread.sh
10636         * tests/test-pread.sh: Add #! line.
10637
10638         test pread
10639         * tests/test-pread.c: New file.
10640         * tests/test-pread.sh: Likewise.
10641         * modules/pread-tests: Likewise.
10642
10643         pread: new module
10644         * modules/pread: New file.
10645         * lib/unistd.in.h (pread): Define/declare.
10646         * lib/pread.c (pread): New file.
10647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
10648         * modules/unistd (Makefile.am): Substitute witnesses.
10649         * doc/posix-functions/pread.texi (pread): Update.
10650         * MODULES.html.sh: Add pread.
10651
10652 2009-11-25  Jim Meyering  <meyering@redhat.com>
10653
10654         tests/init.sh: new file to be used via most *.sh tests
10655         * tests/init.sh: New file.
10656
10657 2009-11-25  Eric Blake  <ebb9@byu.net>
10658
10659         utimens: work around older Linux failure with symlinks
10660         * lib/utimens.c (lutimensat_works_really): New variable.
10661         (fdutimens, lutimens): Use it to manage kernels that support
10662         nanosecond times on files, but not on symlinks.
10663         Reported by OndÅ™ej VaÅ¡Ă­k.
10664
10665         utimes: fix configure grammar
10666         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
10667
10668 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
10669
10670         regex: Fix fastmap for multibyte character ranges.
10671         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
10672         characters when a multibyte character range is included.
10673
10674 2009-11-22  Andy Wingo  <wingo@pobox.com>
10675
10676         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
10677         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
10678
10679 2009-11-24  Bruno Haible  <bruno@clisp.org>
10680
10681         doc: Most *_l functions exist in MacOS X 10.5.
10682         * doc/posix-functions/duplocale.texi: Update platforms list.
10683         * doc/posix-functions/freelocale.texi: Likewise.
10684         * doc/posix-functions/newlocale.texi: Likewise.
10685         * doc/posix-functions/uselocale.texi: Likewise.
10686         * doc/posix-functions/isalnum_l.texi: Likewise.
10687         * doc/posix-functions/isalpha_l.texi: Likewise.
10688         * doc/posix-functions/isblank_l.texi: Likewise.
10689         * doc/posix-functions/iscntrl_l.texi: Likewise.
10690         * doc/posix-functions/isdigit_l.texi: Likewise.
10691         * doc/posix-functions/isgraph_l.texi: Likewise.
10692         * doc/posix-functions/islower_l.texi: Likewise.
10693         * doc/posix-functions/isprint_l.texi: Likewise.
10694         * doc/posix-functions/ispunct_l.texi: Likewise.
10695         * doc/posix-functions/isspace_l.texi: Likewise.
10696         * doc/posix-functions/isupper_l.texi: Likewise.
10697         * doc/posix-functions/iswalnum_l.texi: Likewise.
10698         * doc/posix-functions/iswalpha_l.texi: Likewise.
10699         * doc/posix-functions/iswblank_l.texi: Likewise.
10700         * doc/posix-functions/iswcntrl_l.texi: Likewise.
10701         * doc/posix-functions/iswctype_l.texi: Likewise.
10702         * doc/posix-functions/iswdigit_l.texi: Likewise.
10703         * doc/posix-functions/iswgraph_l.texi: Likewise.
10704         * doc/posix-functions/iswlower_l.texi: Likewise.
10705         * doc/posix-functions/iswprint_l.texi: Likewise.
10706         * doc/posix-functions/iswpunct_l.texi: Likewise.
10707         * doc/posix-functions/iswspace_l.texi: Likewise.
10708         * doc/posix-functions/iswupper_l.texi: Likewise.
10709         * doc/posix-functions/iswxdigit_l.texi: Likewise.
10710         * doc/posix-functions/isxdigit_l.texi: Likewise.
10711         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
10712         * doc/posix-functions/strcasecmp_l.texi: Likewise.
10713         * doc/posix-functions/strcoll_l.texi: Likewise.
10714         * doc/posix-functions/strfmon_l.texi: Likewise.
10715         * doc/posix-functions/strftime_l.texi: Likewise.
10716         * doc/posix-functions/strncasecmp_l.texi: Likewise.
10717         * doc/posix-functions/strxfrm_l.texi: Likewise.
10718         * doc/posix-functions/tolower_l.texi: Likewise.
10719         * doc/posix-functions/toupper_l.texi: Likewise.
10720         * doc/posix-functions/towctrans_l.texi: Likewise.
10721         * doc/posix-functions/towlower_l.texi: Likewise.
10722         * doc/posix-functions/towupper_l.texi: Likewise.
10723         * doc/posix-functions/wcscoll_l.texi: Likewise.
10724         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
10725         * doc/posix-functions/wctrans_l.texi: Likewise.
10726         * doc/posix-functions/wctype_l.texi: Likewise.
10727         * doc/glibc-functions/strptime_l.texi: Likewise.
10728         * doc/glibc-functions/strtod_l.texi: Likewise.
10729         * doc/glibc-functions/strtof_l.texi: Likewise.
10730         * doc/glibc-functions/strtol_l.texi: Likewise.
10731         * doc/glibc-functions/strtold_l.texi: Likewise.
10732         * doc/glibc-functions/strtoll_l.texi: Likewise.
10733         * doc/glibc-functions/strtoul_l.texi: Likewise.
10734         * doc/glibc-functions/strtoull_l.texi: Likewise.
10735         * doc/glibc-functions/wcsftime_l.texi: Likewise.
10736         * doc/glibc-functions/wcstod_l.texi: Likewise.
10737         * doc/glibc-functions/wcstof_l.texi: Likewise.
10738         * doc/glibc-functions/wcstol_l.texi: Likewise.
10739         * doc/glibc-functions/wcstold_l.texi: Likewise.
10740         * doc/glibc-functions/wcstoll_l.texi: Likewise.
10741         * doc/glibc-functions/wcstoul_l.texi: Likewise.
10742         * doc/glibc-functions/wcstoull_l.texi: Likewise.
10743
10744 2009-11-24  Bruno Haible  <bruno@clisp.org>
10745
10746         duplocale: Fix logic bug.
10747         * lib/duplocale.c: Don't include <langinfo.h>.
10748         (_NL_LOCALE_NAME): Remove macro.
10749         (rpl_duplocale): Use setlocale instead of nl_langinfo.
10750         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
10751
10752 2009-11-23  Jim Meyering  <meyering@redhat.com>
10753
10754         test-update-copyright: don't hard-code /usr/bin/perl
10755         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
10756         perl to print the current year.  Gilles Espinasse reported that
10757         the replaced use of perl was hard-coded as /usr/bin/perl.
10758
10759 2009-11-23  Bruno Haible  <bruno@clisp.org>
10760
10761         duplocale: Add support for glibc 2.3.x.
10762         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
10763
10764 2009-11-22  Bruno Haible  <bruno@clisp.org>
10765
10766         vasnprintf: Tiny optimization.
10767         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
10768         MacOS X.
10769
10770 2009-11-22  Bruno Haible  <bruno@clisp.org>
10771
10772         Tests for module 'duplocale'.
10773         * modules/duplocale-tests: New file.
10774         * tests/test-duplocale.c: New file.
10775
10776         New module 'duplocale'.
10777         * m4/duplocale.m4: New file.
10778         * lib/locale.in.h (duplocale): New declaration.
10779         * lib/duplocale.c: New file.
10780         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
10781         gl_LOCALE_H_DEFAULTS): New macros.
10782         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
10783         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
10784         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
10785         REPLACE_DUPLOCALE.
10786         * modules/duplocale: New file.
10787         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
10788
10789 2009-11-22  Bruno Haible  <bruno@clisp.org>
10790
10791         * modules/locale-tests (configure.ac): Test for newlocale function.
10792         * tests/test-locale.c: When the system has extended locale functions,
10793         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
10794
10795         locale: Make locale_t available when possible.
10796         * lib/locale.in.h: Include <xlocale.h> when it exists.
10797         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
10798         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
10799         * modules/locale (Depends-on): Add extensions.
10800         (Makefile.am): Also substitute HAVE_XLOCALE_H.
10801         * doc/posix-headers/locale.texi: Document the problem with locale_t.
10802
10803 2009-11-22  Bruno Haible  <bruno@clisp.org>
10804
10805         Add comments.
10806         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
10807         invocation.
10808         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
10809         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10810         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
10811
10812 2009-11-22  Bruno Haible  <bruno@clisp.org>
10813
10814         error: account for the possibility of freopen (stdout).
10815         * lib/error.c: Include <unistd.h>.
10816         (flush_stdout): New function, extracted from error and error_at_line.
10817         Determine stdout's fd dynamically.
10818         (error, error_at_line): Invoke flush_stdout.
10819         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
10820         * modules/error (Depends-on): Add unistd.
10821
10822 2009-11-22  Bruno Haible  <bruno@clisp.org>
10823
10824         diffseq: Add comment.
10825         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
10826
10827 2009-11-22  Jim Meyering  <meyering@redhat.com>
10828
10829         c-stack: avoid defining an unused static function
10830         * lib/c-stack.c (find_stack_direction): Do not define this function
10831         when it will not be used.
10832
10833         diffseq: avoid spurious gcc warnings
10834         * lib/diffseq.h (IF_LINT2): Define.
10835         (compareseq): Use it to initialize two members of "part".
10836         This avoids two used-uninitialized warnings.
10837
10838 2009-11-21  Jim Meyering  <meyering@redhat.com>
10839
10840         c-stack: avoid "ignoring return value of `write'" warning
10841         * lib/c-stack.c: Include "ignore-value.h".
10842         (die): Explicitly ignore each write return value.
10843         * modules/c-stack (Depends-on): Add ignore-value.
10844
10845 2009-11-21  Bruno Haible  <bruno@clisp.org>
10846
10847         diffseq: reduce scope of variable 'best'.
10848         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
10849         variable, earlier used for two different purposes.
10850
10851 2009-11-21  Jim Meyering  <meyering@redhat.com>
10852
10853         diffseq: remove useless assignment to "best"
10854         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
10855         assignment.  At that point "best" is already guaranteed to be zero.
10856
10857 2009-11-20  Eric Blake  <ebb9@byu.net>
10858
10859         build: mention ftp redirector in release announcements
10860         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
10861         values that used to come from cfg.mk; mention FTP redirect URL.
10862         * build-aux/announce-gen: Mention the mirror list.
10863         Suggested by Karl Berry.
10864
10865         nanosleep: improve port to mingw
10866         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
10867         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
10868         LIB_NANOSLEEP, but only when needed.
10869         * modules/select (Link): Document LIBSOCKET.
10870         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
10871         enough.
10872
10873         nanosleep: work around cygwin bug
10874         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
10875         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
10876         bug.
10877         (getnow): Delete, not needed.
10878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
10879         LIB_CLOCK_GETTIME.
10880         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
10881         clock-time, gettime.
10882         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
10883         bug.
10884         * modules/nanosleep-tests: New test.
10885         * tests/test-nanosleep.c: New file.
10886
10887         sleep: work around cygwin bug
10888         * lib/sleep.c (rpl_sleep): Work around the bug.
10889         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
10890         (gl_PREREQ_SLEEP): Delete unused macro.
10891         * modules/sleep (Depends-on): Add verify.
10892         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
10893         * modules/unistd (Makefile.am): Substitute witness.
10894         * lib/unistd.in.h (sleep): Update prototype.
10895         * doc/posix-functions/sleep.texi (sleep): Document the bug.
10896         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
10897         * modules/sleep-tests (Depends-on): Check for alarm.
10898
10899 2009-11-20  Jim Meyering  <meyering@redhat.com>
10900
10901         maint.mk: improve sc_prohibit_magic_number_exit
10902         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
10903         so it does not match uses like System.exit(1).
10904         Add comments showing how to correct all offenders.
10905
10906 2009-11-19  Eric Blake  <ebb9@byu.net>
10907
10908         xalloc-die-tests: add missing library
10909         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
10910
10911         test-xvasprintf: silence compiler warnings
10912         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
10913         empty string from gcc.
10914
10915 2009-11-19  Jim Meyering  <meyering@redhat.com>
10916
10917         xfreopen: new module, from coreutils
10918         * modules/xfreopen: New module.
10919         * lib/xfreopen.c: New file.
10920         * lib/xfreopen.h: New file.
10921         * MODULES.html.sh (File stream based Input/Output"): Add it.
10922
10923 2009-11-19  Eric Blake  <ebb9@byu.net>
10924
10925         manywarnings: depend on warnings
10926         * modules/manywarnings (Depends-on): Add warnings.
10927
10928         build: avoid compiler warnings
10929         * lib/select.c (rpl_select): Delete unused variable.
10930         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
10931
10932 2009-11-18  Eric Blake  <ebb9@byu.net>
10933
10934         tests: avoid false negative with --with-packager
10935         * tests/test-version-etc.sh: Discard packager information.
10936         * tests/test-argp-version-etc-1.sh: Likewise.
10937         Reported by Mike Frysinger.
10938
10939         utimens: fix regression on Solaris
10940         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
10941         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
10942         can only change fd timestamps via futimesat.  Instead, use an
10943         additional witness macro to avoid BSD bug.
10944         Reported by Jim Meyering.
10945
10946 2009-11-17  Eric Blake  <ebb9@byu.net>
10947
10948         usleep: use it to simplify tests
10949         * modules/stat-time-tests (Depends-on): Add usleep.
10950         (configure.ac): Drop usleep check.
10951         * modules/chown-tests (Depends-on, configure.ac): Likewise.
10952         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
10953         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
10954         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
10955         * modules/openat-tests (Depends-on, configure.ac): Likewise.
10956         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
10957         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
10958         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
10959         Likewise.
10960         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
10961         * tests/test-lchown.h (nap): Likewise.
10962         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
10963         * tests/test-stat-time.c (nap): Likewise.
10964         * tests/test-utimens-common.h (nap): Update comments.
10965
10966         usleep: new module
10967         * modules/usleep: New file.
10968         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
10969         * lib/usleep.c (usleep): Likewise.
10970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
10971         * modules/unistd (Makefile.am): Substitute witnesses.
10972         * lib/unistd.in.h (usleep): Add declaration.
10973         * doc/pastposix-functions/usleep.texi (usleep): Document this.
10974         * MODULES.html.sh (Date and time): Likewise.
10975         * modules/usleep-tests (Depends-on): New test.
10976         * tests/test-usleep.c: New file.
10977
10978         chown: work around OpenBSD bug
10979         * lib/chown.c (rpl_chown): Work around the bug.
10980         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
10981         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
10982         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
10983         * modules/chown (Depends-on): Add stdbool.
10984         * modules/lchown (Depends-on): Likewise.
10985         * doc/posix-functions/chown.texi (chown): Document the bug.
10986         * doc/posix-functions/lchown.texi (lchown): Likewise.
10987         * tests/test-lchown.h (test_chown): Relax test.
10988
10989         mkstemp: avoid conflict with C++ keyword template
10990         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
10991         * lib/mkostemp.c (mkostemp): Likewise.
10992         * lib/mkostemps.c (mkostemps): Likewise.
10993         * lib/mkstemp.c (mkstemp): Likewise.
10994         * lib/mkstemps.c (mkstemps): Likewise.
10995
10996         xalloc-die-tests: optimize
10997         * tests/test-xalloc-die.sh: Reduce number of processes.
10998
10999 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11000
11001         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
11002         patch from ludo@gnu.org (Ludovic Courtès).
11003
11004 2009-11-17  Jim Meyering  <meyering@redhat.com>
11005
11006         version-etc: use proper license string
11007         * modules/version-etc (License): Use LGPL, not LGPLv3+.
11008         * modules/version-etc-fsf: Likewise.
11009
11010 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11011
11012         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
11013         printed to stdout.  Deal with EOL differences.
11014
11015 2009-11-17  Eric Blake  <ebb9@byu.net>
11016
11017         unsetenv: work around Solaris bug
11018         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
11019         * lib/unsetenv.c (rpl_unsetenv): Work around it.
11020         Reported by Jim Meyering.
11021
11022         vasnprintf: avoid compiler warnings
11023         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
11024         variables.
11025         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
11026
11027 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11028
11029         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
11030         settings since xalloc-die is no longer the self test,
11031         xalloc-die.sh is.
11032
11033 2009-11-17  Jim Meyering  <meyering@redhat.com>
11034
11035         test-xalloc-die.sh: make the code agree with the commit log
11036         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
11037         at the end, just in case you happen to have a test-xalloc-die
11038         program in some other PATH directory.
11039
11040         test-xalloc-die.sh: fix a portability bug
11041         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
11042         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
11043         Otherwise, argv[0] (as often seen in diagnostics) would be too
11044         system-dependent, sometimes with, and sometimes without the leading "./".
11045
11046         version-etc-fsf: relax license to LGPLv3+
11047         * modules/version-etc-fsf (License): Relax license.
11048
11049 2009-11-16  Eric Blake  <ebb9@byu.net>
11050
11051         xalloc-die-tests: avoid printing null pointer
11052         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
11053         shell script.
11054         * tests/test-xalloc-die.c (program_name): Declare.
11055         * tests/test-xalloc-die.sh (tmpfiles): New file.
11056
11057         setenv, unsetenv: work around various bugs
11058         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
11059         (setenv) [HAVE_SETENV]: Work around bugs.
11060         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
11061         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
11062         for bugs.
11063         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
11064         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
11065         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
11066         * modules/stdlib (Makefile.am): Update substitutions.
11067         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
11068         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
11069         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
11070         * modules/setenv-tests: New test.
11071         * modules/unsetenv-tests: Likewise.
11072         * tests/test-setenv.c: New file.
11073         * tests/test-unsetenv.c: Likewise.
11074
11075 2009-11-16  Jim Meyering  <meyering@redhat.com>
11076
11077         version-etc: relax license to LGPLv3+
11078         * modules/version-etc (License): Relax license.
11079
11080         better AC_REQUIRE expanded-before-required-warning avoidance
11081         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
11082         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
11083         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
11084         which is no longer needed.
11085
11086 2009-11-16  Eric Blake  <ebb9@byu.net>
11087
11088         test-freading: clean up temporary file
11089         * tests/test-freading.c (main): Remove file on success, and use
11090         ASSERT more liberally.
11091         Reported by Jim Meyering.
11092
11093 2009-11-16  Jim Meyering  <meyering@redhat.com>
11094
11095         avoid new AC_REQUIRE expanded-before-required warnings
11096         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
11097         merely using it.
11098         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
11099         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
11100
11101 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11102
11103         * tests/test-xalloc-die.c: New file.
11104         * modules/xalloc-die-tests: New file.
11105         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
11106         XFAIL_TESTS so it can be appended by modules.
11107
11108 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11109
11110         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
11111         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
11112
11113 2009-11-14  Eric Blake  <ebb9@byu.net>
11114
11115         fnmatch: avoid compiler warning
11116         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
11117         to silence compiler warning about mismatch signedness in ?:.
11118         Reported by Robert Millan.
11119
11120         intprops: add double-inclusion guard
11121         * lib/intprops.h: Allow idempotent includes.
11122         Suggested by Bruce Korb.
11123
11124         openat: detect Solaris fchownat bug
11125         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
11126         penalizing glibc chownat when only lchownat is broken.
11127         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
11128         trailing slash bugs.
11129         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
11130         * modules/openat-tests (Files): Include more files.
11131         (Depends-on): Add mgetgroups, sleep, stat-time.
11132         (configure.ac): Add additional checks.
11133         (Makefile.am): Build new test.
11134         * tests/test-fchownat.c: New file.
11135
11136         lchown: detect Solaris and FreeBSD bug
11137         * lib/lchown.c (rpl_lchown): Work around bug.
11138         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
11139         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11140         * modules/unistd (Makefile.am): Populate it.
11141         * lib/unistd.in.h (lchown): Update declaration.
11142         * doc/posix-functions/lchown.texi (lchown): Document the bug.
11143         * modules/lchown-tests: New file.
11144         * tests/test-lchown.h (test_lchown): Likewise.
11145         * tests/test-lchown.c (main): Likewise.
11146
11147         chown: detect Solaris and FreeBSD bug
11148         * lib/chown.c (rpl_chown): Work around bug.
11149         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
11150         (gl_PREREQ_CHOWN): Delete.
11151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11152         * modules/unistd (Makefile.am): Populate it.
11153         * lib/unistd.in.h (chown): Update declaration.
11154         * lib/lchown.c (chown): Update client.
11155         * modules/lchown (Depends-on): Add lstat.
11156         * doc/posix-functions/chown.texi (chown): Document the bug.
11157         * doc/posix-functions/getgroups.texi (getgroups): Document
11158         getgroups pitfall.
11159         * modules/chown-tests: New file.
11160         * tests/test-chown.h (test_chown): Likewise.
11161         * tests/test-chown.c (main): Likewise.
11162
11163 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
11164
11165         gnulib-tool: correctly detect absence of m4 directories
11166         * gnulib-tool: Avoid extra newline on data passed to wc -l.
11167
11168 2009-11-14  Jim Meyering  <meyering@redhat.com>
11169
11170         maint.mk: Prohibit inclusion of "xalloc.h" without use.
11171         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11172
11173 2009-11-14  John W. Eaton  <jwe@gnu.org>
11174
11175         strftime.h: wrap funtion declaration in extern "C" block
11176         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
11177
11178 2009-11-13  Eric Blake  <ebb9@byu.net>
11179
11180         getgroups: avoid compiler warning
11181         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
11182
11183         getgroups: work around FreeBSD bug
11184         * lib/getgroups.c (rpl_getgroups): Work around the bug.
11185         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
11186         * doc/posix-functions/getgroups.texi (getgroups): Document it.
11187         * tests/test-getgroups.c (main): Fix buffer overrun.
11188
11189         getgroups: avoid compilation failure
11190         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
11191         * modules/getgroups (Depends-on): Add stdint.
11192
11193 2009-11-13  Jim Meyering  <meyering@redhat.com>
11194
11195         test-getgroups: avoid compilation failure
11196         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
11197
11198 2009-11-13  Eric Blake  <ebb9@byu.net>
11199
11200         mgetgroups: new module, taken from coreutils
11201         * modules/mgetgroups: New file.
11202         * lib/mgetgroups.h: Likewise.
11203         * lib/mgetgroups.c (mgetgroups): Likewise.
11204         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
11205         * MODULES.html.sh (Users and groups): Mention it.
11206
11207         getgroups: don't expose GETGROUPS_T to user
11208         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
11209         an element at a time if GETGROUPS_T is wrong size.
11210         * lib/getugroups.h (getugroups): Change signature.
11211         * lib/unistd.in.h (getgroups): Likewise.
11212         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
11213         signature needs fixing.
11214         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
11215         AC_TYPE_GETGROUPS.
11216         * modules/group-member (Depends-on): Add getgroups.
11217         * lib/group-member.c (group_info, get_group_info): Use gid_t.
11218         (group_member): Rely on getgroups replacement.
11219         * lib/getugroups.c (getugroups): Use gid_t.
11220         * tests/test-getgroups.c (main): Likewise.
11221         * NEWS: Mention the signature change.
11222         * doc/posix-functions/getgroups.texi (getgroups): Mention the
11223         problem with signature.
11224         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
11225         GETGROUPS_T is still useful for setgroups.
11226
11227         getgroups, getugroups: provide stubs for mingw
11228         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
11229         * lib/getugroups.c (getugroups): Likewise.
11230         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
11231         function.  Modernize replacement scheme.
11232         (gl_PREREQ_GETGROUPS): Delete.
11233         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
11234         * modules/getgroups (configure.ac): Declare witness.
11235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11236         * modules/unistd (Depends-on): Substitute witness.
11237         * lib/unistd.in.h (getgroups): Declare replacement.
11238
11239         getgroups: avoid calling exit
11240         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
11241         drop xalloc.
11242         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
11243         dependencies.
11244         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
11245         exiting, in the rare case of malloc failure.
11246
11247         getgroups: fix logic error
11248         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
11249         has more than 20 groups.
11250         * modules/getgroups-tests: New test.
11251         * tests/test-getgroups.c: New file.
11252
11253 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11254
11255         * tests/test-base64.c: Improve.
11256
11257 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11258
11259         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
11260         Blake <ebb9@byu.net>.
11261
11262 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11263
11264         * tests/test-xvasprintf.c: Add %s%s related checks.
11265
11266 2009-11-12  Eric Blake  <ebb9@byu.net>
11267
11268         version-etc: match standards.texi style
11269         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
11270         and use <> only for URLs.
11271
11272 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
11273
11274         fts: do not fail on a submount during traversal
11275         * lib/fts.c (fts_build): Read the stat info again after opening
11276         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
11277         Original report at http://bugzilla.redhat.com/501848.
11278
11279 2009-11-12  Jim Meyering  <meyering@redhat.com>
11280
11281         bootstrap: sync from coreutils
11282         * build-aux/bootstrap (bootstrap_epilogue): New function.
11283         Use git_modules_config in one more place.  This make bootstrap's
11284         --gnulib-srcdir option more useful for testing.
11285
11286         bootstrap: generalize autoheader check
11287         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
11288         AC_CONFIG_HEADERS.
11289
11290 2009-11-11  Eric Blake  <ebb9@byu.net>
11291
11292         mkfifoat: use new modules for Solaris and BSD bugs
11293         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
11294         * lib/mkfifoat.c (mknodat): Split...
11295         * lib/mknodat.c (mknodat): ...into new file.
11296         * modules/mkfifoat (Files): Ship new file.
11297         (Depends-on): Add mkfifo, mknod.
11298         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
11299         (Depends-on): Add symlink.
11300         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
11301         redundant with test_mkfifo.h.
11302         (do_mkfifoat, do_mknodat): New helpers.
11303
11304         mknod: new module
11305         * modules/mknod: New file.
11306         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
11307         * lib/mknod.c (mknod): Likewise.
11308         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11309         defaults.
11310         * modules/sys_stat (Makefile.am): Substitute them.
11311         * lib/sys_stat.in.h (mknod): Declare replacement.
11312         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11313         Document it.
11314         * doc/posix-functions/mknod.texi (mknod): Likewise.
11315         * modules/mknod-tests: New test.
11316         * tests/test-mknod.c: Likewise.
11317
11318         mkfifo: new module
11319         * modules/mkfifo: New file.
11320         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
11321         * lib/mkfifo.c (mkfifo): Likewise.
11322         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11323         defaults.
11324         * modules/sys_stat (Makefile.am): Substitute them.
11325         * lib/sys_stat.in.h (mkfifo): Declare replacement.
11326         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11327         Document it.
11328         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
11329         * modules/mkfifo-tests: New test.
11330         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
11331         from test-mkfifoat.c.
11332         * tests/test-mkfifo.c: New file.
11333
11334         readlink: detect FreeBSD bug
11335         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
11336         slash on symlink.
11337         * doc/posix-functions/readlink.texi (readlink): Document the bug.
11338         * tests/test-readlink.h (test_readlink): Enhance test.
11339
11340         symlink: detect FreeBSD bug
11341         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
11342         slash on symlink.
11343         * doc/posix-functions/symlink.texi (symlink): Document the bug.
11344         * tests/test-symlink.h (test_symlink): Enhance test.
11345
11346 2009-11-10  Eric Blake  <ebb9@byu.net>
11347
11348         link: detect FreeBSD bug
11349         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
11350         symlink.
11351         * doc/posix-functions/link.texi (link): Document the bug.
11352         * tests/test-link.h (test_link): Enhance test.
11353         * tests/test-linkat.c (main): Update caller.
11354
11355         unlink, remove: detect FreeBSD bug
11356         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
11357         slash on symlink.
11358         * doc/posix-functions/unlink.texi (unlink): Document the bug.
11359         * doc/posix-functions/remove.texi (remove): Likewise.
11360         * tests/test-unlink.h (test_unlink): Enhance test.
11361         * tests/test-remove.c (main): Likewise.
11362
11363 2009-11-09  Eric Blake  <ebb9@byu.net>
11364
11365         rename: detect FreeBSD bug
11366         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
11367         slash on symlink.
11368         * modules/renameat-tests (Depends-on): Add filenamecat.
11369         * tests/test-rename.h (test_rename): Allow one more errno.
11370         * tests/test-renameat.c (main): Likewise.
11371         * doc/posix-functions/rename.texi (rename): Document the bug.
11372
11373         open: detect FreeBSD bug
11374         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
11375         symlink.
11376         * doc/posix-functions/open.texi (open): Document the bug.
11377         * doc/posix-functions/utimes.texi (utimes): Likewise.
11378         * tests/test-open.h (test_open): Add parameters, and test symlink
11379         handling.
11380         * tests/test-open.c (main): Adjust caller.
11381         * tests/test-fcntl-safer.c (main): Likewise.
11382         * modules/open-tests (Depends-on): Add stdbool, symlink.
11383         * modules/fcntl-safer-tests (Depends-on): Likewise.
11384         * tests/test-openat.c (main): Add test-open tests.
11385
11386         stat: detect FreeBSD bug
11387         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
11388         symlink.
11389         * doc/posix-functions/stat.texi (stat): Document the bug.
11390         * tests/test-stat.h (test_stat_func): Add argument.
11391         * tests/test-stat.c (main): Adjust caller.
11392         * tests/test-fstatat.c (main): Likewise.
11393         * modules/stat-tests (Depends-on): Add stdbool, symlink.
11394         Reported by Jim Meyering.
11395
11396 2009-11-09  James Youngman  <jay@gnu.org>
11397
11398         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
11399         * lib/strftime.c: Correct placement of #include "ignore-value.h".
11400
11401 2009-11-08  Jim Meyering  <meyering@redhat.com>
11402
11403         utimens: remove invalid futimesat call
11404         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
11405         It used the file descriptor of the target file as the DIR_FD
11406         parameter and NULL as the file name.  That caused failure with
11407         errno == EFAULT on FreeBSD-8.0-rc2
11408
11409 2009-11-07  Eric Blake  <ebb9@byu.net>
11410
11411         fflush, freadseek: use fseeko, not fseek
11412         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
11413         (clear_ungetc_buffer): Avoid potential problems on large files.
11414         * lib/freadseek.c (freadseek): Likewise.
11415         * modules/freadseek (Depends-on): Add fseeko.
11416         * modules/fseek (configure.ac): Set a witness.
11417         * tests/test-fflush.c (main): Use fseeko.
11418         * tests/test-fpurge.c (fseek): Disable link warning.
11419         * tests/test-freadable.c (fseek): Likewise.
11420         * tests/test-freading.c (fseek): Likewise.
11421         * tests/test-fseeko.c (fseek): Likewise.
11422         * tests/test-ftell.c (fseek): Likewise.
11423         * tests/test-ftello.c (fseek): Likewise.
11424         * tests/test-fwritable.c (fseek): Likewise.
11425         * tests/test-fwriting.c (fseek): Likewise.
11426
11427 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11428
11429         * modules/memchr (Depends-on): Drop getpagesize dependency.
11430
11431 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11432
11433         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
11434         Reported by Ludovic Courtès.
11435         * build-aux/pmccabe2html: Improve example usage.
11436         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
11437
11438 2009-11-06  Jim Meyering  <meyering@redhat.com>
11439
11440         do-release-commit-and-tag: New module.
11441         Automate the release-commit and tag process.
11442         * build-aux/do-release-commit-and-tag: New script, from coreutils.
11443         * modules/do-release-commit-and-tag: New file.
11444         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11445
11446 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11447
11448         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
11449         because test-select.c uses inet_pton.
11450
11451 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11452
11453         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
11454         GETADDRINFO_LIB.  Bump serial number.
11455         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
11456         Suggested by Eric Blake <ebb9@byu.net>.
11457
11458 2009-11-05  Eric Blake  <ebb9@byu.net>
11459
11460         strtod: detect darwin bug
11461         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
11462         Reported by Leo Davis.
11463
11464         freopen-safer: new module
11465         * modules/freopen-safer: New module.
11466         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
11467         * lib/freopen-safer.c (freopen_safer): New file.
11468         * lib/stdio-safer.h (freopen_safer): New declaration.
11469         * lib/stdio--.h (freopen): New override.
11470         * MODULES.html.sh (File stream based Input/Output): Mention it.
11471         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
11472         freopen-safer module.
11473         * doc/posix-functions/stderr.texi (stderr): Likewise.
11474         * doc/posix-functions/stdin.texi (stdin): Likewise.
11475         * doc/posix-functions/stdout.texi (stdout): Likewise.
11476         * modules/freopen-safer-tests: New test.
11477         * tests/test-reopen-safer.c: New file.
11478
11479 2009-11-05  Jim Meyering  <meyering@redhat.com>
11480
11481         maint.mk: Prohibit inclusion of "close-stream.h" without use.
11482         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11483
11484 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11485
11486         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
11487
11488 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11489
11490         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
11491
11492 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11493
11494         Fix link error.
11495         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
11496         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11497
11498 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11499
11500         * tests/test-func.c: Also test value of __func__.
11501
11502 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11503
11504         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
11505         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
11506
11507 2009-11-05  Bruno Haible  <bruno@clisp.org>
11508
11509         Fix link error.
11510         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
11511         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11512         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
11513
11514 2009-11-05  Bruno Haible  <bruno@clisp.org>
11515
11516         Tests for module 'inet_pton'.
11517         * modules/inet_pton-tests: New file.
11518         * tests/test-inet_pton.c: New file.
11519
11520 2009-11-05  Bruno Haible  <bruno@clisp.org>
11521
11522         Tests for module 'inet_ntop'.
11523         * modules/inet_ntop-tests: New file.
11524         * tests/test-inet_ntop.c: New file.
11525
11526 2009-11-04  Eric Blake  <ebb9@byu.net>
11527
11528         stdlib-safer: wrap all mkstemp variants
11529         * modules/mkostemp (configure.ac): Set witness.
11530         * modules/mkostemps (configure.ac): Likewise.
11531         * modules/mkstemps (configure.ac): Likewise.
11532         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
11533         (mkstemps_safer): Wrap more functions.
11534         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
11535         wrapping.
11536         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
11537         (mkstemps_safer): Implement the wrappers.
11538
11539         mkstemps, mkostemps: new modules
11540         * modules/mkostemps: New module.
11541         * modules/mkstemps: Likewise.
11542         * lib/mkostemps.c (mkostemps): New file.
11543         * lib/mkstemps.c (mkstemps): Likewise.
11544         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
11545         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
11546         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
11547         * modules/stdlib (Makefile.am): Substitute them.
11548         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
11549         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
11550         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
11551         * doc/gnulib.texi (Glibc stdlib.h): Include them.
11552         * MODULES.html.sh (File system functions): Mention them.
11553
11554         tempname: resync from glibc
11555         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
11556         same values for __GT_FILE as glibc.  Abort even when assertions
11557         are disabled.
11558         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
11559         match its value otherwise.  Allow idempotent inclusion.
11560         * lib/mkdtemp.c (mkdtemp): Adjust caller.
11561         * lib/mkostemp.c (mkostemp): Likewise.
11562         * lib/mkstemp.c (mkstemp): Likewise.
11563         * lib/tmpfile.c (tmpfile): Likewise.
11564         * NEWS: Document this.
11565
11566         utimens: fix use of futimens on older Linux
11567         * lib/utimens.c (fdutimens): Use updated, rather than original,
11568         timespec to avoid bug in older Linux kernel.
11569         Reported by Simon Josefsson.
11570
11571 2009-11-04  Bruno Haible  <bruno@clisp.org>
11572
11573         Make num_processors more flexible and consistent.
11574         * lib/nproc.h (enum nproc_query): New type.
11575         (num_processors): Add a 'query' argument.
11576         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
11577         (num_processors): Add a 'query' argument. Test the value of the
11578         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
11579         mingw, count the number of CPUs available for the current process.
11580         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
11581         Check for sched_getaffinity and sched_getaffinity_np.
11582         * modules/nproc (Depends-on): Add c-ctype, extensions.
11583         * NEWS: Mention the change.
11584
11585 2009-11-03  Bruno Haible  <bruno@clisp.org>
11586
11587         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
11588
11589 2009-11-03  Jim Meyering  <meyering@redhat.com>
11590
11591         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
11592         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
11593         if it is defined.
11594
11595 2009-11-02  Eric Blake  <ebb9@byu.net>
11596
11597         mktime, timegm: share common declaration
11598         * lib/mktime-internal.h: New file.
11599         * lib/mktime.c: Use it rather than open-coding a declaration.
11600         * lib/timegm.c: Likewise.
11601         * modules/mktime (Files): Ship it.
11602         * modules/timegm (Files): Likewise.
11603         Suggested by Bruno Haible.
11604
11605         test-update-copyright: update test to match script changes
11606         * tests/test-update-copyright.sh: Avoid hard-coding perl
11607         location.  Don't update *.bak created by earlier runs.
11608
11609 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11610             Simon Josefsson  <simon@josefsson.org>
11611             Bruno Haible  <bruno@clisp.org>
11612
11613         Fix link error on Solaris 8.
11614         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
11615         also in libnsl. Define also INET_PTON_LIB.
11616         * modules/inet_pton (Link): New section.
11617
11618 2009-11-02  Simon Josefsson  <simon@josefsson.org>
11619             Bruno Haible  <bruno@clisp.org>
11620
11621         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
11622         * modules/inet_ntop (Link): New section.
11623         Reported by Boyan Kasarov <bkasarov@gmail.com>.
11624
11625 2009-11-02  Eric Blake  <ebb9@byu.net>
11626
11627         maint: avoid compiler warnings in m4 macros
11628         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
11629         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
11630
11631 2009-11-02  Simon Josefsson  <simon@josefsson.org>
11632
11633         * m4/pmccabe2html.m4: Remove file.
11634         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
11635         function.  Change maintainer.
11636         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
11637         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
11638         Courtès).
11639
11640 2009-10-31  Eric Blake  <ebb9@byu.net>
11641
11642         fseeko: fix m4 regression
11643         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
11644         regression from 2009-10-27.
11645         Reported by Ralf Wildenhues.
11646
11647 2009-10-31  Jim Meyering  <meyering@redhat.com>
11648
11649         inttostr: aesthetics and improved (compile-time) safety
11650         Define inttype_is_signed rather than inttype_is_unsigned,
11651         since the sole use is via "#if inttype_is_signed".
11652         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
11653         inttype_is_unsigned.
11654         * lib/offtostr.c (inttype_is_signed): Likewise.
11655         * lib/uinttostr.c (inttype_is_signed): Likewise.
11656         * lib/umaxtostr.c (inttype_is_signed): Likewise.
11657         * lib/inttostr.c (inttostr): Use verify to cross-check the
11658         inttype_is_signed value and the signedness of the actual type.
11659         * modules/inttostr (Depends-on): Add verify.
11660
11661 2009-10-30  Eric Blake  <ebb9@byu.net>
11662
11663         build: avoid compiler warnings
11664         * lib/fchmodat.c (lchmod): Mark unused variables.
11665         * lib/getopt.c (_getopt_initialize): Likewise.
11666         * lib/mktime.c (__mktime_internal): Provide prototype.
11667         * lib/inttostr.c (inttostr): Avoid compiler warning even with
11668         older gcc that do not understand #pragma GCC diagnostic.
11669         * lib/uinttostr.c (inttype_is_unsigned): Define.
11670         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
11671
11672 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
11673
11674         stat: fix compilation on AIX
11675         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
11676         only see struct stat64.
11677
11678 2009-10-30  Eric Blake  <ebb9@byu.net>
11679
11680         exclude: make more robust
11681         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
11682         rather than masking a coding bug.
11683         Suggested by Bruno Haible.
11684
11685 2009-10-30  Jim Meyering  <meyering@redhat.com>
11686
11687         perl scripts: remove #!/usr/bin/perl in favor of more portable...
11688         Rather than putting #!/usr/bin/perl on the first line,
11689         start with a variant of what's recommended by "man perlrun" that
11690         invokes the first "perl" program from your shell's search path.
11691         * build-aux/gitlog-to-changelog: Replace #!... as above.
11692         Add a "Local Variables" perl mode setting.
11693         Prompted by a patch from Ludovic Courtès.
11694         Improved by Eric Blake.
11695         * build-aux/useless-if-before-free: Likewise.
11696         * build-aux/announce-gen: Likewise.
11697         * build-aux/update-copyright: Likewise.
11698
11699 2009-10-29  Eric Blake  <ebb9@byu.net>
11700
11701         filenamecat-lgpl: adjust clients
11702         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
11703         filenamecat.
11704         * modules/renameat (Depends-on): Likewise.
11705
11706         filenamecat: split into filenamecat-lgpl
11707         * modules/filenamecat-lgpl: New module.
11708         * modules/filenamecat (Files): Move library-safe files into
11709         filenamecat-lgpl.
11710         (Depends-on): Add filenamecat-lgpl.
11711         (configure.ac): Declare witness.
11712         * lib/filenamecat.h (file_name_concat): Only declare when using
11713         GPL module.
11714         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
11715         Move...
11716         * lib/filenamecat-lgpl.c: ...into new file.
11717         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
11718         (gl_FILE_NAME_CONCAT): Use it.
11719         * MODULES.html.sh (File system functions): Mention new module.
11720
11721         argp: avoid memory leak
11722         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
11723         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
11724         base_name, since the latter malloc()s and can call exit().
11725         Leak introduced 2006-07-03.
11726
11727         dirname-lgpl: adjust clients that don't need full dirname
11728         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
11729         * modules/filenamecat (Depends-on): Likewise.
11730         * modules/linkat (Depends-on): Likewise.
11731         * modules/mkancesdirs (Depends-on): Likewise.
11732         * modules/mkdir (Depends-on): Likewise.
11733         * modules/openat (Depends-on): Likewise.
11734         * modules/savewd (Depends-on): Likewise.
11735         * modules/rename (Depends-on): Likewise.
11736         (License): Relax license.
11737         * modules/mkdir-tests (Depends-on): Drop progname.
11738         (Makefile.am): Delete unneeded LDADD.
11739         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
11740
11741         dirname: split into dirname-lgpl
11742         * modules/dirname-lgpl: New module.
11743         * modules/dirname (Files): Move library-safe files into
11744         dirname-lgpl.
11745         (Depends-on): Add dirname-lgpl.
11746         (configure.ac): Declare witness.
11747         * modules/double-slash-root (License): Relax license.
11748         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
11749         module.
11750         * lib/dirname.c (dir_len, mdir_name): Move...
11751         * lib/dirname-lgpl.c: ...into new file.
11752         * lib/basename.c (last_component, base_len): Move...
11753         * lib/basename-lgpl.c: ...into new file.
11754         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
11755         (gl_DIRNAME): Use it.
11756         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
11757         Mention new module.
11758         * modules/dirname-tests (Depends-on): Add progname.
11759         * tests/test-dirname.c (program_name): Delete.
11760
11761         mkdir: make safe for libraries
11762         * modules/mkdir (Depends-on): Drop xalloc.
11763         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
11764         exit.
11765
11766         tests: avoid some compiler warnings
11767         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
11768         literals.
11769         * tests/test-memchr.c (main): Avoid type mismatch.
11770         * tests/test-arpa_inet.c (main): Avoid unused parameters.
11771         * tests/test-base64.c (main): Likewise.
11772         * tests/test-getdelim.c (main): Likewise.
11773         * tests/test-gethostname.c (main): Likewise.
11774         * tests/test-getline.c (main): Likewise.
11775         * tests/test-netinet_in.c (main): Likewise.
11776         * tests/test-select.c (open_server_socket, main): Likewise.
11777         * tests/test-select-stdin.c (main): Likewise.
11778         * tests/test-sockets.c (main): Likewise.
11779         * tests/test-strsignal.c (main): Likewise.
11780         * tests/test-sys_select.c (main): Likewise.
11781         * tests/test-sys_socket.c (main): Likewise.
11782         * tests/test-u64.c (main): Likewise.
11783         * tests/test-xfprintf-posix.c (main): Likewise.
11784         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
11785
11786         sockets: avoid compiler warning
11787         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
11788
11789         maint: detect usage(1) and other suspicious exits
11790         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
11791
11792 2009-10-29  Jim Meyering  <meyering@redhat.com>
11793
11794         timespec: long-to-int truncation could make timespec_cmp malfunction
11795         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
11796         a multiple of 2^32 nanoseconds as no difference.
11797
11798 2009-10-28  Jim Meyering  <meyering@redhat.com>
11799
11800         fprintftime: wrap macro code argument in "do {...} while(0)"
11801         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
11802         cpy macro must be a statement that can be followed by a semicolon.
11803         Now that the else clause contains a comment and is hence longer
11804         than one line, I require curly braces.  That in turn requires
11805         that we wrap this code block in the standard do...while(0).
11806
11807         fprintftime: remove stray semicolon from previous change
11808         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
11809
11810         fprintftime: avoid a warning about ignored fwrite return value
11811         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
11812         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
11813         that is unsafe.
11814         * modules/fprintftime (Depends-on): Add ignore-value.
11815
11816         exclude: avoid an unwarranted warning
11817         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
11818
11819 2009-10-27  Eric Blake  <ebb9@byu.net>
11820
11821         fseek: avoid compilation failure when fflush is replaced
11822         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
11823         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
11824         module is in use.
11825         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
11826         module is not in use; since REPLACE_FSEEK worked otherwise.
11827         (GNULIB_FTELLO): Likewise for ftell.
11828         Reported by Ian Beckwith and others.
11829
11830 2009-10-27  Bruno Haible  <bruno@clisp.org>
11831
11832         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
11833         Reported by Jim Meyering.
11834
11835 2009-10-27  Jim Meyering  <jim@meyering.net>
11836             Bruno Haible  <bruno@clisp.org>
11837
11838         Avoid warning despite dropping the return value of fwrite.
11839         * lib/unicodeio.c: Include ignore-value.h.
11840         (fwrite_success_callback): Explicitly ignore fwrite's return value.
11841         * modules/unicodeio (Depends-on): Add ignore-value.
11842
11843 2009-10-26  Eric Blake  <ebb9@byu.net>
11844
11845         areadlinkat: fix fallback path
11846         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
11847         pointer and zero.
11848
11849 2009-10-22  PĂ¡draig Brady  <P@draigBrady.com>
11850
11851         Use a better IO block size for modern systems
11852         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
11853         * lib/md2.c: Likewise.
11854         * lib/md4.c: Likewise.
11855         * lib/md5.c: Likewise.
11856         * lib/sha1.c: Likewise.
11857         * lib/sha256.c: Likewise.
11858         * lib/sha512.c: Likewise.
11859
11860 2009-10-22  Eric Blake  <ebb9@byu.net>
11861
11862         tests: avoid several compiler warnings
11863         * tests/test-getcwd.c (main): Avoid buffer underflow.
11864         * tests/test-getdate.c (main): String literals are not safe with
11865         putenv, so use setenv.  Declare unused argument.
11866         * modules/getdate-tests (Depends-on): Add setenv.
11867         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
11868         problems with string literals in char *.
11869         * tests/test-hash.c (main): Avoid shadowing declaration.
11870         (insert_new): Treat string literals as char const *.
11871         * tests/test-getopt.h (test_getopt): Likewise.
11872         (getopt_loop): Alter types to minimize casting elsewhere.
11873         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
11874         (test_getopt_long_posix): Likewise.
11875         (do_getopt_long): Add wrapper to minimize casting.
11876         * tests/test-atexit.c (clear_temp_file): Use void.
11877         * tests/test-areadlink-with-size.c (main): Declare unused
11878         arguments.
11879         * tests/test-areadlink.c (main): Likewise.
11880         * tests/test-areadlinkat-with-size.c (main): Likewise.
11881         * tests/test-areadlinkat.c (main): Likewise.
11882         * tests/test-canonicalize-lgpl.c (main): Likewise.
11883         * tests/test-canonicalize.c (main): Likewise.
11884         * tests/test-dirent-safer.c (main): Likewise.
11885         * tests/test-dirname.c (main): Likewise.
11886         * tests/test-dup2.c (main): Likewise.
11887         * tests/test-fchdir.c (main): Likewise.
11888         * tests/test-fcntl-h.c (main): Likewise.
11889         * tests/test-fcntl-safer.c (main): Likewise.
11890         * tests/test-fdopendir.c (main): Likewise.
11891         * tests/test-fdutimensat.c (main): Likewise.
11892         * tests/test-fflush.c (main): Likewise.
11893         * tests/test-filenamecat.c (main): Likewise.
11894         * tests/test-filevercmp.c (main): Likewise.
11895         * tests/test-fopen-safer.c (main): Likewise.
11896         * tests/test-fopen.c (main): Likewise.
11897         * tests/test-fpending.c (main): Likewise.
11898         * tests/test-fpurge.c (main): Likewise.
11899         * tests/test-freading.c (main): Likewise.
11900         * tests/test-fstatat.c (main): Likewise.
11901         * tests/test-fsync.c (main): Likewise.
11902         * tests/test-futimens.c (main): Likewise.
11903         * tests/test-getndelim2.c (main): Likewise.
11904         * tests/test-gettimeofday.c (main): Likewise.
11905         * tests/test-getopt.c (main): Likewise.
11906         * tests/test-i-ring.c (main): Likewise.
11907         * tests/test-inttypes.c (main): Likewise.
11908         * tests/test-link.c (main): Likewise.
11909         * tests/test-lstat.c (main): Likewise.
11910         * tests/test-math.c (main): Likewise.
11911         * tests/test-md5.c (main): Likewise.
11912         * tests/test-memchr2.c (main): Likewise.
11913         * tests/test-memrchr.c (main): Likewise.
11914         * tests/test-mkdir.c (main): Likewise.
11915         * tests/test-mkdirat.c (main): Likewise.
11916         * tests/test-mkfifoat.c (main): Likewise.
11917         * tests/test-open.c (main): Likewise.
11918         * tests/test-openat-safer.c (main): Likewise.
11919         * tests/test-openat.c (main): Likewise.
11920         * tests/test-quotearg.c (main): Likewise.
11921         * tests/test-rawmemchr.c (main): Likewise.
11922         * tests/test-readlink.c (main): Likewise.
11923         * tests/test-remove.c (main): Likewise.
11924         * tests/test-rename.c (main): Likewise.
11925         * tests/test-renameat.c (main): Likewise.
11926         * tests/test-rmdir.c (main): Likewise.
11927         * tests/test-sha1.c (main): Likewise.
11928         * tests/test-signal.c (main): Likewise.
11929         * tests/test-sigaction.c (main): Likewise.
11930         * tests/test-stat.c (main): Likewise.
11931         * tests/test-stat-time.c (main): Likewise.
11932         * tests/test-stddef.c (main): Likewise.
11933         * tests/test-stdint.c (main): Likewise.
11934         * tests/test-stdio.c (main): Likewise.
11935         * tests/test-stdlib.c (main): Likewise.
11936         * tests/test-strchrnul.c (main): Likewise.
11937         * tests/test-strerror.c (main): Likewise.
11938         * tests/test-string.c (main): Likewise.
11939         * tests/test-strtod.c (main): Likewise.
11940         * tests/test-strverscmp.c (main): Likewise.
11941         * tests/test-symlink.c (main): Likewise.
11942         * tests/test-symlinkat.c (main): Likewise.
11943         * tests/test-sys_stat.c (main): Likewise.
11944         * tests/test-sys_time.c (main): Likewise.
11945         * tests/test-time.c (main): Likewise.
11946         * tests/test-unistd.c (main): Likewise.
11947         * tests/test-unlink.c (main): Likewise.
11948         * tests/test-unlinkat.c (main): Likewise.
11949         * tests/test-utimens.c (main): Likewise.
11950         * tests/test-utimensat.c (main): Likewise.
11951         * tests/test-version-etc.c (main): Likewise.
11952         * tests/test-wchar.c (main): Likewise.
11953         * tests/test-wctype.c (main): Likewise.
11954         * tests/test-xprintf-posix.c (main): Likewise.
11955         * tests/test-posixtm.c (main): Likewise.
11956         (STREQ): Delete unused macro.
11957         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
11958         shadowed variables.
11959         * tests/test-memchr.c (main): Likewise.
11960
11961 2009-10-21  Eric Blake  <ebb9@byu.net>
11962
11963         areadlinkat: avoid failure on older glibc
11964         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
11965         rather than mis-comparing 0 against FUNC_RESULT of char*.
11966
11967 2009-10-21  Bruno Haible  <bruno@clisp.org>
11968
11969         * modules/stpncpy (License): Relicense under LGPLv2+.
11970         Reported by David Lutterkort <lutter@redhat.com>.
11971
11972 2009-10-20  Eric Blake  <ebb9@byu.net>
11973
11974         utimensat: work around Solaris 9 bug
11975         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
11976         has trailing slash bugs.
11977         * tests/test-lutimens.h (test_lutimens): Enhance test.
11978         * tests/test-utimens.h (test_utimens): Likewise.
11979         * doc/posix-functions/utime.texi (utime): Enhance documentation.
11980         * doc/posix-functions/utimes.texi (utimes): Likewise.
11981         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
11982         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
11983         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
11984         * doc/posix-functions/futimens.texi (futimens): Likewise.
11985
11986         fdutimensat: new module
11987         * modules/fdutimensat: New file.
11988         * lib/fdutimensat.c (fdutimensat): Likewise.
11989         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
11990         * MODULES.html.sh (File system functions): Mention module.
11991         * modules/fdutimensat-tests: New test.
11992         * tests/test-fdutimensat.c: Likewise.
11993
11994         doc: regenerate INSTALL
11995         * doc/INSTALL: Reflect recent autoconf update.
11996         * doc/INSTALL.ISO: Likewise.
11997         * doc/INSTALL.UTF-8: Likewise.
11998
11999 2009-10-20  PĂ¡draig Brady  <P@draigBrady.com>
12000
12001         acl: warn if ACL support is not detected
12002         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
12003
12004 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
12005
12006         * lib/nproc.h: Add extern "C" block for C++.
12007
12008 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
12009             Bruno Haible  <bruno@clisp.org>
12010
12011         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
12012         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
12013         * doc/posix-functions/isalpha.texi: Likewise.
12014         * doc/posix-functions/isblank.texi: Likewise.
12015         * doc/posix-functions/iscntrl.texi: Likewise.
12016         * doc/posix-functions/isdigit.texi: Likewise.
12017         * doc/posix-functions/isgraph.texi: Likewise.
12018         * doc/posix-functions/islower.texi: Likewise.
12019         * doc/posix-functions/isprint.texi: Likewise.
12020         * doc/posix-functions/ispunct.texi: Likewise.
12021         * doc/posix-functions/isspace.texi: Likewise.
12022         * doc/posix-functions/isupper.texi: Likewise.
12023         * doc/posix-functions/isxdigit.texi: Likewise.
12024
12025 2009-10-18  Bruno Haible  <bruno@clisp.org>
12026
12027         Tests for module 'isblank'.
12028         * modules/isblank-tests: New file.
12029         * tests/test-isblank.c: New file.
12030
12031         New module 'isblank'.
12032         * lib/isblank.c: New file.
12033         * m4/isblank.m4: New file.
12034         * modules/isblank: New file.
12035         * doc/posix-functions/isblank.texi: Mention the new module.
12036
12037 2009-10-18  Bruno Haible  <bruno@clisp.org>
12038
12039         New module 'ctype'.
12040         * lib/ctype.in.h: New file.
12041         * m4/ctype.m4: New file.
12042         * modules/ctype: New file.
12043         * doc/posix-headers/ctype.texi: Mention the new module.
12044
12045 2009-10-18  Jim Meyering  <meyering@redhat.com>
12046
12047         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
12048         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
12049         right after its initialization, rather than farther down.
12050         Keeping these in close proximity makes it easier to ensure
12051         that each such variable is initialized.  E.g.,
12052
12053             LIB_CLOCK_GETTIME=
12054             AC_SUBST([LIB_CLOCK_GETTIME])
12055
12056         This change also increments these serial numbers.
12057         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
12058         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12059         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12060
12061 2009-10-18  Bruno Haible  <bruno@clisp.org>
12062
12063         Don't let environment variables perturb build.
12064         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
12065         (gl_PREREQ_GETHRXTIME): ... not here.
12066
12067 2009-10-18  Bruno Haible  <bruno@clisp.org>
12068
12069         Avoid symlink attack in localcharset module.
12070         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
12071         (O_NOFOLLOW): Define fallback.
12072         (get_charset_aliases): Don't open the file if it is a symbolic link.
12073         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
12074         gl_FCNTL_H.
12075         (gl_FCNTL_H): Require it.
12076         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
12077         * modules/localcharset (Files): Add m4/fcntl_h.m4.
12078         Reported by Fergal Glynn <fglynn@veracode.com>.
12079
12080 2009-10-18  Bruno Haible  <bruno@clisp.org>
12081
12082         Implement nproc for mingw.
12083         * lib/nproc.c: Include <windows.h>
12084         (num_processors): On native Windows platforms, try GetSystemInfo.
12085
12086 2009-10-18  Bruno Haible  <bruno@clisp.org>
12087
12088         Implement nproc for IRIX.
12089         * lib/nproc.c: Include <sys/sysmp.h>.
12090         (num_processors): On IRIX systems, try sysmp.
12091         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
12092
12093 2009-10-18  Bruno Haible  <bruno@clisp.org>
12094
12095         Implement nproc for HP-UX.
12096         * lib/nproc.c: Include <sys/pstat.h>
12097         (num_processors): On HP-UX systems, try pstat_getdynamic.
12098         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
12099         pstat_getdynamic.
12100
12101 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
12102             Bruno Haible  <bruno@clisp.org>
12103
12104         Implement nproc for NetBSD, OpenBSD.
12105         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
12106         (ARRAY_SIZE): New macro.
12107         (num_processors): On BSD systems, try sysctl of HW_NCPU.
12108         * m4/nproc.m4: New file.
12109         * modules/nproc (Files): Add m4/nproc.m4.
12110         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
12111         (Makefile.am): Instead, augment lib_SOURCES.
12112
12113 2009-10-18  Bruno Haible  <bruno@clisp.org>
12114
12115         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
12116         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
12117         sys/param.h.
12118
12119 2009-10-16  Eric Blake  <ebb9@byu.net>
12120
12121         utimensat: new module
12122         * modules/utimensat: New file.
12123         * lib/utimensat.c (utimensat): Likewise.
12124         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12125         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
12126         so we can work around Linux bugs.
12127         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12128         * modules/sys_stat (Makefile.am): Substitute them.
12129         * lib/sys_stat.in.h (utimensat): Declare it.
12130         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12131         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12132         * modules/utimensat-tests: New test.
12133         * tests/test-utimensat.c: Likewise.
12134
12135         utimens: let lutimens work on non-symlinks
12136         * lib/utimens.c (lutimens): Fall back to utimens rather than
12137         failing with ENOSYS, when file is not a symlink.
12138         (utimens): Reduce redirection.
12139         * tests/test-lutimens.h (test_lutimens): Update test to cover
12140         non-symlinks.
12141         * tests/test-utimens.h (test_utimens): Update test to cover
12142         symlinks.
12143         * tests/test-utimens.c (main): Update caller.
12144
12145         utimens: cache whether utimensat syscall works
12146         * lib/utimens.c (utimensat_works_really): New cache variable.
12147         (fdutimens, lutimens): Use it to avoid failing syscall.
12148
12149         test-stat-time, test-utimens: improve portability
12150         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
12151         ext4 on alpha, and for cygwin.
12152         * tests/test-utimens-common.h: New file.
12153         (nap): Factor delays into single function.
12154         * tests/test-lutimens.h (test_lutimens): Use new header.
12155         * tests/test-futimens.h (test_futimens): Likewise.
12156         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
12157         timestamps to occur from same machine, as was done previously for
12158         test_utimens.
12159         * modules/utimens-tests (Files): Ship new file.
12160         * modules/futimens-tests (Files): Likewise.
12161         Reported in part by Jim Meyering.
12162
12163         sys_stat: sort replacement declarations
12164         * lib/sys_stat.in.h: Sort declarations.
12165         * lib/futimens.c (futimens): Fix typo.
12166
12167 2009-10-15  Jim Meyering  <meyering@redhat.com>
12168
12169         don't let environment settings perturb build
12170         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
12171         could cause a configure-time and/or build-time malfunction.
12172         Typically, a configure-time function-in-library test is performed
12173         via code like this:
12174
12175           LIB_VAR=
12176           AC_SUBST([LIB_VAR])
12177           prefix_saved_LIBS=$LIBS
12178             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
12179                        [test "$ac_cv_search_FUNC" = "none required" ||
12180                         LIB_VAR=$ac_cv_search_FUNC])
12181           LIBS=$prefix_saved_LIBS
12182
12183         However, in each of the files affected by this change, the LIB_VAR=
12184         initialization was omitted.  Thus, when set in the environment, its
12185         value would propagate into generated Makefiles when FUNC is not found
12186         in LIB_NAME.
12187         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
12188         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12189         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12190
12191 2009-10-14  Eric Blake  <ebb9@byu.net>
12192
12193         fchdir: avoid infinite recursion in mingw
12194         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
12195         recursing.
12196
12197         test-stat-time: port to mingw
12198         * tests/test-stat-time.c (force_unlink): Return a value.
12199         (test_ctime) [W32]: Fix compilation error.
12200         (nap): Don't call usleep with too large an argument.  Use
12201         force_unlink.
12202         * doc/pastposix-functions/usleep.texi (usleep): Document the
12203         portability issue.
12204
12205 2009-10-13  Jim Meyering  <meyering@redhat.com>
12206
12207         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
12208         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
12209         * modules/pipe-filter-ii: Likewise.
12210         * modules/sys_socket-tests: Likewise.
12211         * modules/tsearch-tests: Likewise.
12212         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
12213         (check): Depend on it.
12214
12215 2009-10-12  Eric Blake  <ebb9@byu.net>
12216
12217         utimens-tests: port to NFS file systems
12218         * tests/test-utimens.h (test_utimens): Refactor utimecmp
12219         comparisons to avoid spurious failures from timestamp drift
12220         between NFS machines.
12221
12222 2009-10-12  Eric Blake  <ebb9@byu.net>
12223
12224         stat-time-tests: minor cleanups
12225         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
12226         * tests/test-stat-time.c (nap): Separate assignment from call.
12227         Suggested by Paolo Bonzini and Bruno Haible.
12228
12229         sys_stat: guarantee struct timespec
12230         * lib/sys_stat.in.h (includes): Always include <time.h>
12231         * modules/sys_stat (Depends-on): Add time.
12232         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
12233         mode_t permission values.
12234         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
12235         get at subsecond timestamps.
12236
12237 2009-10-10  Eric Blake  <ebb9@byu.net>
12238
12239         futimens: new module
12240         * modules/futimens: New file.
12241         * lib/futimens.c (futimens): Likewise.
12242         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
12243         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
12244         we can work around Linux bugs.
12245         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12246         * modules/sys_stat (Makefile.am): Substitute them.
12247         * lib/sys_stat.in.h (futimens): Declare it.
12248         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12249         * doc/posix-functions/futimens.texi (futimens): Likewise.
12250         * modules/futimens-tests: New test.
12251         * tests/test-futimens.c: Likewise.
12252
12253         utimens: introduce fdutimens
12254         * lib/utimens.h (fdutimens): New prototype.
12255         * lib/utimens.c (gl_futimens): Move guts...
12256         (fdutimens): ...to new interface.
12257         * tests/test-utimens.c (do_fdutimens): Use it.
12258
12259         utimens: add UTIME_NOW and UTIME_OMIT support
12260         * lib/utimens.c (validate_timespec, update_timespec): New helper
12261         functions.
12262         (gl_futimens, lutimens): Use them.
12263         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
12264         stdbool, sys_stat.
12265         (Link): Mention resulting library dependency.
12266         * modules/utimecmp (Link): Likewise.
12267         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
12268         (Makefile.am): Pick up library dependency.
12269         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
12270         definition.
12271         * tests/test-sys_stat.c: Test the definitions.
12272         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
12273         * NEWS: Document library dependency.
12274
12275         utimecmp: support symlink timestamps
12276         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
12277         hashing when possible.  Use pathconf when available.
12278         (SYSCALL_RESOLUTION): Recognize tighter resolution.
12279         * modules/utimecmp (Depends-on): Add lstat.
12280
12281         utimens: add lutimens interface
12282         * lib/utimens.c (lutimens): New function.
12283         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
12284         * lib/utimens.h (lutimens): Declare new interface.
12285         * tests/test-utimens.c (main): Enhance test.
12286         * tests/test-lutimens.h (test_lutimens): New file.
12287         * modules/utimens-tests (Files): Distribute it.
12288         (Depends-on): Add symlink.
12289         (configure.ac): Check for usleep.
12290
12291         utimens: validate futimens usage
12292         * lib/utimens.c (gl_futimens): Require valid fd up front, using
12293         fewer syscalls on failure later on.  Avoid compiler warning on
12294         mingw.
12295         * modules/utimens (Depends-on): Add dup2.
12296
12297         utimens: add test
12298         * modules/utimens-tests: New test.
12299         * tests/test-utimens.h: New file.
12300         * tests/test-futimens.h: Likewise.
12301         * tests/test-utimens.c: Likewise.
12302
12303         doc: mention timestamp portability issues
12304         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
12305         instead.
12306         * doc/posix-functions/utime.texi (utime): Likewise.
12307         * doc/posix-functions/utimes.texi (utimes): Likewise.
12308         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
12309         instead.
12310         * doc/posix-functions/futimens.texi (futimens): Mention utimens
12311         module.
12312         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12313         Mention weakness with symlink timestamps.
12314         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
12315         to utimensat/futimens instead.
12316         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
12317
12318         test-dup2: enhance test
12319         * tests/test-dup2.c (main): Also check AT_FDCWD.
12320
12321         test-stat-time: avoid more spurious failures
12322         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
12323         xfs; and avoid race if the two timestamps cross quantization edge.
12324
12325         relocatable: prefer 'file system' over 'filesystem'
12326         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
12327         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
12328         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
12329         * doc/relocatable.texi (Enabling Relocatability): Likewise.
12330         * lib/relocatable.c (compute_curr_prefix): Likewise.
12331
12332 2009-10-10  Jim Meyering  <meyering@redhat.com>
12333
12334         stat-time-tests: check for the usleep function
12335         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
12336
12337 2009-10-10  Bruno Haible  <bruno@clisp.org>
12338
12339         * modules/xnanosleep: Put the Link section after the Include section.
12340
12341 2009-10-09  Eric Blake  <ebb9@byu.net>
12342
12343         dup2: work around FreeBSD 6.1 bug
12344         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
12345         * doc/posix-functions/dup2.texi (dup2): Document it.
12346         Reported by Nelson H. F. Beebe and Jim Meyering.
12347
12348         test-stat-time: port to buggy NFS clients
12349         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
12350         (test_ctime): Also skip test if mtime and ctime are skewed.
12351
12352         maint: prefer 'file system' over 'filesystem'
12353         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
12354         * doc/posix-functions/lstat.texi (lstat): Likewise.
12355         * lib/file-has-acl.c (file_has_acl): Likewise.
12356         * lib/fwriteerror.c [TEST]: Likewise.
12357         * tests/test-areadlink.h (test_areadlink): Likewise.
12358         * tests/test-areadlinkat-with-size.c (main): Likewise.
12359         * tests/test-areadlinkat.c (main): Likewise.
12360         * tests/test-canonicalize-lgpl.c (main): Likewise.
12361         * tests/test-canonicalize.c (main): Likewise.
12362         * tests/test-fstatat.c (main): Likewise.
12363         * tests/test-linkat.c (main): Likewise.
12364         * tests/test-lstat.h (test_lstat_func): Likewise.
12365         * tests/test-mkdir.h (test_mkdir): Likewise.
12366         * tests/test-readlink.h (test_readlink): Likewise.
12367         * tests/test-remove.c (main): Likewise.
12368         * tests/test-rename.h (test_rename): Likewise.
12369         * tests/test-renameat.c (main): Likewise.
12370         * tests/test-rmdir.h (test_rmdir_func): Likewise.
12371         * tests/test-symlink.h (test_symlink): Likewise.
12372         * tests/test-symlinkat.c (main): Likewise.
12373         * tests/test-unlink.h (test_unlink_func): Likewise.
12374         * tests/test-unlinkat.c (main): Likewise.
12375
12376         maint: make realtime library usage explicit
12377         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
12378         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
12379         * modules/settime (Link): Likewise.
12380         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
12381
12382         test-stat-time: speed up execution
12383         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
12384         warning on mingw.
12385         (nap): New helper function.
12386         (prepare_test): Use it to reduce sleep time.
12387         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
12388         execution.
12389         * modules/stat-time-tests (configure.ac): Check for usleep.
12390
12391 2009-10-09  Jim Meyering  <meyering@redhat.com>
12392
12393         selinux-h: always use getfilecon wrappers
12394         * lib/getfilecon.c: New file.
12395         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
12396         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
12397         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
12398         (fgetfilecon): Provide a stub.
12399         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
12400         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
12401         file unconditionally.
12402         When <selinux/selinux.h> is found, arrange to use wrappers.
12403         * modules/selinux-h (Files): Add getfilecon.c.
12404         (Makefile.am): Substitute include-next-related bits
12405         into the now-always-generated selinux/selinux.h file.
12406         * doc/glibc-functions/lgetfilecon.texi: New file.
12407         * doc/glibc-functions/fgetfilecon.texi: New file.
12408         * doc/glibc-functions/getfilecon.texi: New file.
12409         * doc/glibc-functions/getfilecon-desc.texi: New file.
12410         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
12411         which to pull in the new files.
12412         * MODULES.html.sh (Misc): Add selinux-h.
12413
12414 2009-10-08  Jim Meyering  <meyering@redhat.com>
12415
12416         unistd: fix comment typo
12417         * lib/unistd.in.h (euidaccess): Fix a comment typo.
12418
12419 2009-10-08  Eric Blake  <ebb9@byu.net>
12420
12421         areadlink: use SIZE_MAX consistently
12422         * modules/areadlink (Depends-on): Add stdint.
12423         * modules/areadlink-with-size (Depends-on): Likewise.
12424         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
12425         gives NULL; drop sys/types, since unistd gives size_t; and add
12426         stdint for SIZE_MAX.
12427         (SIZE_MAX): Rely on headers.
12428         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
12429         and add stdint.
12430         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
12431         (SIZE_MAX): Likewise.
12432         (INITIAL_BUF_SIZE): Turn into enum.
12433         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
12434
12435 2009-10-08  Jim Meyering  <meyering@redhat.com>
12436
12437         areadlinkat: avoid compilation failure
12438         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
12439         Fix typo in comment.
12440
12441 2009-10-07  Eric Blake  <ebb9@byu.net>
12442
12443         areadlinkat-with-size: new module
12444         * modules/areadlinkat-with-size: New module.
12445         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
12446         * lib/areadlink.h (areadlinkat): Declare it.
12447         * MODULES.html.sh (File system functions): Mention it.
12448         * modules/areadlinkat-with-size-tests: New test.
12449         * tests/test-areadlinkat-with-size.c: New file.
12450
12451         xreadlinkat: new module
12452         * modules/xreadlinkat: New module.
12453         * lib/xreadlinkat.c (xreadlinkat): New file.
12454         * lib/xreadlink.h (xreadlinkat): Declare it.
12455         * MODULES.html.sh (File system functions): Mention it.
12456
12457         areadlinkat: new module
12458         * lib/at-func.c (FUNC_FAIL): New define.
12459         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
12460         * modules/areadlinkat: New module.
12461         * lib/linkat.c (areadlinkat): Move...
12462         * lib/areadlinkat.c (areadlinkat): ...to new file.
12463         * lib/areadlink.h (areadlinkat): Declare it.
12464         * modules/linkat (Depends-on): Add areadlinkat.
12465         * MODULES.html.sh (File system functions): Mention it.
12466         * modules/areadlinkat-tests: New test.
12467         * tests/test-areadlinkat.c: New file.
12468
12469         areadlink, areadlink-with-size: add tests
12470         * modules/areadlink-tests: New test.
12471         * modules/areadlink-with-size-tests: Likewise.
12472         * tests/test-areadlink.h: New file.
12473         * tests/test-areadlink.c: Likewise.
12474         * tests/test-areadlink-with-size.c: Likewise.
12475
12476         maint: minor cleanups
12477         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
12478         _UNUSED_PARAMETER_ instead.
12479         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
12480         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
12481         * modules/linkat-tests (Files): Distribute test-link.h.
12482
12483         openat, utimens: whitespace cleanup
12484         * lib/openat.c: Prefer space throughout, rather than mix of 8
12485         spaces vs. tabs.
12486         * lib/at-func.c: Likewise.
12487         * lib/utimens.c: Likewise.
12488
12489         openat: avoid using wrong fd
12490         * lib/openat.c (openat_permissive): Reject user's fd if saving the
12491         working directory chooses same fd.
12492         * lib/at-func.c (AT_FUNC_NAME): Likewise.
12493
12494         mkdir, mkdirat: fix cygwin 1.5.x bug
12495         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
12496         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
12497         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
12498         bug.
12499         (gl_PREREQ_MKDIR): Delete unused macro.
12500         * modules/mkdir (Files): Track file rename.
12501         (configure.ac): Update macro name.
12502         * modules/openat (Depends-on): Add mkdir.
12503         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
12504
12505         mkdir, mkdirat: add tests
12506         * modules/mkdir-tests: New test.
12507         * tests/test-mkdir.h: New file.
12508         * tests/test-mkdir.c: Likewise.
12509         * tests/test-mkdirat.c: Likewise.
12510         * modules/openat-tests (Files): Add new files.
12511         (Makefile.am): Run new test.
12512
12513 2009-10-06  Eric Blake  <ebb9@byu.net>
12514
12515         doc: tweak *at function documentation
12516         * doc/posix-functions/faccessat.texi (faccessat): Mention
12517         known issue with replacement.
12518         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
12519         * doc/posix-functions/linkat.texi (linkat): Likewise.
12520         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
12521         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
12522         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12523         * doc/posix-functions/renameat.texi (renameat): Likewise.
12524         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12525
12526         openat: fix GNU/Hurd bug in unlinkat
12527         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
12528         broken.
12529         * doc/posix-functions/unlink.texi (unlink): Document this.
12530         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
12531
12532         fdopendir: fix GNU/Hurd bug
12533         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
12534         allowing non-directory fds.
12535         * lib/fdopendir.c (rpl_fdopendir): Work around it.
12536         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
12537         * modules/dirent (Makefile.am): Substitute it.
12538         * lib/dirent.in.h (fdopendir): Declare replacement.
12539         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
12540         * tests/test-fdopendir.c (main): Test something other than
12541         /dev/null, since on Hurd that behaves like a directory.
12542
12543         test-symlink: port to GNU/Hurd
12544         * tests/test-symlink.h (test_symlink): Relax expected errno.
12545
12546         doc: tweak more cygwin information
12547         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
12548         now compatible with glibc.
12549         * doc/posix-functions/getopt.texi (getopt): Likewise.
12550
12551         getopt-gnu: add another test
12552         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
12553         guarantee behavior relied on by m4.
12554         * tests/test-getopt.c (main): Use it.
12555         * modules/getopt-posix-tests (Depends-on): Add setenv.
12556         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
12557
12558         getopt: fix compilation on darwin
12559         * lib/getopt.in.h (includes): Leave breadcrumbs during system
12560         include.
12561         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
12562         Reported by Ludovic Courtès.
12563
12564 2009-10-06  Bruno Haible  <bruno@clisp.org>
12565
12566         * modules/size_max (Description): Discourage its use.
12567         Reported by Simon Josefsson.
12568
12569 2009-10-06  Jim Meyering  <meyering@redhat.com>
12570
12571         linkat: avoid compilation failure
12572         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
12573
12574 2009-10-05  Eric Blake  <ebb9@byu.net>
12575
12576         linkat: support Linux 2.6.17
12577         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
12578         linkat on Linux, but allow cache variable override.
12579         * lib/linkat.c (rpl_linkat): Define override.
12580         * modules/linkat (Depends-on): Add symlinkat.
12581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
12582         * modules/unistd (Makefile.am): Substitute it.
12583         * lib/unistd.in.h (linkat): Declare replacement.
12584         Reported by PĂ¡draig Brady.
12585
12586         quotearg: port test to systems with C.UTF-8 locale
12587         * tests/test-quotearg.c (struct result_strings): Add another
12588         member, differentiating between C.ASCII and C.UTF-8 handling.
12589         (compare_strings): Add parameter.
12590         (main): Adjust all callers.
12591
12592         getopt: avoid clash with FreeBSD _getopt_internal
12593         * lib/getopt.in.h (_getopt_internal): Override the name.
12594         * lib/getopt_int.h (includes): Pick up any overrides.
12595         Reported by Reuben Thomas.
12596
12597         hash: allow C89 compilation
12598         * lib/hash.c (check_tuning): Move declaration before statement.
12599         Reported by Reuben Thomas.
12600
12601 2009-10-05  Karl Berry  <karl@gnu.org>
12602
12603         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
12604
12605 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
12606             Bruno Haible  <bruno@clisp.org>
12607
12608         * lib/uname.c (uname): Use a table-driven algorithm to compute
12609         Windows NT versions.
12610
12611 2009-10-04  Bruno Haible  <bruno@clisp.org>
12612
12613         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
12614         program_invocation_short_name.
12615         * modules/progname (configure.ac): Test for presence of
12616         program_invocation_short_name.
12617         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
12618
12619 2009-10-04  Bruno Haible  <bruno@clisp.org>
12620
12621         * lib/progname.c (set_program_name): Fix comment.
12622         Reported by Jim Meyering.
12623
12624 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
12625             Bruno Haible  <bruno@clisp.org>
12626
12627         * lib/uname.c: Include <string.h>.
12628         (uname): Do only one call to GetVersionEx in the common case.
12629
12630 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
12631             Bruno Haible  <bruno@clisp.org>
12632
12633         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
12634         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
12635         (uname): Add support for Windows CE and various non-x86 CPU types.
12636
12637 2009-10-03  Bruno Haible  <bruno@clisp.org>
12638
12639         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
12640         invocation to tests/configure.ac.
12641         Reported by Ian Beckwith <ianb@erislabs.net>.
12642
12643 2009-10-02  Eric Blake  <ebb9@byu.net>
12644
12645         fchdir: avoid compiler warning
12646         * lib/fchdir.c (canonicalize_file_name)
12647         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
12648
12649         test-open: support mingw errno values
12650         * tests/test-open.h (test_open): Relax test.
12651         * tests/test-fopen.h (test_fopen): Likewise.
12652         * tests/test-openat-safer.c (main): Likewise.
12653
12654         open: fix opening directory on mingw
12655         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
12656
12657         test-open: on GNU/Hurd, /dev/null is a directory
12658         * tests/test-fopen.h (main): Rename...
12659         (test_fopen): ...to this.  Use a guaranteed non-directory when
12660         confirming open behavior on trailing slash.
12661         * tests/test-openat-safer.c (main): Likewise.
12662         * tests/test-open.h (main): Likewise....
12663         (test_open): ...to this.
12664         * tests/test-fopen.c (main): Adjust caller.
12665         * tests/test-fopen-safer.c (main): Likewise.
12666         * tests/test-open.c (main): Likewise.
12667         * tests/test-fcntl-safer.c (main): Likewise.
12668         Reported by Samuel Thibault.
12669
12670         rename, fchdir: don't ignore chdir failure
12671         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
12672         * lib/rename.c (rpl_rename) [W32]: Likewise.
12673         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
12674         an empty destination directory if source cannot be renamed,
12675         although there is still possibility for failure.
12676         * doc/posix-functions/rename.texi (rename): Document the race.
12677         Reported by Jim Meyering.
12678
12679         maint: cleanup whitespace in recent commits
12680         * lib/rename.c (rpl_rename): Remove tabs.
12681         * tests/test-link.h (test_link): Likewise.
12682         * lib/fchdir.c (get_name): Likewise.
12683         Reported by Jim Meyering.
12684
12685 2009-10-02  Ben Pfaff  <blp@gnu.org>
12686
12687         relocatable-prog-wrapper: Add missing dependency on
12688         double-slash-root.
12689         * modules/relocatable-prog-wrapper: Add dependency.
12690         Reported by Ian Beckwith <ianb@erislabs.net>.
12691
12692 2009-10-02  Eric Blake  <ebb9@byu.net>
12693
12694         renameat: fix Solaris bugs
12695         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
12696         needed fixing.
12697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
12698         * modules/stdio (Makefile.am): Substitute it.
12699         * lib/stdio.in.h (renameat): Declare replacement.
12700         * lib/renameat.c (rpl_renameat): Implement fix.
12701
12702         renameat: new module
12703         * modules/renameat: New file.
12704         * lib/renameat.c (renameat): Likewise.
12705         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
12706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
12707         * modules/stdio (Makefile.am): Substitute them.
12708         * lib/stdio.in.h (renameat): Declare it.
12709         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12710         * doc/posix-functions/renameat.texi (renameat): Likewise.
12711         * modules/renameat-tests: New test.
12712         * tests/test-renameat.c: Likewise.
12713
12714         rename: fix mingw bugs
12715         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
12716         directory overwrite bugs.
12717
12718         rename: fix another cygwin 1.5 bug
12719         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
12720         checks.
12721         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
12722         unnecessary cygwin workarounds.  Also work around bug with moving
12723         full directory onto an empty one.
12724         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
12725
12726         rename-dest-slash: merge into rename module
12727         * modules/rename-dest-slash (Status): Mark obsolete.
12728         (Depends-on): Add rename.
12729         (Files): Let rename do it all.
12730         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
12731         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
12732         * m4/rename-dest-slash.m4: ...so this file can be deleted.
12733         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
12734         * lib/rename.c (rpl_rename): Update comments.
12735
12736         rename: fix cygwin 1.5.x bugs
12737         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
12738         * lib/rename.c (rpl_rename): Work around them.
12739         * modules/rename (Depends-on): Add same-inode.
12740
12741         rename: fix Solaris 10 bug
12742         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
12743         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
12744         was the only bug.
12745
12746         rename: fix Solaris 9 bug
12747         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
12748         on non-directory.  Avoid calling exit.
12749         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
12750         strdup.
12751         * modules/rename-tests (Depends-on): Drop lstat.
12752         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
12753         (gl_PREREQ_RENAME): Delete unused macro.
12754
12755         rename-dest-slash: fix NetBSD bug
12756         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
12757         links.
12758         * modules/rename-dest-slash (Depends-on): Add same-inode.
12759
12760         rename-tests: new test, exposes several platform bugs
12761         * modules/rename-tests: New file.
12762         * tests/test-rename.h: Likewise.
12763         * tests/test-rename.c: Likewise.
12764         * doc/posix-functions/rename.texi (rename): Improve documentation,
12765         including bugs that will eventually be fixed in gnulib.
12766
12767 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
12768
12769         * lib/uname.c: Include <stdlib.h>
12770         (uname): Assume version info is available.
12771
12772 2009-10-02  Jim Meyering  <meyering@redhat.com>
12773
12774         gnu-web-doc-update: correct --help output
12775         * build-aux/gnu-web-doc-update: Make --help output relevant.
12776
12777         gnu-web-doc-update: add standard options
12778         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
12779
12780         gnu-web-doc-update: New module.
12781         Use this script to automatically update the on-line web documentation
12782         for your GNU project at http://www.gnu.org/software/$pkg/manual/
12783         * modules/gnu-web-doc-update: New file, from coreutils.
12784         * build-aux/gnu-web-doc-update: New script.
12785
12786 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
12787
12788         link: LoadLibrary is not needed.
12789         * lib/link.c: Use GetModuleHandle.
12790
12791 2009-10-01  Eric Blake  <ebb9@byu.net>
12792
12793         getopt: bump serial number
12794         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
12795         change.
12796
12797         tests: tighten link, rmdir, and remove tests
12798         * tests/test-link.h (includes): No need to use <config.h> here.
12799         Clean up if directory hard link was created, otherwise test for
12800         trailing '.'.
12801         * tests/test-linkat.c (main): Simplify.
12802         * tests/test-remove.c (main): Enhance test for trailing '.'.
12803         * tests/test-rmdir.h (test_rmdir_func): Likewise.
12804
12805 2009-10-01  Jim Meyering  <meyering@redhat.com>
12806
12807         maint.mk: requiring "make major" was annoying, for a "minor" release.
12808         What is intended is "stable", to contrast with alpha and beta,
12809         so require "make stable", not "make major".
12810         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
12811         (get_tool_versions): Likewise.
12812         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
12813
12814 2009-09-30  Ben Pfaff  <blp@gnu.org>
12815
12816         Fix broken build of replacement for Windows tmpfile().
12817         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
12818         flags argument added along with the 'mkostemp' module.
12819
12820 2009-09-28  Bruno Haible  <bruno@clisp.org>
12821
12822         Avoid identifier clash with POSIX function 'remove' defined as a macro.
12823         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
12824         to 'remove_elt'.
12825         (gl_list_remove): Update.
12826         * lib/gl_list.c (gl_list_remove): Update.
12827         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
12828         to 'remove_elt'.
12829         (gl_oset_remove): Update.
12830         * lib/gl_list.c (gl_oset_remove): Update.
12831         Reported by Eric Blake.
12832
12833 2009-09-28  Eric Blake  <ebb9@byu.net>
12834
12835         doc: mention yet more cygwin 1.7 status
12836         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
12837         cygwin.
12838         * doc/glibc-functions/execvpe.texi (execvpe): New file.
12839         * doc/gnulib.texi (Glibc unistd.h): Mention it.
12840
12841         argp: fix test failure
12842         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
12843         that are not upper-case.  Pass correct range to tolower.
12844
12845 2009-09-27  Jim Meyering  <meyering@redhat.com>
12846
12847         test-yesno: work around sparc-dash here-document infelicity
12848         Without this change, the literal \177 byte in a here document
12849         would make dash 0.5.5.1-3 access uninitialized memory.
12850         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
12851         Instead, use a marker, "@", and filter through tr to create the desired
12852         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
12853
12854 2009-09-27  Bruno Haible  <bruno@clisp.org>
12855
12856         Disable untested support for new flavours of ACLs on AIX.
12857         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
12858         progress.
12859         * lib/set-mode-acl.c (qset_acl): Likewise.
12860
12861 2008-12-07  Bruno Haible  <bruno@clisp.org>
12862
12863         Add support for new flavours of ACLs on AIX. (Untested.)
12864         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
12865         (file_has_acl): Add support for newer AIX.
12866         * lib/set-mode-acl.c (qset_acl): Likewise.
12867         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
12868         Rainer Tammer <tammer@tammer.net>.
12869
12870 2009-09-26  Eric Blake  <ebb9@byu.net>
12871
12872         argp: fix compilation of getopt
12873         * lib/getopt.in.h (includes): Use different guard than glibc.
12874         Reported by Sergey Poznyakoff.
12875
12876         doc: mention more cygwin 1.7 status
12877         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
12878         bug.
12879         * doc/posix-functions/execl.texi (execl): Likewise.
12880         * doc/posix-functions/execle.texi (execle): Likewise.
12881         * doc/posix-functions/execlp.texi (execlp): Likewise.
12882         * doc/posix-functions/execv.texi (execv): Likewise.
12883         * doc/posix-functions/execve.texi (execve): Likewise.
12884         * doc/posix-functions/execvp.texi (execvp): Likewise.
12885         * doc/glibc-functions/canonicalize_file_name.texi
12886         (canonicalize_file_name): Cygwin 1.7 now provides this.
12887         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
12888         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
12889         on AT_SYMLINK_NOFOLLOW.
12890
12891 2009-09-24  Eric Blake  <ebb9@byu.net>
12892
12893         test-linkat: make test more robust
12894         * tests/test-linkat.c (main): Avoid collision with EEXIST.
12895
12896         getopt: fix inclusion guards for cygwin
12897         * modules/getopt-posix (Depends-on): Add include-next.
12898         (Makefile.am): Substitute more items in replacement header.
12899         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
12900         <getopt.h>.
12901         * lib/getopt.in.h (includes): Use split inclusion guard, and
12902         prefer <getopt.h> over include <unistd.h> when one is present.
12903         (option): Also override name of 'struct option'.
12904
12905         same-inode: revert prior change; it is not yet ready
12906         * NEWS: Undo mention of this change.
12907         * lib/same-inode.h (same-inode.h): Undo tri-state change.
12908         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
12909         * lib/cycle-check.c (cycle_check): Likewise.
12910         * lib/same.c (same_name): Likewise.
12911         * lib/at-func2.c (at_func2): Likewise.
12912
12913 2009-09-23  Eric Blake  <ebb9@byu.net>
12914
12915         linkat: new module
12916         * modules/linkat: New file.
12917         * lib/at-func2.c (at_func2): Likewise.
12918         * lib/linkat.c (linkat): Likewise.
12919         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
12920         * lib/openat-priv.h (at_func2): Add declaration.
12921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
12922         * modules/unistd (Makefile.am): Substitute them.
12923         * lib/unistd.in.h (linkat): Declare it.
12924         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12925         * doc/posix-functions/linkat.texi (linkat): Likewise.
12926         * doc/posix-functions/link.texi (link): Tweak wording.
12927         * tests/test-link.c (main): Move guts...
12928         * tests/test-link.h (test_link): ...into new file.
12929         * modules/linkat-tests: New test.
12930         * tests/test-linkat.c: Likewise.
12931         * modules/link-tests (Files): Ship new file.
12932         (Depends-on): Add stdbool.
12933
12934         dirname: add library-safe mdir_name
12935         * lib/dirname.h (mdir_name): New prototype.
12936         * lib/dirname.c (dir_name): Move guts...
12937         (mdir_name): ...to new function that avoids xalloc_die.
12938
12939         fchdir: another mingw fix
12940         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
12941         * lib/fchdir.c (get_name): New helper method; skips canonicalize
12942         on mingw (where it has not yet been ported), and make it optional
12943         elsewhere.
12944         (_gl_register_fd): Use it.
12945
12946         same-inode: make SAME_INODE tri-state, to port to mingw
12947         * NEWS: Mention this change.
12948         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
12949         st_ino always being 0.
12950         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
12951         * lib/cycle-check.c (cycle_check): Likewise.
12952         * lib/same.c (same_name): Likewise.
12953
12954         lstat: avoid mingw compilation error
12955         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
12956         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
12957         lstat ourselves.
12958         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
12959         was adequate.
12960         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
12961         the checks for lstat.
12962         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
12963
12964         link: fix test failure on Solaris 9
12965         * lib/link.c (rpl_link): Don't assume link will catch bogus
12966         trailing slash on source.
12967
12968         test-symlinkat: enhance test
12969         * tests/test-readlink.c (main): Move guts...
12970         * tests/test-readlink.h (test_readlink): ...into new file.
12971         * tests/test-symlink.c (main): Move guts...
12972         * tests/test-symlink.h (test_symlink): ...into new file.
12973         * tests/test-symlinkat.c (main): Use new files for further
12974         coverage.
12975         (do_symlink, do_readlink): New helper functions.
12976         * modules/symlink-tests (Files): Ship new file.
12977         (Depends-on): Add stdbool.
12978         * modules/readlink-tests (Files): Ship new file.
12979         (Depends-on): Add stdbool.
12980         * modules/symlinkat-tests (Files): Use new files.
12981
12982 2009-09-23  Eric Blake  <ebb9@byu.net>
12983
12984         readlink: document portability issue with symlink length
12985         * doc/posix-functions/lstat.texi (lstat): Mention that some file
12986         systems have bogus st_size on symlinks, and mention the
12987         areadlink-with-size module.
12988         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
12989         * doc/posix-functions/readlink.texi (readlink): Mention the
12990         areadlink module, and ERANGE failure.
12991         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
12992         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
12993
12994         readlink: fix Solaris 9 bug with trailing slash
12995         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
12996         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
12997         * doc/posix-functions/readlink.texi (readlink): Document this.
12998         * modules/readlink-tests: New test.
12999         * tests/test-readlink.c: Likewise.
13000
13001         readlink: fix cygwin 1.5.x bug with return type
13002         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
13003         * lib/unistd.in.h (readlink): Use ssize_t.
13004         * lib/readlink.c (readlink): Likewise.
13005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13006         * modules/unistd (Makefile.am): Substitute it.
13007         * lib/unistd.in.h (readlink): Declare replacement.
13008         * doc/posix-functions/readlink.texi (readlink): Document this.
13009
13010         symlink: use throughout gnulib
13011         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
13012         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
13013         symlink is not used.
13014         * modules/symlinkat (Depends-on): Add symlink.
13015         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13016         * modules/canonicalize-tests (Depends-on): Likewise.
13017         * modules/lstat-tests (Depends-on): Likewise.
13018         * modules/openat-tests (Depends-on): Likewise.
13019         * modules/remove-tests (Depends-on): Likewise.
13020         * modules/rmdir-tests (Depends-on): Likewise.
13021         * modules/unlink-tests (Depends-on): Likewise.
13022         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
13023         * tests/test-canonicalize.c (symlink): Likewise.
13024         * tests/test-fstatat.c (symlink): Likewise.
13025         * tests/test-lstat.c (symlink): Likewise.
13026         * tests/test-remove.c (symlink): Likewise.
13027         * tests/test-rmdir.c (symlink): Likewise.
13028         * tests/test-unlink.c (symlink): Likewise.
13029         * tests/test-unlinkat.c (symlink): Likewise.
13030
13031         symlink: new module, for Solaris 9 bug
13032         * modules/symlink: New file.
13033         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13034         * lib/symlink.c: Likewise.
13035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13036         * modules/unistd (Makefile.am): Substitute them.
13037         * lib/unistd.in.h (symlink): Declare replacement.
13038         * MODULES.html.sh (File system functions): Mention it.
13039         * doc/posix-functions/symlink.texi (symlink): Likewise.
13040         * modules/symlink-tests: New test.
13041         * tests/test-symlink.c: Likewise.
13042
13043 2009-09-23  Bruno Haible  <bruno@clisp.org>
13044
13045         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
13046         when needed.
13047         Test case: gnulib-tool --import --with-tests atexit inttypes.
13048         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
13049
13050 2009-09-23  Bruno Haible  <bruno@clisp.org>
13051
13052         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
13053         subcommand, not in a subshell.
13054
13055 2009-09-22  Eric Blake  <ebb9@byu.net>
13056
13057         unistd: sort replacement declarations
13058         * lib/unistd.in.h: Sort declarations.
13059
13060         open, openat: minor optimization
13061         * lib/open.c (open): If open succeeded, len is non-zero.
13062         * lib/openat.c (rpl_openat): Likewise.
13063
13064         link-follow: ensure correct result
13065         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
13066         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
13067         distinguish between possible failures.
13068
13069 2009-09-21  Eric Blake  <ebb9@byu.net>
13070
13071         fts: avoid compiler warning
13072         * lib/fts.c (dirent_inode_sort_may_be_useful)
13073         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
13074
13075 2009-09-19  Bruno Haible  <bruno@clisp.org>
13076
13077         * lib/progreloc.c (canonicalize_file_name): New declaration.
13078
13079 2009-09-19  Eric Blake  <ebb9@byu.net>
13080
13081         link: fix quoting
13082         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
13083
13084         openat: fix openat bugs on Solaris 9
13085         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
13086         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
13087         * modules/openat (Depends-on): Add open.
13088         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
13089         * modules/fcntl-h (Makefile.am): Substitute it.
13090         * lib/fcntl.in.h (openat): Declare replacement.
13091         * doc/posix-functions/openat.texi (openat): Document this.
13092
13093         openat: move fstatat and unlinkat into correct files
13094         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
13095         compiled.
13096         * lib/openat.c (fstatat, unlinkat): Move...
13097         * lib/fstatat.c (fstatat): ...into correct files.
13098         * lib/unlinkat.c (unlinkat): Likewise.
13099
13100         openat: fix unlinkat bugs on Solaris 9
13101         * lib/unlinkat.c (unlinkat): New file.
13102         * modules/openat (Depends-on): Add unlink.
13103         (Files): Distribute it.
13104         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
13105         trailing slash behavior is broken.
13106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13107         * modules/unistd (Makefile.am): Substitute it.
13108         * lib/unistd.in.h (unlinkat): Declare replacement.
13109         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
13110
13111         openat: fix fstatat bugs on Solaris 9
13112         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
13113         stat.
13114         * doc/posix-functions/fstatat.texi (fstatat): Document this.
13115
13116         test-unlinkat: enhance test, to expose Solaris 9 bug
13117         * tests/test-unlink.c (main): Factor guts...
13118         * tests/test-unlink.h (test_rmdir_func): ...into new file.
13119         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
13120         * tests/test-rmdir.c (main): Adjust caller.
13121         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
13122         (unlinker): New helper function.
13123         (rmdirat): Enhance check.
13124         * modules/rmdir-tests (Depends-on): Add stdbool.
13125         * modules/unlink-tests (Depends-on): Likewise.
13126         (Files): Add test-unlink.h.
13127         * modules/openat-tests (Files): Likewise.
13128         (Depends-on): Add unlinkdir.
13129
13130         test-fstatat: new test, to expose Solaris 9 bugs
13131         * tests/test-stat.c (main): Factor guts...
13132         * tests/test-stat.h (test_stat_func): ...into new file.
13133         * tests/test-lstat.c (main): Factor guts...
13134         * tests/test-lstat.h (test_lstat_func): ...into new file.
13135         * tests/test-fstatat.c: New file.
13136         * modules/stat-tests (Files): Add test-stat.h.
13137         * modules/lstat-tests (Files): Add test-lstat.h.
13138         (Depends-on): Add stdbool.
13139         * modules/openat-tests (Depends-on): Add pathmax.
13140         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
13141         (Makefile.am): Run new test.
13142
13143         remove: new module, for mingw and Solaris 9 bugs
13144         * modules/remove: New file.
13145         * lib/remove.c: Likewise.
13146         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
13147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13148         * modules/stdio (Makefile.am): Use them.
13149         * lib/stdio.in.h (remove): Declare replacement.
13150         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13151         * doc/posix-functions/remove.texi (remove): Likewise.
13152         * modules/remove-tests: New test.
13153         * tests/test-remove.c: Likewise.
13154
13155         unlink: new module, for Solaris 9 bug
13156         * modules/unlink: New file.
13157         * lib/unlink.c: Likewise.
13158         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13160         * modules/unistd (Makefile.am): Use them.
13161         * lib/unistd.in.h (stat): Declare replacement.
13162         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13163         * doc/posix-functions/unlink.texi (unlink): Likewise.
13164         * modules/unlink-tests: New test.
13165         * tests/test-unlink.c: Likewise.
13166
13167         lstat: fix Solaris 9 bug
13168         * lib/lstat.c (lstat): Also check for trailing slash on
13169         non-symlink, non-directories.  Use stat module to simplify logic.
13170         * doc/posix-functions/lstat.texi (lstat): Document it.
13171         * modules/lstat-tests (Depends-on): Add errno, same-inode.
13172         (configure.ac): Check for symlink.
13173         * tests/test-lstat.c (main): Add more tests.
13174
13175         stat: add as dependency to other modules
13176         * modules/chown (Depends-on): Add stat.
13177         * modules/euidaccess (Depends-on): Likewise.
13178         * modules/fchdir (Depends-on): Likewise.
13179         * modules/isdir (Depends-on): Likewise.
13180         * modules/link (Depends-on): Likewise.
13181         * modules/lstat (Depends-on): Likewise.
13182         * modules/mkdir-p (Depends-on): Likewise.
13183         * modules/modechange (Depends-on): Likewise.
13184         * modules/open (Depends-on): Likewise.
13185         * modules/readlink (Depends-on): Likewise.
13186         * modules/same (Depends-on): Likewise.
13187
13188         stat: fix Solaris 9 bug
13189         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
13190         slash.
13191         * lib/stat.c (rpl_stat): Work around it.
13192         * doc/posix-functions/stat.texi (stat): Update documentation.
13193
13194         stat: new module, for mingw bug
13195         * modules/stat: New file.
13196         * lib/stat.c: Likewise.
13197         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13198         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13199         * modules/sys_stat (Makefile.am): Use them.
13200         * lib/sys_stat.in.h (stat): Declare replacement.
13201         * lib/openat.c (fstatat): Deal with lstat and stat being function
13202         macros.
13203         * modules/openat (Depends-on): Add inline.
13204         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13205         * doc/posix-functions/stat.texi (stat): Likewise.
13206         * modules/stat-tests: New test.
13207         * tests/test-stat.c: Likewise.
13208
13209 2009-09-19  Jim Meyering  <meyering@redhat.com>
13210
13211         syntax-check: detect unnecessary inclusion of canonicalize.h
13212         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
13213
13214 2009-09-19  Eric Blake  <ebb9@byu.net>
13215
13216         canonicalize-lgpl: adjust clients to use correct header
13217         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13218         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
13219         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
13220         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
13221         * lib/progreloc.c (includes): Likewise.
13222
13223 2009-09-19  Jim Meyering  <meyering@redhat.com>
13224
13225         test-posixtm.c: correct a comment
13226         * tests/test-posixtm.c: Correct first-line comment.
13227         Spotted by Eric Blake.
13228
13229 2009-09-16  Jim Meyering  <meyering@redhat.com>
13230
13231         posixtm-tests: make T const-correct; add a test case
13232         * tests/test-posixtm.c (T): Declare const.
13233         Add a test for -(2^31+1).
13234         Remove useless can-succeed-only-in-2002 test.
13235
13236         posixtm-tests: adjust the sole failing test
13237         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
13238         expected output matches what mktime now produces.  Cross-checked via
13239         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
13240
13241         posixtm: move #ifdef'd tests into a new module
13242         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
13243         * tests/test-posixtm.c: ... this new file.
13244         * modules/posixtm-tests: New module.
13245
13246 2009-09-19  Eric Blake  <ebb9@byu.net>
13247
13248         openat: simplify use of at-func.c
13249         * lib/at-func.c (includes): Include prerequisites here, to
13250         simplify requirements on client files.
13251         * lib/openat-priv.h: Add double-inclusion guard.
13252         * lib/faccessat.c (includes): Simplify.
13253         * lib/fchmodat.c (includes): Likewise.
13254         * lib/fchownat.c (includes): Likewise.
13255         * lib/mkdirat.c (includes): Likewise.
13256         * lib/mkfifoat.c (includes): Likewise.
13257         * lib/symlinkat.c (includes): Likewise.
13258
13259         openat: allow return of fd 0
13260         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
13261         * modules/save-cwd (Depends-on): Replace fcntl-safer with
13262         unistd-safer.
13263         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
13264         <fcntl.h>; this module does not leak fds.
13265         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
13266         must be allowed to return 0, leaving openat_safer to add the
13267         safety.
13268         (openat_permissive): Avoid writing to just-opened fd 2 if
13269         restoring the current directory fails.
13270         * lib/openat-die.c (openat_restore_fail): Add comment.
13271         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
13272         (save_cwd): Guarantee safe fd, but without use of open_safer.
13273         * tests/test-openat.c: New test.
13274         * modules/openat-tests (Files, Makefile.am): Distribute and build
13275         new file.
13276
13277         relocatable-prog-wrapper: fix build
13278         * modules/relocatable-prog-wrapper (Files): Update name of
13279         canonicalize m4 file, broken on 2009-09-17.
13280         Reported by emad hajjar <aleppos@hotmail.com>.
13281
13282 2009-09-19  Bruno Haible  <bruno@clisp.org>
13283
13284         * lib/safe-alloc.h: Use the standard header with GPL copyright.
13285         * lib/safe-alloc.c: Likewise.
13286         Reported by Ian Beckwith <ianb@erislabs.net>.
13287
13288 2009-09-18  Bruno Haible  <bruno@clisp.org>
13289
13290         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
13291         Reported by <erobles@sensacd.com.mx>.
13292
13293 2009-09-17  Eric Blake  <ebb9@byu.net>
13294
13295         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
13296         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
13297         slashes when checking if last component is missing.
13298         * tests/test-canonicalize.c (main): Test this.
13299
13300         canonicalize, canonicalize-lgpl: honor // if distinct from /
13301         * modules/canonicalize (Files): Add double-slash-root.m4.
13302         * modules/canonicalize-lgpl (Files): Likewise.
13303         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13304         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
13305         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
13306         fallback definition.
13307         (canonicalize_filename_mode): Use it to protect //.
13308         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
13309         (__realpath): Likewise.
13310         * tests/test-canonicalize.c (main): Test this.
13311         * tests/test-canonicalize-lgpl.c (main): Likewise.
13312         * modules/canonicalize-tests (Depends-on): Add same-inode.
13313         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13314
13315         canonicalize-lgpl: fix glibc bug with trailing slash
13316         * m4/canonicalize-lgpl.m4: Move contents...
13317         * m4/canonicalize.m4: ...here.
13318         (gl_CANONICALIZE_LGPL): Factor realpath check...
13319         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
13320         glibc 2.3.5 bug, fixed 2005-04-27.
13321         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
13322         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
13323         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
13324         * modules/canonicalize-lgpl (Files): Manage file rename.
13325         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13326         * modules/stdlib (Makefile.am): Substitute witness.
13327         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
13328         is needed.
13329         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
13330         replacement is required.
13331         * lib/canonicalize.c (canonicalize_file_name): Likewise.
13332         * doc/glibc-functions/canonicalize_file_name.texi
13333         (canonicalize_file_name): Document this.
13334         * doc/posix-functions/realpath.texi (realpath): Likewise.
13335
13336         canonicalize-lgpl: reject non-directory with trailing slash
13337         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
13338         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
13339         catches failures in glibc 2.3.5.
13340         * tests/test-canonicalize.c (main): Likewise.
13341
13342         canonicalize-lgpl: use native realpath if it works
13343         * lib/canonicalize-lgpl.c (realpath): Guard with
13344         FUNC_REALPATH_WORKS.
13345         * lib/stdlib.in.h (realpath): Make declaration optional based on
13346         HAVE_REALPATH.
13347         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
13348         native realpath works.
13349         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13350         * modules/stdlib (Makefile.am): Substitute witness.
13351
13352         canonicalize, canonicalize-lgpl: use <stdlib.h>
13353         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
13354         (Include): Mention <stdlib.h>.
13355         (configure.ac): Mention functions we provide.
13356         * modules/canonicalize (configure.ac): Likewise.
13357         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
13358         realpath if canonicalize_file_name is missing.
13359         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
13360         * modules/stdlib (Makefile.am): Substitute witnesses.
13361         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
13362         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
13363         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
13364         * NEWS: Document this.
13365         * doc/glibc-functions/canonicalize_file_name.texi
13366         (canonicalize_file_name): Likewise.
13367         * doc/posix-functions/realpath.texi (realpath): Likewise.
13368         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
13369
13370         test-canonicalize: consolidate into single C program
13371         * tests/test-canonicalize.sh: Delete; move setup into...
13372         * tests/test-canonicalize.c (main): ...the program, making it
13373         easier to run in debugger.  Add some tests.
13374         * modules/canonicalize-tests (Files): Remove unused file.
13375         (Depends-on): Add progname.
13376         (configure.ac, Makefile.am): Simplify.
13377
13378         test-canonicalize-lgpl: consolidate into single C program
13379         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
13380         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
13381         easier to run in debugger.  Add some tests.
13382         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
13383         (configure.ac, Makefile.am): Simplify.
13384
13385         canonicalize: avoid resolvepath
13386         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
13387         unnecessary checks.
13388         * lib/canonicalize.c (includes): Simplify.
13389         (canonicalize_file_name): Drop resolvepath implementation.
13390         * modules/canonicalize (Depends-on): Drop filenamecat.
13391
13392         canonicalize: don't lose errno
13393         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
13394         over calls to free.
13395
13396         canonicalize: simplify errno handling
13397         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
13398         assignment.
13399
13400         canonicalize, canonicalize-lgpl: update module dependencies
13401         * modules/canonicalize (Depends-on): Add extensions, lstat,
13402         pathmax, stdlib.
13403         (Files): Drop pathmax.h.
13404         (configure.ac): Adjust macro name.
13405         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
13406         lstat, stdlib, sys_stat.
13407         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
13408         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
13409         extensions.
13410         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
13411         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
13412         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
13413         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
13414         declaration, if available.
13415         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
13416         we can rely on the readlink module.
13417         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
13418         (includes): Use <unistd.h> unconditionally.
13419
13420 2009-09-17  Eric Blake  <ebb9@byu.net>
13421
13422         maint: make Include sections of modules consistent
13423         * modules/alloca: Use only header name; no need to list #include.
13424         * modules/alloca-opt: Likewise.
13425         * modules/arpa_inet: Likewise.
13426         * modules/canon-host: Likewise.
13427         * modules/configmake: Likewise.
13428         * modules/dirent: Likewise.
13429         * modules/eealloc: Likewise.
13430         * modules/environ: Likewise.
13431         * modules/fchdir: Likewise.
13432         * modules/fcntl: Likewise.
13433         * modules/fcntl-h: Likewise.
13434         * modules/gethrxtime: Likewise.
13435         * modules/gettime: Likewise.
13436         * modules/ignore-value: Likewise.
13437         * modules/inet_ntop: Likewise.
13438         * modules/inet_pton: Likewise.
13439         * modules/inttypes: Likewise.
13440         * modules/isnand-nolibm: Likewise.
13441         * modules/isnanf-nolibm: Likewise.
13442         * modules/mbchar: Likewise.
13443         * modules/mbfile: Likewise.
13444         * modules/mbiter: Likewise.
13445         * modules/mbuiter: Likewise.
13446         * modules/netdb: Likewise.
13447         * modules/netinet_in: Likewise.
13448         * modules/nproc: Likewise.
13449         * modules/pagealign_alloc: Likewise.
13450         * modules/poll: Likewise.
13451         * modules/printf-frexp: Likewise.
13452         * modules/pthread: Likewise.
13453         * modules/putenv: Likewise.
13454         * modules/random_r: Likewise.
13455         * modules/relocatable-prog: Likewise.
13456         * modules/search: Likewise.
13457         * modules/select: Likewise.
13458         * modules/selinux-h: Likewise.
13459         * modules/settime: Likewise.
13460         * modules/signal: Likewise.
13461         * modules/size_max: Likewise.
13462         * modules/socklen: Likewise.
13463         * modules/ssize_t: Likewise.
13464         * modules/stdarg: Likewise.
13465         * modules/stdbool: Likewise.
13466         * modules/stddef: Likewise.
13467         * modules/stdint: Likewise.
13468         * modules/stdio: Likewise.
13469         * modules/stdlib: Likewise.
13470         * modules/string: Likewise.
13471         * modules/strings: Likewise.
13472         * modules/sys_file: Likewise.
13473         * modules/sys_ioctl: Likewise.
13474         * modules/sys_select: Likewise.
13475         * modules/sys_socket: Likewise.
13476         * modules/sys_stat: Likewise.
13477         * modules/sys_time: Likewise.
13478         * modules/sys_times: Likewise.
13479         * modules/sys_utsname: Likewise.
13480         * modules/sys_wait: Likewise.
13481         * modules/sysexits: Likewise.
13482         * modules/time: Likewise.
13483         * modules/times: Likewise.
13484         * modules/tmpfile: Likewise.
13485         * modules/trim: Likewise.
13486         * modules/unistd: Likewise.
13487         * modules/wchar: Likewise.
13488         * modules/wctype: Likewise.
13489
13490 2009-09-17  Bruno Haible  <bruno@clisp.org>
13491
13492         Make getdate.y compile on QNX and NetBSD 5 / i386.
13493         * m4/getdate.m4 (gl_GETDATE): Conditionally define
13494         TIME_T_FITS_IN_LONG_INT.
13495         * lib/getdate.y (long_time_t): New type.
13496         (relative_time): Change type of 'seconds' field to long_time_t.
13497         (get_date): Update types of local variables. Check against overflow
13498         during conversion from long_time_t to time_t.
13499         Reported by Matt Kraai <kraai@ftbfs.org>
13500         and Hasso Tepper <hasso@netbsd.org>.
13501
13502 2009-09-17  Bruno Haible  <bruno@clisp.org>
13503
13504         * modules/COPYING: Update copyright years.
13505         * modules/README: Likeiwse.
13506         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
13507         Reported by Ian Beckwith <ianb@erislabs.net>.
13508
13509 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
13510
13511         * users.txt: Update references for gnuit package.
13512
13513 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
13514
13515         * m4/getdelim.m4: Fix typo in copyright line.
13516
13517 2009-09-17  Bruno Haible  <bruno@clisp.org>
13518
13519         * lib/atoll.c: Use the standard header with GPL copyright.
13520         * lib/argz.in.h: Likewise.
13521         * lib/glob.c: Likewise.
13522         * lib/glob-libc.h: Likewise.
13523         * lib/random_r.c: Likewise.
13524         * lib/siglist.h: Likewise.
13525         * lib/strsignal.c: Likewise.
13526         Reported by Ian Beckwith <ianb@erislabs.net>.
13527
13528 2009-09-17  Eric Blake  <ebb9@byu.net>
13529
13530         rmdir: ensure correct dependency order
13531         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
13532
13533 2009-09-17  Bruno Haible  <bruno@clisp.org>
13534
13535         Disable assertion that fails on NetBSD 5 / i386.
13536         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
13537         Reported by Sam Steingold <sds@gnu.org>
13538         and Hasso Tepper <hasso@netbsd.org>.
13539
13540 2009-09-16  Eric Blake  <ebb9@byu.net>
13541
13542         unlinkdir: port to mingw
13543         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
13544         on which no one can unlink a directory.
13545
13546         stdlib: sort witness names
13547         * modules/stdlib (Makefile.am): Sort replacements.
13548         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
13549         * lib/stdlib.in.h: Likewise.
13550
13551         parse-duration-tests: avoid link failure
13552         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
13553         LIBINTL.
13554         Reported by Tom G. Christensen.
13555
13556         openat-tests: ensure unlinkat behaves like rmdir
13557         * tests/test-rmdir.c (main): Factor guts...
13558         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
13559         * modules/rmdir-tests (Files): Ship new file.
13560         * modules/openat-tests: New test.
13561         * tests/test-unlinkat.c: Likewise.
13562
13563         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
13564         * modules/rmdir-errno (Status, Notice): Now obsolete.
13565
13566         rmdir: work around cygwin 1.5.x and mingw bugs
13567         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
13568         * lib/rmdir.c (rmdir): Work around it.
13569         * modules/rmdir (Status, Notice): No longer obsolete.
13570         (Files): Add dos.m4.
13571         (Depends-on): Add unistd.
13572         (configure.ac): Set witnesses.
13573         (License): Relax to LGPLv2+.
13574         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
13575         * modules/unistd (Makefile.am): Substitute witnesses.
13576         * lib/unistd.in.h (rmdir): Declare replacement.
13577         * doc/posix-functions/rmdir.texi (rmdir): Document this.
13578         * modules/rmdir-tests: New tests.
13579         * tests/test-rmdir.c: Likewise.
13580
13581 2009-09-15  Eric Blake  <ebb9@byu.net>
13582
13583         fchdir: improve use of replacement functions
13584         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
13585         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
13586         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
13587         REPLACE_CLOSEDIR.
13588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
13589         * modules/sys_stat (Makefile.am): Substitute correct witness.
13590         * modules/dirent (Makefile.am): Likewise.
13591         * modules/unistd (Makefile.am): Likewise.
13592         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
13593         * lib/unistd.in.h (dup): Likewise.
13594         * lib/sys_stat.in.h (fstat): Likewise.
13595
13596         maint: ignore gnulib-tool temp files
13597         * .gitignore: Ignore files created during gnulib-tool --test.
13598
13599 2009-09-13  Jim Meyering  <meyering@redhat.com>
13600
13601         posixtm: don't reject a time that specify "60" as the number of seconds
13602         * lib/posixtm.c (posixtime): The code to reject invalid dates
13603         would also reject a time specified with the .60 suffix.
13604         But POSIX allows that, in order to accommodate leap seconds.
13605         So don't reject it.
13606         (main): Adjust tests accordingly.
13607         * modules/posixtm (Depends-on): Add stpcpy.
13608
13609 2009-09-11  Jim Meyering  <meyering@redhat.com>
13610
13611         announce-gen: include [$release_type] in emitted Subject:
13612         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
13613         e.g., [stable] in the emitted Subject: line.
13614
13615 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13616
13617         Remove obsolete macros from several modules.
13618         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
13619         obsolete Autoconf macros with their modern counterparts.
13620         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
13621         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
13622         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
13623         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
13624         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
13625         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13626         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
13627         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13628         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
13629         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
13630         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13631         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13632         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
13633         * m4/sockets.m4 (gl_SOCKETS): Likewise.
13634         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
13635         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
13636         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
13637         * m4/time_r.m4 (gl_TIME_R): Likewise.
13638         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
13639         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
13640         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
13641
13642         Fix copyright header in build-aux scripts.
13643         * build-aux/git-version-gen: Fix copyright header to match GPLv3
13644         recommendation.
13645         * build-aux/ncftpput-ftp: Likewise.
13646         * build-aux/update-copyright: Likewise.
13647
13648 2009-09-09  Eric Blake  <ebb9@byu.net>
13649
13650         test-link: allow Linux choice of errno
13651         * tests/test-link.c (main): Relax test for alternate error.
13652
13653         strndup: fix improper m4 caching
13654         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
13655         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
13656         (gl_PREREQ_STRNDUP): Delete.
13657         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
13658         * modules/string (Makefile.am): Substitute it.
13659         * lib/string.in.h (strndup): Modernize prototype.
13660
13661         getcwd: port to mingw
13662         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
13663         different from the POSIX assumptions made throughout the getcwd
13664         module; fortunately, the mingw getcwd does not need replacement.
13665         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
13666         * modules/getcwd-tests: New test.
13667         * tests/test-getcwd.c: Likewise.
13668
13669         link: fix platform bugs
13670         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
13671         * lib/link.c (link): Work around them.  Fix related mingw bug.
13672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
13673         * modules/unistd (Makefile.am): Substitute it.
13674         * lib/unistd.in.h (link): Declare replacement.
13675         * doc/posix-functions/link.texi (link): Document this.
13676         * modules/link (Depends-on): Add strdup-posix, sys_stat.
13677
13678         test-link: consolidate into single C program, test more cases
13679         * tests/test-link.sh: Delete.
13680         * tests/test-link.c: Test more error conditions.  Exposes bugs on
13681         at least Cygwin and Solaris.
13682         * modules/link-tests (Files): Remove unused file.
13683         (Depends-on): Add errno, sys_stat.
13684         (Makefile.am): Simplify.
13685
13686 2009-09-08  Bruno Haible  <bruno@clisp.org>
13687
13688         Work around towlower, towupper bug on mingw.
13689         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
13690         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
13691         * doc/posix-functions/towlower.texi: Mention the mingw bug.
13692         * doc/posix-functions/towupper.texi: Likewise.
13693         Reported by Eric Blake.
13694
13695 2009-09-08  Jim Meyering  <meyering@redhat.com>
13696
13697         build: don't try to run autoheader if we don't use it
13698         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
13699         is not used in configure.ac.
13700
13701 2009-09-08  Eric Blake  <ebb9@byu.net>
13702
13703         euidaccess: fix compilation error
13704         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
13705
13706         rawmemchr: relax license
13707         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
13708         okay.
13709         Reported by Jim Meyering.
13710
13711         mkfifoat: new module
13712         * modules/mkfifoat: New file.
13713         * lib/mkfifoat.c: Likewise.
13714         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
13715         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13716         * modules/sys_stat (Makefile.am): Use them.
13717         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
13718         * MODULES.html.sh (File system functions): Mention module.
13719         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
13720         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
13721         * modules/mkfifoat-tests: New test.
13722         * tests/test-mkfifoat.c: Likewise.
13723
13724         strchrnul: relax license
13725         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
13726         okay.
13727         Reported by Jim Meyering.
13728
13729 2009-09-08  Eric Blake  <ebb9@byu.net>
13730
13731         fstatat: fix compilation on Solaris
13732         * lib/fstatat.c (includes): Add fcntl.h.
13733         Reported by PĂ¡draig Brady.
13734
13735 2009-09-07  Eric Blake  <ebb9@byu.net>
13736
13737         rename: modernize replacement
13738         * modules/rename (Depends-on): Add stdio.
13739         (configure.ac): Declare witness.
13740         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
13741         stdio take care of replacement.
13742         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
13743         * modules/stdio (Makefile.am): Substitute them.
13744         * lib/stdio.in.h (rename): Declare replacement.
13745         * lib/rename.c (includes): Allow cross-compilation to non-windows
13746         machines.
13747         * doc/posix-functions/rename.texi (rename): Improve
13748         documentation.
13749
13750         stdio: sort witness names
13751         * modules/stdio (Makefile.am): Sort replacements.
13752         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
13753         * lib/stdio.in.h: Likewise.
13754
13755         getcwd: minor cleanups
13756         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
13757         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
13758
13759         openat: provide more convenience names
13760         * modules/faccessat (configure.ac): Add C witness.
13761         * lib/unistd.in.h (readlinkat): Fix typo.
13762         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
13763         convenience wrappers.
13764         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
13765         wrappers in syntax checks.
13766
13767 2009-09-06  Eric Blake  <ebb9@byu.net>
13768
13769         doc: fix comments in recent patches
13770         * lib/faccessat.c: Mention correct function.
13771         * lib/fchmodat.c: Likewise.
13772         * lib/fchownat.c: Likewise.
13773         * lib/symlinkat.c: Likewise.
13774         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
13775         constants.
13776
13777         faccessat, symlinkat: continue cleanup of previous patch
13778         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
13779         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
13780         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
13781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
13782         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
13783         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
13784         set.
13785
13786 2009-09-06  Bruno Haible  <bruno@clisp.org>
13787
13788         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
13789         (fstatat): Declare if GNULIB_FSTATAT is set.
13790         (mkdirat): Declare if GNULIB_MKDIRAT is set.
13791         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
13792         (unlinkat): Declare if GNULIB_UNLINKAT is set.
13793         * modules/fcntl-h (Files): Remove m4/openat.m4.
13794         * modules/sys_stat (Files): Remove m4/openat.m4.
13795         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
13796         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
13797         * modules/unistd (Files): Remove m4/openat.m4.
13798         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
13799         GNULIB_OPENAT.
13800         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
13801         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
13802         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
13803         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
13804         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
13805         gl_OPENAT_DEFAULTS.
13806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
13807         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
13808         Don't require gl_OPENAT_DEFAULTS.
13809         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
13810         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
13811         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
13812         (gl_OPENAT_DEFAULTS): Remove macro.
13813
13814 2009-09-06  Bruno Haible  <bruno@clisp.org>
13815
13816         * modules/openat (configure.ac): Remove unneeded witness.
13817
13818 2009-09-06  Bruno Haible  <bruno@clisp.org>
13819
13820         Set errno to ENOSYS when a function is entirely unsupported.
13821         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
13822         EOPNOTSUPP.
13823         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
13824         * modules/chown (Depends-on): Remove errno.
13825
13826 2009-09-06  Bruno Haible  <bruno@clisp.org>
13827
13828         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
13829
13830 2009-09-06  Bruno Haible  <bruno@clisp.org>
13831
13832         * lib/sys_stat.in.h: Fix preprocessor command indentation.
13833
13834 2009-09-06  Ben Pfaff  <blp@gnu.org>
13835             Bruno Haible  <bruno@clisp.org>
13836
13837         Work around a glibc bug in strtok_r.
13838         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
13839         Undefine if UNDEFINE_STRTOK_R is set.
13840         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
13841         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13842         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
13843         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
13844         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
13845         UNDEFINE_STRTOK_R.
13846         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
13847
13848 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
13849
13850         exclude: minor fix
13851         * lib/exclude.c: Include wctype.h
13852
13853 2009-09-06  Akim Demaille  <demaille@gostai.com>
13854
13855         bootstrap: improve error message
13856         * build-aux/bootstrap (find_tool): Upon failure, report the list
13857         of candidates.
13858         Honor the initial value of the envvar.
13859
13860 2009-09-05  Eric Blake  <ebb9@byu.net>
13861
13862         symlinkat: new module
13863         * modules/symlinkat: New file.
13864         * lib/symlinkat.c: Likewise.
13865         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
13866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13867         * modules/unistd (Makefile.am): Use them.
13868         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
13869         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
13870         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
13871         * MODULES.html.sh (File system functions): Mention module.
13872         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
13873         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13874         * modules/symlinkat-tests: New test.
13875         * tests/test-symlinkat.c: Likewise.
13876
13877         test-openat-safer: add more checks
13878         * tests/test-openat-safer.c (main): Check more code paths.
13879
13880 2009-09-05  Jim Meyering  <meyering@redhat.com>
13881
13882         syntax-check: detect unnecessary inclusion of openat.h
13883         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
13884
13885 2009-09-05  Bruno Haible  <bruno@clisp.org>
13886
13887         Support towlower, towupper.
13888         * doc/posix-functions/towlower.texi: Mention module wctype.
13889         * doc/posix-functions/towupper.texi: Likewise.
13890         * lib/wctype.in.h (towlower, towupper): New functions.
13891         * tests/test-wctype.c: Include stdio.h, stdlib.h.
13892         (ASSERT): New macro.
13893         (e): New variable.
13894         (main): Test also towlower, towupper. Test WEOF argument.
13895         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
13896
13897 2009-09-05  Bruno Haible  <bruno@clisp.org>
13898
13899         Fix conversion behaviour when the input is invalid.
13900         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
13901         mark occurring in first pass of indirect conversion.
13902         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
13903         input.
13904         Found by clang's static analyzer.
13905
13906 2009-09-05  Bruno Haible  <bruno@clisp.org>
13907
13908         * tests/test-striconveh.c (main): Test indirect conversion on platforms
13909         where direct conversion is possible.
13910
13911 2009-09-04  Eric Blake  <ebb9@byu.net>
13912
13913         openat: fail with ENOENT on empty name
13914         * lib/openat-proc.c (openat_proc_name): Special-case the empty
13915         buffer.
13916
13917         link-follow: fix logic bug in prior patch
13918         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
13919         reversed sense of yes and no in prior patch.  Avoid confusing
13920         compilation failure with desired semantics.
13921
13922         link-follow: accomodate mingw and cross-compilation
13923         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
13924         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
13925         cross-compilation results to -1, to make linkat easier to
13926         implement when cross-compiling.  Trivially support mingw.
13927         * modules/link-follow (configure.ac): Call new name.
13928         * NEWS: Mention this.
13929
13930 2009-09-03  Eric Blake  <ebb9@byu.net>
13931
13932         faccessat: compile replacement
13933         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
13934         needed.
13935
13936         fts: fix compilation error
13937         * lib/fts.c (includes): Re-add "openat.h", for
13938         openat_needs_fchdir.
13939
13940         faccessat: new module
13941         * modules/faccessat: New file.
13942         * lib/faccessat.c: Likewise.
13943         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
13944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13945         * modules/unistd (Makefile.am): Use it.
13946         * lib/unistd.in.h (faccessat): Declare it.
13947         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
13948         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
13949         * MODULES.html.sh (File system functions): Mention it.
13950         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
13951         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
13952
13953         euidaccess: prefer POSIX over non-standard implementation
13954         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
13955         * lib/euidaccess.c (euidaccess): Use it if available.
13956
13957         openat: make template easier to use
13958         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
13959         AT_FUNC_F2 to be undefined.
13960         (VALIDATE_FLAG): New macro; use it to reject bad flags.
13961         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
13962         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
13963         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
13964         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
13965         Likewise.
13966         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
13967         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
13968         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
13969         Likewise.
13970
13971         openat: declare in POSIX headers
13972         * NEWS: Mention this.
13973         * modules/openat (configure.ac): Declare witnesses.
13974         (Depends-on): Add fcntl-h, sys_stat, unistd.
13975         (Include): Mention correct headers.
13976         * modules/fcntl-h (Depends-on): Add link-warning.
13977         (Files): Add openat.m4.
13978         (Makefile.am): Substitute witnesses.
13979         * modules/sys_stat (Files, Makefile.am): Likewise.
13980         * modules/unistd (Files, Makefile.am): Likewise.
13981         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
13982         (gl_OPENAT_DEFAULTS): New macro.
13983         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
13984         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
13985         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
13986         (SYS_STAT_H): Remove unused variable.
13987         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
13988         * lib/fcntl--.h (includes): Remove unneeded header.
13989         * lib/openat-safer.c (includes): Likewise.
13990         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
13991         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
13992         appropriate headers.
13993         (__OPENAT_PREFIX): Delete.
13994         * lib/fcntl.in.h (openat): Provide declaration.
13995         (AT_FDCWD): Fix Solaris bug.
13996         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
13997         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
13998         * lib/fchmodat.c (includes):  Adjust to find declaration.
13999         * lib/fchownat.c (includes): Likewise.
14000         * lib/mkdirat.c (includes): Likewise.
14001         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
14002         still visible.
14003
14004 2009-09-02  Eric Blake  <ebb9@byu.net>
14005
14006         errno: use consistently
14007         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
14008         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
14009         * lib/canonicalize.c (ELOOP): Likewise.
14010         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
14011         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
14012         * lib/lchown.c (EOPNOTSUPP): Likewise.
14013         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
14014         * lib/savewd.c (ESTALE): Likewise.
14015         * lib/settime.c (ENOSYS): Likewise.
14016         * lib/utimens.c (ENOSYS): Likewise.
14017         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
14018         * lib/chdir-safer.c (ELOOP): Likewise.
14019         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
14020         * modules/c-stack (Depends-on): Add errno.
14021         * modules/canonicalize (Depends-on): Likewise.
14022         * modules/chdir-safer (Depends-on): Likewise.
14023         * modules/fdopendir (Depends-on): Likewise.
14024         * modules/inet_ntop (Depends-on): Likewise.
14025         * modules/inet_pton (Depends-on): Likewise.
14026         * modules/lchown (Depends-on): Likewise.
14027         * modules/openat (Depends-on): Likewise.
14028         * modules/savewd (Depends-on): Likewise.
14029         * modules/settime (Depends-on): Likewise.
14030         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
14031
14032         fts: avoid leaking fds
14033         * modules/fts (Depends-on): Add cloexec.
14034         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
14035         flag.
14036
14037         fts: make directory fds more robust
14038         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
14039         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
14040
14041         backupfile, chdir-long, fts, savedir: make safer
14042         * lib/backupfile.c (includes): Use "dirent--.h", since
14043         numbered_backup can write to stderr during readdir.
14044         * lib/savedir.c (includes): Likewise.
14045         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
14046         emulation can write to stderr on failure.
14047         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
14048         * lib/getcwd.c: Document why opendir_safer is unused.
14049         * lib/glob.c: Likewise.
14050         * lib/scandir.c: Likewise.
14051         * lib/openat-proc.c: Likewise, for open_safer.
14052         * modules/backupfile (Depends-on): Add dirent-safer.
14053         * modules/savedir (Depends-on): Likewise.
14054         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
14055         * modules/chdir-long (Depends-on): Add openat-safer.
14056
14057         openat-safer: new module
14058         * modules/openat-safer: New file.
14059         * lib/openat-safer.c: Likewise.
14060         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
14061         * lib/fcntl-safer.h (openat_safer): Declare.
14062         * lib/fcntl--.h (openat): Override.
14063         * MODULES.html.sh (File descriptor based I/O): Mention it.
14064         * lib/openat.h: Add double-inclusion guards.
14065         * lib/openat.c (includes): Only include "fcntl-safer.h", not
14066         "fcntl--.h", so we can implement openat.
14067         * modules/openat-safer-tests: New test.
14068         * tests/test-openat-safer.c: New file.
14069
14070         dirent-safer: new module
14071         * modules/dirent-safer: New file.
14072         * lib/dirent--.h: Likewise.
14073         * lib/dirent-safer.h: Likewise.
14074         * lib/opendir-safer.c: Likewise.
14075         * m4/dirent-safer.m4: Likewise.
14076         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
14077         * modules/dirent-safer-tests: New test.
14078         * tests/test-dirent-safer.c: New file.
14079         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
14080
14081         fdopendir: optimize on mingw
14082         * lib/unistd.in.h (_gl_directory_name): New prototype.
14083         * lib/fchdir.c (_gl_directory_name): Implement it.
14084         (fchdir): Use it to simplify implementation.
14085         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
14086         fchdir, when available, to avoid calling [f]chdir().
14087
14088         fdopendir: split into its own module
14089         * lib/openat.c (fdopendir): Move...
14090         * lib/fdopendir.c: ...into new file.
14091         * modules/fdopendir: New module.
14092         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
14093         * modules/openat (Depends-on): Add fdopendir.
14094         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
14095         fdopendir here.
14096         * modules/savedir (Depends-on): Only need fdopendir, not full
14097         openat.
14098         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
14099         * lib/openat.h (fdopendir): Drop prototype.
14100         * lib/dirent.in.h (fdopendir): Provide prototype.
14101         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
14102         * modules/dirent (Makefile.am): Substitute them.
14103         * MODULES.html.sh (File system functions): Mention it.
14104         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
14105         * modules/fdopendir-tests: New file.
14106         * tests/test-fdopendir.c: Likewise.
14107
14108         fchdir: use more consistent macro convention
14109         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
14110         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
14111         REPLACE_FCHDIR, rather than relying on config.h macros.
14112         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
14113         inside a single make-time REPLACE_FCHDIR block, rather than using
14114         the config.h FCHDIR_REPLACEMENT.
14115         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
14116         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
14117         Manage fstat replacement.
14118         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
14119         REPLACE_FCHDIR.
14120         * modules/sys_stat (Files): Add m4/unistd_h.m4.
14121         (Makefile.am): Substitute REPLACE_FCHDIR.
14122         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
14123         FCHDIR_REPLACEMENT.
14124         * lib/dup-safer.c (dup_safer): Likewise.
14125         * lib/dup2.c (rpl_dup2): Likewise.
14126         * lib/dup3.c (rpl_dup3): Likewise.
14127         * lib/open.c (rpl_open): Likewise.
14128
14129         fchdir: simplify error handling, and support dup3
14130         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
14131         stdbool, malloc-posix, realloc-posix.
14132         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
14133         (ensure_dirs_slot): Return false on allocation failure.
14134         (rpl_dup2): Delete.
14135         (_gl_register_dup): New function.
14136         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
14137         (_gl_register_fd): Close fd on allocation failure.
14138         * lib/fcntl.in.h (_gl_register_fd): Update signature.
14139         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
14140         prototype.
14141         (rpl_dup2_fchdir): Delete prototype.
14142         * lib/open.c (open): Update caller.
14143         * lib/dup2.c (dup2): Track fchdir metadata.
14144         * lib/dup3.c (dup3): Likewise.
14145         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
14146         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
14147
14148 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14149
14150         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
14151         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
14152         don't pass arguments to AC_OUTPUT.
14153
14154 2009-09-02  Bruno Haible  <bruno@clisp.org>
14155
14156         * modules/mkdtemp (License): Relicense under LGPLv2+.
14157         Reported by Paolo Bonzini.
14158
14159 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14160
14161         Replace uses of obsolete autoconf macros in Jim's modules.
14162         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
14163         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
14164         can evoke a warning from autoconf when run with -Wobsolete
14165         enabled.  They were declared obsolete for good reasons (see
14166         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
14167         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
14168         should not continue using the deprecated macros.
14169         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
14170         obsolete Autoconf macros with modern counterparts.
14171         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14172         * m4/dos.m4 (gl_AC_DOS): Likewise.
14173         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
14174         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
14175         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
14176         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
14177         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14178         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
14179         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
14180         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
14181         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
14182         Likewise.
14183         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
14184         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
14185         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
14186         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
14187         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
14188         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
14189
14190 2009-09-01  Eric Blake  <ebb9@byu.net>
14191
14192         fchdir: fix off-by-one bug in previous patch
14193         * lib/fchdir.c (rpl_fstat): Use correct bounds.
14194         (_gl_unregister_fd): Delete useless if.
14195
14196 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
14197
14198         maint.mk: sort the list of syntax-check rules
14199         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
14200         easier to get a sense of progress when the rules are run sequentially
14201         and take a long time.
14202
14203 2009-09-01  Simon Josefsson  <simon@josefsson.org>
14204
14205         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
14206         * modules/netinet_in: Likewise.
14207         * modules/sys_file: Likewise.
14208         * modules/sys_ioctl: Likewise.
14209         * modules/sys_select: Likewise.
14210         * modules/sys_socket: Likewise.
14211         * modules/sys_stat: Likewise.
14212         * modules/sys_time: Likewise.
14213         * modules/sys_times: Likewise.
14214         * modules/sys_utsname: Likewise.
14215         * modules/sys_wait: Likewise.
14216
14217 2009-09-01  Jim Meyering  <meyering@redhat.com>
14218
14219         fts: help ensure that return values are not ignored
14220         * lib/fts_.h (__GNUC_PREREQ): Define.
14221         (__attribute_warn_unused_result__): Define.
14222         (fts_children, fts_close, fts_open, fts_read): Declare with
14223         __attribute_warn_unused_result__.
14224
14225         fts: fts_close now fails also when closing a dir file descriptor fails
14226         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
14227         and propagate to caller, along with errno.
14228
14229         announce-gen: correct formatting in --help output
14230         * build-aux/announce-gen (usage): Move the one-line description in
14231         --help output "up", to where it belongs, just after Usage:.
14232
14233 2009-08-31  Eric Blake  <ebb9@byu.net>
14234
14235         fchdir: port to mingw
14236         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
14237         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
14238         opened, then use a substitute.
14239         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
14240         replacement.
14241         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
14242         (_gl_register_fd): No need to check stat if open already filters
14243         all directories.
14244         (fchdir): Fix error condition to match POSIX.
14245         * modules/fchdir (Depends-on): Add sys_stat.
14246         * doc/posix-functions/open.texi (open): Document the limitation.
14247         * modules/fchdir-tests: New file.
14248         * tests/test-fchdir.c: Likewise.
14249
14250         canonicalize: allow cross-testing from cygwin to mingw
14251         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
14252         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
14253         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
14254         Likewise.
14255         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
14256         target does not support symlinks.
14257         * tests/test-canonicalize-lgpl.sh: Likewise.
14258
14259         chown: avoid compilation warning on mingw
14260         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
14261         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
14262         mingw.
14263         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14264         * modules/chown (Depends-on): Add errno.
14265
14266 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14267
14268         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
14269         command.
14270
14271 2009-08-31  Jim Meyering  <meyering@redhat.com>
14272
14273         canonicalize: remove useless initialization
14274         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
14275         initialization of local, "end".
14276
14277 2009-08-30  Bruno Haible  <bruno@clisp.org>
14278
14279         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
14280         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
14281         ENOSYS.
14282
14283 2009-08-30  Bruno Haible  <bruno@clisp.org>
14284
14285         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
14286         /usr/xpg4/bin/tr when it exists.
14287         * tests/test-pipe-filter-gi1.sh: Likewise.
14288
14289 2009-08-30  Bruno Haible  <bruno@clisp.org>
14290
14291         Work around deficient /usr/bin/id program on Solaris.
14292         * tests/test-file-has-acl.sh (ID): New variable.
14293         * tests/test-set-mode-acl.sh (ID): Likewise.
14294         * tests/test-copy-acl.sh (ID): Likewise.
14295         * tests/test-copy-file.sh (ID): Likewise.
14296
14297 2009-08-30  Bruno Haible  <bruno@clisp.org>
14298
14299         New module 'xstriconveh'.
14300         * lib/xstriconveh.h: New file.
14301         * lib/xstriconveh.c: New file.
14302         * modules/xstriconveh: New file.
14303
14304 2009-08-30  Bruno Haible  <bruno@clisp.org>
14305
14306         Make it easier to use mem_cd_iconveh.
14307         * lib/striconveh.h (iconveh_t): New type.
14308         (iconveh_open, iconveh_close): New declarations.
14309         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14310         with a single 'const iconveh_t *' argument.
14311         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
14312         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14313         with a single 'const iconveh_t *' argument.
14314         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
14315         * tests/test-striconveh.c (main): Update.
14316         * NEWS: Mention the change.
14317
14318 2009-08-30  Bruno Haible  <bruno@clisp.org>
14319
14320         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
14321         problem.
14322
14323 2009-08-30  Bruno Haible  <bruno@clisp.org>
14324
14325         Work around iconv_open problem on Solaris.
14326         * lib/iconv_open-solaris.gperf: New file.
14327         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
14328         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
14329         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
14330         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
14331         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
14332         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
14333
14334 2009-08-29  Jim Meyering  <meyering@redhat.com>
14335
14336         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
14337         * top/maint.mk (cvs-check): Remove target; it was just an alias
14338         to the better-named vc-diff-check.
14339         (maintainer-distcheck): Remove rule.  It was used only from
14340         the (alpha/beta/major) target, and all of its commands but one
14341         were coreutils-specific.
14342         (vc-dist): Remove rule.
14343         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
14344         Run vc-diff-check, not vc-dist.
14345         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
14346
14347 2009-08-27  Bruno Haible  <bruno@clisp.org>
14348
14349         * tests/test-bitrotate.c (main): Remove test that uses a shift count
14350         of 0.
14351
14352 2009-08-27  Bruno Haible  <bruno@clisp.org>
14353
14354         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
14355         compilers.
14356         * doc/func.texi: Document the SunPRO C bug.
14357
14358 2009-08-27  Bruno Haible  <bruno@clisp.org>
14359
14360         Fix link error on Solaris.
14361         * tests/test-parse-duration.c (xstrdup): Remove function.
14362
14363 2009-08-26  PĂ¡draig Brady  <P@draigbrady.com>
14364
14365         ignore-value: handle pointer types, too
14366         * lib/ignore-value.h (__attribute__): Remove definition.
14367         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
14368         of a more concise and more-often effective "(void) i" statement.
14369         (ignore_ptr): New function to suppress warnings from functions that
14370         return pointers, and to make it explicit that one function doesn't
14371         handle all cases.
14372
14373 2009-08-25  Bruno Haible  <bruno@clisp.org>
14374
14375         dup2: work around a Linux bug.
14376         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
14377         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
14378         * doc/posix-functions/dup2.texi: Mention the Linux bug.
14379         Reported by Simon Josefsson.
14380
14381 2009-08-25  Jim Meyering  <meyering@redhat.com>
14382
14383         libguestfs uses gnulib
14384         * users.txt: Add libguestfs.
14385
14386 2009-08-24  Eric Blake  <ebb9@byu.net>
14387
14388         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
14389         * lib/pipe2.c (includes): Add binary-io.h.
14390         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
14391
14392 2009-08-24  Bruno Haible  <bruno@clisp.org>
14393
14394         Tolerate declared but missing accept4 syscall.
14395         * lib/accept4.c (accept4): Invoke original accept4 function first, if
14396         available.
14397         * lib/sys_socket.in.h (accept4): If the function is already present,
14398         override it.
14399         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
14400         * modules/accept4 (Makefile.am): Compile accept4.c always.
14401         Reported by Paolo Bonzini and Eric Blake.
14402
14403 2009-08-23  Bruno Haible  <bruno@clisp.org>
14404
14405         New module 'accept4'.
14406         * lib/sys_socket.in.h (accept4): New declaration.
14407         * lib/accept4.c: New file.
14408         * m4/accept4.m4: New file.
14409         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
14410         GNULIB_ACCEPT4, HAVE_ACCEPT4.
14411         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
14412         HAVE_ACCEPT4.
14413         * modules/accept4: New file.
14414         * doc/glibc-functions/accept4.texi: Mention the new module.
14415
14416 2009-08-24  Jim Meyering  <meyering@redhat.com>
14417
14418         progname: also set global program_invocation_name, when possible
14419         Before this change, a libtool-enabled program that calls glibc's
14420         error function would report the program name as
14421         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
14422         * modules/progname (configure.ac): Check for a declaration of
14423         program_invocation_name.
14424         * lib/progname.c:  Include <errno.h>.
14425         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
14426         Set program_invocation_name.
14427
14428 2009-08-23  Bruno Haible  <bruno@clisp.org>
14429
14430         * lib/dup3.c: Include <string.h>.
14431
14432 2009-08-23  Bruno Haible  <bruno@clisp.org>
14433
14434         * lib/dup3.c (dup3): Test only once whether the system actually exists.
14435         * lib/pipe2.c (pipe2): Likewise.
14436         Suggested by Eric Blake.
14437
14438 2009-08-23  Bruno Haible  <bruno@clisp.org>
14439
14440         Tolerate declared but missing dup3 syscall.
14441         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
14442         * lib/unistd.in.h (dup3): If the function is already present,
14443         override it.
14444         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
14445         * modules/dup3 (Makefile.am): Compile dup3.c always.
14446         Reported by Paolo Bonzini.
14447
14448 2009-08-23  Bruno Haible  <bruno@clisp.org>
14449
14450         Tolerate declared but missing pipe2 syscall.
14451         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
14452         available.
14453         * lib/unistd.in.h (pipe2): If the function is already present,
14454         override it.
14455         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
14456         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
14457         Reported by Paolo Bonzini.
14458
14459 2009-08-23  Bruno Haible  <bruno@clisp.org>
14460
14461         * lib/pipe2.c (pipe2): Move #ifs inside function.
14462
14463 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14464
14465         quotearg: document limitations of quote_these_too
14466         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
14467         those limitations are created.
14468         * lib/quotearg.h (set_char_quoting): Document that digits and
14469         letters that are special after backslash are not permitted.
14470         (quotearg_char): Cross-reference set_char_quoting documentation.
14471
14472 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
14473
14474         quotearg: implement custom_quoting_style
14475         * lib/quotearg.c: (struct quoting_options): Add left_quote and
14476         right_quote fields.
14477         (set_custom_quoting): New public function.
14478         (quotearg_buffer_restyled): Add left_quote and right_quote
14479         arguments, handle them very much like locale quoting, and update
14480         all uses.
14481         (quotearg_n_custom): New public function.
14482         (quotearg_n_custom_mem): New public function.
14483         (quotearg_custom): New public function.
14484         (quotearg_custom_mem): New public function.
14485         * lib/quotearg.h: Prototype and document new public functions.
14486         (enum quoting_style): For escape_quoting_style and
14487         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
14488         ignored even though they're otherwise like c_quoting_style.
14489         Add custom_quoting_style member and document with comparison to
14490         clocale_quoting_style.
14491         * tests/test-quotearg.c (custom_quotes): New array.
14492         (custom_results): New array.
14493         (main): Extend to test custom quoting.
14494
14495 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14496
14497         quotearg: fix right quote escaping when it's in quote_these_too
14498         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
14499         quote, be sure to prepend only one backslash.
14500         * tests/test-quotearg.c (use_quote_double_quotes): New function.
14501         (main): Test it.
14502
14503 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14504
14505         quotearg-tests: test escaping of embedded locale quotes
14506         * tests/test-quotearg.c (struct result_strings): Add member for
14507         new input.
14508         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
14509         (inputs): Add new input.
14510         (results_g): Add expected results.
14511         (flag_results): Likewise.
14512         (locale_results): Likewise.
14513         (compare_strings): Check those.
14514
14515 2009-08-23  Bruno Haible  <bruno@clisp.org>
14516
14517         Tests for module 'dup3'.
14518         * modules/dup3-tests: New file.
14519         * tests/test-dup3.c: New file.
14520
14521         New module 'dup3'.
14522         * lib/unistd.in.h (dup3): New declaration.
14523         * lib/dup3.c: New file.
14524         * m4/dup3.m4: New file.
14525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
14526         HAVE_DUP3.
14527         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
14528         * modules/dup3: New file.
14529         * doc/glibc-functions/dup3.texi: Mention the new module.
14530
14531 2009-08-23  Bruno Haible  <bruno@clisp.org>
14532
14533         Tweak the dup2 test.
14534         * tests/test-dup2.c (main): Create the test file empty. Verify that an
14535         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
14536         the test file is still empty. Fix argument order of lseek.
14537
14538 2009-08-23  Bruno Haible  <bruno@clisp.org>
14539
14540         Avoid test link errors when the modules getopt-gnu, gettext are used.
14541         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
14542         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14543
14544 2009-08-23  Bruno Haible  <bruno@clisp.org>
14545
14546         Fix getdtablesize() on mingw.
14547         * lib/getdtablesize.c (getdtablesize): Implement differently.
14548         * lib/unistd.in.h (getdtablesize): Improve comment.
14549
14550 2009-08-23  Bruno Haible  <bruno@clisp.org>
14551
14552         New module 'mkostemp'.
14553         Based on Ulrich Drepper's 2007-08-10 change in glibc.
14554         * lib/stdlib.in.h (mksotemp): New declaration.
14555         * lib/mkostemp.c: New file, from glibc with modifications.
14556         * lib/tempname.h (GT_FILE): Remove outdated comment.
14557         (gen_tempname): Add flags argument.
14558         * lib/tempname.c (__GT_BIGFILE): Remove macro.
14559         (__GT_FILE): Map to 1.
14560         (small_open, large_open): Remove macros.
14561         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
14562         * lib/mkstemp.c (mkstemp): Update.
14563         * lib/mkdtemp.c (mkdtemp): Likewise.
14564         * m4/mkostemp.m4: New file.
14565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
14566         HAVE_MKOSTEMP.
14567         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
14568         HAVE_MKOSTEMP.
14569         * modules/mkostemp: New file, based on modules/mkstemp.
14570         * doc/glibc-functions/mkostemp.texi: Mention the new module.
14571         * NEWS: Mention the change.
14572
14573 2009-08-23  Bruno Haible  <bruno@clisp.org>
14574
14575         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
14576         Reported by Eric Blake.
14577
14578 2009-08-23  Bruno Haible  <bruno@clisp.org>
14579
14580         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
14581         Reported by Eric Blake.
14582
14583 2009-08-23  Bruno Haible  <bruno@clisp.org>
14584
14585         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
14586         * modules/pipe2 (Depends-on): Likewise.
14587
14588 2009-08-23  Eric Blake  <ebb9@byu.net>
14589
14590         fcntl-h: add O_TTY_INIT support
14591         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
14592         * tests/test-fcntl-h.c (o): Test it.
14593         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
14594
14595         fcntl-h: rename from fcntl, in preparation for fcntl(2)
14596         * modules/fcntl: Move <fcntl.h> header replacement...
14597         * modules/fcntl-h: ...to new name, so as not to collide with
14598         like-named function.
14599         * tests/test-fcntl.c: Rename...
14600         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
14601         * modules/fcntl-tests: Rename...
14602         * modules/fcntl-h-tests: ...to this.  Update test file name.
14603         * modules/chdir-long (Depends-on): Update clients.
14604         * modules/chdir-safer (Depends-on): Likewise.
14605         * modules/fcntl-safer (Depends-on): Likewise.
14606         * modules/fts (Depends-on): Likewise.
14607         * modules/mkancesdirs (Depends-on): Likewise.
14608         * modules/mkdir-p (Depends-on): Likewise.
14609         * modules/open (Depends-on): Likewise.
14610         * modules/savewd (Depends-on): Likewise.
14611         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
14612         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
14613
14614 2009-08-22  Bruno Haible  <bruno@clisp.org>
14615
14616         * modules/binary-io (License): Relicense under LGPL.
14617         * modules/pipe2 (License): Likewise.
14618
14619 2009-08-22  Bruno Haible  <bruno@clisp.org>
14620
14621         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
14622         return value.
14623         * lib/pipe-filter-gi.c (filter_init): Likewise.
14624         Reported by Eric Blake.
14625
14626 2009-08-22  Bruno Haible  <bruno@clisp.org>
14627
14628         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
14629         * modules/pipe (Depends-on): Add pipe2.
14630
14631 2009-08-22  Bruno Haible  <bruno@clisp.org>
14632
14633         Tests for module 'pipe2'.
14634         * modules/pipe2-tests: New file.
14635         * tests/test-pipe2.c: New file.
14636
14637         New module 'pipe2'.
14638         * lib/unistd.in.h (pipe2): New declaration.
14639         * lib/pipe2.c: New file.
14640         * m4/pipe2.m4: New file.
14641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
14642         HAVE_PIPE2.
14643         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
14644         * modules/pipe2: New file.
14645         * doc/glibc-functions/pipe2.texi: Mention the new module.
14646
14647 2009-08-22  Bruno Haible  <bruno@clisp.org>
14648
14649         Reference some new glibc functions.
14650         * doc/glibc-functions/accept4.texi: New file.
14651         * doc/glibc-functions/dup3.texi: New file.
14652         * doc/glibc-functions/mkostemp.texi: New file.
14653         * doc/glibc-functions/pipe2.texi: New file.
14654         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
14655         (Glibc sys/socket.h): Refer to accept4.
14656         (Glibc unistd.h): Refer to dup3, pipe2.
14657         Reported by Eric Blake.
14658
14659 2009-08-22  Jim Meyering  <meyering@redhat.com>
14660             Bruno Haible  <bruno@clisp.org>
14661
14662         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
14663         This makes it so packages using automake-1.11's silent-rules option
14664         can print e.g., a single "GEN    configmake.h" line, rather than
14665         the 30+ statements that perform the job.  If you want to see the
14666         actual commands, you can still run "make V=1".
14667         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
14668         so that make output is abbreviated when those variables are defined
14669         appropriately.
14670         * modules/argz: Likewise.
14671         * modules/arpa_inet: Likewise.
14672         * modules/byteswap: Likewise.
14673         * modules/configmake: Likewise.
14674         * modules/dirent: Likewise.
14675         * modules/errno: Likewise.
14676         * modules/fcntl: Likewise.
14677         * modules/float: Likewise.
14678         * modules/fnmatch: Likewise.
14679         * modules/getopt-posix: Likewise.
14680         * modules/glob: Likewise.
14681         * modules/iconv_open: Likewise.
14682         * modules/inttypes: Likewise.
14683         * modules/localcharset: Likewise.
14684         * modules/locale: Likewise.
14685         * modules/math: Likewise.
14686         * modules/netdb: Likewise.
14687         * modules/netinet_in: Likewise.
14688         * modules/poll: Likewise.
14689         * modules/posix_spawnp-tests: Likewise.
14690         * modules/sched: Likewise.
14691         * modules/search: Likewise.
14692         * modules/selinux-h: Likewise.
14693         * modules/signal: Likewise.
14694         * modules/spawn: Likewise.
14695         * modules/stdarg: Likewise.
14696         * modules/stdbool: Likewise.
14697         * modules/stddef: Likewise.
14698         * modules/stdint: Likewise.
14699         * modules/stdio: Likewise.
14700         * modules/stdlib: Likewise.
14701         * modules/string: Likewise.
14702         * modules/strings: Likewise.
14703         * modules/sys_file: Likewise.
14704         * modules/sys_ioctl: Likewise.
14705         * modules/sys_select: Likewise.
14706         * modules/sys_socket: Likewise.
14707         * modules/sys_stat: Likewise.
14708         * modules/sys_time: Likewise.
14709         * modules/sys_times: Likewise.
14710         * modules/sys_utsname: Likewise.
14711         * modules/sys_wait: Likewise.
14712         * modules/sysexits: Likewise.
14713         * modules/time: Likewise.
14714         * modules/unistd: Likewise.
14715         * modules/wchar: Likewise.
14716         * modules/wctype: Likewise.
14717
14718 2009-08-22  Jim Meyering  <meyering@redhat.com>
14719
14720         announce-gen: detect write failure
14721         * build-aux/announce-gen: Add Coda at end.
14722         Remove equivalent-but-more-verbose block at top.
14723
14724 2009-08-19  Akim Demaille  <demaille@gostai.com>
14725
14726         bootstrap: --help to stdout.
14727         * bootstrap (usage): Don't send --help to stderr.
14728         Use a here doc instead of a long string.
14729
14730 2009-08-21  Eric Blake  <ebb9@byu.net>
14731
14732         test-popen-safer: split from test-popen
14733         * tests/test-popen.c (main): Move...
14734         * tests/test-popen.h: ...into new file.
14735         * tests/test-popen-safer2.c: New file.
14736         * modules/popen-tests (Files): Add test-popen.h.
14737         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
14738         Suggested by Bruno Haible.
14739
14740         test-fcntl-safer: split from test-open
14741         * tests/test-open.c (main): Move...
14742         * tests/test-open.h: ...into new file.
14743         * tests/test-fcntl-safer.c: New file.
14744         * modules/open-tests (Files): Add test-open.h.
14745         * modules/fcntl-safer-tests: New file.
14746         Suggested by Bruno Haible.
14747
14748         test-fopen-safer: split from test-fopen
14749         * tests/test-fopen.c (main): Move...
14750         * tests/test-fopen.h: ...into new file.
14751         * tests/test-fopen-safer.c: New file.
14752         * modules/fopen-tests (Files): Add test-fopen.h.
14753         * modules/fopen-safer-tests: New file.
14754         Suggested by Bruno Haible.
14755
14756 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
14757
14758         popen-safer: test O_CLOEXEC at run-time.
14759         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
14760
14761 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
14762
14763         fcntl: move more flags to the header
14764         * lib/cloexec.c: Do not define FD_CLOEXEC here.
14765         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
14766         * lib/fcntl.in.h: Do both things here.
14767
14768 2009-08-21  Jim Meyering  <meyering@redhat.com>
14769
14770         consistently remove $@-t before redirecting to it
14771         * modules/argz: Remove $@-t and $@ before redirecting to the former.
14772         * modules/alloca-opt: Likewise.
14773         * modules/byteswap: Likewise.
14774         * modules/fnmatch: Likewise.
14775         * modules/getopt-posix: Likewise.
14776         * modules/glob: Likewise.
14777         * modules/poll: Likewise.
14778         * modules/posix_spawnp-tests: Likewise.
14779         * modules/sys_socket: Likewise.
14780         * modules/sysexits: Likewise.
14781
14782 2009-08-21  Eric Blake  <ebb9@byu.net>
14783
14784         popen: simplify access to original popen
14785         * lib/popen.c (rpl_popen): No need to worry about popen being a
14786         macro.
14787         Reported by Bruno Haible.
14788
14789 2009-08-20  Eric Blake  <ebb9@byu.net>
14790
14791         build: avoid some compiler warnings
14792         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
14793         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
14794         type.
14795         (new_exclude_segment, excluded_file_pattern_p)
14796         (excluded_file_name_p): Reduce scope.
14797         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
14798         old-style declaration.
14799
14800 2009-08-20  Simon Josefsson  <simon@josefsson.org>
14801
14802         * tests/test-exclude1.sh: Handle Windows EOL.
14803         * tests/test-exclude2.sh: Likewise.
14804         * tests/test-exclude3.sh: Likewise.
14805         * tests/test-exclude4.sh: Likewise.
14806         * tests/test-exclude5.sh: Likewise.
14807         * tests/test-exclude6.sh: Likewise.
14808         * tests/test-exclude7.sh: Likewise.
14809
14810 2009-08-19  Akim Demaille  <demaille@gostai.com>
14811
14812         bootstrap: find sha1sum when named gsha1sum.
14813         * bootstrap (find_tool): New.
14814         ($SHA1SUM): New.
14815         Use it.
14816
14817 2009-08-20  Jim Meyering  <meyering@redhat.com>
14818
14819         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
14820         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
14821         expression that converts "." in a file name to "\." in the resulting
14822         regexp.  Start with a dummy statement, so that prior shell variable
14823         definitions are expanded portably.  Reported by Simon Josefsson.
14824
14825 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
14826
14827         Fix polling for writeability of a screen buffer.
14828         * lib/poll.c: Distinguish input and screen buffers for the
14829         Win32 implementation.
14830         * lib/select.c: Likewise.
14831
14832 2009-08-19  Eric Blake  <ebb9@byu.net>
14833
14834         popen-safer: prevent popen from clobbering std descriptors
14835         * modules/popen-safer: New file.
14836         * lib/popen-safer.c: Likewise.
14837         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
14838         * lib/stdio--.h (popen): Provide override.
14839         * lib/stdio-safer.h (popen_safer): Provide declaration.
14840         * tests/test-popen.c (includes): Partially test this.
14841         * modules/popen-safer-tests: New file, for more tests.
14842         * tests/test-popen-safer.c: Likewise.
14843         * MODULES.html.sh (file stream based Input/Output): Mention it.
14844
14845         tests: test some of the *-safer modules
14846         * modules/fopen-safer (Depends-on): Add fopen.
14847         * modules/fcntl-safer (Depends-on): Add fcntl.
14848         * modules/stdlib-safer (Depends-on): Add stdlib.
14849         (configure.ac): Set indicator.
14850         * modules/unistd-safer (configure.ac): Likewise.
14851         * modules/tmpfile-safer (configure.ac): Likewise.
14852         (Depends-on): Add tmpfile.
14853         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
14854         active.
14855         * tests/test-fopen.c (includes): Test safer versions when they are
14856         in use.
14857         * tests/test-open.c (includes): Likewise.
14858
14859         popen: fix cygwin 1.5 bug when stdin closed
14860         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
14861         * modules/popen: New file.
14862         * modules/popen-tests: Likewise.
14863         * tests/test-popen.c: Likewise.
14864         * m4/popen.m4: Likewise.
14865         * lib/popen.c: Likewise.
14866         * lib/stdio.in.h (popen): New declaration.
14867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
14868         * modules/stdio (Makefile.am): Likewise.
14869         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
14870
14871 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
14872
14873         maint.mk: give full control over update-copyright exclusions
14874         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
14875         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
14876         (update-copyright): Don't force inclusion of top-level
14877         ChangeLog.  Don't force exclusion of all COPYING files, but make
14878         them the default exclusion instead.
14879
14880 2009-08-16  Bruno Haible  <bruno@clisp.org>
14881
14882         Fix test failures on Solaris 10.
14883         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
14884         tests when Solaris iconv() is used.
14885         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
14886         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
14887         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
14888         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
14889         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
14890
14891 2009-08-16  Bruno Haible  <bruno@clisp.org>
14892
14893         Fix test failures on Solaris 10.
14894         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
14895         'tr' program and pass it as first argument.
14896         * tests/test-pipe-filter-gi1.sh: Likewise.
14897         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
14898         program as first argument.
14899         * tests/test-pipe-filter-gi1.c (main): Likewise.
14900
14901 2009-08-16  Eric Blake  <ebb9@byu.net>
14902
14903         fpurge: fix previous commits
14904         * modules/fpurge (Makefile.am): Make replacement conditional,
14905         partially reverting 2007-04-29 change; missed in previous
14906         attempt.
14907         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
14908         is missing.
14909
14910 2009-08-16  Bruno Haible  <bruno@clisp.org>
14911
14912         Clarify fpurge's effect on the file position.
14913         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
14914         * tests/test-fpurge.c (main): Make a second pass for checking the file
14915         position.
14916
14917 2009-08-16  Bruno Haible  <bruno@clisp.org>
14918
14919         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
14920         declaration of fpurge is missing.
14921         * tests/test-fpurge.c (main): Check that the file has not more contents
14922         than expected. Close the file before removing it.
14923
14924 2009-08-15  Eric Blake  <ebb9@byu.net>
14925
14926         fpurge: don't wrap working cygwin implementation
14927         * lib/fpurge.c (fpurge): Fix comment typo.
14928         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
14929         1.7 to avoid replacement.
14930         * tests/test-fpurge.c (main): Enhance test.
14931
14932 2009-08-15  Eric Blake  <ebb9@byu.net>
14933         and Jim Meyering  <meyering@redhat.com>
14934
14935         test-update-copyright: skip if perl is insufficient
14936         * tests/test-update-copyright.sh: Failure to run maintainer tool
14937         should not cause testsuite failure on cygwin 1.5.
14938
14939 2009-08-14  Eric Blake  <ebb9@byu.net>
14940
14941         doc: mention more functions added in cygwin 1.7.0
14942         * doc/posix-headers/limits.texi (limits.h): Update for recent
14943         cygwin additions.
14944         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
14945         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
14946         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
14947         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
14948         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
14949
14950 2009-08-14  Eric Blake  <ebb9@byu.net>
14951
14952         maint.mk: simplify update-copyright rule
14953         * top/maint.mk (update-copyright-local): Delete, and document how
14954         to do it in cfg.mk instead.
14955         (update-copyright-exclude-regexp): Delete, and document how to do
14956         it in .x-update-copyright instead.
14957         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
14958         exclude ChangeLog.
14959
14960 2009-08-14  Bruno Haible  <bruno@clisp.org>
14961
14962         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
14963
14964 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
14965
14966         maint.mk: support update-copyright-env
14967         * top/maint.mk (update-copyright-env): Define place-holder.
14968         (update-copyright): Expand $(update-copyright-env) before
14969         invoking update-copyright.
14970
14971 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
14972
14973         update-copyright: implement forced reformatting
14974         * build-aux/update-copyright: Implement and document
14975         UPDATE_COPYRIGHT_FORCE.
14976         * tests/test-update-copyright.sh: Test it.
14977
14978 2009-08-14  Eric Blake  <ebb9@byu.net>
14979         and Bruno Haible  <bruno@clisp.org>
14980
14981         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
14982         * tests/test-locale.c: Revert previous patch related to NULL.
14983         * tests/test-stdio.c: Likewise.
14984         * tests/test-stdlib.c: Likewise.
14985         * tests/test-string.c: Likewise.
14986         * tests/test-unistd.c: Likewise.
14987         * modules/time-tests (Depends-on): Add verify.
14988         * modules/wchar-tests (Depends-on): Likewise.
14989         * tests/test-time.c: Test for NULL compliance.
14990         * tests/test-wchar.c: Likewise.
14991         * modules/locale (Depends-on): Add stddef.
14992         * modules/stdio (Depends-on): Likewise.
14993         * modules/stdlib (Depends-on): Likewise.
14994         * modules/string (Depends-on): Likewise.
14995         * modules/time (Depends-on): Likewise.
14996         * modules/unistd (Depends-on): Likewise.
14997         * modules/wchar (Depends-on): Likewise.
14998         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
14999         * lib/stdlib.in.h (includes): Likewise.
15000         * lib/string.in.h (includes): Likewise.
15001         * lib/time.in.h (includes): Likewise.
15002         * lib/unistd.in.h (includes): Likewise.
15003         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
15004         replaced.
15005         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15006         * m4/stddef_h.m4: New file.
15007         * modules/stddef: Likewise.
15008         * lib/stddef.in.h: Likewise.
15009         * modules/stddef-tests: Likewise.
15010         * tests/test-stddef.c: Likewise.
15011         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
15012         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
15013         * doc/posix-headers/locale.texi (locale.h): Likewise.
15014         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
15015         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15016         * doc/posix-headers/string.texi (string.h): Likewise.
15017         * doc/posix-headers/time.texi (time.h): Likewise.
15018         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
15019         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
15020
15021 2009-08-14  Eric Blake  <ebb9@byu.net>
15022
15023         doc: improve git diff of texinfo files
15024         * .gitattributes: Add rule for *.texi files, with hint on how to
15025         use it.
15026         Copied from m4, and based on a report by Bruno Haible.
15027
15028 2009-08-14  Bruno Haible  <bruno@clisp.org>
15029
15030         Disable multithread support by default on Cygwin 1.5.x for real.
15031         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
15032
15033 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15034
15035         update-copyright: much ado about intervals
15036         * build-aux/update-copyright: Implement and document
15037         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
15038         of copyright year intervals.
15039         Also, document UPDATE_COPYRIGHT_YEAR.
15040         * tests/test-update-copyright.sh: Test it.
15041
15042         update-copyright: convert 2-digit to 4-digit years
15043         * build-aux/update-copyright: Implement and document.
15044         * tests/test-update-copyright.sh: Update.
15045
15046 2009-08-14  Jim Meyering  <meyering@redhat.com>
15047
15048         test-exclude: avoid coreutils "make check" failure
15049         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
15050         just as in test-argmatch.c.
15051
15052 2009-08-13  Eric Blake  <ebb9@byu.net>
15053
15054         test-dup2: fix bad assumption
15055         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
15056         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
15057
15058         test-version-etc: fix CRLF portability issue
15059         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
15060         recognize \r.
15061         * tests/test-argp-version-etc-1.sh: Likewise.
15062
15063         getopt: update client modules
15064         * modules/argp (Depends-on): Use getopt-gnu.
15065         * modules/git-merge-changelog (Depends-on): Likewise.
15066         * modules/long-options (Depends-on): Likewise.
15067         * modules/xstrtol (Depends-on): Likewise.
15068
15069 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15070
15071         * tests/test-version-etc.sh: Don't fail on different
15072         project/version.  Don't fail on CRLF differences.  Rewrite to use
15073         multiple -e instead of multiple sed forks, suggested by Eric Blake
15074         <ebb9@byu.net>.
15075         * tests/test-argp-version-etc-1.sh: Likewise.
15076
15077 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15078
15079         * tests/test-version-etc.sh: Don't fail on different
15080         project/version.
15081
15082 2009-08-12  Bruno Haible  <bruno@clisp.org>
15083
15084         Tests for modules 'getopt-posix', 'getopt-gnu'.
15085         * modules/getopt-posix-tests: New file.
15086         * tests/test-getopt.c: New file.
15087         * tests/test-getopt.h: New file.
15088         * tests/test-getopt_long.h: New file.
15089
15090         New modules 'getopt-posix', 'getopt-gnu'.
15091         * modules/getopt-gnu: New file, renamed from modules/getopt.
15092         * modules/getopt-posix: New file.
15093         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
15094         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
15095         (gl_GETOPT): Remove macro.
15096         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
15097         Disable the test against BSD systems that declare optreset. Test
15098         against mingw bug. Test against lack of support of optional arguments
15099         on many platforms.
15100         * doc/glibc-headers/getopt.texi: Update module name and list of
15101         relevant platforms.
15102         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
15103         'getopt-gnu' and more portability problems.
15104         * NEWS: Mention the changes.
15105
15106 2009-08-12  Bruno Haible  <bruno@clisp.org>
15107
15108         Ensure that optarg etc. get declared by <unistd.h>.
15109         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
15110         AC_USE_SYSTEM_EXTENSIONS.
15111         * modules/getopt (Depends-on): Add 'extensions'.
15112
15113 2009-08-12  Bruno Haible  <bruno@clisp.org>
15114
15115         Avoid test link errors.
15116         * modules/pipe-filter-ii-tests (Makefile.am): Define
15117         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
15118         * modules/pipe-filter-gi-tests (Makefile.am): Define
15119         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
15120         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15121
15122 2009-08-12  Bruno Haible  <bruno@clisp.org>
15123
15124         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
15125         gl_GETOPT_SUBSTITUTE before.
15126         (gl_GETOPT): Use it.
15127         * m4/argp.m4 (gl_ARGP): Update.
15128         Reported by Sergey Poznyakoff.
15129
15130         * m4/getopt.m4: Reorder macros.
15131         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
15132         (gl_GETOPT_SUBSTITUTE): Remove macro.
15133
15134 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15135
15136         Minor improvement in gitlog-to-changelog
15137
15138         * build-aux/gitlog-to-changelog: New option `--format' makes
15139         output format string configurable.
15140
15141 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15142
15143         Optimize exclude: use hash tables for non-wildcard patterns.
15144
15145         * lib/exclude.c: Include hash.h and mbuiter.h
15146         (struct exclude_pattern, exclude_segment): New data types.
15147         (struct exclude): Rewrite.
15148         (fnmatch_pattern_has_wildcards): New function.
15149         (new_exclude_segment, free_exclude_segment): New functions.
15150         (excluded_file_pattern_p, excluded_file_name_p): New functions.
15151         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
15152         * lib/exclude.h (is_fnmatch_pattern): New prototype.
15153         * modules/exclude: Depend on hash and mbuiter.
15154
15155         * modules/exclude-tests: New file.
15156         * tests/test-exclude.c: New file.
15157         * tests/test-exclude1.sh: New file.
15158         * tests/test-exclude2.sh: New file.
15159         * tests/test-exclude3.sh: New file.
15160         * tests/test-exclude4.sh: New file.
15161         * tests/test-exclude5.sh: New file.
15162         * tests/test-exclude6.sh: New file.
15163         * tests/test-exclude7.sh: New file.
15164
15165 2009-08-12  Bruno Haible  <bruno@clisp.org>
15166
15167         Ensure that getopt() gets declared by <unistd.h>.
15168         * lib/unistd.in.h: Conditionally include getopt.h.
15169         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
15170         Set GNULIB_UNISTD_H_GETOPT.
15171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15172         GNULIB_UNISTD_H_GETOPT.
15173         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
15174
15175 2009-08-12  Bruno Haible  <bruno@clisp.org>
15176
15177         Clarify logic.
15178         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
15179         gl_replace_getopt instead of GETOPT_H.
15180
15181 2009-08-12  Bruno Haible  <bruno@clisp.org>
15182
15183         * m4/getopt.m4: Add comments.
15184
15185 2009-08-12  Bruno Haible  <bruno@clisp.org>
15186
15187         Disable multithread support by default on Cygwin 1.5.x.
15188         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
15189         set gl_use_threads=no if not specified otherwise.
15190
15191 2009-08-11  Bruno Haible  <bruno@clisp.org>
15192
15193         Avoid compilation error on NetBSD 5.0.
15194         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
15195         * tests/test-stdio.c: Likewise.
15196         * tests/test-stdlib.c: Likewise.
15197         * tests/test-string.c: Likewise.
15198         * tests/test-unistd.c: Likewise.
15199         Reported by Greg Troxel <gdt@ir.bbn.com>
15200         at <https://savannah.gnu.org/support/?106973>.
15201
15202 2009-08-11  Bruno Haible  <bruno@clisp.org>
15203
15204         * modules/dup2-tests (Depends-on): Remove close.
15205
15206         Undo 2009-07-19 commit.
15207         * modules/acl-tests (Depends-on): Remove close.
15208         * modules/binary-io-tests (Depends-on): Likewise.
15209         * modules/closein-tests (Depends-on): Likewise.
15210         * modules/flock-tests (Depends-on): Likewise.
15211         * modules/fsync-tests (Depends-on): Likewise.
15212         * modules/lseek-tests (Depends-on): Likewise.
15213         * modules/pipe-tests (Depends-on): Likewise.
15214         * modules/posix_spawn-tests (Depends-on): Likewise.
15215         * modules/posix_spawnp-tests (Depends-on): Likewise.
15216         * modules/stat-time-tests (Depends-on): Likewise.
15217         * modules/yesno-tests (Depends-on): Likewise.
15218
15219 2009-08-10  Bruno Haible  <bruno@clisp.org>
15220
15221         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
15222
15223 2009-08-10  Bruno Haible  <bruno@clisp.org>
15224
15225         Fix a gcc warning.
15226         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
15227
15228 2009-08-10  Bruno Haible  <bruno@clisp.org>
15229
15230         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
15231         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
15232         not only the first time.
15233         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
15234         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
15235         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
15236         is 1, not only the the first time.
15237
15238 2009-08-10  Bruno Haible  <bruno@clisp.org>
15239
15240         Make it possible to use module 'gethostname' without module 'close'.
15241         * lib/unistd.in.h (close): Evoke a link error only if
15242         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15244         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15245         * modules/unistd (Makefile.am): Substitute
15246         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15247         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
15248         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15249         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15250         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15251         * modules/sys_ioctl (Makefile.am): Substitute
15252         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15253         * modules/socket (configure.ac): On native Windows, set
15254         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
15255         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15256         Reported by Sam Steingold <sds@gnu.org>.
15257
15258 2009-08-10  Bruno Haible  <bruno@clisp.org>
15259
15260         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
15261         * modules/ioctl (configure.ac): Likewise.
15262
15263 2009-08-10  Bruno Haible  <bruno@clisp.org>
15264
15265         Avoid collision between gnulib wrapper and libintl wrapper.
15266         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
15267         already defined in intl/printf.c.
15268         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
15269         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
15270
15271 2009-08-09  Bruno Haible  <bruno@clisp.org>
15272
15273         Make <sys/select.h> really self-contained, also on Solaris 10.
15274         * lib/sys_select.in.h: Include <string.h>.
15275         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
15276         Solaris 10 problem.
15277         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
15278         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
15279         Reported by Jim Meyering.
15280
15281 2009-08-09  Bruno Haible  <bruno@clisp.org>
15282
15283         Avoid warnings from 'aclocal' that are due to a use of macro name
15284         AM_XGETTEXT_OPTION that is not defined in automake.
15285         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
15286         automake.
15287         * modules/error (configure.ac): Likewise.
15288         * modules/propername (configure.ac): Likewise.
15289         * modules/vasprintf (configure.ac): Likewise.
15290         * modules/verror (configure.ac): Likewise.
15291         * modules/xprintf (configure.ac): Likewise.
15292         * modules/xvasprintf (configure.ac): Likewise.
15293
15294 2009-08-08  Bruno Haible  <bruno@clisp.org>
15295
15296         Avoid compilation error in C++ mode.
15297         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
15298         Reported by Sam Steingold <sds@gnu.org>.
15299
15300 2009-08-08  Bruno Haible  <bruno@clisp.org>
15301
15302         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
15303         for the various Unix platforms.
15304         * doc/posix-headers/limits.texi: Update platforms list regarding
15305         HOST_NAME_MAX.
15306         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15307
15308 2009-08-07  Jim Meyering  <meyering@redhat.com>
15309
15310         selinux-at: fix typo in a comment
15311         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
15312         Spotted by Paolo Bonzini.
15313
15314         selinux-at: remove redundant m4 code, add documentation
15315         * modules/selinux-at (configure.ac): Remove redundant code.
15316         LIB_SELINUX is already set via the dependent module, selinux-h.
15317         (Include): Add quotes around selinux-at.h.
15318         * lib/selinux-at.h: Add documentation.
15319         Reported by Bruno Haible in
15320         http://marc.info/?l=gnulib-bug&m=124958988300749
15321
15322 2009-08-07  Bruno Haible  <bruno@clisp.org>
15323
15324         Avoid link error on MacOS X 10.3 and 10.4.
15325         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
15326         on non-ELF systems.
15327         * lib/argp-pv.c (argp_program_version): Likewise.
15328         Reported by Simon Josefsson.
15329
15330 2009-08-07  Simon Josefsson  <simon@josefsson.org>
15331
15332         * tests/test-version-etc.sh: Use $EXEEXT.
15333
15334 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
15335
15336         update-copyright: update documentation to point to maint.mk
15337         * build-aux/update-copyright: Here.
15338
15339 2009-08-06  Jim Meyering  <meyering@redhat.com>
15340
15341         maint.mk: support update-copyright-local
15342         * top/maint.mk (update-copyright-local): Define place-holder.
15343         (update-copyright): Depend on $(update-copyright-local).
15344
15345 2009-08-06  Jim Meyering  <meyering@redhat.com>
15346
15347         selinux-at: new module
15348         Initially written for coreutils, this module will soon be
15349         used by findutils, too.
15350         * MODULES.html.sh [Misc]: Add selinux-at.
15351         * lib/selinux-at.h: New file, from coreutils.
15352         * lib/selinux-at.c: Likewise.
15353         * modules/selinux-at: Likewise.
15354         (License): Change from LGPL to GPL, since it depends
15355         on the GPL'd openat module.
15356
15357         doc: update README
15358         * README: Remove references to cogito.
15359         Remove cvs-repo-updating instructions from 2007.
15360         Don't imply that CVS is better if you have limited disk space.
15361
15362 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15363
15364         update-copyright: support C-style comments
15365         * build-aux/update-copyright: Implement and document.
15366         * tests/test-update-copyright.sh: Test.
15367
15368 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15369
15370         update-copyright: support omitted "(C)"
15371         * build-aux/update-copyright: Implement and document.  Also,
15372         allow variable whitespace before "(C)".
15373         * tests/test-update-copyright.sh: Test.
15374
15375 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15376
15377         update-copyright: don't trip on non-FSF copyright statements
15378         * build-aux/update-copyright: Fix so that the first correctly
15379         formatted FSF copyright statement is recognized no matter what
15380         appears before it.  Update documentation.
15381         * tests/test-update-copyright.sh: Test that.
15382
15383 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15384
15385         update-copyright: clean up code a little
15386         * build-aux/update-copyright: Append "_re" to the name of any
15387         variable holding a regular expression.
15388         Replace "old" and "new" with "stmt" in variable names.
15389         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
15390         handled correctly.
15391         Format code more consistently.
15392
15393 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15394
15395         update-copyright-tests: improve portability
15396         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
15397         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
15398
15399 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
15400
15401         update-copyright: support @copyright{} and &copy;
15402         * build-aux/update-copyright: Implement and document.
15403         * tests/test-update-copyright.sh: Test.
15404
15405 2009-08-04  Jim Meyering  <meyering@redhat.com>
15406
15407         update-copyright-tests: correctly test EOL=\r\n handling
15408         * tests/test-update-copyright.sh: Put \r at the end of some lines
15409         for the dos-eol tests.  Based on a patch by Joel E. Denny.
15410
15411         maint.mk: make update-copyright exclusion list more configurable
15412         * top/maint.mk (update-copyright): Default to excluding COPYING,
15413         but allow an override, in case someone does want to update that file.
15414
15415         maint.mk: don't update copyright date in COPYING
15416         * top/maint.mk (update-copyright): Exclude COPYING.
15417
15418         maint.mk: add a copyright-updating rule
15419         * top/maint.mk (update-copyright): New rule.
15420         Derived from coreutils/Makefile.am.
15421
15422         update-copyright: rename some variables
15423         * build-aux/update-copyright: Rename a few variables for clarity.
15424         Tweak syntax.  List Joel E. Denny as coauthor.
15425
15426 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
15427
15428         update-copyright: fix bug for 2-digit last year and add tests
15429         * build-aux/update-copyright: Fix bug.
15430         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
15431         specified.
15432         * modules/update-copyright-tests: New
15433         * tests/test-update-copyright.sh: New.
15434
15435 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15436
15437         update-copyright: handle leading tabs in line prefix
15438         * build-aux/update-copyright: Count leading tabs as 8 spaces
15439         when computing margin.  This helps with the formatting of
15440         ChangeLogs, for example.
15441         Fix documentation a little.
15442
15443 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15444
15445         update-copyright: support EOL=\r\n
15446         * build-aux/update-copyright: Implement that.
15447
15448 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15449
15450         update-copyright: automatically format copyright statements
15451         * build-aux/update-copyright: Implement that.
15452         Also, be a little more predictable and safer by always failing
15453         when the full copyright format is not perfectly recognized as an
15454         unbroken whole.  Discussed at
15455         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
15456         Rewrite documentation.
15457
15458 2009-08-03  Bruno Haible  <bruno@clisp.org>
15459
15460         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
15461
15462 2009-08-02  Bruno Haible  <bruno@clisp.org>
15463
15464         Tests for module 'uname'.
15465         * modules/uname-tests: New file.
15466         * tests/test-uname.c: New file.
15467
15468         New module 'uname'.
15469         * lib/uname.c: New file.
15470         * m4/uname.m4: New file.
15471         * modules/uname: New file.
15472         * doc/posix-functions/uname.texi: Mention the new module.
15473
15474 2009-08-02  Bruno Haible  <bruno@clisp.org>
15475
15476         Tests for module 'sys_utsname'.
15477         * modules/sys_utsname-tests: New file.
15478         * tests/test-sys_utsname.c: New file.
15479
15480         New module 'sys_utsname'.
15481         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
15482         * m4/sys_utsname_h.m4: New file.
15483         * modules/sys_utsname: New file.
15484         * doc/posix-headers/sys_utsname.texi: Mention the new module.
15485
15486 2009-08-02  Bruno Haible  <bruno@clisp.org>
15487
15488         Implicitly initialize the sockets library.
15489         * lib/gethostname.c: Include sockets.h.
15490         (rpl_gethostname): Invoke gl_sockets_startup.
15491         * lib/socket.c: Include sockets.h.
15492         (rpl_socket): Invoke gl_sockets_startup.
15493         * modules/gethostname (Depends-on): Add sockets.
15494         * modules/socket (Depends-on): Likewise.
15495         * tests/test-poll.c: Don't include sockets.h.
15496         (main): Don't invoke gl_sockets_startup.
15497         * tests/test-select.c: Don't include sockets.h.
15498         (main): Don't invoke gl_sockets_startup.
15499
15500 2009-08-02  Bruno Haible  <bruno@clisp.org>
15501
15502         Allow multiple calls to gl_sockets_startup.
15503         * lib/sockets.c (initialized_sockets_version): New variable.
15504         (gl_sockets_startup): Do nothing if already called for this or a higher
15505         version.
15506         (gl_sockets_cleanup): Reset initialized_sockets_version.
15507
15508 2009-08-03  Simon Josefsson  <simon@josefsson.org>
15509
15510         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
15511         different project/version.
15512
15513 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
15514             Bruno Haible  <bruno@clisp.org>
15515
15516         Tests for module 'pipe-filter-gi'.
15517         * modules/pipe-filter-gi-tests: New file.
15518         * tests/test-pipe-filter-gi1.sh: New file.
15519         * tests/test-pipe-filter-gi1.c: New file.
15520         * tests/test-pipe-filter-gi2.sh: New file.
15521         * tests/test-pipe-filter-gi2-main.c: New file.
15522         * tests/test-pipe-filter-gi2-child.c: New file.
15523
15524         New module 'pipe-filter-gi'.
15525         * lib/pipe-filter-gi.c: New file.
15526         * modules/pipe-filter-gi: New file.
15527
15528 2009-08-02  Bruno Haible  <bruno@clisp.org>
15529             Paolo Bonzini  <bonzini@gnu.org>
15530
15531         Tests for module 'pipe-filter-ii'.
15532         * modules/pipe-filter-ii-tests: New file.
15533         * tests/test-pipe-filter-ii1.sh: New file.
15534         * tests/test-pipe-filter-ii1.c: New file.
15535         * tests/test-pipe-filter-ii2.sh: New file.
15536         * tests/test-pipe-filter-ii2-main.c: New file.
15537         * tests/test-pipe-filter-ii2-child.c: New file.
15538
15539         New module 'pipe-filter-ii'.
15540         * lib/pipe-filter.h: New file.
15541         * lib/pipe-filter-ii.c: New file.
15542         * lib/pipe-filter-aux.h: New file.
15543         * modules/pipe-filter-ii: New file.
15544
15545 2009-08-02  Simon Josefsson  <simon@josefsson.org>
15546
15547         * lib/gc-libgcrypt.c: Change copyright to FSF.
15548         * lib/gc-gnulib.c: Likewise.
15549
15550 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
15551
15552         * lib/gethostname.c: Include limits.h.
15553
15554 2009-08-02  Simon Josefsson  <simon@josefsson.org>
15555             Bruno Haible  <bruno@clisp.org>
15556
15557         Ensure HOST_NAME_MAX as part of the gethostname module.
15558         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
15559         define also HOST_NAME_MAX.
15560         * tests/test-gethostname.c: Include <limits.h>.
15561         (main): Check also HOST_NAME_MAX.
15562         * doc/posix-headers/limits.texi: Document the mingw problem.
15563
15564 2009-08-02  Bruno Haible  <bruno@clisp.org>
15565
15566         * lib/gethostname.c (gethostname): Fix handling of large len argument.
15567         Add comments.
15568
15569 2009-03-31  Simon Josefsson  <simon@josefsson.org>
15570
15571         * lib/gethostname.c: Add Windows wrapper.
15572         * m4/gethostname.m4: Look for gethostname in -lws2_32.
15573         * modules/gethostname: Depend on sys_socket & errno, for also
15574         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
15575         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
15576
15577 2009-07-31  Jim Meyering  <meyering@redhat.com>
15578
15579         getloadavg: fix symbol name in comment
15580         * lib/getloadavg.c: Correct a typo I introduced when adding
15581         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
15582         Matt Kraai spotted the problem.
15583
15584 2009-07-29  Matt Kraai  <mkraai@beckman.com>
15585
15586         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
15587         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
15588         code also if ! defined N_NAME_POINTER.
15589         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
15590         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
15591         but the n_name member is a 12-byte array.
15592
15593 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
15594
15595         update-copyright: generalize comment handling
15596         * build-aux/update-copyright: Handle copyright statements
15597         within more comment styles.
15598         Document usage.
15599         Report any file with an external copyright holder or parse failure.
15600
15601 2009-07-29  Jim Meyering  <meyering@redhat.com>
15602
15603         mktime: correct setting of REPLACE_MKTIME
15604         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
15605
15606         update-copyright: new module
15607         * modules/update-copyright: New file.
15608         * build-aux/update-copyright: New file.
15609         * MODULES.html.sh (maint+release support): Add update-copyright.
15610
15611 2009-07-27  Bruno Haible  <bruno@clisp.org>
15612
15613         Fix compilation error when <ctime> is used and mktime is replaced.
15614         * lib/time.in.h (mktime): New declaration.
15615         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
15616         REPLACE_MKTIME instead of defining mktime in config.h.
15617         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
15618         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
15619         Reported by Ross McFarland <rwmcfa1@neces.com>.
15620
15621 2009-07-27  Bruno Haible  <bruno@clisp.org>
15622
15623         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
15624         Reported by Matt Kraai <mkraai@beckman.com>.
15625
15626 2009-07-25  Jim Meyering  <meyering@redhat.com>
15627
15628         maint.mk: avoid warnings about missing files
15629         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
15630         diagnostic when .prev-version does not exist.
15631         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
15632         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
15633         nonexistent cfg.mk.
15634         Suggestions from Simon Josefsson.
15635
15636 2009-07-25  Bruno Haible  <bruno@clisp.org>
15637
15638         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
15639         defined as macros. Needed on QNX 6.4.1.
15640         Reported by Matt Kraai <mkraai@beckman.com>.
15641
15642 2009-07-23  Jim Meyering  <meyering@redhat.com>
15643
15644         maint.mk: invoke "make dist" with a working value of XZ_OPT
15645         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
15646
15647 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
15648
15649         Make fseeko.c compile on QNX.
15650         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
15651
15652 2009-07-22  Peter Simons  <simons@cryp.to>
15653
15654         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
15655         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
15656         * lib/md4.h: Likewise.
15657         * lib/md5.h: Likewise.
15658         * lib/sha1.h: Likewise.
15659         * lib/sha256.h: Likewise.
15660         * lib/sha512.h: Likewise.
15661
15662         tests-sha1: don't assign literal string to 'char *' variable
15663         * tests/test-sha1.c (main): Declare locals with "const" to match
15664         attributes of the right hand side.
15665
15666 2009-07-21  Eric Blake  <ebb9@byu.net>
15667
15668         dup2: fix more mingw problems
15669         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
15670         fd to itself.
15671         * doc/posix-functions/dup2.texi (dup2): Document the bug.
15672         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
15673         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
15674         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
15675         care of mingw bugs.
15676
15677 2009-07-21  Jim Meyering  <meyering@redhat.com>
15678
15679         vc-list-files: avoid failure when /bin/sh is dash
15680         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
15681         On some Debian based systems, /bin/sh is a symlink to dash, and running
15682         this command would omit the "/" following each 'tests' prefix:
15683           dash -x build-aux/vc-list-files -C . tests
15684         That is because bash and dash work differently:
15685           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
15686           bash ok
15687           dash odd
15688
15689 2009-07-21  Eric Blake  <ebb9@byu.net>
15690
15691         dup2-tests: test previous patch
15692         * modules/dup2-tests: New file.
15693         * tests/test-dup2.c: Likewise.
15694         * tests/test-open.c (main): Avoid unspecified behavior.
15695         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
15696         test.
15697
15698         dup2: work around mingw and cygwin 1.5 bug
15699         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
15700         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15701         * modules/unistd (Makefile.am): Substitute it.
15702         * lib/unistd.in.h (dup2): Declare the replacement.
15703         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
15704         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
15705         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
15706         * modules/execute (Depends-on): Add dup2.
15707         * modules/fseterr (Depends-on): Likewise.
15708         * modules/pipe (Depends-on): Likewise.
15709         * modules/posix_spawn-internal (Depends-on): Likewise.
15710
15711 2009-07-21  Bruno Haible  <bruno@clisp.org>
15712
15713         * modules/.gitattributes: New file.
15714
15715 2009-07-20  Bruno Haible  <bruno@clisp.org>
15716
15717         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
15718         (main): Use it.
15719
15720 2009-07-20  Eric Blake  <ebb9@byu.net>
15721
15722         test-pipe: make a bit more robust.
15723         * tests/test-pipe.c (myerr): Allow error messages regardless of
15724         what we do to stderr.
15725         (test_pipe): Rearrange to avoid deadlock.
15726         (child_main): Try a larger read, to ensure we avoided deadlock.
15727         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
15728         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
15729         if misused.
15730
15731 2009-07-19  Jim Meyering  <meyering@redhat.com>
15732
15733         fts: avoid false-positive cycle-detection
15734         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
15735         for each new command line argument.
15736
15737 2009-07-19  Bruno Haible  <bruno@clisp.org>
15738
15739         Fix build error on mingw with the modules sys_select and unistd.
15740         * modules/acl-tests (Depends-on): Add close.
15741         * modules/binary-io-tests (Depends-on): Likewise.
15742         * modules/closein-tests (Depends-on): Likewise.
15743         * modules/flock-tests (Depends-on): Likewise.
15744         * modules/fsync-tests (Depends-on): Likewise.
15745         * modules/lseek-tests (Depends-on): Likewise.
15746         * modules/pipe-tests (Depends-on): Likewise.
15747         * modules/posix_spawn-tests (Depends-on): Likewise.
15748         * modules/posix_spawnp-tests (Depends-on): Likewise.
15749         * modules/stat-time-tests (Depends-on): Likewise.
15750         * modules/yesno-tests (Depends-on): Likewise.
15751
15752 2009-07-19  Bruno Haible  <bruno@clisp.org>
15753
15754         Unify conditionals.
15755         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
15756         macros, not at the compiler macros.
15757         * lib/pipe.c: Likewise.
15758         * lib/execute.c: Likewise.
15759         * lib/spawni.c: Likewise.
15760
15761 2009-07-19  Bruno Haible  <bruno@clisp.org>
15762
15763         Fix handling of closed stdin/stdout/stderr on mingw.
15764         * lib/w32spawn.h: Include unistd.h.
15765         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
15766         file descriptor with O_NOINHERIT flag.
15767         (fd_safer_noinherit): New function, based on fd-safer.c.
15768         (dup_safer_noinherit): New function, based on dup-safer.c.
15769         (undup_safer_noinherit): New function.
15770         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
15771         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
15772         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
15773         instead of fd_safer.
15774         * tests/test-pipe.c: Include <windows.h>.
15775         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
15776
15777         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
15778         from main.
15779         (test_pipe): Pass an extra argument for disambiguation.
15780         (main): Invoke parent_main or child_main.
15781
15782         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
15783         consistently.
15784
15785 2009-07-18  Eric Blake  <ebb9@byu.net>
15786
15787         test-pipe: fix mingw build
15788         * tests/test-pipe.c (main): Avoid fcntl on mingw.
15789
15790 2009-07-18  Bruno Haible  <bruno@clisp.org>
15791
15792         * modules/pipe-tests (Makefile.am): Fix typo.
15793
15794 2009-07-18  Eric Blake  <ebb9@byu.net>
15795
15796         error: fix mingw build
15797         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
15798         Reported by Bruno Haible.
15799
15800         error: avoid undefined use of stdout
15801         * lib/error.c (error, error_at_line): Check that fd 1 is open
15802         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
15803         is handling faults and the close_stdout module wants to report the
15804         detection of closed stdout as an error.
15805
15806 2009-07-17  Eric Blake  <ebb9@byu.net>
15807
15808         pipe: be robust in face of closed fds
15809         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
15810         should cause child to misbehave.
15811         * modules/pipe-tests: New module.
15812         * tests/test-pipe.c: New file.
15813         * tests/test-pipe.sh: New file.
15814         Reported by Akim Demaille.
15815
15816 2009-07-14  Bruno Haible  <bruno@clisp.org>
15817
15818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
15819         Reported by anonymous kc.
15820
15821 2009-07-07  Jim Meyering  <meyering@redhat.com>
15822
15823         maint.mk: don't look for translatable strings in *.m4 or *.mk
15824         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
15825         when searching for translatable strings.
15826
15827 2009-07-05  Jim Meyering  <meyering@redhat.com>
15828
15829         remove superfluous parentheses in STREQ definition
15830         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
15831         * lib/getugroups.c (STREQ): Likewise.
15832         * lib/fnmatch.c (STREQ): Likewise.
15833         Spotted by Bruno Haible.
15834
15835 2009-07-04  Jim Meyering  <meyering@redhat.com>
15836
15837         argv-iter: new module
15838         * MODULES.html.sh: Add argv-iter.
15839         * lib/argv-iter.c, lib/argv-iter.h: New files.
15840         * modules/argv-iter: New file.
15841         * modules/argv-iter-tests: New file.
15842         * tests/test-argv-iter.c: Test it.
15843
15844 2009-07-04  Bruno Haible  <bruno@clisp.org>
15845
15846         Fix assertion.
15847         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
15848         contains more exact copies of a given entry than file2, leave the extra
15849         copies unpaired rather than aborting.
15850         Reported by Eric Blake.
15851
15852 2009-07-02  Bruno Haible  <bruno@clisp.org>
15853
15854         Speedup git-merge-changelog for git cherry-pick.
15855         * lib/git-merge-changelog.c (struct entries_mapping): New type.
15856         (entries_mapping_get): New function, extracted from compute_mapping.
15857         (entries_mapping_reverse_get): New function.
15858         (compute_mapping): Add a 'full' argument. Return the result in a
15859         'struct entries_mapping'.
15860         (main): Update. Access the mappings through entries_mapping_get.
15861         Reported by Eric Blake.
15862
15863 2009-07-02  Bruno Haible  <bruno@clisp.org>
15864
15865         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
15866         best_i.
15867
15868 2009-07-02  Bruno Haible  <bruno@clisp.org>
15869
15870         Speed up approximate search for matching ChangeLog entries.
15871         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
15872         argument. Call fstrcmp_bounded instead of fstrcmp.
15873         (compute_mapping, try_split_merged_entry, main): Update callers.
15874
15875 2009-07-02  Bruno Haible  <bruno@clisp.org>
15876
15877         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
15878
15879 2009-06-30  Bruno Haible  <bruno@clisp.org>
15880
15881         Reduce the number of uc_is_cased calls.
15882         * lib/unicase.h (casing_suffix_context_t): Add
15883         'first_char_except_ignorable' field.
15884         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
15885         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
15886         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
15887         Update initializer.
15888         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
15889         case-ignorable characters.
15890         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
15891         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
15892         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
15893         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
15894         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
15895
15896 2009-06-30  Bruno Haible  <bruno@clisp.org>
15897
15898         Tests for module 'unicase/ignorable'.
15899         * modules/unicase/ignorable-tests: New file.
15900         * tests/unicase/test-ignorable.c: New file, generated by
15901         gen-uni-tables.
15902
15903         Tests for module 'unicase/cased'.
15904         * modules/unicase/cased-tests: New file.
15905         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
15906         * tests/unicase/test-predicate-part1.h: New file, derived from
15907         tests/unictype/test-predicate-part1.h.
15908         * tests/unicase/test-predicate-part2.h: New file, same as
15909         tests/unictype/test-predicate-part2.h.
15910
15911         Fix evaluation of "Before C" condition of FINAL_SIGMA.
15912         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
15913         (output_casing_properties): New function.
15914         (main): Call it.
15915         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
15916         * lib/unicase/cased.c: Include unictype/bitmap.h.
15917         (uc_is_cased): Define through a bitmap lookup.
15918         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
15919         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
15920         (uc_is_case_ignorable): Define through a bitmap lookup.
15921         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
15922         lib/unictype/bitmap.h.
15923         (Depends-on): Add inline. Clean up.
15924         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
15925         lib/unictype/bitmap.h.
15926         (Depends-on): Add inline. Clean up.
15927         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
15928         recognition.
15929         * tests/unicase/test-u16-tolower.c (main): Likewise.
15930         * tests/unicase/test-u32-tolower.c (main): Likewise.
15931
15932 2009-06-30  Bruno Haible  <bruno@clisp.org>
15933
15934         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
15935         * lib/unicase/u16-casemap.c: Likewise.
15936         * lib/unicase/u32-casemap.c: Likewise.
15937
15938 2009-06-29  Bruno Haible  <bruno@clisp.org>
15939
15940         Define u32_casefold as a wrapper around u32_ct_casefold.
15941         * lib/unicase/u32-casefold.c: Update.
15942         * modules/unicase/u32-casefold (Depends-on): Add
15943         unicase/u32-ct-casefold, unicase/empty-prefix-context,
15944         unicase/empty-suffix-context. Clean up.
15945
15946         Define u16_casefold as a wrapper around u16_ct_casefold.
15947         * lib/unicase/u16-casefold.c: Update.
15948         * modules/unicase/u16-casefold (Depends-on): Add
15949         unicase/u16-ct-casefold, unicase/empty-prefix-context,
15950         unicase/empty-suffix-context. Clean up.
15951
15952         Define u8_casefold as a wrapper around u8_ct_casefold.
15953         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
15954         * lib/unicase/u8-casefold.c: Update.
15955         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
15956         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15957
15958         Define u32_totitle as a wrapper around u32_ct_totitle.
15959         * lib/unicase/u32-totitle.c: Update.
15960         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
15961         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15962
15963         Define u16_totitle as a wrapper around u16_ct_totitle.
15964         * lib/unicase/u16-totitle.c: Update.
15965         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
15966         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15967
15968         Define u8_totitle as a wrapper around u8_ct_totitle.
15969         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
15970         functions.
15971         (FUNC): Delegate to U_CT_TOTITLE.
15972         * lib/unicase/u8-totitle.c: Update.
15973         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
15974         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
15975
15976         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
15977         invocation.
15978         * modules/unicase/u32-tolower (Depends-on): Add
15979         unicase/empty-prefix-context, unicase/empty-suffix-context.
15980
15981         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
15982         invocation.
15983         * modules/unicase/u16-tolower (Depends-on): Add
15984         unicase/empty-prefix-context, unicase/empty-suffix-context.
15985
15986         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
15987         * modules/unicase/u8-tolower (Depends-on): Add
15988         unicase/empty-prefix-context, unicase/empty-suffix-context.
15989
15990         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
15991         invocation.
15992         * modules/unicase/u32-toupper (Depends-on): Add
15993         unicase/empty-prefix-context, unicase/empty-suffix-context.
15994
15995         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
15996         invocation.
15997         * modules/unicase/u16-toupper (Depends-on): Add
15998         unicase/empty-prefix-context, unicase/empty-suffix-context.
15999
16000         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
16001         * modules/unicase/u8-toupper (Depends-on): Add
16002         unicase/empty-prefix-context, unicase/empty-suffix-context.
16003
16004         New module 'unicase/u32-ct-casefold'.
16005         * lib/unicase/u32-ct-casefold.c: New file.
16006         * modules/unicase/u32-ct-casefold: New file.
16007
16008         New module 'unicase/u16-ct-casefold'.
16009         * lib/unicase/u16-ct-casefold.c: New file.
16010         * modules/unicase/u16-ct-casefold: New file.
16011
16012         New module 'unicase/u8-ct-casefold'.
16013         * lib/unicase/u8-ct-casefold.c: New file.
16014         * lib/unicase/u-ct-casefold.h: New file, derived from
16015         lib/unicase/u-casefold.h.
16016         * modules/unicase/u8-ct-casefold: New file.
16017
16018         New module 'unicase/u32-ct-totitle'.
16019         * lib/unicase/u32-ct-totitle.c: New file.
16020         * modules/unicase/u32-ct-totitle: New file.
16021
16022         New module 'unicase/u16-ct-totitle'.
16023         * lib/unicase/u16-ct-totitle.c: New file.
16024         * modules/unicase/u16-ct-totitle: New file.
16025
16026         New module 'unicase/u8-ct-totitle'.
16027         * lib/unicase/u8-ct-totitle.c: New file.
16028         * lib/unicase/u-ct-totitle.h: New file, derived from
16029         lib/unicase/u-totitle.h.
16030         * modules/unicase/u8-ct-totitle: New file.
16031
16032         New module 'unicase/u32-ct-tolower'.
16033         * lib/unicase/u32-ct-tolower.c: New file.
16034         * modules/unicase/u32-ct-tolower: New file.
16035
16036         New module 'unicase/u16-ct-tolower'.
16037         * lib/unicase/u16-ct-tolower.c: New file.
16038         * modules/unicase/u16-ct-tolower: New file.
16039
16040         New module 'unicase/u8-ct-tolower'.
16041         * lib/unicase/u8-ct-tolower.c: New file.
16042         * modules/unicase/u8-ct-tolower: New file.
16043
16044         New module 'unicase/u32-ct-toupper'.
16045         * lib/unicase/u32-ct-toupper.c: New file.
16046         * modules/unicase/u32-ct-toupper: New file.
16047
16048         New module 'unicase/u16-ct-toupper'.
16049         * lib/unicase/u16-ct-toupper.c: New file.
16050         * modules/unicase/u16-ct-toupper: New file.
16051
16052         New module 'unicase/u8-ct-toupper'.
16053         * lib/unicase/u8-ct-toupper.c: New file.
16054         * modules/unicase/u8-ct-toupper: New file.
16055
16056         Add context arguments to u*_casemap functions.
16057         * lib/unicase/unicasemap.h: Include unicase.h.
16058         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
16059         suffix_context arguments.
16060         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
16061         functions.
16062         (FUNC): Add prefix_context and suffix_context arguments. Use
16063         uc_is_cased and uc_is_case_ignorable.
16064         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
16065         * lib/unicase/u16-casemap.c: Likewise.
16066         * lib/unicase/u32-casemap.c: Likewise.
16067         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
16068         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16069         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
16070         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16071         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
16072         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16073
16074         New module 'unicase/u32-suffix-context'.
16075         * lib/unicase/u32-suffix-context.c: New file.
16076         * modules/unicase/u32-suffix-context: New file.
16077
16078         New module 'unicase/u16-suffix-context'.
16079         * lib/unicase/u16-suffix-context.c: New file.
16080         * modules/unicase/u16-suffix-context: New file.
16081
16082         New module 'unicase/u8-suffix-context'.
16083         * lib/unicase/u8-suffix-context.c: New file.
16084         * lib/unicase/u-suffix-context.h: New file.
16085         * modules/unicase/u8-suffix-context: New file.
16086
16087         New module 'unicase/empty-suffix-context'.
16088         * lib/unicase/empty-suffix-context.c: New file.
16089         * modules/unicase/empty-suffix-context: New file.
16090
16091         New module 'unicase/u32-prefix-context'.
16092         * lib/unicase/u32-prefix-context.c: New file.
16093         * modules/unicase/u32-prefix-context: New file.
16094
16095         New module 'unicase/u16-prefix-context'.
16096         * lib/unicase/u16-prefix-context.c: New file.
16097         * modules/unicase/u16-prefix-context: New file.
16098
16099         New module 'unicase/u8-prefix-context'.
16100         * lib/unicase/u8-prefix-context.c: New file.
16101         * lib/unicase/u-prefix-context.h: New file.
16102         * lib/unicase/context.h: New file.
16103         * modules/unicase/u8-prefix-context: New file.
16104
16105         New module 'unicase/empty-prefix-context'.
16106         * lib/unicase/empty-prefix-context.c: New file.
16107         * modules/unicase/empty-prefix-context: New file.
16108
16109         New module 'unicase/ignorable'.
16110         * lib/unicase/ignorable.c: New file.
16111         * modules/unicase/ignorable: New file.
16112
16113         New module 'unicase/cased'.
16114         * lib/unicase/caseprop.h: New file.
16115         * lib/unicase/cased.c: New file.
16116         * modules/unicase/cased: New file.
16117
16118         New functions for case mapping of substrings.
16119         * lib/unicase.h (casing_prefix_context_t): New type.
16120         (unicase_empty_prefix_context): New variable.
16121         (u8_casing_prefix_context, u16_casing_prefix_context,
16122         u32_casing_prefix_context, u8_casing_prefixes_context,
16123         u16_casing_prefixes_context, u32_casing_prefixes_context): New
16124         declarations.
16125         (casing_suffix_context_t): New type.
16126         (unicase_empty_suffix_context): New variable.
16127         (u8_casing_suffix_context, u16_casing_suffix_context,
16128         u32_casing_suffix_context, u8_casing_suffixes_context,
16129         u16_casing_suffixes_context, u32_casing_suffixes_context,
16130         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
16131         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
16132         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
16133         declarations.
16134
16135 2009-06-28  Jim Meyering  <meyering@redhat.com>
16136
16137         boostrap: indent only with spaces
16138         * build-aux/bootstrap: Indent only with spaces, never TABs.
16139
16140         bootstrap: split long lines
16141         * build-aux/bootstrap: Keep line length < 80.
16142
16143         bootstrap: sync from coreutils
16144         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
16145         just as autoreconf does.  Verify a list of prerequisite
16146         package-name,version-number pairs if defined in bootstrap.conf.
16147         Refer to README-prereq, if prerequisites are not satisfied.
16148
16149 2009-06-27  Eric Blake  <ebb9@byu.net>
16150
16151         tests: add test for bogus NULL definition
16152         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
16153         * tests/test-stdlib.c: Likewise.
16154         * tests/test-string.c: Likewise.
16155         * tests/test-locale.c: Likewise.
16156         * tests/test-unistd.c: Likewise.
16157         * modules/stdio-tests (Depends-on): Add verify.
16158         * modules/stdlib-tests (Depends-on): Likewise.
16159         * modules/string-tests (Depends-on): Likewise.
16160         * modules/locale-tests (Depends-on): Likewise.
16161         * modules/unistd-tests (Depends-on): Likewise.
16162
16163 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
16164
16165         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
16166         self-explaining comment.
16167         * m4/selinux-selinux-h: Update serial.
16168         (gl_LIBSELINUX): New macro, adding a warning for missing development
16169         packages to code extracted from...
16170         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
16171         Add warning for missing development packages here, too.
16172
16173 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
16174
16175         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
16176
16177 2009-06-25  Eric Blake  <ebb9@byu.net>
16178
16179         version-etc: fix regression
16180         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
16181         gcc.
16182         (version_etc): Use it, to catch bugs with trailing NULL.
16183         * lib/version-etc.c (version_etc_arn): Delete unused argument.
16184         (version_etc_va): Fix logic bug.
16185         * modules/version-etc-tests: Add test.
16186         * tests/test-version-etc.c: New file.
16187         * tests/test-version-etc.sh: Likewise.
16188
16189 2009-06-25  Sam Steingold  <sds@gnu.org>
16190
16191         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
16192         mbtowc declaration.
16193
16194 2009-06-25  Eric Blake  <ebb9@byu.net>
16195
16196         fpurge: migrate into <stdio.h>
16197         * lib/fpurge.h: Delete...
16198         * lib/stdio.in.h (fpurge): ...and declare here, instead.
16199         * lib/fpurge.c (fpurge): Change declaring header.
16200         * modules/fpurge (Files): Drop deleted file.
16201         (Depends-on): Add stdio.
16202         (configure.ac): Set witness.
16203         * modules/stdio (Makefile.am): Support fpurge macros.
16204         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16205         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
16206         * lib/fflush.c: Update client.
16207         * tests/test-fpurge.c: Likewise.
16208         * NEWS: Mention the change.
16209
16210 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16211
16212         * lib/argp-version-etc.c (program_authors): Add const
16213         qualifier.
16214         * lib/version-etc.c: Fix typos in the comments.
16215         * modules/argp-version-etc: Depends on version-etc.
16216
16217 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16218
16219         argp-version-etc: new module.
16220
16221         * lib/argp-version-etc.c: New file.
16222         * lib/argp-version-etc.h: New file.
16223         * modules/argp-version-etc: New file.
16224         * modules/argp-version-etc-tests: New file.
16225         * tests/test-argp-version-etc.c: New test.
16226         * tests/test-argp-version-etc-1.sh: New test.
16227
16228 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16229
16230         Provide additional interfaces and documentation for version-etc
16231         module.
16232
16233         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
16234         interfaces.
16235         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
16236         prototypes.
16237
16238 2009-06-24  Bruno Haible  <bruno@clisp.org>
16239
16240         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
16241         HAVE_LIB${NAME} macro.
16242         Reported by Sam Steingold <sds@gnu.org>.
16243
16244 2009-06-23  Simon Josefsson  <simon@josefsson.org>
16245
16246         * modules/hash-tests (test_hash_LDADD): Link to libintl when
16247         needed.
16248
16249 2009-06-21  Bruno Haible  <bruno@clisp.org>
16250
16251         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
16252         work.
16253         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
16254         together with LIB${NAME}, LTLIB${NAME}.
16255         Reported by Sam Steingold <sds@gnu.org>.
16256
16257 2009-06-20  Jim Meyering  <meyering@redhat.com>
16258
16259         tests: make sc_require_test_exit_idiom more generic
16260         * top/maint.mk (Exit_witness_file): New overridable variable.
16261         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
16262         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
16263
16264 2009-06-19  Jim Meyering  <meyering@redhat.com>
16265
16266         hash: reverse order of src/dst parameters in an internal interface
16267         * lib/hash.c (transfer_entries): Reverse order of parameters to
16268         put DST before SRC.  Adjust callers.
16269
16270         tests: test-hash: avoid wholesale duplication
16271         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
16272         Instead, use a loop and add a single conditional.
16273
16274         tests: test-hash: allow seed selection via a command line argument
16275         * tests/test-hash.c (get_seed): New function.
16276         (main): Use it.
16277
16278 2009-06-19  Eric Blake  <ebb9@byu.net>
16279
16280         hash: avoid memory leak on allocation failure
16281         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
16282         failure.  Factor repeated algorithm...
16283         (transfer_entries): ...into new helper routine.
16284         (hash_delete): React to hash_rehash return value.
16285
16286         hash: reduce memory pressure in hash_rehash no-op case
16287         * lib/hash.c (next_prime): Avoid overflow.
16288         (hash_initialize): Factor bucket size computation...
16289         (compute_bucket_size): ...into new helper function.
16290         (hash_rehash): Use new function and open coding to reduce memory
16291         pressure, and avoid a memory leak in USE_OBSTACK code.
16292         Reported by Jim Meyering.
16293
16294 2009-06-18  Eric Blake  <ebb9@byu.net>
16295
16296         hash: make rotation more obvious
16297         * modules/hash (Depends-on): Add bitrotate and stdint.
16298         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
16299         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
16300         (SIZE_MAX): Rely on headers for definition.
16301         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
16302         (raw_hasher): Use rotr_sz.
16303         Suggested by Jim Meyering.
16304
16305         hash: fix memory leak in last patch
16306         * lib/hash.c (hash_rehash): Avoid memory leak.
16307
16308         hash: avoid no-op rehashing
16309         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
16310
16311         hash: provide default callback functions
16312         * lib/hash.c (raw_hasher, raw_comparator): New functions.
16313         (hash_initialize): Use them as defaults.
16314         * tests/test-hash.c (main): Test this.
16315
16316         hash: minor optimization
16317         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
16318         when possible.
16319         (hash_initialize): Document this promise.
16320         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
16321         * tests/test-hash.c (hash_compare_strings): Test this.
16322
16323 2009-06-18  Bruno Haible  <bruno@clisp.org>
16324
16325         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
16326         going to be replaced anyway.
16327
16328 2009-06-18  Bruno Haible  <bruno@clisp.org>
16329
16330         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
16331         in one place.
16332         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
16333         be replaced anyway.
16334
16335 2009-06-18  Eric Blake  <ebb9@byu.net>
16336
16337         hash: check for resize before insertion
16338         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
16339         threshold before insertion, so that a pathological hash_rehash
16340         that fills every bucket can still trigger another rehash.
16341
16342 2009-06-18  Jim Meyering  <meyering@redhat.com>
16343
16344         hash-tests: add a loop around the small tests
16345         * tests/test-hash.c (main): Repeat small tests with selected
16346         small initial table sizes.
16347
16348 2009-06-17  Eric Blake  <ebb9@byu.net>
16349
16350         hash: minor cleanups
16351         * lib/hash.h (hash_entry): Make opaque, by moving...
16352         * lib/hash.c (hash_entry): ...here.
16353         (hash_insert): Clarify restrictions on what can be inserted.
16354         (hash_get_next): Clarify when it is safe to remove an element
16355         during traversal.
16356         (check_tuning): Skip verification when tuning is known safe.
16357         (hash_initialize): Clarify restrictions on tuning.
16358
16359 2009-06-17  Jim Meyering  <jim@meyering.net>
16360         and Eric Blake  <ebb9@byu.net>
16361
16362         hash-tests: new module
16363         * modules/hash-tests: New file.
16364         * tests/test-hash.c: New file.
16365
16366 2009-06-17  Eric Blake  <ebb9@byu.net>
16367
16368         strstr-simple: document new module
16369         * MODULES.html.sh: Document new module.
16370
16371         strstr, strcasestr: replace on platforms with broken memchr
16372         * modules/strstr: Split into...
16373         * modules/strstr-simple: ...new module that does not care about
16374         performance, but does care about glibc bug.
16375         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
16376         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
16377         if platform memchr is broken, per Debian bug 521737.
16378         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
16379         memchr.
16380         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
16381         * doc/posix-functions/strstr.texi (strstr): Document the fix.
16382         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16383         * modules/mountlist (Depends-on): Add strstr-simple.
16384         * modules/gen-uni-tables (Depends-on): Likewise.
16385         * modules/argz (Depends-on): Add strstr.
16386
16387 2009-06-17  Bruno Haible  <bruno@clisp.org>
16388
16389         * modules/posix_spawn-internal (Depends-on): Add errno.
16390
16391 2009-06-17  Bruno Haible  <bruno@clisp.org>
16392
16393         Define missing ESTALE on Interix 3.5.
16394         * lib/errno.in.h (ESTALE): Assign a value if missing.
16395         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
16396         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
16397         missing.
16398         * doc/posix-headers/errno.texi: Mention the Interix bug.
16399         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
16400
16401 2009-06-15  Eric Blake  <ebb9@byu.net>
16402
16403         memchr, memchr2: add valgrind exception
16404         * lib/memchr.valgrind: New file.
16405         * lib/memchr2.valgrind: New file.
16406         * modules/memchr (Files): Distribute valgrind file.
16407         * modules/memchr2 (Files): Likewise.
16408
16409         docs: memchr is no longer obsolete
16410         * MODULES.html.sh: Move memchr from obsolete to string.h section.
16411         * lib/string.in.h (memchr): Simplify logic.
16412
16413 2009-06-14  Jim Meyering  <meyering@redhat.com>
16414
16415         link-follow: fix the "checking..." message to not mention trailing slash
16416         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
16417         never considered trailing slashes.
16418
16419 2009-06-14  Bruno Haible  <bruno@clisp.org>
16420
16421         * m4/memchr.m4: Mention also the bug on IA-64.
16422         * doc/posix-functions/memchr.texi: Likewise.
16423
16424 2009-06-12  Eric Blake  <ebb9@byu.net>
16425
16426         memchr: detect broken x86_64 and alpha implementations
16427         * modules/memchr-tests (Depends-on): Move mmap detection...
16428         * modules/memchr (Depends-on): ...here.
16429         (configure.ac): Set indicator.
16430         * lib/string.in.h (memchr): Declare replacement.
16431         * modules/string (Makefile.am): Trigger replacement.
16432         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
16433         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
16434         bugs.
16435         * doc/posix-functions/memchr.texi (memchr): Document the bug.
16436         * modules/getpagesize (License): Relax license.
16437
16438 2009-06-11  Bruno Haible  <bruno@clisp.org>
16439
16440         * lib/idpriv.h: Add more references.
16441
16442 2009-06-08  Bruno Haible  <bruno@clisp.org>
16443
16444         Tests for module 'idpriv-droptemp'.
16445         * modules/idpriv-droptemp-tests: New file.
16446         * tests/test-idpriv-droptemp.sh: New file.
16447         * tests/test-idpriv-droptemp.su.sh: New file.
16448         * tests/test-idpriv-droptemp.c: New file.
16449
16450         New module 'idpriv-droptemp'.
16451         * lib/idpriv-droptemp.c: New file.
16452         * modules/idpriv-droptemp: New file.
16453
16454 2009-06-08  Bruno Haible  <bruno@clisp.org>
16455
16456         Tests for module 'idpriv-drop'.
16457         * modules/idpriv-drop-tests: New file.
16458         * tests/test-idpriv-drop.sh: New file.
16459         * tests/test-idpriv-drop.su.sh: New file.
16460         * tests/test-idpriv-drop.c: New file.
16461
16462         New module 'idpriv-drop'.
16463         * lib/idpriv.h: New file.
16464         * lib-idpriv-drop.c: New file.
16465         * m4/idpriv.m4: New file.
16466         * modules/idpriv-drop: New file.
16467
16468 2009-06-08  Bruno Haible  <bruno@clisp.org>
16469
16470         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
16471         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16472         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16473         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16474         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16475         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16476         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16477
16478 2009-06-08  Eric Blake  <ebb9@byu.net>
16479
16480         test-strstr: use memory fence, when possible
16481         * tests/test-strstr.c (main): Use memory fence, in order to be
16482         more likely to trigger Debian bug 521737.
16483         * modules/strstr-tests (Files): Pull in additional files.
16484
16485         memchr: no longer obsolete, for wider field testing
16486         * modules/memchr (Status, Notice): Delete, this module is no
16487         longer obsolete.
16488         * modules/vasnprintf (Depends-on): Add memchr.
16489
16490 2009-06-07  Jim Meyering  <meyering@redhat.com>
16491
16492         hash: declare some functions with the warn_unused_result attribute
16493         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
16494
16495 2009-06-07  Bruno Haible  <bruno@clisp.org>
16496
16497         * tests/test-alignof.c: Don't test int64_t if it does not exist.
16498         Reported by Eric Blake.
16499
16500 2009-06-06  Eric Blake  <ebb9@byu.net>
16501
16502         test-alignof: fix typo with long double
16503         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
16504         compiler error.
16505
16506 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
16507
16508         Escape non-texinfo { and }s.
16509         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
16510         markup error.
16511
16512 2009-06-04  Jim Meyering  <meyering@redhat.com>
16513
16514         gitlog-to-changelog: don't infloop on an empty commit log
16515         * build-aux/gitlog-to-changelog: Warn about an empty log message.
16516         Reported by Boris Petersen <transacid@centerim.org>.
16517
16518 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
16519
16520         version-etc: extend for packagers
16521         Add three new configure options, intended for packagers:
16522           --with-packager="packager name"
16523           --with-packager-version="packager-specific version"
16524           --with-packager-bug-reports="packager bug reporting"
16525         An example with coreutils:
16526           $ ./configure \
16527             --with-packager=Gentoo \
16528             --with-packager-bug-report=http://bugs.gentoo.org/ \
16529             --with-packager-version="patchset 1.6"
16530           $ ./src/ls --version | head -n2
16531           ls (GNU coreutils) 7.1-dirty
16532           Packaged by Gentoo (patchset 1.6)
16533         Note that the bug reporting info via --help doesn't show up because
16534         coreutils uses its own custom emit_bug_reporting_address() implementation
16535         in src/system.h.  If it didn't, it'd look like:
16536           $ ./src/ls --help | tail -n4
16537           Report bugs to <bug-coreutils@gnu.org>.
16538           Report Gentoo bugs to <http://bugs.gentoo.org/>.
16539           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
16540           General help using GNU software: <http://www.gnu.org/gethelp/>.
16541         * lib/version-etc.c: Print new information, if provided.
16542         * m4/version-etc.m4: New file.
16543         * modules/version-etc (Files): Add m4/version-etc.m4.
16544         (configure.ac): Add gl_VERSION_ETC.
16545
16546 2009-05-31  Bruno Haible  <bruno@clisp.org>
16547
16548         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
16549         and 'int64_t'.
16550         * modules/alignof-tests (Dependencies): Add stdint.
16551         Reported by Eric Blake.
16552
16553 2009-05-31  Bruno Haible  <bruno@clisp.org>
16554
16555         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
16556         restriction due to compiler bugs.
16557         Reported by Eric Blake.
16558
16559 2009-05-31  Simon Josefsson  <simon@josefsson.org>
16560             Bruno Haible  <bruno@clisp.org>
16561
16562         Fix test-alignof failure.
16563         * lib/alignof.h (alignof_slot): New macro.
16564         (alignof_type): New macro, with the same semantics as the previous
16565         'alignof'.
16566         (alignof): Alias to alignof_slot.
16567         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
16568         check that the results are usable as constant expressions.
16569
16570 2009-05-31  Bruno Haible  <bruno@clisp.org>
16571
16572         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
16573         * tests/test-memchr.c (main): Check that memchr does not read past the
16574         first occurrence of the byte.
16575         * tests/test-strstr.c (main): Update comment.
16576         Suggested by Eric Blake.
16577
16578 2009-05-30  Bruno Haible  <bruno@clisp.org>
16579
16580         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
16581         detail how to use dumpbin.
16582         Reported by David Byron <dbyron@dbyron.com>.
16583
16584 2009-06-02  Simon Josefsson  <simon@josefsson.org>
16585
16586         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
16587
16588 2009-06-02  Simon Josefsson  <simon@josefsson.org>
16589
16590         * m4/manywarnings.m4: Add GCC 4.4 warnings.
16591
16592 2009-05-28  Bruno Haible  <bruno@clisp.org>
16593
16594         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
16595         build-aux/ files.
16596
16597 2009-05-28  Simon Josefsson  <simon@josefsson.org>
16598
16599         * gnulib-tool (func_import): Transform license on build-aux/ files too.
16600
16601 2009-05-27  Simon Josefsson  <simon@josefsson.org>
16602
16603         * gnulib-tool (sed_transform_main_lib_file)
16604         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
16605         regexps.
16606
16607 2009-05-26  Simon Josefsson  <simon@josefsson.org>
16608
16609         * tests/test-strstr.c: Add another self-test.
16610         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
16611         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
16612
16613 2009-05-23  Bruno Haible  <bruno@clisp.org>
16614
16615         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
16616         change.
16617
16618 2009-05-21  Bruno Haible  <bruno@clisp.org>
16619
16620         Simplify use of mode_t varargs.
16621         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
16622         uses 'mode_t' or 'int'.
16623         * lib/openat.c (openat): Likewise.
16624         * lib/open-safer.c (open_safer): Likewise.
16625         * m4/mode_t.m4: New file.
16626         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
16627         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
16628         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
16629         * modules/open (Files): Add m4/mode_t.m4.
16630         * modules/openat (Files): Likewise.
16631         * modules/fcntl-safer (Files): Likewise.
16632         Suggested by Eric Blake.
16633
16634 2009-05-21  PĂ¡draig Brady  <P@draigbrady.com>
16635
16636         * doc/glibc-functions/fallocate.texi: New file.
16637         * doc/gnulib.texi: Include it.
16638
16639 2009-05-21  Eric Blake  <ebb9@byu.net>
16640             Bruno Haible  <bruno@clisp.org>
16641
16642         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
16643         invocations.
16644         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
16645
16646 2009-05-21  Eric Blake  <ebb9@byu.net>
16647             Bruno Haible  <bruno@clisp.org>
16648
16649         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
16650         include_next. Fix of 2008-11-20 commit.
16651         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
16652         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
16653         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
16654         NEXT_MATH_H.
16655         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
16656         instead of NEXT_MATH_H.
16657
16658 2009-05-21  Bruno Haible  <bruno@clisp.org>
16659
16660         Avoid redefinition warnings for SIZE_MAX.
16661         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
16662         Reported by Simon Josefsson.
16663
16664 2009-05-21  Bruno Haible  <bruno@clisp.org>
16665
16666         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
16667         AC_CACHE_VAL.
16668
16669 2009-05-20  Bruno Haible  <bruno@clisp.org>
16670
16671         Make zeroptr.h work on mingw.
16672         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
16673         mprotect.
16674         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
16675         * modules/memchr2-tests (configure.ac): Likewise.
16676         * modules/memcmp-tests (configure.ac): Likewise.
16677         * modules/memmem-tests (configure.ac): Likewise.
16678         * modules/memrchr-tests (configure.ac): Likewise.
16679         Reported by Simon Josefsson.
16680
16681 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16682
16683         * tests/test-glob.c: Include string.h for strcmp prototype.
16684
16685 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16686
16687         * modules/getdelim (Depends-on): Add explicit stdint, although it
16688         was implicitly already pulled in via realloc-posix.
16689         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
16690
16691 2009-05-20  Simon Josefsson  <simon@josefsson.org>
16692
16693         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
16694         G. Christensen" <tgc@jupiterrise.com>.
16695         * m4/sys_socket_h.m4: Check for sa_family_t.
16696         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
16697         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
16698         * tests/test-sys_socket.c: Check that sa_family_t works.
16699
16700 2009-05-18  Eric Blake  <ebb9@byu.net>
16701
16702         maint.mk: allow gnulib_dir in VPATH build
16703         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
16704
16705 2009-05-15  Jim Meyering  <meyering@redhat.com>
16706
16707         maint.mk: Give gnulib_dir a default definition.
16708         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
16709         Thus, most packages no longer need to specify this variable in cfg.mk
16710
16711 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
16712
16713         rename.m4: fix typos that would make non-mingw cross-configure fail
16714         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
16715
16716 2009-05-13  Eric Blake  <ebb9@byu.net>
16717
16718         mmap-anon: avoid out-of-order autoconf expansion
16719         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
16720         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
16721         * modules/memchr-tests (Depends-on): Add extensions.
16722         * modules/memchr2-tests (Depends-on): Add extensions.
16723         * modules/memcmp-tests (Depends-on): Add extensions.
16724         * modules/memmem-tests (Depends-on): Add extensions.
16725         * modules/memrchr-tests (Depends-on): Add extensions.
16726
16727 2009-05-13  Bruno Haible  <bruno@clisp.org>
16728
16729         Make some tests ISO C 99 compliant.
16730         * tests/zerosize-ptr.h: New file.
16731         * tests/test-memchr.c: Include zerosize-ptr.h.
16732         (main): Use a zero-size object pointer instead of NULL.
16733         * tests/test-memchr2.c: Include zerosize-ptr.h.
16734         (main): Use a zero-size object pointer instead of NULL.
16735         * tests/test-memcmp.c: Include zerosize-ptr.h.
16736         (main): Use a zero-size object pointer instead of NULL.
16737         * tests/test-memmem.c: Include zerosize-ptr.h.
16738         (main): Use a zero-size object pointer instead of NULL.
16739         * tests/test-memrchr.c: Include zerosize-ptr.h.
16740         (main): Use a zero-size object pointer instead of NULL.
16741         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
16742         m4/mmap-anon.m4.
16743         (Depends-on): Add getpagesize.
16744         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16745         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
16746         m4/mmap-anon.m4.
16747         (Depends-on): Add getpagesize.
16748         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16749         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
16750         m4/mmap-anon.m4.
16751         (Depends-on): Add getpagesize.
16752         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16753         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
16754         m4/mmap-anon.m4.
16755         (Depends-on): Add getpagesize.
16756         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16757         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
16758         m4/mmap-anon.m4.
16759         (Depends-on): Add getpagesize.
16760         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
16761
16762 2009-05-12  Bruno Haible  <bruno@clisp.org>
16763
16764         Tests for module 'alignof'.
16765         * modules/alignof-tests: New file.
16766         * tests/test-alignof.c: New file.
16767
16768 2009-05-12  Bruno Haible  <bruno@clisp.org>
16769
16770         Fix alignof macro.
16771         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
16772         vendor compilers that are always correct.
16773
16774 2009-05-12  Bruno Haible  <bruno@clisp.org>
16775
16776         Make the MAP_ANONYMOUS detection work on HP-UX 11.
16777         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
16778         not whether its fully works.
16779
16780 2009-05-12  Bruno Haible  <bruno@clisp.org>
16781
16782         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
16783
16784 2009-05-12  Jim Meyering  <meyering@redhat.com>
16785
16786         * top/maint.mk: Adjust backslash alignment.
16787
16788 2009-05-11  Simon Josefsson  <simon@josefsson.org>
16789
16790         * top/maint.mk: Make $(srcdir)/build-aux configurable.
16791
16792 2009-05-11  Eric Blake  <ebb9@byu.net>
16793
16794         argp: avoid undefined behavior
16795         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
16796         macros.
16797
16798 2009-05-08  Simon Josefsson  <simon@josefsson.org>
16799
16800         * tests/test-vc-list-files-git.sh: Do git config of user.email and
16801         user.name to prevent git commit from complaining.
16802
16803 2009-05-10  Bruno Haible  <bruno@clisp.org>
16804
16805         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
16806         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
16807         it rewrites every file name only once.
16808         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
16809
16810 2009-05-08  Bruno Haible  <bruno@clisp.org>
16811
16812         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
16813         instead of 'max'.
16814
16815 2009-05-08  Simon Josefsson  <simon@josefsson.org>
16816
16817         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
16818         sockaddr_storage test.
16819
16820 2009-05-07  Simon Josefsson  <simon@josefsson.org>
16821
16822         * modules/sys_socket (Makefile.am): Substitute
16823         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
16824         * m4/sys_socket_h.m4: Check for sockaddr_storage.
16825         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
16826         * tests/test-sys_socket.c: Check sockaddr_storage.
16827
16828 2009-05-08  Bruno Haible  <bruno@clisp.org>
16829
16830         New module 'alignof'.
16831         * lib/alignof.h: New file.
16832         * modules/alignof: New file.
16833
16834 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16835             Bruno Haible  <bruno@clisp.org>
16836
16837         Fix test-file-has-acl on FreeBSD.
16838         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
16839         mask is implicitly added.
16840         * tests/test-file-has-acl.c: Include <signal.h>.
16841         (main): Terminate the test after 5 seconds.
16842         * modules/acl-tests (configure.ac): Check for alarm function.
16843
16844 2009-05-04  Bruno Haible  <bruno@clisp.org>
16845
16846         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
16847         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
16848         * modules/errno (configure.ac): Drop AC_REQUIRE.
16849         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
16850         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
16851
16852 2009-05-04  Simon Josefsson  <simon@josefsson.org>
16853
16854         * modules/glob-tests: New module.
16855         * tests/test-glob.c: Add.
16856
16857 2009-05-04  Simon Josefsson  <simon@josefsson.org>
16858
16859         * modules/fnmatch-tests: New module.
16860         * tests/test-fnmatch.c: Add.
16861
16862 2009-05-04  Eric Blake  <ebb9@byu.net>
16863
16864         maint: make the new no-submodule-changes rule VPATH-safe
16865         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
16866
16867 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16868             Bruno Haible  <bruno@clisp.org>
16869
16870         acl: Fix infinite loop on FreeBSD.
16871         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
16872         of return value from acl_get_entry.
16873         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
16874         Likewise.
16875
16876 2009-05-03  Bruno Haible  <bruno@clisp.org>
16877
16878         * lib/acl-internal.h (acl_entries): Clarify return value.
16879         * lib/acl_entries.c (acl_entries): Likewise.
16880
16881 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16882
16883         Bug fix in acl module.
16884         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
16885
16886 2009-05-03  Bruno Haible  <bruno@clisp.org>
16887
16888         Create gperf-generated file in the source dir, not in the build dir.
16889         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
16890         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
16891         * modules/unicase/locale-language (unicase/locale-languages.h):
16892         Likewise.
16893         * modules/unicase/special-casing (unicase/special-casing-table.h):
16894         Likewise.
16895         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
16896         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
16897         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
16898         Reported by Ralf Wildenhues.
16899
16900 2009-05-03  Bruno Haible  <bruno@clisp.org>
16901
16902         * modules/fnmatch (Description, configure.ac): Taken from
16903         fnmatch-posix.
16904         * modules/fnmatch-posix: Turn into a symbolic reference to the
16905         'fnmatch' module, and deprecate.
16906         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
16907
16908 2009-05-03  Bruno Haible  <bruno@clisp.org>
16909
16910         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
16911         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
16912         Reported by Ralf Wildenhues.
16913
16914 2009-05-04  Simon Josefsson  <simon@josefsson.org>
16915
16916         * m4/fnmatch.m4: Fix fnmatch re-define.
16917
16918 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
16919
16920         priv-set: new module and tests; adapt write-any-file
16921         * lib/priv-set.c: New file.
16922         * lib/priv-set.h: New file.
16923         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
16924         * lib/write-any-file.c: Simplify by using priv-set module.
16925         * m4/priv-set.m4: New file.
16926         * modules/priv-set: New file.
16927         * modules/unlinkdir: Add dependency on priv-set module.
16928         * modules/write-any-file: Likewise.
16929
16930         Tests for module 'priv-set'.
16931         * modules/priv-set-tests: New file.
16932         * tests/test-priv-set.c: New file.
16933
16934 2009-05-03  Jim Meyering  <meyering@redhat.com>
16935             Bruno Haible  <bruno@clisp.org>
16936
16937         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
16938         use the converted UTF-8 variant of the name instead.
16939
16940 2009-05-03  Jim Meyering  <meyering@redhat.com>
16941
16942         tests: tighten some getdate tests
16943         * tests/test-getdate.c (main): Tighten tests: require equality,
16944         not just greater than.  Set TZ envvar to UTC0.
16945
16946 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
16947
16948         getdate: correctly interpret "next monday" when run on a Monday
16949         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
16950         that e.g., "next tues" (when run on a tuesday) results in a date
16951         that is one week in the future, and not today's date.
16952         I.e., add a week when the wday is the same as the current one.
16953         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
16954         and earlier by Martin Bernreuther and Jan MinĂ¡Å™.
16955         * tests/test-getdate.c (main): Check that "next DAY" is always in
16956         the future and that "last DAY" is always in the past.
16957
16958 2009-05-02  Jim Meyering  <meyering@redhat.com>
16959
16960         build: ensure that a release build fails when a submodule is unclean
16961         * top/maint.mk (no-submodule-changes): New rule.
16962         (alpha beta major): Depend on it.
16963
16964 2009-05-02  Bruno Haible  <bruno@clisp.org>
16965
16966         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
16967         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
16968         shell variable gl_fnmatch_required to detect which variant is
16969         requested.
16970         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
16971         gl_FUNC_FNMATCH_POSIX.
16972         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
16973         exclude fnmatch-posix.
16974
16975 2009-05-02  Bruno Haible  <bruno@clisp.org>
16976
16977         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
16978         * modules/mbsrtowcs (License): Change to LGPLv2+.
16979         * modules/strnlen1 (License): Likewise.
16980         Reported by Simon Josefsson.
16981
16982 2009-05-02  Bruno Haible  <bruno@clisp.org>
16983
16984         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
16985         "cross".
16986         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
16987         gnulib-tool was called with option --source-base=lib.
16988
16989 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16990
16991         Use automake *-local hooks without commands, for extensibility.
16992         * modules/localcharset (Makefile.am): Rename install-exec-local
16993         rule to install-exec-localcharset, and make it a prerequisite of
16994         install-exec-local.  Likewise, rename the uninstall-local rule to
16995         uninstall-localcharset, and make it a prerequisite of the former.
16996
16997 2009-05-01  Bruno Haible  <bruno@clisp.org>
16998
16999         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
17000         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17001         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
17002         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
17003         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
17004         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17005         m4/locale-zh.m4, m4/codeset.m4.
17006
17007         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17008         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
17009         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17010         m4/locale-zh.m4.
17011
17012         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
17013         REPLACE_WCRTOMB if mbstate_t must be replaced.
17014         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
17015         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
17016
17017 2009-05-01  Bruno Haible  <bruno@clisp.org>
17018
17019         Avoid compiler warnings when redefining macros defined by <libintl.h>.
17020         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
17021         dngettext, dcngettext, textdomain, bindtextdomain,
17022         bind_textdomain_codeset): Undefine before redefining.
17023
17024 2009-04-30  Bruno Haible  <bruno@clisp.org>
17025
17026         Fix bug introduced on 2009-04-25.
17027         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
17028         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
17029         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
17030         is defined.
17031         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
17032         is defined.
17033         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
17034         is defined.
17035         Reported by Elbert_Pol <elbert.pol@gmail.com>.
17036
17037 2009-04-28  Bruno Haible  <bruno@clisp.org>
17038
17039         Comment tweaks.
17040         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
17041         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
17042         * lib/unicase.h (u*_casexfrm): Likewise.
17043         Reported by Paolo Bonzini.
17044
17045 2009-04-28  Bruno Haible  <bruno@clisp.org>
17046
17047         Fix a compilation error.
17048         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
17049         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17050         Reported by Jim Meyering.
17051
17052 2009-04-27  Bruno Haible  <bruno@clisp.org>
17053
17054         New module 'libunistring'.
17055         * modules/libunistring: New file.
17056         * m4/libunistring.m4: New file.
17057         * MODULES.html.sh (Unicode string functions): Add it.
17058
17059 2009-04-27  Eric Blake  <ebb9@byu.net>
17060
17061         maint.mk: allow package-specific header to provide <config.h>
17062         * top/maint.mk (sc_require_config_h): New variable.
17063         (sc_require_config_h, sc_require_config_h_first): Use it.
17064
17065 2009-04-27  Simon Josefsson  <simon@josefsson.org>
17066
17067         * top/maint.mk (sc_avoid_if_before_free): Except
17068         useless-if-before-free script.
17069
17070 2009-04-27  Eric Blake  <ebb9@byu.net>
17071
17072         maintainer-makefile: depend on all required helper scripts
17073         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
17074         useless-if-before-free.
17075         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
17076         version, rather than assuming gnulib checkout is available.
17077         Reported by Simen Josefsson.
17078
17079 2009-04-26  Bruno Haible  <bruno@clisp.org>
17080
17081         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
17082         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
17083         "../" or "..".
17084
17085 2009-04-26  Bruno Haible  <bruno@clisp.org>
17086
17087         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
17088         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
17089         AC_LIB_HAVE_LINKFLAGS.
17090
17091 2009-04-26  Bruno Haible  <bruno@clisp.org>
17092
17093         Simplify calling convention of u*_conv_from_encoding.
17094         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
17095         u32_conv_from_encoding): Expect a resultbuf argument and return the
17096         result directly as a pointer.
17097         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
17098         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
17099         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
17100         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
17101         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
17102         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17103         Update.
17104         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
17105         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
17106         * lib/vasnprintf.c (VASNPRINTF): Update.
17107         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
17108         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
17109         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
17110         * NEWS: Mention the change.
17111
17112 2009-04-26  Bruno Haible  <bruno@clisp.org>
17113
17114         Simplify calling convention of u*_conv_to_encoding.
17115         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
17116         u32_conv_to_encoding): Expect a resultbuf argument and return the
17117         result directly as a pointer.
17118         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17119         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
17120         freeing scaled_offsets if mem_iconveha failed.
17121         * lib/unicase/u-casexfrm.h (FUNC): Update.
17122         * lib/uninorm/u-normxfrm.h (FUNC): Update.
17123         * lib/vasnprintf.c (VASNPRINTF): Update.
17124         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
17125         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
17126         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
17127         * NEWS: Mention the change.
17128
17129 2009-04-26  Bruno Haible  <bruno@clisp.org>
17130
17131         Avoid test failures on AIX and OSF/1.
17132         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
17133         malloc(0).
17134         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17135         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17136         Likewise.
17137         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
17138         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
17139         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
17140         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
17141         * doc/posix-functions/malloc.texi: Document the portability problem
17142         related to malloc(0).
17143
17144 2009-04-26  Bruno Haible  <bruno@clisp.org>
17145
17146         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
17147         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
17148         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
17149
17150 2009-04-25  Bruno Haible  <bruno@clisp.org>
17151
17152         Avoid link error when creating a namespace clean library.
17153         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
17154         as macro with arguments if already defined as an alias.
17155         * lib/signbitf.c (gl_signbitf): Don't undefine.
17156         * lib/signbitd.c (gl_signbitd): Don't undefine.
17157         * lib/signbitl.c (gl_signbitl): Don't undefine.
17158
17159 2009-04-25  Jim Meyering  <meyering@redhat.com>
17160
17161         vc-list-files: fix another quoting bug
17162         * build-aux/vc-list-files: Avoid sed backslash expansion
17163         of pathological directory names.
17164
17165 2009-04-25  Eric Blake  <ebb9@byu.net>
17166
17167         vc-list-files: fix shell quoting error
17168         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
17169         timestamp.
17170
17171 2009-04-25  Jim Meyering  <meyering@redhat.com>
17172
17173         vc-list-files: restore lost functionality with subdir argument
17174         * build-aux/vc-list-files: When given a non-"." sub-directory
17175         argument, substitute the $dir/ prefix back onto each resulting name.
17176         Otherwise, coreutils' root_tests check would fail.
17177
17178 2009-04-24  Eric Blake  <ebb9@byu.net>
17179
17180         vc-list-files: ignore git symlinks
17181         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
17182         than ls-files, to ignore git symlinks.
17183
17184         maint.mk: import improvements from m4
17185         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
17186         (move_if_change): Delete unused macro.
17187         (news-date-check, vc-diff-check): Support VPATH builds.
17188         (announcement): Likewise.  Split --bootstrap-tools list...
17189         (boostrap-tools): ...into separate list, which can be overridden
17190         in cfg.mk.
17191         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
17192         requiring dependency on useless-if-before-free module.
17193         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
17194         Support VPATH builds.
17195
17196 2009-04-24  Jim Meyering  <meyering@redhat.com>
17197
17198         maint.mk: remove coreutils-specific rules and variables
17199         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
17200         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
17201         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
17202
17203         maint.mk: remove obsolete rule
17204         * top/maint.mk (rel-check): Remove rule.
17205         (WGET, WGETFLAGS): Remove now-unused variables.
17206
17207 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17208
17209         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
17210         consistency.
17211
17212         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
17213         '$(PATH_SEPARATOR)' instead of ':'.
17214
17215 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17216
17217         * lib/getopt1.c (main): Use 'const' for static array.
17218
17219 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17220
17221         * top/maint.mk: Sync with coreutils.
17222         * NEWS: Explain incompatibilities.
17223
17224 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17225             Bruno Haible  <bruno@clisp.org>
17226
17227         Fix cross-compilation results.
17228         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
17229         statement, as third argument of AC_TRY_RUN.
17230         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17231         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
17232         Likewise.
17233         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17234         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
17235         Likewise.
17236         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17237         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
17238         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
17239
17240 2009-04-20  Bruno Haible  <bruno@clisp.org>
17241
17242         Avoid test failure on mingw.
17243         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
17244
17245 2009-04-20  Bruno Haible  <bruno@clisp.org>
17246
17247         Avoid compilation error on mingw.
17248         * modules/localename-tests (Depends-on): Add locale.
17249
17250 2009-04-19  Bruno Haible  <bruno@clisp.org>
17251
17252         Support for building a shared library on Windows platforms.
17253         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
17254         (main): Test the presence of UNINORM_NFC here.
17255         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
17256         (main): Test the presence of UNINORM_NFD here.
17257         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
17258         (main): Test the presence of UNINORM_NFKC here.
17259         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
17260         (main): Test the presence of UNINORM_NFKD here.
17261
17262 2009-04-19  Bruno Haible  <bruno@clisp.org>
17263
17264         Avoid a compiler warning.
17265         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
17266         Change type of variable 'sequence'.
17267
17268 2009-04-19  Bruno Haible  <bruno@clisp.org>
17269
17270         * modules/configmake (Makefile.am): When the contents of configmake.h
17271         does not change, arrange to preserve its modification time.
17272
17273 2009-04-17  Simon Josefsson  <simon@josefsson.org>
17274
17275         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
17276         gettext domain.
17277
17278 2009-04-16  Jim Meyering  <meyering@redhat.com>
17279
17280         useless-if-before-free: improve conversion code
17281         * build-aux/useless-if-before-free: Adjust code-in-comment to match
17282         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
17283
17284 2009-04-14  Bruno Haible  <bruno@clisp.org>
17285
17286         * modules/fcntl (Depends-on): Add extensions.
17287         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
17288
17289 2009-04-12  Ben Pfaff  <blp@gnu.org>
17290
17291         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
17292         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
17293
17294 2009-03-20  Ben Pfaff  <blp@gnu.org>
17295
17296         Make rename replace existing destinations on Windows.
17297         * m4/rename.m4: Add test for Mingw.
17298         * lib/rename.c: Add rename replacement that uses MoveFileEx with
17299         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
17300         * doc/posix-functions/rename.texi: Document.
17301
17302 2009-04-10  Bruno Haible  <bruno@clisp.org>
17303
17304         New include file "iconveh.h".
17305         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
17306         * lib/striconveh.h: Include it.
17307         (enum iconv_ilseq_handler): Remove definition.
17308         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
17309         striconveh.h.
17310         * lib/striconveha.c: Include striconveh.h.
17311         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
17312         * modules/striconveh (Files): Add lib/iconveh.h.
17313         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
17314         lib/striconveh.h.
17315
17316 2009-04-10  Bruno Haible  <bruno@clisp.org>
17317
17318         * lib/uniconv.h: Update comment.
17319
17320 2009-04-10  Bruno Haible  <bruno@clisp.org>
17321
17322         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
17323         always.
17324         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
17325         * lib/unistr/u16-mbtouc-aux.c: Likewise.
17326         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
17327         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
17328         "unistring-notinline.h", so that the function gets defined always.
17329         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
17330         * lib/unistr/u8-uctomb.c: Likewise.
17331         * lib/unistr/u16-mbtouc.c: Likewise.
17332         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
17333         * lib/unistr/u16-uctomb.c: Likewise.
17334         * lib/unistr/u32-mbtouc.c: Likewise.
17335         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
17336         * lib/unistr/u32-uctomb.c: Likewise.
17337
17338 2009-04-10  Bruno Haible  <bruno@clisp.org>
17339
17340         Mark 'utime' obsolete.
17341         * modules/utime (Status, Notice): New sections.
17342         Suggested by Jim Meyering.
17343
17344         Fix cross-compile guess for utime test.
17345         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
17346         autoconf.
17347         * doc/posix-functions/utime.texi: Give more precisions.
17348         Reported by Jan <ipif@ymail.com>.
17349
17350 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
17351
17352         filevercmp: correct today's change
17353         * lib/filevercmp.c: Also handle coreutils' test inputs.
17354         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
17355
17356         Fix regression in 'filevercmp' module. Thanks Sven Joachim
17357         for reporting it.
17358         * lib/filevercmp.c: Special handle for "", "." and "..".
17359         * tests/test-filevercmp.c: Enlarge the set suite.
17360
17361 2009-04-07  Jim Meyering  <meyering@redhat.com>
17362
17363         useless-if-before-free: show how to remove braced useless free, too
17364         * build-aux/useless-if-before-free: still only in a comment, though.
17365
17366 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
17367
17368         maint.mk: import changes to syntax-check macros from coreutils
17369         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
17370         Use them in the relevant macros.
17371
17372 2009-04-06  Bruno Haible  <bruno@clisp.org>
17373
17374         Fix unportable use of bit-fields.
17375         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
17376         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
17377         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
17378
17379 2009-04-06  Bruno Haible  <bruno@clisp.org>
17380
17381         Avoid test failures on AIX and OSF/1.
17382         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
17383         that malloc(0) = NULL.
17384         * tests/unicase/test-u8-tolower.c (check): Likewise.
17385         * tests/unicase/test-u8-totitle.c (check): Likewise.
17386         * tests/unicase/test-u8-toupper.c (check): Likewise.
17387         * tests/unicase/test-u16-casefold.c (check): Likewise.
17388         * tests/unicase/test-u16-tolower.c (check): Likewise.
17389         * tests/unicase/test-u16-totitle.c (check): Likewise.
17390         * tests/unicase/test-u16-toupper.c (check): Likewise.
17391         * tests/unicase/test-u32-casefold.c (check): Likewise.
17392         * tests/unicase/test-u32-tolower.c (check): Likewise.
17393         * tests/unicase/test-u32-totitle.c (check): Likewise.
17394         * tests/unicase/test-u32-toupper.c (check): Likewise.
17395         * tests/uninorm/test-u8-nfc.c (check): Likewise.
17396         * tests/uninorm/test-u8-nfd.c (check): Likewise.
17397         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
17398         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
17399         * tests/uninorm/test-u16-nfc.c (check): Likewise.
17400         * tests/uninorm/test-u16-nfd.c (check): Likewise.
17401         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
17402         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
17403         * tests/uninorm/test-u32-nfc.c (check): Likewise.
17404         * tests/uninorm/test-u32-nfd.c (check): Likewise.
17405         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
17406         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
17407
17408 2009-04-05  Bruno Haible  <bruno@clisp.org>
17409
17410         Work around an autoconf limitation.
17411         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
17412         comment line if it would be longer than 3 KB.
17413
17414 2009-04-05  Bruno Haible  <bruno@clisp.org>
17415
17416         Avoid test failure with libiconv-1.13.
17417         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
17418         of the expected test results.
17419
17420 2009-04-05  Bruno Haible  <bruno@clisp.org>
17421
17422         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
17423         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
17424         that it should be installed.
17425
17426 2009-04-05  Bruno Haible  <bruno@clisp.org>
17427
17428         * gnulib-tool: New option --copy-file.
17429         (func_usage): Document it.
17430         (func_dest_tmpfilename): Moved out of func_import.
17431         (func_add_file, func_update_file): New functions, extracted from
17432         func_import.
17433         (func_import): Update.
17434
17435 2009-04-05  Karl Berry  <karl@gnu.org>
17436
17437         * README: prominently mention gnulib-tool.
17438         Rearrange sections so getting the code is near the top.
17439
17440 2009-04-05  Bruno Haible  <bruno@clisp.org>
17441
17442         * lib/unicase.h: Mention u*_cmp2.
17443         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17444         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
17445         * lib/unicase/ulc-casecmp.c: Likewise.
17446         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
17447         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
17448         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
17449         unistr/u8-cmp.
17450         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
17451         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
17452         unistr/u16-cmp.
17453         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
17454         unistr/u32-cmp.
17455
17456         * lib/uninorm.h: Mention u*_cmp2.
17457         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17458         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
17459         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
17460         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
17461         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
17462         unistr/u8-cmp.
17463         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
17464         unistr/u16-cmp.
17465         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
17466         unistr/u32-cmp.
17467
17468         New module 'unistr/u32-cmp2'.
17469         * lib/unistr/u32-cmp2.c: New file.
17470         * modules/unistr/u32-cmp2: New file.
17471
17472         New module 'unistr/u16-cmp2'.
17473         * lib/unistr/u16-cmp2.c: New file.
17474         * modules/unistr/u16-cmp2: New file.
17475
17476         New module 'unistr/u8-cmp2'.
17477         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
17478         * lib/unistr/u8-cmp2.c: New file.
17479         * lib/unistr/u-cmp2.h: New file.
17480         * modules/unistr/u8-cmp2: New file.
17481
17482 2009-04-05  Bruno Haible  <bruno@clisp.org>
17483
17484         * lib/unictype.h (uc_property_is_valid): New macro.
17485         * tests/unictype/test-pr_byname.c (main): Use it.
17486
17487         * lib/unistr.h: Doc fixes.
17488         * lib/uniconv.h: Doc fixes.
17489         * lib/unictype.h: Doc fixes.
17490
17491 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
17492
17493         Port coreutils 7.2 to Solaris 8.
17494
17495         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
17496         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
17497         for Solaris 8.  This is a bit of a hack, as it means it's the
17498         caller's responsibility to add -lnsl if needed, but most likely it
17499         won't be needed since only getaddrinfo uses this and getaddrinfo
17500         isn't needed on Solaris 8.
17501
17502         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
17503         problem to Solaris 8 encountered with coreutils 7.2, which
17504         resulted in a message "fnmatch.c:292: warning: passing argument 4
17505         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
17506         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
17507
17508 2009-04-03  Simon Josefsson  <simon@josefsson.org>
17509
17510         * m4/ld-version-script.m4: Add FIXME comment.
17511
17512 2009-04-02  Simon Josefsson  <simon@josefsson.org>
17513
17514         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
17515         SOVERSION variable.
17516
17517 2009-04-02  Bruno Haible  <bruno@clisp.org>
17518
17519         * Makefile (info, html, dvi, pdf): Combine the rules.
17520         Suggested by Jim Meyering.
17521
17522 2009-04-01  Bruno Haible  <bruno@clisp.org>
17523
17524         * Makefile (info, html, dvi, pdf): New targets.
17525         Reported by Reuben Thomas <rrt@sc3d.org>.
17526
17527 2009-04-01  Bruno Haible  <bruno@clisp.org>
17528
17529         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
17530         can be put into PATH.
17531         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
17532
17533 2009-04-01  Bruno Haible  <bruno@clisp.org>
17534
17535         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
17536
17537 2009-04-01  Bruno Haible  <bruno@clisp.org>
17538
17539         Rename module 'visibility'.
17540         * modules/lib-symbol-visibility: Renamed from modules/visibility.
17541         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
17542         * doc/gnulib.texi: Update.
17543         * MODULES.html.sh (Misc): Update.
17544         * NEWS: Mention the change.
17545
17546 2009-04-01  Simon Josefsson  <simon@josefsson.org>
17547
17548         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
17549         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
17550         Eric Blake <ebb9@byu.net> for review.
17551         * MODULES.html.sh: Add lib-msvc-compat.
17552         * doc/gnulib.texi: Link to new section.
17553         * m4/ld-output-def.m4: New file.
17554         * doc/ld-output-def.texi: New file.
17555
17556 2009-04-01  Simon Josefsson  <simon@josefsson.org>
17557
17558         Rename ld-version-script to lib-symbol-versions.  Suggested by
17559         Bruno Haible <bruno@clisp.org>.
17560         * modules/ld-version-script: Renamed to lib-symbol-versions.
17561         * doc/ld-version-script.texi: Fix module name.
17562         * MODULES.html.sh: Add lib-symbol-versions.
17563
17564 2009-03-31  Simon Josefsson  <simon@josefsson.org>
17565
17566         * modules/u64-tests: New file.
17567         * tests/test-u64.c: New file.
17568
17569 2009-03-04  Simon Josefsson  <simon@josefsson.org>
17570
17571         * MODULES.html.sh: Mention u64.
17572         * modules/u64: New module.
17573         * modules/crypto/sha512: Depend on u64 module instead of providing
17574         u64.h.
17575
17576 2009-03-27  Eric Blake  <ebb9@byu.net>
17577
17578         test-strerror: make debugging EAI_SYSTEM easier
17579         * modules/getaddrinfo-tests (Depends-on): Add strerror.
17580         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
17581         failure was EAI_SYSTEM.
17582
17583 2009-03-25  Bruno Haible  <bruno@clisp.org>
17584
17585         Fix a problem with --enable-relocatable on Solaris 7.
17586         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
17587         since 2008-02-24.
17588
17589 2009-03-25  Eric Blake  <ebb9@byu.net>
17590
17591         test-sockets: avoid gcc warning
17592         * tests/test-sockets.c (main): Silence compiler warning.
17593
17594 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
17595
17596         New modules nproc, pthread, contributed by Glen Lenker.
17597
17598         * MODULES.html.sh: Add pthread, nproc.
17599         * lib/nproc.c: New file.
17600         * lib/nproc.h: New file.
17601         * lib/pthread.in.h: New file.
17602         * m4/pthread.m4: New file.
17603         * modules/nproc: New file.
17604         * modules/pthread: New file.
17605
17606 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17607
17608         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
17609         New variable.
17610
17611 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
17612
17613         filevercmp: handle simple~ and numbered.~3~ backup suffixes
17614         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
17615         * tests/test-filevercmp.c: Add tests for backup suffixes.
17616
17617 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17618
17619         * modules/stdlib (Depends-on): Add stdint, needed when defining
17620         struct random_data on, for example, HP-UX 10.20.  Reported by
17621         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17622
17623 2009-03-24  Simon Josefsson  <simon@josefsson.org>
17624
17625         * lib/readline.c (readline): Call fflush on stdout after printing
17626         prompt.
17627
17628 2009-03-20  Bruno Haible  <bruno@clisp.org>
17629
17630         Remove dependency from 'close' module to -lws2_32 on native Windows.
17631         * lib/close-hook.h: New file.
17632         * lib/close-hook.c: New file.
17633         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
17634         w32sock.h.
17635         (_gl_close_fd_maybe_socket): Remove function.
17636         (rpl_close): Invoke execute_all_close_hooks instead of
17637         _gl_close_fd_maybe_socket.
17638         * lib/sockets.c: Include close-hook.h, w32sock.h.
17639         (close_fd_maybe_socket): New function, essentially from lib/close.c.
17640         (close_sockets_hook): New variable.
17641         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
17642         (gl_sockets_cleanup): Unregister it.
17643         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
17644         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
17645         * modules/close-hook: New file.
17646         * modules/close (Files): Remove lib/w32sock.h.
17647         (Depends-on): Add close-hook.
17648         (Link): Remove section.
17649         * modules/sockets (Files): Add lib/w32sock.h.
17650         (Depends-on): Add close-hook.
17651         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
17652         invocation.
17653         * NEWS: Mention that LIB_CLOSE is gone.
17654
17655 2009-03-23  Eric Blake  <ebb9@byu.net>
17656
17657         signal-tests: test previous patch
17658         * tests/test-signal.c: New file.
17659         * modules/signal-tests: Likewise.
17660
17661         signal.h: always support 'volatile sig_atomic_t'
17662         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
17663         (gl_SIGNAL_H_DEFAULTS): Add a default.
17664         * modules/signal (Makefile.am): Substitute if needed.
17665         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
17666         users can blindly add volatile.
17667         * doc/posix-headers/signal.texi (signal.h): Document it.
17668         Reported by Matthew Woehlke.
17669
17670 2009-03-23  Jim Meyering  <meyering@redhat.com>
17671
17672         pathmax: PATH_MAX: use pathconf only when available
17673         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
17674         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
17675         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
17676         This avoids a link failure in a PSP cross-compilation environment
17677         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
17678
17679         * lib/vasnprintf.c (divide): Fix typo in comment.
17680
17681 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17682
17683         * gnulib-tool (func_filter_filelist): Fix comment.
17684
17685 2009-03-20  Bruno Haible  <bruno@clisp.org>
17686
17687         Make sockets.h self-contained.
17688         * lib/sockets.c: Include sockets.h first.
17689         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
17690
17691 2009-03-19  Eric Blake  <ebb9@byu.net>
17692
17693         doc: mention more functions added in cygwin 1.7.0
17694         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
17695         addition.
17696         * doc/posix-functions/log2f.texi: Likewise.
17697
17698 2009-03-19  Jim Meyering  <meyering@redhat.com>
17699
17700         fsusage: avoid syntax error due to statement-before-declaration
17701         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
17702         after all declarations.  Reported by Matthew Woehlke in
17703         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
17704
17705 2009-03-18  Eric Blake  <ebb9@byu.net>
17706
17707         build-aux/compile: sync from automake
17708         * build-aux/compile: New file, from automake.
17709         * config/srclist.txt: Mention build-aux/compile.
17710
17711 2009-03-17  Bruno Haible  <bruno@clisp.org>
17712
17713         * lib/git-merge-changelog.c: Fix typo in comment.
17714         Reported by Reuben Thomas <rrt@sc3d.org>.
17715
17716 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
17717
17718         * m4/regex.m4: update and improve help for
17719         --without-included-regex.
17720
17721 2009-03-17  Simon Josefsson  <simon@josefsson.org>
17722
17723         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
17724         failure on missing include files.
17725
17726 2009-03-17  Eric Blake  <ebb9@byu.net>
17727
17728         doc: mention more functions added in cygwin 1.7.0
17729         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
17730         addition.
17731         * doc/posix-functions/fwscanf.texi: Likewise.
17732         * doc/posix-functions/swprintf.texi: Likewise.
17733         * doc/posix-functions/swscanf.texi: Likewise.
17734         * doc/posix-functions/vfwprintf.texi: Likewise.
17735         * doc/posix-functions/vfwscanf.texi: Likewise.
17736         * doc/posix-functions/vswprintf.texi: Likewise.
17737         * doc/posix-functions/vswscanf.texi: Likewise.
17738         * doc/posix-functions/vwprintf.texi: Likewise.
17739         * doc/posix-functions/vwscanf.texi: Likewise.
17740         * doc/posix-functions/wcscasecmp.texi: Likewise.
17741         * doc/posix-functions/wcsdup.texi: Likewise.
17742         * doc/posix-functions/wcsftime.texi: Likewise.
17743         * doc/posix-functions/wcsncasecmp.texi: Likewise.
17744         * doc/posix-functions/wprintf.texi: Likewise.
17745         * doc/posix-functions/wscanf.texi: Likewise.
17746         * doc/glibc-functions/gethostbyname2.texi: Likewise.
17747
17748 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17749
17750         maint.mk: really add $(AM_MAKEFLAGS)
17751         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
17752         was inadvertently omitted in the last commit.
17753         Spotted by Bruno Haible.
17754
17755         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
17756         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
17757         $(AM_MAKEFLAGS)' rather than plain `make'.
17758
17759         gnulib-tool: execute $MAKE not make
17760         * gnulib-tool: Default $MAKE to 'make'.
17761         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
17762         than make.  Initialize $MAKE in the do-autobuild script.
17763
17764         gnulib-tool: use $MAKE not make in generated files
17765         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
17766         make, in generated files.  Initialize $MAKE in the do-autobuild
17767         script.
17768
17769         * top/GNUmakefile (_have-git-version-gen): Fix typo.
17770
17771         GNUmakefile: disable parallelism only for multiple, recursive targets
17772         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
17773         additions in the Makefile.
17774         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
17775         by Automake.
17776         (.NOTPARALLEL): Only disable parallel builds if multiple targets
17777         are listed on the command line and at least one of them is
17778         listed in $(ALL_RECURSIVE_TARGETS).
17779
17780 2009-03-14  Bruno Haible  <bruno@clisp.org>
17781
17782         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
17783         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
17784         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
17785         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
17786         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
17787         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
17788         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
17789         unistr/u8-uctomb.
17790         * modules/unistr/u8-strchr (Depends-on): Likewise.
17791         * modules/unistr/u8-strrchr (Depends-on): Likewise.
17792         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
17793         unistr/u16-uctomb.
17794         * modules/unistr/u16-strchr (Depends-on): Likewise.
17795         * modules/unistr/u16-strrchr (Depends-on): Likewise.
17796
17797 2009-03-12  Bruno Haible  <bruno@clisp.org>
17798
17799         Work around select() bug on Interix 3.5.
17800         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
17801         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
17802         * m4/select.m4: New file.
17803         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
17804         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
17805         * modules/select (Files): Add m4/select.m4.
17806         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
17807         * modules/nanosleep (Depends-on): Add select.
17808         * modules/poll (Depends-on): Likewise.
17809         * doc/posix-functions/select.texi: Mention the Interix bug.
17810         Reported by Markus Duft <mduft@gentoo.org>.
17811
17812         * lib/select.c: Renamed from lib/winsock-select.c.
17813         * modules/select (Files): Add lib/select.c, remove
17814         lib/winsock-select.c.
17815         (configure.ac): Update.
17816
17817 2009-03-12  Jim Meyering  <meyering@redhat.com>
17818
17819         avoid gcc warnings about unused macro definitions
17820         * lib/readtokens.c (STREQ): Remove unused definition.
17821         * lib/xmalloc.c (SIZE_MAX): Likewise.
17822         * lib/openat-die.c (N_): Likewise.
17823         * lib/mountlist.c (SIZE_MAX): Remove definition.
17824         Instead, include <stdint.h>.
17825         * lib/readutmp.c: Likewise.
17826         * modules/readutmp (Depends-on): Add stdint.
17827         * modules/mountlist (Depends-on): Add stdint.
17828         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
17829
17830 2009-03-10  Bruno Haible  <bruno@clisp.org>
17831
17832         Tests for module 'mbmemcasecoll'.
17833         * modules/mbmemcasecoll-tests: New file.
17834         * tests/test-mbmemcasecoll1.sh: New file.
17835         * tests/test-mbmemcasecoll2.sh: New file.
17836         * tests/test-mbmemcasecoll3.sh: New file.
17837         * tests/test-mbmemcasecoll.c: New file.
17838
17839         New module 'mbmemcasecoll'.
17840         * lib/mbmemcasecoll.h: New file.
17841         * lib/mbmemcasecoll.c: New file.
17842         * modules/mbmemcasecoll: New file.
17843
17844         * tests/test-mbmemcasecmp.h: New file, extracted from
17845         tests/test-mbmemcasecmp.c.
17846         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
17847         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
17848         (main): Update.
17849         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
17850
17851 2009-03-09  Bruno Haible  <bruno@clisp.org>
17852
17853         Tests for module 'mbmemcasecmp'.
17854         * modules/mbmemcasecmp-tests: New file.
17855         * tests/test-mbmemcasecmp1.sh: New file.
17856         * tests/test-mbmemcasecmp2.sh: New file.
17857         * tests/test-mbmemcasecmp3.sh: New file.
17858         * tests/test-mbmemcasecmp.c: New file.
17859
17860         New module 'mbmemcasecmp'.
17861         * lib/mbmemcasecmp.h: New file.
17862         * lib/mbmemcasecmp.c: New file.
17863         * modules/mbmemcasecmp: New file.
17864
17865 2009-03-09  Bruno Haible  <bruno@clisp.org>
17866
17867         Tests for module 'unicase/ulc-casecoll'.
17868         * modules/unicase/ulc-casecoll-tests: New file.
17869         * tests/unicase/test-ulc-casecoll1.sh: New file.
17870         * tests/unicase/test-ulc-casecoll2.sh: New file.
17871         * tests/unicase/test-ulc-casecoll.c: New file.
17872
17873         New module 'unicase/ulc-casecoll'.
17874         * lib/unicase.h (ulc_casecoll): New declaration.
17875         * lib/unicase/ulc-casecoll.c: New file.
17876         * modules/unicase/ulc-casecoll: New file.
17877
17878         New module 'unicase/ulc-casexfrm'.
17879         * lib/unicase.h (ulc_casexfrm): New declaration.
17880         * lib/unicase/ulc-casexfrm.c: New file.
17881         * modules/unicase/ulc-casexfrm: New file.
17882
17883 2009-03-09  Bruno Haible  <bruno@clisp.org>
17884
17885         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
17886         invocations.
17887
17888         * m4/mbscasecmp.m4: Remove file.
17889         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
17890         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
17891
17892         * m4/mbscasestr.m4: Remove file.
17893         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
17894         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
17895
17896         * m4/mbschr.m4: Remove file.
17897         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
17898         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
17899
17900         * m4/mbscspn.m4: Remove file.
17901         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
17902         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
17903
17904         * m4/mbslen.m4: Remove file.
17905         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
17906         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
17907
17908         * m4/mbsncasecmp.m4: Remove file.
17909         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
17910         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
17911
17912         * m4/mbsnlen.m4: Remove file.
17913         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
17914         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
17915
17916         * m4/mbspbrk.m4: Remove file.
17917         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
17918         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
17919
17920         * m4/mbspcasecmp.m4: Remove file.
17921         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
17922         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
17923
17924         * m4/mbsrchr.m4: Remove file.
17925         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
17926         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
17927
17928         * m4/mbssep.m4: Remove file.
17929         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
17930         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
17931
17932         * m4/mbsspn.m4: Remove file.
17933         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
17934         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
17935
17936         * m4/mbsstr.m4: Remove file.
17937         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
17938         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
17939
17940         * m4/mbstok_r.m4: Remove file.
17941         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
17942         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
17943
17944         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
17945
17946         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
17947         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
17948
17949         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
17950
17951 2009-03-08  Bruno Haible  <bruno@clisp.org>
17952
17953         Tests for module 'unicase/ulc-casecmp'.
17954         * modules/unicase/ulc-casecmp-tests: New file.
17955         * tests/unicase/test-ulc-casecmp1.sh: New file.
17956         * tests/unicase/test-ulc-casecmp2.sh: New file.
17957         * tests/unicase/test-ulc-casecmp.c: New file.
17958
17959         New module 'unicase/ulc-casecmp'.
17960         * lib/unicase.h (ulc_casecmp): New declaration.
17961         * lib/unicase/ulc-casecmp.c: New file.
17962         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
17963         'const SRC_UNIT *'.
17964         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
17965         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
17966         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
17967         * modules/unicase/ulc-casecmp: New file.
17968
17969         Tests for module 'unicase/u32-is-cased'.
17970         * modules/unicase/u32-is-cased-tests: New file.
17971         * tests/unicase/test-u32-is-cased.c: New file.
17972
17973         Tests for module 'unicase/u16-is-cased'.
17974         * modules/unicase/u16-is-cased-tests: New file.
17975         * tests/unicase/test-u16-is-cased.c: New file.
17976
17977         Tests for module 'unicase/u8-is-cased'.
17978         * modules/unicase/u8-is-cased-tests: New file.
17979         * tests/unicase/test-u8-is-cased.c: New file.
17980         * tests/unicase/test-is-cased.h: New file.
17981
17982         New module 'unicase/u32-is-cased'.
17983         * lib/unicase/u32-is-cased.c: New file.
17984         * modules/unicase/u32-is-cased: New file.
17985
17986         New module 'unicase/u16-is-cased'.
17987         * lib/unicase/u16-is-cased.c: New file.
17988         * modules/unicase/u16-is-cased: New file.
17989
17990         New module 'unicase/u8-is-cased'.
17991         * lib/unicase/u8-is-cased.c: New file.
17992         * lib/unicase/u-is-cased.h: New file.
17993         * modules/unicase/u8-is-cased: New file.
17994
17995         Tests for module 'unicase/u32-is-casefolded'.
17996         * modules/unicase/u32-is-casefolded-tests: New file.
17997         * tests/unicase/test-u32-is-casefolded.c: New file.
17998
17999         Tests for module 'unicase/u16-is-casefolded'.
18000         * modules/unicase/u16-is-casefolded-tests: New file.
18001         * tests/unicase/test-u16-is-casefolded.c: New file.
18002
18003         Tests for module 'unicase/u8-is-casefolded'.
18004         * modules/unicase/u8-is-casefolded-tests: New file.
18005         * tests/unicase/test-u8-is-casefolded.c: New file.
18006         * tests/unicase/test-is-casefolded.h: New file.
18007
18008         New module 'unicase/u32-is-casefolded'.
18009         * lib/unicase/u32-is-casefolded.c: New file.
18010         * modules/unicase/u32-is-casefolded: New file.
18011
18012         New module 'unicase/u16-is-casefolded'.
18013         * lib/unicase/u16-is-casefolded.c: New file.
18014         * modules/unicase/u16-is-casefolded: New file.
18015
18016         New module 'unicase/u8-is-casefolded'.
18017         * lib/unicase/u8-is-casefolded.c: New file.
18018         * modules/unicase/u8-is-casefolded: New file.
18019
18020         Tests for module 'unicase/u32-is-titlecase'.
18021         * modules/unicase/u32-is-titlecase-tests: New file.
18022         * tests/unicase/test-u32-is-titlecase.c: New file.
18023
18024         Tests for module 'unicase/u16-is-titlecase'.
18025         * modules/unicase/u16-is-titlecase-tests: New file.
18026         * tests/unicase/test-u16-is-titlecase.c: New file.
18027
18028         Tests for module 'unicase/u8-is-titlecase'.
18029         * modules/unicase/u8-is-titlecase-tests: New file.
18030         * tests/unicase/test-u8-is-titlecase.c: New file.
18031         * tests/unicase/test-is-titlecase.h: New file.
18032
18033         New module 'unicase/u32-is-titlecase'.
18034         * lib/unicase/u32-is-titlecase.c: New file.
18035         * modules/unicase/u32-is-titlecase: New file.
18036
18037         New module 'unicase/u16-is-titlecase'.
18038         * lib/unicase/u16-is-titlecase.c: New file.
18039         * modules/unicase/u16-is-titlecase: New file.
18040
18041         New module 'unicase/u8-is-titlecase'.
18042         * lib/unicase/u8-is-titlecase.c: New file.
18043         * modules/unicase/u8-is-titlecase: New file.
18044
18045         Tests for module 'unicase/u32-is-lowercase'.
18046         * modules/unicase/u32-is-lowercase-tests: New file.
18047         * tests/unicase/test-u32-is-lowercase.c: New file.
18048
18049         Tests for module 'unicase/u16-is-lowercase'.
18050         * modules/unicase/u16-is-lowercase-tests: New file.
18051         * tests/unicase/test-u16-is-lowercase.c: New file.
18052
18053         Tests for module 'unicase/u8-is-lowercase'.
18054         * modules/unicase/u8-is-lowercase-tests: New file.
18055         * tests/unicase/test-u8-is-lowercase.c: New file.
18056         * tests/unicase/test-is-lowercase.h: New file.
18057
18058         New module 'unicase/u32-is-lowercase'.
18059         * lib/unicase/u32-is-lowercase.c: New file.
18060         * modules/unicase/u32-is-lowercase: New file.
18061
18062         New module 'unicase/u16-is-lowercase'.
18063         * lib/unicase/u16-is-lowercase.c: New file.
18064         * modules/unicase/u16-is-lowercase: New file.
18065
18066         New module 'unicase/u8-is-lowercase'.
18067         * lib/unicase/u8-is-lowercase.c: New file.
18068         * modules/unicase/u8-is-lowercase: New file.
18069
18070         Tests for module 'unicase/u32-is-uppercase'.
18071         * modules/unicase/u32-is-uppercase-tests: New file.
18072         * tests/unicase/test-u32-is-uppercase.c: New file.
18073
18074         Tests for module 'unicase/u16-is-uppercase'.
18075         * modules/unicase/u16-is-uppercase-tests: New file.
18076         * tests/unicase/test-u16-is-uppercase.c: New file.
18077
18078         Tests for module 'unicase/u8-is-uppercase'.
18079         * modules/unicase/u8-is-uppercase-tests: New file.
18080         * tests/unicase/test-u8-is-uppercase.c: New file.
18081         * tests/unicase/test-is-uppercase.h: New file.
18082
18083         New module 'unicase/u32-is-uppercase'.
18084         * lib/unicase/u32-is-uppercase.c: New file.
18085         * modules/unicase/u32-is-uppercase: New file.
18086
18087         New module 'unicase/u16-is-uppercase'.
18088         * lib/unicase/u16-is-uppercase.c: New file.
18089         * modules/unicase/u16-is-uppercase: New file.
18090
18091         New module 'unicase/u8-is-uppercase'.
18092         * lib/unicase/u8-is-uppercase.c: New file.
18093         * modules/unicase/u8-is-uppercase: New file.
18094
18095         New module 'unicase/u32-is-invariant'.
18096         * lib/unicase/u32-is-invariant.c: New file.
18097         * modules/unicase/u32-is-invariant: New file.
18098
18099         New module 'unicase/u16-is-invariant'.
18100         * lib/unicase/u16-is-invariant.c: New file.
18101         * modules/unicase/u16-is-invariant: New file.
18102
18103         New module 'unicase/u8-is-invariant'.
18104         * lib/unicase/u8-is-invariant.c: New file.
18105         * lib/unicase/invariant.h: New file.
18106         * lib/unicase/u-is-invariant.h: New file.
18107         * modules/unicase/u8-is-invariant: New file.
18108
18109         Tests for module 'unicase/u32-casecoll'.
18110         * modules/unicase/u32-casecoll-tests: New file.
18111         * tests/unicase/test-u32-casecoll.c: New file.
18112
18113         Tests for module 'unicase/u16-casecoll'.
18114         * modules/unicase/u16-casecoll-tests: New file.
18115         * tests/unicase/test-u16-casecoll.c: New file.
18116
18117         Tests for module 'unicase/u8-casecoll'.
18118         * modules/unicase/u8-casecoll-tests: New file.
18119         * tests/unicase/test-u8-casecoll.c: New file.
18120
18121         New module 'unicase/u32-casecoll'.
18122         * lib/unicase/u32-casecoll.c: New file.
18123         * modules/unicase/u32-casecoll: New file.
18124
18125         New module 'unicase/u16-casecoll'.
18126         * lib/unicase/u16-casecoll.c: New file.
18127         * modules/unicase/u16-casecoll: New file.
18128
18129         New module 'unicase/u8-casecoll'.
18130         * lib/unicase/u8-casecoll.c: New file.
18131         * lib/unicase/u-casecoll.h: New file.
18132         * modules/unicase/u8-casecoll: New file.
18133
18134         New module 'unicase/u32-casexfrm'.
18135         * lib/unicase/u32-casexfrm.c: New file.
18136         * modules/unicase/u32-casexfrm: New file.
18137
18138         New module 'unicase/u16-casexfrm'.
18139         * lib/unicase/u16-casexfrm.c: New file.
18140         * modules/unicase/u16-casexfrm: New file.
18141
18142         New module 'unicase/u8-casexfrm'.
18143         * lib/unicase/u8-casexfrm.c: New file.
18144         * lib/unicase/u-casexfrm.h: New file.
18145         * modules/unicase/u8-casexfrm: New file.
18146
18147         Tests for module 'unicase/u32-casecmp'.
18148         * modules/unicase/u32-casecmp-tests: New file.
18149         * tests/unicase/test-u32-casecmp.c: New file.
18150
18151         Tests for module 'unicase/u16-casecmp'.
18152         * modules/unicase/u16-casecmp-tests: New file.
18153         * tests/unicase/test-u16-casecmp.c: New file.
18154
18155         Tests for module 'unicase/u8-casecmp'.
18156         * modules/unicase/u8-casecmp-tests: New file.
18157         * tests/unicase/test-u8-casecmp.c: New file.
18158         * tests/unicase/test-casecmp.h: New file.
18159
18160         New module 'unicase/u32-casecmp'.
18161         * lib/unicase/u32-casecmp.c: New file.
18162         * modules/unicase/u32-casecmp: New file.
18163
18164         New module 'unicase/u16-casecmp'.
18165         * lib/unicase/u16-casecmp.c: New file.
18166         * modules/unicase/u16-casecmp: New file.
18167
18168         New module 'unicase/u8-casecmp'.
18169         * lib/unicase/u8-casecmp.c: New file.
18170         * lib/unicase/u-casecmp.h: New file.
18171         * modules/unicase/u8-casecmp: New file.
18172
18173         Tests for module 'unicase/u32-casefold'.
18174         * modules/unicase/u32-casefold-tests: New file.
18175         * tests/unicase/test-u32-casefold.c: New file.
18176
18177         Tests for module 'unicase/u16-casefold'.
18178         * modules/unicase/u16-casefold-tests: New file.
18179         * tests/unicase/test-u16-casefold.c: New file.
18180
18181         Tests for module 'unicase/u8-casefold'.
18182         * modules/unicase/u8-casefold-tests: New file.
18183         * tests/unicase/test-u8-casefold.c: New file.
18184
18185         New module 'unicase/u32-casefold'.
18186         * lib/unicase/u32-casefold.c: New file.
18187         * modules/unicase/u32-casefold: New file.
18188
18189         New module 'unicase/u16-casefold'.
18190         * lib/unicase/u16-casefold.c: New file.
18191         * modules/unicase/u16-casefold: New file.
18192
18193         New module 'unicase/u8-casefold'.
18194         * lib/unicase/u8-casefold.c: New file.
18195         * lib/unicase/u-casefold.h: New file.
18196         * modules/unicase/u8-casefold: New file.
18197
18198         New module 'unicase/tocasefold'.
18199         * lib/unicase/casefold.h: New file.
18200         * lib/unicase/tocasefold.c: New file.
18201         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
18202         * modules/unicase/tocasefold: New file.
18203
18204         Tests for module 'unicase/u32-totitle'.
18205         * modules/unicase/u32-totitle-tests: New file.
18206         * tests/unicase/test-u32-totitle.c: New file.
18207
18208         Tests for module 'unicase/u16-totitle'.
18209         * modules/unicase/u16-totitle-tests: New file.
18210         * tests/unicase/test-u16-totitle.c: New file.
18211
18212         Tests for module 'unicase/u8-totitle'.
18213         * modules/unicase/u8-totitle-tests: New file.
18214         * tests/unicase/test-u8-totitle.c: New file.
18215
18216         New module 'unicase/u32-totitle'.
18217         * lib/unicase/u32-totitle.c: New file.
18218         * modules/unicase/u32-totitle: New file.
18219
18220         New module 'unicase/u16-totitle'.
18221         * lib/unicase/u16-totitle.c: New file.
18222         * modules/unicase/u16-totitle: New file.
18223
18224         New module 'unicase/u8-totitle'.
18225         * lib/unicase/u8-totitle.c: New file.
18226         * lib/unicase/u-totitle.h: New file.
18227         * modules/unicase/u8-totitle: New file.
18228
18229         Tests for module 'unicase/u32-tolower'.
18230         * modules/unicase/u32-tolower-tests: New file.
18231         * tests/unicase/test-u32-tolower.c: New file.
18232
18233         Tests for module 'unicase/u16-tolower'.
18234         * modules/unicase/u16-tolower-tests: New file.
18235         * tests/unicase/test-u16-tolower.c: New file.
18236
18237         Tests for module 'unicase/u8-tolower'.
18238         * modules/unicase/u8-tolower-tests: New file.
18239         * tests/unicase/test-u8-tolower.c: New file.
18240
18241         New module 'unicase/u32-tolower'.
18242         * lib/unicase/u32-tolower.c: New file.
18243         * modules/unicase/u32-tolower: New file.
18244
18245         New module 'unicase/u16-tolower'.
18246         * lib/unicase/u16-tolower.c: New file.
18247         * modules/unicase/u16-tolower: New file.
18248
18249         New module 'unicase/u8-tolower'.
18250         * lib/unicase/u8-tolower.c: New file.
18251         * modules/unicase/u8-tolower: New file.
18252
18253         Tests for module 'unicase/u32-toupper'.
18254         * modules/unicase/u32-toupper-tests: New file.
18255         * tests/unicase/test-u32-toupper.c: New file.
18256
18257         Tests for module 'unicase/u16-toupper'.
18258         * modules/unicase/u16-toupper-tests: New file.
18259         * tests/unicase/test-u16-toupper.c: New file.
18260
18261         Tests for module 'unicase/u8-toupper'.
18262         * modules/unicase/u8-toupper-tests: New file.
18263         * tests/unicase/test-u8-toupper.c: New file.
18264
18265         New module 'unicase/u32-toupper'.
18266         * lib/unicase/u32-toupper.c: New file.
18267         * modules/unicase/u32-toupper: New file.
18268
18269         New module 'unicase/u16-toupper'.
18270         * lib/unicase/u16-toupper.c: New file.
18271         * modules/unicase/u16-toupper: New file.
18272
18273         New module 'unicase/u8-toupper'.
18274         * lib/unicase/u8-toupper.c: New file.
18275         * modules/unicase/u8-toupper: New file.
18276
18277         New module 'unicase/u32-casemap'.
18278         * lib/unicase/u32-casemap.c: New file.
18279         * modules/unicase/u32-casemap: New file.
18280
18281         New module 'unicase/u16-casemap'.
18282         * lib/unicase/u16-casemap.c: New file.
18283         * modules/unicase/u16-casemap: New file.
18284
18285         New module 'unicase/u8-casemap'.
18286         * lib/unicase/unicasemap.h: New file.
18287         * lib/unicase/u8-casemap.c: New file.
18288         * lib/unicase/u-casemap.h: New file.
18289         * modules/unicase/u8-casemap: New file.
18290
18291         New module 'unicase/special-casing'.
18292         * lib/unicase/special-casing.h: New file.
18293         * lib/unicase/special-casing.c: New file.
18294         * lib/unicase/special-casing-table.gperf: New file, generated by
18295         gen-uni-tables.c.
18296         * modules/unicase/special-casing: New file.
18297
18298         Tests for module 'unicase/locale-language'.
18299         * modules/unicase/locale-language-tests: New file.
18300         * tests/unicase/test-locale-language.sh: New file.
18301         * tests/unicase/test-locale-language.c: New file.
18302
18303         New module 'unicase/locale-language'.
18304         * lib/unicase/locale-language.c: New file.
18305         * lib/unicase/locale-languages.gperf: New file.
18306         * modules/unicase/locale-language: New file.
18307
18308         Generate more tables for case conversion and case folding.
18309         * lib/gen-uni-tables.c (SCC_*): New enum items.
18310         (struct special_casing_rule): New type.
18311         (casing_rules, num_casing_rules, allocated_casing_rules): New
18312         variables.
18313         (add_casing_rule, fill_casing_rules): New functions.
18314         (struct casefold_rule): New type.
18315         (casefolding_rules, num_casefolding_rules,
18316         allocated_casefolding_rules): New variables.
18317         (fill_casefolding_rules): New function.
18318         (unicode_casefold): New variable.
18319         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
18320         sort_casing_rules, output_casing_rules): New functions.
18321         (main): Accept to more arguments: SpecialCasing.txt and
18322         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
18323         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
18324         Output mapping for casefolding.
18325
18326         * lib/unicase.h: Include stdbool.h, uninorm.h.
18327         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
18328         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
18329         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
18330         arguments.
18331         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
18332         resultp arguments.
18333         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
18334         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
18335         resultp arguments.
18336         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
18337         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
18338         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
18339         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
18340         declarations.
18341         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
18342
18343 2009-03-08  Bruno Haible  <bruno@clisp.org>
18344
18345         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18346         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
18347         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
18348         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18349
18350 2009-03-07  Bruno Haible  <bruno@clisp.org>
18351
18352         Adjust u*_normcmp, u*_normcoll API.
18353         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18354         u16_normcoll, u32_normcoll): Change failure conventions.
18355         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
18356         errno and return -1.
18357         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18358
18359 2009-03-07  Bruno Haible  <bruno@clisp.org>
18360
18361         Tests for module 'uninorm/u32-normcoll'.
18362         * modules/uninorm/u32-normcoll-tests: New file.
18363         * tests/uninorm/test-u32-normcoll.c: New file.
18364
18365         Tests for module 'uninorm/u16-normcoll'.
18366         * modules/uninorm/u16-normcoll-tests: New file.
18367         * tests/uninorm/test-u16-normcoll.c: New file.
18368
18369         Tests for module 'uninorm/u8-normcoll'.
18370         * modules/uninorm/u8-normcoll-tests: New file.
18371         * tests/uninorm/test-u8-normcoll.c: New file.
18372
18373 2009-03-07  Bruno Haible  <bruno@clisp.org>
18374
18375         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
18376         tests/uninorm/test-u32-normcmp.c.
18377         * tests/uninorm/test-u32-normcmp.c: Include it.
18378         (test_nonascii): New function, extracted from main. Add some more
18379         tests.
18380         (main): Invoke test_ascii and test_nonascii.
18381         * modules/uninorm/u32-normcmp-tests (Files): Add
18382         tests/uninorm/test-u32-normcmp.h.
18383         (Depends-on): Remove uninorm/u32-normcmp.
18384
18385         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
18386         tests/uninorm/test-u16-normcmp.c.
18387         * tests/uninorm/test-u16-normcmp.c: Include it.
18388         (test_nonascii): New function, extracted from main. Add some more
18389         tests.
18390         (main): Invoke test_ascii and test_nonascii.
18391         * modules/uninorm/u16-normcmp-tests (Files): Add
18392         tests/uninorm/test-u16-normcmp.h.
18393         (Depends-on): Remove uninorm/u16-normcmp.
18394
18395         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
18396         tests/uninorm/test-u8-normcmp.c.
18397         * tests/uninorm/test-u8-normcmp.c: Include it.
18398         (test_nonascii): New function, extracted from main. Add some more
18399         tests.
18400         (main): Invoke test_ascii and test_nonascii.
18401         * modules/uninorm/u8-normcmp-tests (Files): Add
18402         tests/uninorm/test-u8-normcmp.h.
18403         (Depends-on): Remove uninorm/u8-normcmp.
18404
18405 2009-03-07  Bruno Haible  <bruno@clisp.org>
18406
18407         New module 'uninorm/u32-normcoll'.
18408         * lib/uninorm/u32-normcoll.c: New file.
18409         * modules/uninorm/u32-normcoll: New file.
18410
18411         New module 'uninorm/u16-normcoll'.
18412         * lib/uninorm/u16-normcoll.c: New file.
18413         * modules/uninorm/u16-normcoll: New file.
18414
18415         New module 'uninorm/u8-normcoll'.
18416         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
18417         declarations.
18418         * lib/uninorm/u8-normcoll.c: New file.
18419         * lib/uninorm/u-normcoll.h: New file.
18420         * modules/uninorm/u8-normcoll: New file.
18421
18422         New module 'uninorm/u32-normxfrm'.
18423         * lib/uninorm/u32-normxfrm.c: New file.
18424         * modules/uninorm/u32-normxfrm: New file.
18425
18426         New module 'uninorm/u16-normxfrm'.
18427         * lib/uninorm/u16-normxfrm.c: New file.
18428         * modules/uninorm/u16-normxfrm: New file.
18429
18430         New module 'uninorm/u8-normxfrm'.
18431         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
18432         declarations.
18433         * lib/uninorm/u8-normxfrm.c: New file.
18434         * lib/uninorm/u-normxfrm.h: New file.
18435         * modules/uninorm/u8-normxfrm: New file.
18436
18437 2009-03-07  Bruno Haible  <bruno@clisp.org>
18438
18439         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
18440         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
18441         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
18442
18443 2009-03-07  Bruno Haible  <bruno@clisp.org>
18444
18445         New module 'memxfrm'.
18446         * lib/memxfrm.h: New file.
18447         * lib/memxfrm.c: New file.
18448         * modules/memxfrm: New file.
18449
18450 2009-03-07  Bruno Haible  <bruno@clisp.org>
18451
18452         New module 'memcmp2'.
18453         * lib/memcmp2.h: New file.
18454         * lib/memcmp2.c: New file.
18455         * modules/memcmp2: New file.
18456
18457 2009-03-07  Bruno Haible  <bruno@clisp.org>
18458
18459         Tests for module 'uninorm/decomposing-form'.
18460         * modules/uninorm/decomposing-form-tests: New file.
18461         * tests/uninorm/test-decomposing-form.c: New file.
18462
18463         New module 'uninorm/decomposing-form'.
18464         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
18465         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
18466         Add 'decomposing_variant' field.
18467         * lib/uninorm/decomposing-form.c: New file.
18468         * lib/uninorm/nfc.c (uninorm_nfc): Update.
18469         * lib/uninorm/nfd.c (uninorm_nfd): Update.
18470         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
18471         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
18472         * modules/uninorm/decomposing-form: New file.
18473         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
18474         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
18475
18476 2009-03-07  Bruno Haible  <bruno@clisp.org>
18477
18478         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
18479         strings.
18480
18481 2009-03-06  Bruno Haible  <bruno@clisp.org>
18482
18483         Tests for module 'uninorm/u32-normcmp'.
18484         * tests/uninorm/test-u32-normcmp.c: New file.
18485         * modules/uninorm/u32-normcmp-tests: New file.
18486
18487         Tests for module 'uninorm/u16-normcmp'.
18488         * tests/uninorm/test-u16-normcmp.c: New file.
18489         * modules/uninorm/u16-normcmp-tests: New file.
18490
18491         Tests for module 'uninorm/u8-normcmp'.
18492         * tests/uninorm/test-u8-normcmp.c: New file.
18493         * modules/uninorm/u8-normcmp-tests: New file.
18494
18495         New module 'uninorm/u32-normcmp'.
18496         * lib/uninorm/u32-normcmp.c: New file.
18497         * modules/uninorm/u32-normcmp: New file.
18498
18499         New module 'uninorm/u16-normcmp'.
18500         * lib/uninorm/u16-normcmp.c: New file.
18501         * modules/uninorm/u16-normcmp: New file.
18502
18503         New module 'uninorm/u8-normcmp'.
18504         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
18505         declarations.
18506         * lib/uninorm/u8-normcmp.c: New file.
18507         * lib/uninorm/u-normcmp.h: New file.
18508         * modules/uninorm/u8-normcmp: New file.
18509
18510 2009-03-06  Bruno Haible  <bruno@clisp.org>
18511
18512         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
18513         Reported by Eric Blake.
18514
18515 2009-03-06  Eric Blake  <ebb9@byu.net>
18516             Bruno Haible  <bruno@clisp.org>
18517
18518         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
18519         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
18520         condition.
18521         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
18522         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
18523         condition.
18524         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
18525
18526 2009-03-06  Eric Blake  <ebb9@byu.net>
18527
18528         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
18529         to avoid compiler warnings.
18530         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
18531
18532 2009-03-05  Bruno Haible  <bruno@clisp.org>
18533
18534         * tests/test-ftell.c (main): Disable test beyond end of file on
18535         FreeMiNT.
18536         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
18537
18538 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
18539
18540         * lib/filevercmp.c: Move hidden files up in ordering.
18541         * tests/test-filevercmp.c: Add tests for hidden files.
18542
18543 2009-03-04  Bruno Haible  <bruno@clisp.org>
18544
18545         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
18546         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
18547         AM_CFLAGS.
18548         Reported by Simon Josefsson.
18549
18550 2009-03-03  Bruno Haible  <bruno@clisp.org>
18551
18552         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
18553         Reported by Simon Josefsson.
18554
18555         * doc/ld-version-script.texi: Update node reference.
18556
18557 2009-03-03  Bruno Haible  <bruno@clisp.org>
18558
18559         * modules/visibility (License): Change to 'unlimited'.
18560         Suggested by Simon Josefsson.
18561
18562 2009-03-03  Jim Meyering  <meyering@redhat.com>
18563
18564         unlinkdir: cannot_unlink_dir may modify process state
18565         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
18566         it's neither thread-safe nor appropriate for use in a library.
18567
18568 2009-03-03  Eric Blake  <ebb9@byu.net>
18569
18570         test-closein: silence test under Darwin
18571         * tests/test-closein.sh: Ignore stderr from cat, since we don't
18572         care if it dies from EPIPE or EBADF.
18573
18574 2009-03-03  Bruno Haible  <bruno@clisp.org>
18575
18576         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
18577         earlier.
18578         * doc/visibility.texi: Fix @node and @section.
18579
18580 2009-03-03  Simon Josefsson  <simon@josefsson.org>
18581
18582         * doc/gnulib.texi: Link to sections for ld version script and
18583         visibility.
18584         * doc/visibility.texi: Add @node and @section.
18585         * modules/ld-version-script: New module.
18586         * m4/ld-version-script.m4: New file.
18587         * doc/ld-version-script.texi: New file.
18588
18589 2009-03-02  David Lutterkort  <lutter@redhat.com>
18590
18591         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
18592         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18593
18594 2009-03-02  Bruno Haible  <bruno@clisp.org>
18595
18596         * doc/visibility.texi: Mention libtool's -export-symbols option.
18597
18598 2009-03-02  Jim Meyering  <meyering@redhat.com>
18599
18600         announce-gen: new option: --no-print-checksums
18601         * build-aux/announce-gen (usage): Describe it.
18602         (print_checksums): Print a newline here, not in the [*] footnote.
18603         (main): Honor it.
18604
18605 2009-03-01  Bruno Haible  <bruno@clisp.org>
18606
18607         Use socklen_t in the native Windows replacements prototypes.
18608         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
18609         instead of 'int'.
18610         * lib/getsockopt.c (rpl_getsockopt): Likewise.
18611         * lib/setsockopt.c (rpl_setsockopt): Likewise.
18612         * modules/getsockopt (Depends-on): Add socklen.
18613         * modules/setsockopt (Depends-on): Add socklen.
18614
18615 2009-03-01  Bruno Haible  <bruno@clisp.org>
18616
18617         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
18618         least 4.2.
18619
18620 2009-03-01  Eric Blake  <ebb9@byu.net>
18621             Bruno Haible  <bruno@clisp.org>
18622
18623         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
18624         error messages.
18625         * lib/wait-process.c (wait_subprocess): Omit error message about
18626         deadly signal sent to the child of termsigp != NULL.
18627
18628 2009-03-01  Eric Blake  <ebb9@byu.net>
18629
18630         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
18631
18632 2009-03-01  Bruno Haible  <bruno@clisp.org>
18633
18634         Avoid a gcc warning.
18635         * tests/test-sched.c (b): Make global.
18636         Reported by Eric Blake.
18637
18638 2009-01-19  Martin Lambers  <marlam@marlam.de>
18639
18640         Provide POSIX semantics for socket timeout options on W32.
18641         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
18642         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
18643         * modules/setsockopt: Depend on sys_time module for struct timeval.
18644         * modules/getsockopt: Depend on sys_time module for struct timeval.
18645
18646 2009-03-01  Simon Josefsson  <simon@josefsson.org>
18647
18648         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
18649         __USE_GNU, for consistency with netdb.in.h.
18650         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18651
18652 2009-03-01  Bruno Haible  <bruno@clisp.org>
18653
18654         More support for FreeMiNT.
18655         * lib/fseeko.c (rpl_fseeko): Complete last commit.
18656         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18657
18658 2009-03-01  Bruno Haible  <bruno@clisp.org>
18659
18660         More support for FreeMiNT.
18661         * lib/fpurge.c (fpurge): Correct last commit.
18662         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18663
18664 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18665
18666         Fix unportable awk script in vc-list-files.
18667         * build-aux/vc-list-files: In the replacement awk script, use
18668         substr with a second argument of 1, not zero.
18669         Report by Simon Josefsson.
18670
18671 2009-02-28  Bruno Haible  <bruno@clisp.org>
18672
18673         More support for FreeMiNT.
18674         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
18675         to FreeMiNT today.
18676         * lib/fwriting.c (fwriting): Likewise.
18677         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
18678
18679 2009-02-28  Bruno Haible  <bruno@clisp.org>
18680
18681         * tests/test-freadseek.c (main): Disable test beyond end of file on
18682         FreeMiNT.
18683         * tests/test-ftello.c (main): Likewise.
18684         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
18685
18686 2009-02-28  Bruno Haible  <bruno@clisp.org>
18687
18688         Add tentative support for FreeMiNT.
18689         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
18690         * lib/fpurge.c (fpurge): Likewise.
18691         * lib/freadable.c (freadable): Likewise.
18692         * lib/freading.c (freading): Likewise.
18693         * lib/freadptr.c (freadptr): Likewise.
18694         * lib/freadseek.c (freadptrinc): Likewise.
18695         * lib/fseeko.c (rpl_fseeko): Likewise.
18696         * lib/fseterr.c (fseterr): Likewise.
18697         * lib/fwritable.c (fwritable): Likewise.
18698         * lib/fwriting.c (fwriting): Likewise.
18699         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
18700         Hourihane.
18701         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18702
18703 2009-02-28  Bruno Haible  <bruno@clisp.org>
18704
18705         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
18706         SIGCHLD.
18707         Reported by Jim Meyering.
18708
18709 2009-02-28  Bruno Haible  <bruno@clisp.org>
18710
18711         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
18712         Mention the results of these tests on various platforms.
18713         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
18714         order.
18715         * doc/posix-functions/printf.texi: Likewise.
18716         * doc/posix-functions/snprintf.texi: Likewise.
18717         * doc/posix-functions/sprintf.texi: Likewise.
18718         * doc/posix-functions/vfprintf.texi: Likewise.
18719         * doc/posix-functions/vprintf.texi: Likewise.
18720         * doc/posix-functions/vsnprintf.texi: Likewise.
18721         * doc/posix-functions/vsprintf.texi: Likewise.
18722         * doc/glibc-functions/obstack_printf.texi: Likewise.
18723         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
18724
18725 2009-02-28  Bruno Haible  <bruno@clisp.org>
18726
18727         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
18728         Reported by LoĂ¯c Minier <lool@dooz.org>.
18729
18730 2009-02-27  Bruno Haible  <bruno@clisp.org>
18731
18732         * gnulib-tool (func_import): Make the sed expression used to create the
18733         sed script for updating the .gitignore file POSIX compliant.
18734         Reported by Eric Blake.
18735
18736 2009-02-27  Bruno Haible  <bruno@clisp.org>
18737
18738         * gnulib-tool (sed): Don't alias as "sed --posix".
18739         Reported by Eric Blake.
18740
18741 2009-02-27  Bruno Haible  <bruno@clisp.org>
18742
18743         Avoid test link errors.
18744         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
18745         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
18746         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
18747         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
18748         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18749
18750 2009-02-27  Bruno Haible  <bruno@clisp.org>
18751
18752         Avoid spurious "(cached)" in configure output.
18753         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
18754         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
18755         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
18756         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
18757         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
18758         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
18759         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
18760         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
18761         Reported by Eric Blake.
18762
18763 2009-02-27  Eric Blake  <ebb9@byu.net>
18764
18765         printf: fix regression in previous patch
18766         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
18767
18768 2009-02-27  Bruno Haible  <bruno@clisp.org>
18769
18770         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
18771         value.
18772         * lib/stdint.in.h: Likewise.
18773         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
18774
18775 2009-02-27  Eric Blake  <ebb9@byu.net>
18776
18777         doc: mention more functions added in cygwin 1.7.0
18778         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
18779         addition.
18780         * doc/posix-functions/open_wmemstream.texi: Likewise.
18781         * doc/posix-functions/wcsnlen.texi: Likewise.
18782         * doc/posix-functions/wcsnrtombs.texi: Likewise.
18783         * doc/posix-functions/wcstod.texi: Likewise.
18784         * doc/posix-functions/wcstof.texi: Likewise.
18785         * doc/posix-functions/wcstoimax.texi: Likewise.
18786         * doc/posix-functions/wcstok.texi: Likewise.
18787         * doc/posix-functions/wcstoumax.texi: Likewise.
18788
18789         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
18790         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
18791         * doc/posix-functions/fprintf.texi: Update.
18792         * doc/posix-functions/printf.texi: Update.
18793         * doc/posix-functions/snprintf.texi: Update.
18794         * doc/posix-functions/sprintf.texi: Update.
18795         * doc/posix-functions/vfprintf.texi: Update.
18796         * doc/posix-functions/vprintf.texi: Update.
18797         * doc/posix-functions/vsnprintf.texi: Update.
18798         * doc/posix-functions/vsprintf.texi: Update.
18799         * doc/glibc-functions/obstack_printf.texi: Update.
18800         * doc/glibc-functions/obstack_vprintf.texi: Update.
18801
18802 2009-02-26  Eric Blake  <ebb9@byu.net>
18803
18804         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
18805         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
18806         compilation bug by using runtime conversion.
18807         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
18808         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
18809         * modules/ceill-tests (Files): Use nan.h.
18810         * modules/floorl-tests (Files): Likewise.
18811         * modules/frexpl-tests (Files): Likewise.
18812         * modules/isnanl-tests (Files): Likewise.
18813         * modules/ldexpl-tests (Files): Likewise.
18814         * modules/roundl-tests (Files): Likewise.
18815         * modules/truncl-tests (Files): Likewise.
18816         * tests/test-ceill.c (main): Use a working NaN.
18817         * tests/test-floorl.c (main): Likewise.
18818         * tests/test-frexpl.c (main): Likewise.
18819         * tests/test-isnan.c (test_long_double): Likewise.
18820         * tests/test-isnanl.h (main): Likewise.
18821         * tests/test-ldexpl.h (main): Likewise.
18822         * tests/test-roundl.h (main): Likewise.
18823         * tests/test-truncl.h (main): Likewise.
18824         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
18825
18826 2009-02-26  Eric Blake  <ebb9@byu.net>
18827             Bruno Haible  <bruno@clisp.org>
18828
18829         Work around a *printf bug with %ls on Solaris.
18830         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
18831         precision is specified, sprintf stops converting the wide string
18832         argument when the number of bytes that have been produced by this
18833         conversion equals or exceeds the precision.
18834         * doc/posix-functions/fprintf.texi: Update.
18835         * doc/posix-functions/printf.texi: Update.
18836         * doc/posix-functions/snprintf.texi: Update.
18837         * doc/posix-functions/sprintf.texi: Update.
18838         * doc/posix-functions/vfprintf.texi: Update.
18839         * doc/posix-functions/vprintf.texi: Update.
18840         * doc/posix-functions/vsnprintf.texi: Update.
18841         * doc/posix-functions/vsprintf.texi: Update.
18842         * doc/glibc-functions/obstack_printf.texi: Update.
18843         * doc/glibc-functions/obstack_vprintf.texi: Update.
18844
18845 2009-02-26  Eric Blake  <ebb9@byu.net>
18846
18847         stdlib: favor compiler check of random.h
18848         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
18849         to avoid an ObjC random.h installed by Swarm.
18850
18851 2009-02-26  Bruno Haible  <bruno@clisp.org>
18852
18853         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
18854         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
18855         Reported by Gary V. Vaughan <gary@gnu.org>.
18856
18857 2009-02-26  Bruno Haible  <bruno@clisp.org>
18858
18859         Fix *printf behaviour regarding the %ls directive.
18860         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
18861         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
18862         NEED_PRINTF_DIRECTIVE_LS.
18863         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
18864         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
18865         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
18866         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
18867         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
18868         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
18869         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
18870         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
18871         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
18872         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
18873         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
18874         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
18875         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
18876         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
18877         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
18878         * doc/posix-functions/fprintf.texi: Update.
18879         * doc/posix-functions/printf.texi: Update.
18880         * doc/posix-functions/snprintf.texi: Update.
18881         * doc/posix-functions/sprintf.texi: Update.
18882         * doc/posix-functions/vfprintf.texi: Update.
18883         * doc/posix-functions/vprintf.texi: Update.
18884         * doc/posix-functions/vsnprintf.texi: Update.
18885         * doc/posix-functions/vsprintf.texi: Update.
18886         * doc/glibc-functions/obstack_printf.texi: Update.
18887         * doc/glibc-functions/obstack_vprintf.texi: Update.
18888         Reported by Eric Blake.
18889
18890 2009-02-25  Bruno Haible  <bruno@clisp.org>
18891
18892         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
18893         with known value.
18894         Reported by Gary V. Vaughan <gary@gnu.org>.
18895
18896 2009-02-25  Bruno Haible  <bruno@clisp.org>
18897
18898         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
18899         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
18900         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
18901         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
18902         Reported by Gary V. Vaughan <gary@gnu.org>.
18903
18904 2009-02-25  Bruno Haible  <bruno@clisp.org>
18905
18906         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
18907         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
18908         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
18909         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
18910         Reported by Gary V. Vaughan <gary@gnu.org>.
18911
18912 2009-02-25  Eric Blake  <ebb9@byu.net>
18913
18914         tests: skip fseek/ftell tests if ungetc is broken
18915         * m4/ungetc.m4: New file.
18916         * modules/fseek-tests: Split test, so ungetc dependency is
18917         separate from rest of test.
18918         * modules/fseeko-tests: Likewise.
18919         * modules/ftell-tests: Likewise.
18920         * modules/ftello-tests: Likewise.
18921         * tests/test-fseek.c (main): Isolate ungetc dependency.
18922         * tests/test-fseeko.c (main): Likewise.
18923         * tests/test-ftell.c (main): Likewise.
18924         * tests/test-ftello.c (main): Likewise.
18925         * tests/test-fseek2.sh: New file.
18926         * tests/test-fseeko2.sh: Likewise.
18927         * tests/test-ftell2.sh: Likewise.
18928         * tests/test-ftello2.sh: Likewise.
18929
18930 2009-02-25  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
18931
18932         test-getaddrinfo: fix usage of skip return code 77
18933         * tests/test-gettaddrinfo.c: Return skip code 77 only
18934         for first occurance of skip (4x77 is not 77)
18935
18936 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
18937
18938         strtod: avoid C99 decl-after-statement
18939         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
18940
18941 2009-02-24  Eric Blake  <ebb9@byu.net>
18942
18943         strtod: detect HP-UX 11.31 bug
18944         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
18945         Reported by Gary V. Vaughan.
18946
18947 2009-02-23  Bruno Haible  <bruno@clisp.org>
18948
18949         Fix invalid read past end of memory block.
18950         * lib/vasnprintf.c (DCHAR_SET): Define.
18951         (local_wcslen): Define only when needed.
18952         (local_strnlen, local_wcsnlen): New functions.
18953         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
18954         directives that involve a conversion ourselves.
18955         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
18956         wcsnlen, mbrtowc, wcrtomb.
18957         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
18958         * tests/test-vasprintf-posix.c (test_function): Likewise.
18959         * tests/test-snprintf-posix.h (test_function): Likewise.
18960         * tests/test-sprintf-posix.h (test_function): Likewise.
18961         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18962
18963 2009-02-22  Bruno Haible  <bruno@clisp.org>
18964
18965         Implement new clarified decomposition of Hangul syllables.
18966         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
18967         of type LTV, return only a pairwise decomposition.
18968         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
18969         Likewise.
18970         * tests/uninorm/test-decomposition.c (main): Updated expected result.
18971         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
18972         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
18973
18974 2009-02-22  Bruno Haible  <bruno@clisp.org>
18975
18976         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
18977         zero-length results and shrink excess allocated memory.
18978         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
18979         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
18980         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
18981         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
18982         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
18983         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
18984         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
18985         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
18986         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
18987         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
18988         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
18989         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
18990
18991 2009-02-21  Bruno Haible  <bruno@clisp.org>
18992
18993         * doc/gnulib.texi: Include safe-alloc.texi earlier.
18994         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
18995         spaces after a period. Put a space between a macro name and its
18996         argument list. Trivial rewordings.
18997         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
18998         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
18999         (main): Return 0 explicitly.
19000
19001 2009-02-21  Bruno Haible  <bruno@clisp.org>
19002
19003         Tests for module 'uninorm/filter'.
19004         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
19005         * modules/uninorm/filter-tests: New file.
19006
19007         New module 'uninorm/filter'.
19008         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
19009         uninorm_filter_flush, uninorm_filter_free): New declarations.
19010         * lib/uninorm/uninorm-filter.c: New file.
19011         * modules/uninorm/filter: New file.
19012
19013 2009-02-21  Bruno Haible  <bruno@clisp.org>
19014
19015         Tests for module 'uninorm/nfkc'.
19016         * tests/uninorm/test-nfkc.c: New file.
19017         * tests/uninorm/test-u8-nfkc.c: New file.
19018         * tests/uninorm/test-u16-nfkc.c: New file.
19019         * tests/uninorm/test-u32-nfkc.c: New file.
19020         * tests/uninorm/test-u32-nfkc-big.sh: New file.
19021         * tests/uninorm/test-u32-nfkc-big.c: New file.
19022         * modules/uninorm/nfkc-tests: New file.
19023
19024         New module 'uninorm/nfkc'.
19025         * lib/uninorm/nfkc.c: New file.
19026         * modules/uninorm/nfkc: New file.
19027
19028         Tests for module 'uninorm/nfkd'.
19029         * tests/uninorm/test-nfkd.c: New file.
19030         * tests/uninorm/test-u8-nfkd.c: New file.
19031         * tests/uninorm/test-u16-nfkd.c: New file.
19032         * tests/uninorm/test-u32-nfkd.c: New file.
19033         * tests/uninorm/test-u32-nfkd-big.sh: New file.
19034         * tests/uninorm/test-u32-nfkd-big.c: New file.
19035         * modules/uninorm/nfkd-tests: New file.
19036
19037         New module 'uninorm/nfkd'.
19038         * lib/uninorm/nfkd.c: New file.
19039         * modules/uninorm/nfkd: New file.
19040
19041         Tests for module 'uninorm/nfc'.
19042         * tests/uninorm/test-nfc.c: New file.
19043         * tests/uninorm/test-u8-nfc.c: New file.
19044         * tests/uninorm/test-u16-nfc.c: New file.
19045         * tests/uninorm/test-u32-nfc.c: New file.
19046         * tests/uninorm/test-u32-nfc-big.sh: New file.
19047         * tests/uninorm/test-u32-nfc-big.c: New file.
19048         * modules/uninorm/nfc-tests: New file.
19049
19050         New module 'uninorm/nfc'.
19051         * lib/uninorm/nfc.c: New file.
19052         * modules/uninorm/nfc: New file.
19053
19054         Tests for module 'uninorm/nfd'.
19055         * tests/uninorm/test-nfd.c: New file.
19056         * tests/uninorm/test-u8-nfd.c: New file.
19057         * tests/uninorm/test-u16-nfd.c: New file.
19058         * tests/uninorm/test-u32-nfd.c: New file.
19059         * tests/uninorm/test-u32-nfd-big.sh: New file.
19060         * tests/uninorm/test-u32-nfd-big.c: New file.
19061         * tests/uninorm/test-u32-normalize-big.h: New file.
19062         * tests/uninorm/test-u32-normalize-big.c: New file.
19063         * tests/uninorm/NormalizationTest.txt: New file, created from
19064         Unicode 5.1.0 NormalizationTest.txt.
19065         * modules/uninorm/nfd-tests: New file.
19066
19067         New module 'uninorm/nfd'.
19068         * lib/uninorm/nfd.c: New file.
19069         * modules/uninorm/nfd: New file.
19070
19071         New module 'uninorm/u32-normalize'.
19072         * lib/uninorm/u32-normalize.c: New file.
19073         * modules/uninorm/u32-normalize: New file.
19074
19075         New module 'uninorm/u16-normalize'.
19076         * lib/uninorm/u16-normalize.c: New file.
19077         * modules/uninorm/u16-normalize: New file.
19078
19079         New module 'uninorm/u8-normalize'.
19080         * lib/uninorm/u8-normalize.c: New file.
19081         * lib/uninorm/normalize-internal.h: New file.
19082         * lib/uninorm/u-normalize-internal.h: New file.
19083         * modules/uninorm/u8-normalize: New file.
19084
19085         New module 'uninorm/decompose-internal'.
19086         * lib/uninorm/decompose-internal.c: New file.
19087         * modules/uninorm/decompose-internal: New file.
19088
19089         Tests for module 'uninorm/composition'.
19090         * tests/uninorm/test-composition.c: New file.
19091         * modules/uninorm/composition-tests: New file.
19092
19093         New module 'uninorm/composition'.
19094         * lib/uninorm/composition.c: New file.
19095         * lib/uninorm/composition-table.gperf: New file, generated by
19096         gen-uni-tables.
19097         * modules/uninorm/composition: New file.
19098
19099         Tests for module 'uninorm/compat-decomposition'.
19100         * tests/uninorm/test-compat-decomposition.c: New file.
19101         * modules/uninorm/compat-decomposition-tests: New file.
19102
19103         New module 'uninorm/compat-decomposition'.
19104         * lib/uninorm/decompose-internal.h: New file.
19105         * lib/uninorm/compat-decomposition.c: New file.
19106         * modules/uninorm/compat-decomposition: New file.
19107
19108         Tests for module 'uninorm/canonical-decomposition'.
19109         * tests/uninorm/test-canonical-decomposition.c: New file.
19110         * modules/uninorm/canonical-decomposition-tests: New file.
19111
19112         New module 'uninorm/canonical-decomposition'.
19113         * lib/uninorm/canonical-decomposition.c: New file.
19114         * modules/uninorm/canonical-decomposition: New file.
19115
19116         Tests for module 'uninorm/decomposition'.
19117         * tests/uninorm/test-decomposition.c: New file.
19118         * modules/uninorm/decomposition-tests: New file.
19119
19120         New module 'uninorm/decomposition'.
19121         * lib/uninorm/decomposition.c: New file.
19122         * modules/uninorm/decomposition: New file.
19123
19124         New module 'uninorm/decomposition-table'.
19125         * lib/uninorm/decomposition-table.h: New file.
19126         * lib/uninorm/decomposition-table.c: New file.
19127         * lib/uninorm/decomposition-table1.h: New file, generated by
19128         gen-uni-tables.
19129         * lib/uninorm/decomposition-table2.h: New file, generated by
19130         gen-uni-tables.
19131         * modules/uninorm/decomposition-table: New file.
19132
19133         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
19134         (UC_DECOMP_*): New enumeration items.
19135         (get_decomposition): New function.
19136         (struct decomp_table): New type.
19137         (output_decomposition, output_decomposition_tables): New functions.
19138         (unicode_composition_exclusions): New variable.
19139         (fill_composition_exclusions, debug_output_composition_tables): New
19140         functions.
19141         (main): Accept one more argument. Invoke fill_composition_exclusions.
19142         Output decomposition and composition tables.
19143
19144         New module 'uninorm/base'.
19145         * lib/uninorm.h: New file.
19146         * lib/unictype.h: Update comment.
19147         * modules/uninorm/base: New file.
19148
19149 2009-02-21  David Lutterkort  <lutter@redhat.com>
19150
19151         Tests for module 'safe-alloc'.
19152         * tests/test-safe-alloc.c: New file.
19153         * modules/safe-alloc-tests: New file.
19154
19155         New module 'safe-alloc'.
19156         * lib/safe-alloc.h: New file.
19157         * lib/safe-alloc.c: New file.
19158         * m4/safe-alloc.m4: New file.
19159         * modules/safe-alloc: New file.
19160         * doc/safe-alloc.texi: New file.
19161         * doc/gnulib.texi: Include it.
19162         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
19163         safe-alloc.
19164
19165 2009-02-18  Bruno Haible  <bruno@clisp.org>
19166
19167         Fix link error on non-glibc systems.
19168         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
19169         variable.
19170         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19171
19172 2009-02-18  Jim Meyering  <meyering@redhat.com>
19173
19174         fts: avoid used-uninitialized error due to recent change
19175         * lib/fts.c (fts_read): Guard uses of the new member,
19176         parent->fts_n_dirs_remaining, since it's not relevant for
19177         the parent of a directory specified on the command-line.
19178
19179 2009-02-17  James Youngman  <jay@gnu.org>
19180             Bruno Haible  <bruno@clisp.org>
19181
19182         * m4/include_next.m4: Reformulate comment.
19183
19184 2009-02-16  Jim Meyering  <meyering@redhat.com>
19185
19186         fts: add #if guards so that the fts_lgpl module still builds
19187         * lib/fts.c: Guard just-added hash-table-using parts with
19188         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
19189         Reported by Simon Josefsson.
19190
19191 2009-02-15  Bruno Haible  <bruno@clisp.org>
19192
19193         * modules/array-mergesort-tests: New file.
19194         * tests/test-array-mergesort.c: New file.
19195
19196         New module 'array-mergesort'.
19197         * modules/array-mergesort: New file.
19198         * lib/array-mergesort.h: New file.
19199
19200 2009-02-15  Bruno Haible  <bruno@clisp.org>
19201
19202         Fix 2009-02-07 commit.
19203         * lib/gen-uni-tables.c (output_predicate, output_category,
19204         output_combclass, output_bidi_category, output_decimal_digit,
19205         output_digit, output_numeric, output_mirror, output_scripts,
19206         output_ident_category, output_simple_mapping): Fix format directives.
19207         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
19208
19209 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
19210
19211         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
19212         fixes are available from IBM.
19213
19214 2009-02-13  Jim Meyering  <meyering@redhat.com>
19215
19216         fts: arrange not to stat non-directories in more cases
19217         This makes GNU find (when it doesn't need to stat each file)
19218         *much* more efficient at traversing reiserfs file systems.
19219         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
19220         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
19221         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
19222         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
19223         (leaf_optimization_applies): New function.
19224         (LCO_hash, LCO_compare): New helper functions.
19225         (link_count_optimize_ok): New function.
19226         (fts_stat): Initialize new member (if dir).
19227         (fts_read): Decrement parent's fts_n_dirs_remaining count if
19228         we've just stat'ed a directory.  Skip the stat call when possible.
19229         ---
19230         Note this AFS-related exchange:
19231         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
19232         and note find's pioctl call in find/fstype.c.
19233         But that is necessary only if you want to enable the
19234         optimization for AFS, and for now, I don't.
19235
19236         fts: move a function definition "up" (no semantic change)
19237         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
19238         "up" to precede upcoming use of a related function.
19239
19240 2009-02-11  Jim Meyering  <meyering@redhat.com>
19241
19242         fts: correct internal computation of nlinks (optimization-related)
19243         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
19244         whether the current entry is a directory, so don't test it.
19245
19246 2009-02-10  Bruno Haible  <bruno@clisp.org>
19247
19248         Tests for module 'uniwbrk/ulc-wordbreaks'.
19249         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
19250         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
19251         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
19252
19253         Tests for module 'uniwbrk/u32-wordbreaks'.
19254         * modules/uniwbrk/u32-wordbreaks-tests: New file.
19255         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
19256
19257         Tests for module 'uniwbrk/u16-wordbreaks'.
19258         * modules/uniwbrk/u16-wordbreaks-tests: New file.
19259         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
19260
19261         Tests for module 'uniwbrk/u8-wordbreaks'.
19262         * modules/uniwbrk/u8-wordbreaks-tests: New file.
19263         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
19264
19265 2009-02-10  Bruno Haible  <bruno@clisp.org>
19266
19267         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
19268         property.
19269         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
19270         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
19271         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
19272
19273 2009-02-10  Simon Josefsson  <simon@josefsson.org>
19274
19275         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
19276         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
19277
19278 2009-02-10  Bruno Haible  <bruno@clisp.org>
19279
19280         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
19281         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
19282         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
19283         * lib/unilbrk/u8-possible-linebreaks.c: Update.
19284         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
19285         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
19286
19287 2009-02-09  Simon Josefsson  <simon@josefsson.org>
19288
19289         * lib/sockets.h (gl_fd_to_handle): New function.
19290
19291         * tests/test-sockets.c: Call gl_fd_to_handle.
19292
19293 2009-02-09  Bruno Haible  <bruno@clisp.org>
19294
19295         * doc/havelib.texi: Document the conventions on bi-arch systems.
19296
19297 2009-02-08  Bruno Haible  <bruno@clisp.org>
19298
19299         Document the AC_LIB_LINKFLAGS macro.
19300         * doc/havelib.texi: New file, mostly written on 2005-05-24.
19301         * doc/gnulib.texi: Include it.
19302
19303 2009-02-08  Bruno Haible  <bruno@clisp.org>
19304
19305         Fix wrong order of sections, compared to TOC.
19306         * doc/gnulib.texi: Include relocatable-maint.texi after the
19307         "Regular expressions" node, not before.
19308
19309 2009-02-08  Bruno Haible  <bruno@clisp.org>
19310
19311         Tests for module 'unicase/totitle'.
19312         * modules/unicase/totitle-tests: New file.
19313
19314         Tests for module 'unicase/tolower'.
19315         * modules/unicase/tolower-tests: New file.
19316
19317         Tests for module 'unicase/toupper'.
19318         * modules/unicase/toupper-tests: New file.
19319         * tests/unicase/test-mapping-part1.h: New file.
19320         * tests/unicase/test-mapping-part2.h: New file.
19321
19322         New module 'unicase/totitle'.
19323         * modules/unicase/totitle: New file.
19324         * lib/unicase/totitle.c: New file.
19325
19326         New module 'unicase/tolower'.
19327         * modules/unicase/tolower: New file.
19328         * lib/unicase/tolower.c: New file.
19329
19330         New module 'unicase/toupper'.
19331         * modules/unicase/toupper: New file.
19332         * lib/unicase/toupper.c: New file.
19333         * lib/unicase/simple-mapping.h: New file.
19334
19335         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
19336         (mapping_table): New structure.
19337         (output_simple_mapping): New function.
19338         (main): Invoke output_simple_mapping_test and output_simple_mapping.
19339         * modules/gen-uni-tables (Description): Update.
19340         * lib/unicase/toupper.h: New file, automatically generated by
19341         gen-uni-tables.
19342         * lib/unicase/tolower.h: New file, automatically generated by
19343         gen-uni-tables.
19344         * lib/unicase/totitle.h: New file, automatically generated by
19345         gen-uni-tables.
19346         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
19347         gen-uni-tables.
19348         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
19349         gen-uni-tables.
19350         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
19351         gen-uni-tables.
19352
19353         New module 'unicase/base'.
19354         * modules/unicase/base: New file.
19355         * lib/unicase.h: New file.
19356
19357 2009-02-08  Bruno Haible  <bruno@clisp.org>
19358
19359         New module 'uniwbrk/ulc-wordbreaks'.
19360         * modules/uniwbrk/ulc-wordbreaks: New file.
19361         * lib/uniwbrk/ulc-wordbreaks.c: New file.
19362
19363         New module 'uniwbrk/u32-wordbreaks'.
19364         * modules/uniwbrk/u32-wordbreaks: New file.
19365         * lib/uniwbrk/u32-wordbreaks.c: New file.
19366
19367         New module 'uniwbrk/u16-wordbreaks'.
19368         * modules/uniwbrk/u16-wordbreaks: New file.
19369         * lib/uniwbrk/u16-wordbreaks.c: New file.
19370
19371         New module 'uniwbrk/u8-wordbreaks'.
19372         * modules/uniwbrk/u8-wordbreaks: New file.
19373         * lib/uniwbrk/u8-wordbreaks.c: New file.
19374         * lib/uniwbrk/u-wordbreaks.h: New file.
19375
19376         New module 'uniwbrk/table'.
19377         * modules/uniwbrk/table: New file.
19378         * lib/uniwbrk/wbrktable.h: New file.
19379         * lib/uniwbrk/wbrktable.c: New file.
19380
19381         New module 'uniwbrk/wordbreak-property'.
19382         * modules/uniwbrk/wordbreak-property: New file.
19383         * lib/uniwbrk/wordbreak-property.c: New file.
19384
19385         * lib/gen-uni-tables.c (WBP_*): New enum items.
19386         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
19387         (unicode_org_wbp): New variable.
19388         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
19389         New functions.
19390         (wbp_table): New structure.
19391         (output_wbp, output_wbrk_tables): New functions.
19392         (main): Accept additional argument. Invoke fill_org_wbp,
19393         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
19394         output_wbrk_tables.
19395         * modules/gen-uni-tables (Description): Update.
19396         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
19397         gen-uni-tables.
19398
19399         New module 'uniwbrk/base'.
19400         * modules/uniwbrk/base: New file.
19401         * lib/uniwbrk.h: New file.
19402
19403 2009-02-08  Bruno Haible  <bruno@clisp.org>
19404
19405         Update to Unicode 5.1.0.
19406         * lib/gen-uni-tables.c (is_property_alphabetic): Include
19407         U+2185..U+2188.
19408         (is_property_default_ignorable_code_point): Don't include characters
19409         of category Cc or Cs and not-a-characters.
19410         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
19411         U+0D79, U+109E, U+109F, U+A60C.
19412         * lib/unictype/bidi_of.h: Regenerated.
19413         * lib/unictype/blocks.h: Regenerated.
19414         * lib/unictype/categ_C.h: Regenerated.
19415         * lib/unictype/categ_Cf.h: Regenerated.
19416         * lib/unictype/categ_Cn.h: Regenerated.
19417         * lib/unictype/categ_L.h: Regenerated.
19418         * lib/unictype/categ_Ll.h: Regenerated.
19419         * lib/unictype/categ_Lm.h: Regenerated.
19420         * lib/unictype/categ_Lo.h: Regenerated.
19421         * lib/unictype/categ_Lu.h: Regenerated.
19422         * lib/unictype/categ_M.h: Regenerated.
19423         * lib/unictype/categ_Mc.h: Regenerated.
19424         * lib/unictype/categ_Me.h: Regenerated.
19425         * lib/unictype/categ_Mn.h: Regenerated.
19426         * lib/unictype/categ_N.h: Regenerated.
19427         * lib/unictype/categ_Nd.h: Regenerated.
19428         * lib/unictype/categ_Nl.h: Regenerated.
19429         * lib/unictype/categ_No.h: Regenerated.
19430         * lib/unictype/categ_P.h: Regenerated.
19431         * lib/unictype/categ_Pd.h: Regenerated.
19432         * lib/unictype/categ_Pe.h: Regenerated.
19433         * lib/unictype/categ_Pf.h: Regenerated.
19434         * lib/unictype/categ_Pi.h: Regenerated.
19435         * lib/unictype/categ_Po.h: Regenerated.
19436         * lib/unictype/categ_Ps.h: Regenerated.
19437         * lib/unictype/categ_S.h: Regenerated.
19438         * lib/unictype/categ_Sk.h: Regenerated.
19439         * lib/unictype/categ_Sm.h: Regenerated.
19440         * lib/unictype/categ_So.h: Regenerated.
19441         * lib/unictype/categ_of.h: Regenerated.
19442         * lib/unictype/combining.h: Regenerated.
19443         * lib/unictype/ctype_alnum.h: Regenerated.
19444         * lib/unictype/ctype_alpha.h: Regenerated.
19445         * lib/unictype/ctype_graph.h: Regenerated.
19446         * lib/unictype/ctype_lower.h: Regenerated.
19447         * lib/unictype/ctype_print.h: Regenerated.
19448         * lib/unictype/ctype_punct.h: Regenerated.
19449         * lib/unictype/ctype_upper.h: Regenerated.
19450         * lib/unictype/decdigit.h: Regenerated.
19451         * lib/unictype/digit.h: Regenerated.
19452         * lib/unictype/mirror.h: Regenerated.
19453         * lib/unictype/numeric.h: Regenerated.
19454         * lib/unictype/pr_alphabetic.h: Regenerated.
19455         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
19456         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
19457         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
19458         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
19459         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
19460         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
19461         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
19462         * lib/unictype/pr_combining.h: Regenerated.
19463         * lib/unictype/pr_dash.h: Regenerated.
19464         * lib/unictype/pr_decimal_digit.h: Regenerated.
19465         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
19466         * lib/unictype/pr_deprecated.h: Regenerated.
19467         * lib/unictype/pr_diacritic.h: Regenerated.
19468         * lib/unictype/pr_extender.h: Regenerated.
19469         * lib/unictype/pr_format_control.h: Regenerated.
19470         * lib/unictype/pr_grapheme_base.h: Regenerated.
19471         * lib/unictype/pr_grapheme_extend.h: Regenerated.
19472         * lib/unictype/pr_grapheme_link.h: Regenerated.
19473         * lib/unictype/pr_id_continue.h: Regenerated.
19474         * lib/unictype/pr_id_start.h: Regenerated.
19475         * lib/unictype/pr_ideographic.h: Regenerated.
19476         * lib/unictype/pr_ignorable_control.h: Regenerated.
19477         * lib/unictype/pr_lowercase.h: Regenerated.
19478         * lib/unictype/pr_math.h: Regenerated.
19479         * lib/unictype/pr_numeric.h: Regenerated.
19480         * lib/unictype/pr_other_alphabetic.h: Regenerated.
19481         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
19482         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
19483         * lib/unictype/pr_other_id_continue.h: Regenerated.
19484         * lib/unictype/pr_other_lowercase.h: Regenerated.
19485         * lib/unictype/pr_other_math.h: Regenerated.
19486         * lib/unictype/pr_punctuation.h: Regenerated.
19487         * lib/unictype/pr_sentence_terminal.h: Regenerated.
19488         * lib/unictype/pr_soft_dotted.h: Regenerated.
19489         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
19490         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
19491         * lib/unictype/pr_unified_ideograph.h: Regenerated.
19492         * lib/unictype/pr_uppercase.h: Regenerated.
19493         * lib/unictype/pr_xid_continue.h: Regenerated.
19494         * lib/unictype/pr_xid_start.h: Regenerated.
19495         * lib/unictype/pr_zero_width.h: Regenerated.
19496         * lib/unictype/scripts.h: Regenerated.
19497         * lib/unictype/scripts_byname.gperf: Regenerated.
19498         * lib/unictype/sy_java_ident.h: Regenerated.
19499         * lib/unilbrk/lbrkprop1.h: Regenerated.
19500         * lib/unilbrk/lbrkprop2.h: Regenerated.
19501         * tests/unictype/test-categ_C.c: Regenerated.
19502         * tests/unictype/test-categ_Cf.c: Regenerated.
19503         * tests/unictype/test-categ_Cn.c: Regenerated.
19504         * tests/unictype/test-categ_L.c: Regenerated.
19505         * tests/unictype/test-categ_Ll.c: Regenerated.
19506         * tests/unictype/test-categ_Lm.c: Regenerated.
19507         * tests/unictype/test-categ_Lo.c: Regenerated.
19508         * tests/unictype/test-categ_Lu.c: Regenerated.
19509         * tests/unictype/test-categ_M.c: Regenerated.
19510         * tests/unictype/test-categ_Mc.c: Regenerated.
19511         * tests/unictype/test-categ_Me.c: Regenerated.
19512         * tests/unictype/test-categ_Mn.c: Regenerated.
19513         * tests/unictype/test-categ_N.c: Regenerated.
19514         * tests/unictype/test-categ_Nd.c: Regenerated.
19515         * tests/unictype/test-categ_Nl.c: Regenerated.
19516         * tests/unictype/test-categ_No.c: Regenerated.
19517         * tests/unictype/test-categ_P.c: Regenerated.
19518         * tests/unictype/test-categ_Pd.c: Regenerated.
19519         * tests/unictype/test-categ_Pe.c: Regenerated.
19520         * tests/unictype/test-categ_Pf.c: Regenerated.
19521         * tests/unictype/test-categ_Pi.c: Regenerated.
19522         * tests/unictype/test-categ_Po.c: Regenerated.
19523         * tests/unictype/test-categ_Ps.c: Regenerated.
19524         * tests/unictype/test-categ_S.c: Regenerated.
19525         * tests/unictype/test-categ_Sk.c: Regenerated.
19526         * tests/unictype/test-categ_Sm.c: Regenerated.
19527         * tests/unictype/test-categ_So.c: Regenerated.
19528         * tests/unictype/test-ctype_alnum.c: Regenerated.
19529         * tests/unictype/test-ctype_alpha.c: Regenerated.
19530         * tests/unictype/test-ctype_graph.c: Regenerated.
19531         * tests/unictype/test-ctype_lower.c: Regenerated.
19532         * tests/unictype/test-ctype_print.c: Regenerated.
19533         * tests/unictype/test-ctype_punct.c: Regenerated.
19534         * tests/unictype/test-ctype_upper.c: Regenerated.
19535         * tests/unictype/test-decdigit.h: Regenerated.
19536         * tests/unictype/test-digit.h: Regenerated.
19537         * tests/unictype/test-numeric.h: Regenerated.
19538         * tests/unictype/test-pr_alphabetic.c: Regenerated.
19539         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
19540         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
19541         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
19542         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
19543         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
19544         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
19545         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
19546         * tests/unictype/test-pr_combining.c: Regenerated.
19547         * tests/unictype/test-pr_dash.c: Regenerated.
19548         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
19549         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
19550         * tests/unictype/test-pr_deprecated.c: Regenerated.
19551         * tests/unictype/test-pr_diacritic.c: Regenerated.
19552         * tests/unictype/test-pr_extender.c: Regenerated.
19553         * tests/unictype/test-pr_format_control.c: Regenerated.
19554         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
19555         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
19556         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
19557         * tests/unictype/test-pr_id_continue.c: Regenerated.
19558         * tests/unictype/test-pr_id_start.c: Regenerated.
19559         * tests/unictype/test-pr_ideographic.c: Regenerated.
19560         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
19561         * tests/unictype/test-pr_lowercase.c: Regenerated.
19562         * tests/unictype/test-pr_math.c: Regenerated.
19563         * tests/unictype/test-pr_numeric.c: Regenerated.
19564         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
19565         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
19566         Regenerated.
19567         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
19568         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
19569         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
19570         * tests/unictype/test-pr_other_math.c: Regenerated.
19571         * tests/unictype/test-pr_punctuation.c: Regenerated.
19572         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
19573         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
19574         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
19575         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
19576         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
19577         * tests/unictype/test-pr_uppercase.c: Regenerated.
19578         * tests/unictype/test-pr_xid_continue.c: Regenerated.
19579         * tests/unictype/test-pr_xid_start.c: Regenerated.
19580         * tests/unictype/test-pr_zero_width.c: Regenerated.
19581
19582         Update to Unicode 5.1.0.
19583         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
19584         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
19585         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
19586         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
19587         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
19588         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
19589         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
19590         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
19591         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
19592         (nonspacing_table_ind): Update.
19593         * tests/uniwidth/test-uc_width2.sh: Update expected result.
19594
19595         Update to Unicode 5.1.0.
19596         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
19597         code transform.
19598         * lib/uniname/uniname.c (unicode_character_name,
19599         unicode_name_character): Add the range 0x1Fxxx to the code transform.
19600         * lib/uniname/uninames.h: Regenerated.
19601         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
19602
19603 2009-02-07  Bruno Haible  <bruno@clisp.org>
19604
19605         Merge gen-ctype and gen-lbrk into a single program.
19606         * lib/gen-uni-tables.c: New file, incorporating
19607         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
19608         Add directory prefixes to the names of the generated files.
19609         * lib/unictype/gen-ctype.c: Remove file.
19610         * lib/unilbrk/gen-lbrk.c: Remove file.
19611         * modules/gen-uni-tables: New file.
19612         * modules/unictype/gen-ctype: Remove file.
19613         * modules/unilbrk/gen-lbrk: Remove file.
19614
19615 2009-02-07  Bruno Haible  <bruno@clisp.org>
19616
19617         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
19618
19619         New module 'unistr/u32-strcoll'.
19620         * modules/unistr/u32-strcoll: New file.
19621         * lib/unistr/u32-strcoll.c: New file.
19622
19623         New module 'unistr/u16-strcoll'.
19624         * modules/unistr/u16-strcoll: New file.
19625         * lib/unistr/u16-strcoll.c: New file.
19626
19627         New module 'unistr/u8-strcoll'.
19628         * modules/unistr/u8-strcoll: New file.
19629         * lib/unistr/u8-strcoll.c: New file.
19630         * lib/unistr/u-strcoll.h: New file.
19631
19632 2009-02-07  Bruno Haible  <bruno@clisp.org>
19633
19634         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
19635         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
19636         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
19637         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
19638         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
19639         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
19640
19641 2009-02-07  Bruno Haible  <bruno@clisp.org>
19642
19643         Make 64-bit clean.
19644         * lib/unictype/gen-ctype.c (output_predicate, output_category,
19645         output_combclass, output_bidi_category, output_decimal_digit,
19646         output_digit, output_numeric, output_mirror, output_scripts,
19647         output_ident_category): Use proper width specifier in format strings.
19648
19649 2009-02-07  Bruno Haible  <bruno@clisp.org>
19650
19651         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
19652         failure behaviour.
19653
19654 2009-02-07  Jim Meyering  <meyering@redhat.com>
19655
19656         regex: avoid compilation failure with upcoming gcc-4.4
19657         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
19658         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
19659         "... error: integer overflow in preprocessor expression".
19660
19661 2009-02-05  Ben Pfaff  <blp@gnu.org>
19662
19663         Fix link errors on Windows when close module is used.
19664         * modules/close: Add $(LIB_CLOSE) to Link section.
19665         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
19666         $(LIB_CLOSE) on Windows.
19667
19668 2009-02-05  Jim Meyering  <meyering@redhat.com>
19669
19670         still avoid unused-parameter warnings, but do it cleanly
19671         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
19672         (get_fs_usage): Cast to void instead.
19673         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
19674         (dev_from_mount_options, read_file_system_list): Cast to void.
19675         Prompted by Bruno Haible.
19676
19677 2009-02-04  Jim Meyering  <meyering@redhat.com>
19678
19679         fsusage.c: correct copyright year
19680         * lib/fsusage.c: Reflect year in which the change is pushed into
19681
19682         avoid misc. warnings
19683         * lib/fsusage.c (UNUSED_PARAM): Define.
19684         (get_fs_usage): Mark parameter "disk" as unused.
19685         * lib/getugroups.c (getgrent): Use "void" in prototype.
19686         * lib/mountlist.c: Mark unused parameters.
19687         (read_file_system_list): Declare a local with "const".
19688         * lib/nanosleep.c (getnow): Declare static.
19689         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
19690
19691         dirfd: set errno upon failure
19692         * lib/dirfd.c: Include <errno.h>.
19693         Set errno to ENOTSUP when returning -1.
19694         * modules/dirfd (Depends-on): Add errno.
19695         Suggested by John Kodis <kodis@comcast.net>.
19696
19697 2009-02-01  Bruno Haible  <bruno@clisp.org>
19698
19699         Don't assume sizeof (long) >= sizeof (void *).
19700         * lib/memcmp.c: Include stdint.h.
19701         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
19702         srcp2 to 'const byte *'.
19703         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
19704         types to uintptr_t.
19705         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
19706         * modules/memcmp (Depends-on): Add stdint.
19707         Reported by Ozkan Sezer <sezeroz@gmail.com>.
19708
19709 2009-01-30  Eric Blake  <ebb9@byu.net>
19710
19711         fix more require-before-expand issues
19712         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
19713         expand, AC_PROG_AWK.
19714         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
19715
19716 2009-01-28  Eric Blake  <ebb9@byu.net>
19717
19718         version-etc: use consistent URL formatting
19719         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
19720         Improve formatting.  Use fputs for string without %.
19721
19722 2009-01-28  Jim Meyering  <meyering@redhat.com>
19723
19724         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
19725         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
19726         "underquoted definition of NAME" from autoconf-2.59.
19727
19728 2009-01-28  Bruno Haible  <bruno@clisp.org>
19729
19730         * doc/gnulib.texi: Add "Obsolete modules" to index.
19731
19732 2009-01-28  Jim Meyering  <meyering@redhat.com>
19733
19734         useless-if-before-free: recognize more variants
19735         * build-aux/useless-if-before-free: Also recognize e.g.,
19736         if (NULL != p) free (p);
19737
19738 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
19739
19740         test-getaddrinfo: skip (don't fail) this test when there's no network
19741         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
19742         on the presumption that it means you lack network access.
19743
19744 2009-01-26  Jim Meyering  <meyering@redhat.com>
19745
19746         fflush: avoid warnings on modern systems
19747         * lib/fflush.c (rpl_fflush): Move declarations of locals,
19748         pos and result, into scopes where they're used.
19749
19750 2009-01-26  Eric Blake  <ebb9@byu.net>
19751
19752         Silence warning reintroduced by recent extensions patch.
19753         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
19754         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
19755         autoconf.
19756
19757         Backport improved autoconf semantics of AC_DEFUN_ONCE.
19758         * m4/00gnulib.m4: New file.
19759         * gnulib-tool (func_get_filelist): Always use it.
19760         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
19761         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
19762
19763 2009-01-25  Bruno Haible  <bruno@clisp.org>
19764
19765         Make test-quotearg work on MacOS X and AIX.
19766         * tests/test-quotearg.sh: New file.
19767         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
19768         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
19769         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
19770         include <libintl.h>.
19771         (fake_locale): Remove variable.
19772         (gettext, dgettext, dcgettext): Remove functions.
19773         (main): Instead of setting a fake locale, set a real locale. Call
19774         textdomain and bindtextdomain.
19775         * modules/quotearg-tests (Files): Add the new files.
19776         (Depends-on): Add gettext, setenv, unsetenv.
19777         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
19778         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
19779         Augment TESTS_ENVIRONMENT.
19780
19781 2009-01-25  Bruno Haible  <bruno@clisp.org>
19782
19783         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
19784         fr_FR.ISO8859-1 locale on MacOS X.
19785         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
19786         ja_JP.eucJP locale on MacOS X.
19787         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
19788         zh_CN.GB18030 locale on MacOS X.
19789
19790 2009-01-25  Bruno Haible  <bruno@clisp.org>
19791
19792         Avoid link errors on MacOS X 10.3.
19793         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
19794         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
19795
19796 2009-01-25  Bruno Haible  <bruno@clisp.org>
19797
19798         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
19799         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
19800         * modules/pipe (Files): Remove m4/posix_spawn.m4.
19801         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
19802         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
19803         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
19804         posix_spawnattr_init, posix_spawnattr_setsigmask,
19805         posix_spawnattr_setflags, posix_spawnattr_destroy.
19806
19807         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
19808         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
19809         * modules/execute (Files): Remove m4/posix_spawn.m4.
19810         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
19811         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
19812         posix_spawnattr_init, posix_spawnattr_setsigmask,
19813         posix_spawnattr_setflags, posix_spawnattr_destroy.
19814
19815 2009-01-25  Bruno Haible  <bruno@clisp.org>
19816
19817         * lib/glthread/threadlib.c: Include <stdlib.h>.
19818
19819 2009-01-25  Bruno Haible  <bruno@clisp.org>
19820
19821         * lib/glthread/threadlib.c (dummy): New declaration.
19822
19823 2009-01-25  Bruno Haible  <bruno@clisp.org>
19824
19825         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
19826         multibyte characters also for the GB18030 encoding. Don't crash when
19827         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
19828
19829 2009-01-25  Bruno Haible  <bruno@clisp.org>
19830
19831         Avoid redefining 'struct random_data' on OSF/1 5.1.
19832         * lib/stdlib.in.h: Include <random.h> if it exists.
19833         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
19834         HAVE_RANDOM_H. Include <random.h> when testing whether
19835         'struct random_data' exists.
19836         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
19837
19838 2009-01-25  Bruno Haible  <bruno@clisp.org>
19839
19840         Don't install charset.alias on MacOS X >= 10.3.
19841         * lib/localcharset.c (DARWIN7): New macro.
19842         (get_charset_aliases): Hardcode the result for Darwin7.
19843         * modules/localcharset (install-exec-local): Don't install
19844         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
19845
19846 2009-01-25  Bruno Haible  <bruno@clisp.org>
19847
19848         Don't install charset.alias on mingw and Cygwin.
19849         * modules/localcharset (install-exec-local): Don't install
19850         charset.alias on mingw and Cygwin, if the file does not yet exist.
19851         The result for these platforms is hardcoded in localcharset.c.
19852
19853 2009-01-25  Bruno Haible  <bruno@clisp.org>
19854
19855         Make it possible again to use AC_GNU_SOURCE together with gnulib.
19856         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
19857         before requiring AC_USE_SYSTEM_EXTENSIONS.
19858
19859 2009-01-25  Jim Meyering  <meyering@redhat.com>
19860
19861         c-strtod: avoid warnings
19862         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
19863         "assignment discards qualifiers from pointer target type" warnings.
19864
19865 2009-01-24  Bruno Haible  <bruno@clisp.org>
19866
19867         Add support for non-UTF-8 locales on MacOS X.
19868         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
19869         canonical encodings. For Darwin 7 and newer, don't map traditional
19870         encodings to UTF-8.
19871         Reported by Vincent Lefevre <vincent@vinc17.org>
19872         at <http://savannah.gnu.org/bugs/?25235>.
19873
19874 2009-01-24  Bruno Haible  <bruno@clisp.org>
19875
19876         * doc/gnulib.texi (Obsolete modules): New section.
19877         Reported by Mike Frysinger <vapier@gentoo.org>.
19878
19879 2009-01-24  Bruno Haible  <bruno@clisp.org>
19880
19881         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
19882         (%.dvi): New rule.
19883
19884 2009-01-24  Bruno Haible  <bruno@clisp.org>
19885
19886         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
19887         Reported by Eric Blake.
19888
19889 2009-01-24  Bruno Haible  <bruno@clisp.org>
19890
19891         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
19892         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
19893         Reported by Gary V. Vaughan <gary@gnu.org>.
19894
19895 2009-01-24  Bruno Haible  <bruno@clisp.org>
19896
19897         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
19898
19899 2009-01-23  Bruno Haible  <bruno@clisp.org>
19900
19901         Make c-strtod, c-strtold usable in libraries.
19902         * lib/c-strtod.c: Include string.h instead of xalloc.h.
19903         (C_STRTOD): Call strdup instead of xstrdup.
19904         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
19905         * modules/c-strtold (Depends-on): Likewise.
19906         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
19907         * NEWS: Mention the change.
19908         Reported by Michael Gold <mgold@ncf.ca>.
19909
19910 2009-01-23  Jim Meyering  <meyering@redhat.com>
19911
19912         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
19913         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
19914         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
19915
19916 2009-01-23  Simon Josefsson  <simon@josefsson.org>
19917
19918         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
19919         GNU CoreUtils.
19920         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
19921         * modules/version-etc (Description): Update.
19922
19923 2009-01-22  Bruno Haible  <bruno@clisp.org>
19924
19925         Cache the C locale object.
19926         * lib/c-strtod.c (c_locale_cache): New variable.
19927         (c_locale): New function.
19928         (C_STRTOD): Use it, and don't call freelocale.
19929         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
19930         Suggested by Paolo Bonzini.
19931
19932 2009-01-21  Bruno Haible  <bruno@clisp.org>
19933
19934         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
19935         conditions other than overflow.
19936
19937 2009-01-21  Bruno Haible  <bruno@clisp.org>
19938
19939         * lib/c-strtod.c: Include errno.h.
19940         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
19941         value from STRTOD_L and STRTOD.
19942
19943 2009-01-21  Bruno Haible  <bruno@clisp.org>
19944         and Jim Meyering  <meyering@redhat.com>
19945
19946         nanosleep: skip configure test (fail it) for apple universal builds
19947         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
19948         universal builds, assume that nanosleep does not work.
19949         * modules/nanosleep (Depends-on): Add multiarch.
19950
19951         mktime: skip configure test (fail it) for apple universal builds
19952         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
19953         universal builds, assume that mktime does not work.
19954         * modules/mktime (Depends-on): Add multiarch.
19955
19956 2009-01-21  Eric Blake  <ebb9@byu.net>
19957
19958         multiarch: avoid expand-before-require warning
19959         * modules/multiarch (configure.ac): Require, rather than expand,
19960         gl_MULTIARCH.
19961         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
19962         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
19963         enforce that all clients require it.  Partial reversion of
19964         2008-12-29 patch.
19965
19966         error: avoid expand-before-require warning
19967         * modules/errno (configure.ac): Require, rather than expand,
19968         gl_HEADER_ERRNO_H.
19969         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
19970         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
19971         enforce that all clients require it.
19972
19973         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
19974         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
19975         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
19976         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
19977
19978 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
19979
19980         Revert:
19981         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
19982
19983         regex: do not depend on obsolete modules.
19984         * modules/regex: Remove memcmp and memmove.
19985
19986 2009-01-20  Bruno Haible  <bruno@clisp.org>
19987
19988         Make the 'link' module link on Windows NT 4.
19989         * lib/link.c (_WIN32_WINNT): Don't define.
19990         (CreateHardLinkFuncType): New type.
19991         (CreateHardLinkFunc, initialized): New variables.
19992         (initialize): New function.
19993         (link): Invoke CreateHardLink indirectly through the function pointer.
19994
19995 2009-01-20  Bruno Haible  <bruno@clisp.org>
19996
19997         Fix compilation failure on mingw.
19998         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
19999
20000 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
20001
20002         * doc/c-strtod.texi: Mention a couple of restrictions.
20003
20004 2009-01-20  Jim Meyering  <meyering@redhat.com>
20005
20006         gettimeofday: move more declarations out of functions
20007         * lib/gettimeofday.c: Move extern declarations of tzset and
20008         gmtime out of containing functions.  Prompted by Bruno Haible.
20009
20010 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20011
20012         regex: do not depend on obsolete modules.
20013         * modules/regex: Remove memcmp and memmove.
20014
20015 2009-01-19  Bruno Haible  <bruno@clisp.org>
20016
20017         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20018         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
20019         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20020         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
20021         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
20022
20023 2009-01-19  Bruno Haible  <bruno@clisp.org>
20024
20025         * tests/test-link.c: Include <errno.h>.
20026         (main): Exit with code 77 when a hard link cannot be created due to
20027         the file system.
20028         * tests/test-link.sh: Skip test when a hard link cannot be created due
20029         to the file system.
20030         Suggested by Eric Blake.
20031
20032 2009-01-19  Martin Lambers  <marlam@marlam.de>
20033
20034         * modules/link-tests: New file.
20035         * tests/test-link.sh: New file.
20036         * tests/test-link.c: New file.
20037
20038 2009-01-19  Eric Blake  <ebb9@byu.net>
20039
20040         doc: mention another function added in cygwin 1.7.0
20041         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
20042         Another new function in cygwin 1.7.
20043
20044 2009-01-19  Bruno Haible  <bruno@clisp.org>
20045
20046         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20047         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
20048         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
20049         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20050         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20051         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
20052         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20053         * m4/md4.m4 (gl_MD4): Likewise.
20054         * m4/md5.m4 (gl_MD5): Likewise.
20055         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
20056         * m4/sha1.m4 (gl_SHA1): Likewise.
20057         * m4/sha256.m4 (gl_SHA256): Likewise.
20058         * m4/sha512.m4 (gl_SHA512): Likewise.
20059
20060 2009-01-19  Bruno Haible  <bruno@clisp.org>
20061
20062         * modules/uniname/uniname-tests (Depends-on): Add progname.
20063         * tests/uniname/test-uninames.c: Include progname.h.
20064         (main): Call set_program_name.
20065
20066         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
20067         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
20068         (main): Call set_program_name.
20069
20070         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
20071         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
20072         (main): Call set_program_name.
20073
20074         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
20075         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
20076         (main): Call set_program_name.
20077
20078         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
20079         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
20080         (main): Call set_program_name.
20081
20082         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
20083         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
20084         (main): Call set_program_name.
20085
20086         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
20087         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
20088         (main): Call set_program_name.
20089
20090         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
20091         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
20092         (main): Call set_program_name.
20093
20094         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
20095         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
20096         (main): Call set_program_name.
20097
20098 2009-01-19  Eric Blake  <ebb9@byu.net>
20099
20100         test-unistd: test previous patch
20101         * tests/test-unistd.c: Test *_FILENO macros.
20102
20103         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
20104         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20105         Guarantee a definition.
20106         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
20107         * modules/unistd-safer (Depends-on): Add dependency on unistd.
20108         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
20109         * lib/dup-safer.c (STDERR_FILENO): Likewise.
20110         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20111         Likewise.
20112         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
20113         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
20114         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20115         Likewise.
20116         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
20117         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
20118         (STDERR_FILENO): Likewise.
20119         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
20120         (STDERR_FILENO): Likewise.
20121         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
20122         (STDERR_FILENO): Likewise.
20123         Reported by Elbert Pol.
20124
20125 2009-01-19  Eric Blake  <ebb9@byu.net>
20126
20127         doc: mention more functions added in cygwin 1.7.0
20128         * doc/posix-functions/abort.texi (abort): Update wording related
20129         to cygwin.
20130         * doc/posix-functions/daylight.texi (daylight): Likewise.
20131         * doc/posix-functions/optarg.texi (optarg): Likewise.
20132         * doc/posix-functions/optarg.texi (opterr): Likewise.
20133         * doc/posix-functions/optarg.texi (optind): Likewise.
20134         * doc/posix-functions/optarg.texi (optopt): Likewise.
20135         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
20136         worked in 1.5.x, and was withdrawn in 1.7.
20137         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
20138         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
20139         cygwin versions.
20140         * doc/posix-functions/perror.texi (perror): Likewise.
20141         * doc/posix-functions/printf.texi (printf): Likewise.
20142         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
20143         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
20144         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20145         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20146         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20147         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
20148         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
20149         Likewise.
20150         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
20151         Likewise.
20152         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
20153         this function.
20154         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
20155         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
20156         Likewise.
20157         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
20158         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
20159         * doc/posix-functions/confstr.texi (confstr): Likewise.
20160         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
20161         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
20162         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
20163         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
20164         * doc/posix-functions/fputws.texi (fputws): Likewise.
20165         * doc/posix-functions/fwide.texi (fwide): Likewise.
20166         * doc/posix-functions/getwc.texi (getwc): Likewise.
20167         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
20168         * doc/posix-functions/putwc.texi (putwc): Likewise.
20169         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
20170         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
20171         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
20172         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
20173         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
20174         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
20175         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
20176         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
20177         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
20178         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
20179         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
20180
20181 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20182
20183         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
20184         * lib/ioctl.c: Include <sys/ioctl.h>.
20185
20186 2009-01-19  Simon Josefsson  <simon@josefsson.org>
20187
20188         * modules/getdate-tests (Depends-on): Add progname.
20189         * tests/test-getdate.c: Use progname module, to avoid link errors
20190         on non-glibc systems.
20191
20192 2009-01-18  Simon Josefsson  <simon@josefsson.org>
20193
20194         * modules/filenamecat-tests (Depends-on): Add progname.
20195         * modules/fstrcmp-tests (Depends-on): Likewise.
20196
20197         * tests/test-filenamecat.c: Use progname module, to avoid link
20198         errors on non-glibc systems.
20199         * tests/test-fstrcmp.c: Likewise.
20200
20201 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20202
20203         gettimeofday: avoid warning: nested extern declaration of 'localtime'
20204         * lib/gettimeofday.c: Move extern declaration out of function.
20205
20206 2009-01-18  Bruno Haible  <bruno@clisp.org>
20207
20208         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
20209         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
20210         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
20211
20212 2009-01-18  Bruno Haible  <bruno@clisp.org>
20213
20214         * lib/strftime.c (MEMPCPY): Remove unused macro.
20215         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
20216
20217 2009-01-18  Martin Lambers  <marlam@marlam.de>
20218
20219         New module 'link'.
20220         * lib/unistd.in.h (link): New declaration.
20221         * lib/link.c: New file.
20222         * m4/link.m4: New file.
20223         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
20224         HAVE_LINK.
20225         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
20226         * modules/link: New file.
20227         * doc/posix-functions/link.texi: Mention the new module.
20228
20229 2009-01-18  Bruno Haible  <bruno@clisp.org>
20230
20231         * tests/test-avltree_list.c (main): Call set_program_name.
20232         * tests/test-avltree_oset.c (main): Likewise.
20233         * tests/test-obstack-printf.c: Include progname.h.
20234         (main): Call set_program_name.
20235         * tests/test-quotearg.c: Include progname.h.
20236         (main): Call set_program_name.
20237         * tests/test-xmemdup0.c: Include progname.h.
20238         (main): Call set_program_name.
20239
20240 2009-01-18  Bruno Haible  <bruno@clisp.org>
20241
20242         New module 'alphasort'.
20243         * lib/dirent.in.h (alphasort): New declaration.
20244         * lib/alphasort.c: New file, from glibc with modifications.
20245         * m4/alphasort.m4: New file.
20246         * modules/alphasort: New file.
20247         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
20248         HAVE_ALPHASORT.
20249         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
20250         HAVE_ALPHASORT.
20251         * doc/posix-functions/alphasort.texi: Mention the new module and the
20252         portability problems.
20253
20254 2009-01-18  Bruno Haible  <bruno@clisp.org>
20255
20256         New module 'scandir'.
20257         * lib/dirent.in.h (scandir): New declaration.
20258         * lib/scandir.c: New file, from glibc with modifications.
20259         * m4/scandir.m4: New file.
20260         * modules/scandir: New file.
20261         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
20262         HAVE_SCANDIR.
20263         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
20264         HAVE_SCANDIR.
20265         * doc/posix-functions/scandir.texi: Mention the new module and the
20266         portability problems.
20267
20268 2009-01-17  Bruno Haible  <bruno@clisp.org>
20269
20270         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
20271         Update documentation.
20272         (func_remove_suffix): Escape all dots in the suffix. Update
20273         documentation.
20274         (func_filter_filelist): Update documentation.
20275         Reported by Ralf Wildenhues.
20276
20277 2009-01-17  Bruno Haible  <bruno@clisp.org>
20278
20279         * modules/dprintf-posix-tests: New file.
20280         * tests/test-dprintf-posix.sh: New file.
20281         * tests/test-dprintf-posix.c: New file.
20282
20283         New modules 'dprintf', 'dprintf-posix'.
20284         * lib/stdio.in.h (dprintf): New declaration.
20285         * lib/dprintf.c: New file.
20286         * m4/dprintf.m4: New file.
20287         * m4/dprintf-posix.m4: New file.
20288         * modules/dprintf: New file.
20289         * modules/dprintf-posix: New file.
20290         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
20291         HAVE_DPRINTF, REPLACE_DPRINTF.
20292         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
20293         HAVE_DPRINTF, REPLACE_DPRINTF.
20294         * doc/posix-functions/dprintf.texi: Mention the new modules.
20295
20296 2009-01-17  Bruno Haible  <bruno@clisp.org>
20297
20298         * modules/vdprintf-posix-tests: New file.
20299         * tests/test-vdprintf-posix.sh: New file.
20300         * tests/test-vdprintf-posix.c: New file.
20301
20302         New modules 'vdprintf', 'vdprintf-posix'.
20303         * lib/stdio.in.h (vdprintf): New declaration.
20304         * lib/vdprintf.c: New file.
20305         * m4/vdprintf.m4: New file.
20306         * m4/vdprintf-posix.m4: New file.
20307         * modules/vdprintf: New file.
20308         * modules/vdprintf-posix: New file.
20309         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
20310         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20311         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
20312         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20313         * doc/posix-functions/vdprintf.texi: Mention the new modules.
20314
20315 2009-01-17  Bruno Haible  <bruno@clisp.org>
20316
20317         Fix replacement of fopen on mingw.
20318         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
20319         mingw.
20320
20321 2009-01-17  Bruno Haible  <bruno@clisp.org>
20322
20323         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
20324         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
20325
20326 2009-01-17  Bruno Haible  <bruno@clisp.org>
20327
20328         Avoid test-fflush2.sh failure on mingw.
20329         * tests/test-fflush2.c: Include binary-io.h.
20330         (main): Put standard input into binary mode.
20331         * modules/fflush-tests (Depends-on): Add binary-io.
20332
20333 2009-01-17  Bruno Haible  <bruno@clisp.org>
20334
20335         * lib/wchar.in.h: In another particular situation, include only the
20336         system's <wchar.h> file.
20337         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
20338         Reported by Albert Chin-A-Young <china@thewrittenword.com>
20339         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
20340
20341 2009-01-17  Bruno Haible  <bruno@clisp.org>
20342
20343         Support for stripping executables in --enable-relocatable.
20344         * build-aux/install-reloc: Expect one more argument, or an environment
20345         variable RELOC_STRIP_PROG. If set, strip the destination program and
20346         its wrapper.
20347         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
20348         RELOC_STRIP_PROG.
20349         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
20350         to set RELOCATABLE_STRIP.
20351         * NEWS: Mention the new Makefile requirement.
20352
20353 2009-01-17  Bruno Haible  <bruno@clisp.org>
20354
20355         * build-aux/install-reloc: Remove debugging information left over by
20356         C compiler on MacOS X.
20357
20358 2009-01-17  Bruno Haible  <bruno@clisp.org>
20359
20360         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
20361         * lib/progreloc.c (find_executable): Fix type of pointer passed to
20362         _NSGetExecutablePath.
20363
20364 2009-01-16  Jim Meyering  <meyering@redhat.com>
20365
20366         strerror: avoid warnings about discarding "const"
20367         * lib/strerror.c (rpl_strerror): Instead of returning a const
20368         string from each and every "case", use a variable, and add a single
20369         cast after the switch.
20370
20371 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
20372
20373         * lib/arpa_inet.in.h: Add extern "C" block for C++.
20374
20375 2009-01-16  Bruno Haible  <bruno@clisp.org>
20376
20377         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
20378         array initializer syntax that also works in C++ mode.
20379         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20380
20381 2009-01-16  Jim Meyering  <meyering@redhat.com>
20382
20383         poll: suppress a warning
20384         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
20385         to ignore "...unsigned expression < 0 is always false" warnings.
20386
20387 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
20388
20389         poll: remove declarations of unused variables
20390         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
20391         sockbuf and optlen.
20392
20393 2009-01-15  Bruno Haible  <bruno@clisp.org>
20394
20395         Make fflush-after-ungetc POSIX compliant on BSD systems.
20396         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
20397         (clear_ungetc_buffer): Implement also for other systems.
20398         (rpl_fflush): On glibc systems, invoke
20399         clear_ungetc_buffer_preserving_position. Otherwise, invoke
20400         clear_ungetc_buffer after fetching the stream's position, not before.
20401
20402 2009-01-15  Bruno Haible  <bruno@clisp.org>
20403
20404         Make fflush-after-ungetc POSIX compliant on glibc systems.
20405         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
20406         after ungetc.
20407         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
20408         (rpl_fflush): On glibc systems, simply call the system's fflush
20409         function after clearing the ungetc buffer.
20410         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
20411         Instead, lseek only to the end of file, then use the system's fseeko
20412         for the rest. On glibc systems, reset the EOF indicator bit.
20413
20414 2009-01-15  Jim Meyering  <meyering@redhat.com>
20415
20416         openmp.m4: revert quote-adding change, for portability to older autoconf
20417         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
20418         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
20419         Simon Josefsson noticed the problem when using autoconf-2.61.
20420
20421 2009-01-15  Bruno Haible  <bruno@clisp.org>
20422
20423         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
20424         * tests/test-fflush2.c (ASSERT): Always fail.
20425         (main): Add two tests for fflush() after ungetc(), taking into account
20426         the Austin Group's clarification.
20427         Suggested by Eric Blake.
20428
20429 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
20430
20431         mktime.m4: remove K&R-style function prototypes
20432         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
20433         for the Sun C++ compiler.
20434
20435 2009-01-14  Bruno Haible  <bruno@clisp.org>
20436
20437         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
20438         while including <wchar.h>.
20439         * lib/wchar.in.h: In two particular situations on HP-UX, include only
20440         the system's <wchar.h> file.
20441         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20442
20443 2009-01-14  Bruno Haible  <bruno@clisp.org>
20444
20445         * m4/csharp.m4: Don't mention gettext on the serial number line.
20446         * m4/csharpexec.m4: Likewise.
20447         * m4/eaccess.m4: Likewise.
20448         * m4/javaexec.m4: Likewise.
20449         * m4/sig_atomic_t.m4: Likewise.
20450         * m4/tmpdir.m4: Likewise.
20451         * m4/intldir.m4: Bump gettext version.
20452         * m4/lib-ld.m4: Likewise.
20453
20454 2009-01-14  Bruno Haible  <bruno@clisp.org>
20455
20456         * lib/progname.c (set_program_name): Add more comments.
20457         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
20458
20459 2009-01-14  Simon Josefsson  <simon@josefsson.org>
20460
20461         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
20462         were sys/stat.h does not define it.
20463
20464 2009-01-14  Jim Meyering  <meyering@redhat.com>
20465
20466         many *.m4 files: improve m4 quoting
20467         99% of this change was performed by running the following commands:
20468         git ls-files | grep '\.m4$' | xargs perl -pi \
20469           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
20470           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20471           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20472           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
20473         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
20474         The remainder were to add Copyright dates, increment serial numbers,
20475         undo some changes in comments, exclude m4/intl.m4, and add quotes
20476         around the "1" in ",1" where the unusual spacing prohibited the
20477         above regexps from doing the job.  For more details, see
20478         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
20479         * m4/acl.m4: Modified.
20480         * m4/afs.m4: Likewise.
20481         * m4/alloca.m4: Likewise.
20482         * m4/argp.m4: Likewise.
20483         * m4/argz.m4: Likewise.
20484         * m4/atexit.m4: Likewise.
20485         * m4/bison-i18n.m4: Likewise.
20486         * m4/bison.m4: Likewise.
20487         * m4/byteswap.m4: Likewise.
20488         * m4/c-stack.m4: Likewise.
20489         * m4/c-strtod.m4: Likewise.
20490         * m4/calloc.m4: Likewise.
20491         * m4/canonicalize-lgpl.m4: Likewise.
20492         * m4/chown.m4: Likewise.
20493         * m4/clock_time.m4: Likewise.
20494         * m4/codeset.m4: Likewise.
20495         * m4/copy-file.m4: Likewise.
20496         * m4/csharp.m4: Likewise.
20497         * m4/csharpcomp.m4: Likewise.
20498         * m4/csharpexec.m4: Likewise.
20499         * m4/d-ino.m4: Likewise.
20500         * m4/d-type.m4: Likewise.
20501         * m4/dirfd.m4: Likewise.
20502         * m4/double-slash-root.m4: Likewise.
20503         * m4/eaccess.m4: Likewise.
20504         * m4/eealloc.m4: Likewise.
20505         * m4/environ.m4: Likewise.
20506         * m4/errno_h.m4: Likewise.
20507         * m4/euidaccess.m4: Likewise.
20508         * m4/execute.m4: Likewise.
20509         * m4/fatal-signal.m4: Likewise.
20510         * m4/fchdir.m4: Likewise.
20511         * m4/fcntl_h.m4: Likewise.
20512         * m4/fileblocks.m4: Likewise.
20513         * m4/filenamecat.m4: Likewise.
20514         * m4/findprog.m4: Likewise.
20515         * m4/flexmember.m4: Likewise.
20516         * m4/fnmatch.m4: Likewise.
20517         * m4/fopen.m4: Likewise.
20518         * m4/fpending.m4: Likewise.
20519         * m4/fprintf-posix.m4: Likewise.
20520         * m4/free.m4: Likewise.
20521         * m4/frexp.m4: Likewise.
20522         * m4/frexpl.m4: Likewise.
20523         * m4/fsusage.m4: Likewise.
20524         * m4/ftruncate.m4: Likewise.
20525         * m4/gc-camellia.m4: Likewise.
20526         * m4/gc-random.m4: Likewise.
20527         * m4/gc.m4: Likewise.
20528         * m4/getaddrinfo.m4: Likewise.
20529         * m4/getcwd-abort-bug.m4: Likewise.
20530         * m4/getcwd-path-max.m4: Likewise.
20531         * m4/getdate.m4: Likewise.
20532         * m4/getdomainname.m4: Likewise.
20533         * m4/getgroups.m4: Likewise.
20534         * m4/gethostname.m4: Likewise.
20535         * m4/gethrxtime.m4: Likewise.
20536         * m4/getline.m4: Likewise.
20537         * m4/getloadavg.m4: Likewise.
20538         * m4/getndelim2.m4: Likewise.
20539         * m4/getpass.m4: Likewise.
20540         * m4/gettext.m4: Likewise.
20541         * m4/gettime.m4: Likewise.
20542         * m4/gettimeofday.m4: Likewise.
20543         * m4/gnulib-common.m4: Likewise.
20544         * m4/group-member.m4: Likewise.
20545         * m4/host-os.m4: Likewise.
20546         * m4/iconv.m4: Likewise.
20547         * m4/iconv_open.m4: Likewise.
20548         * m4/inet_ntop.m4: Likewise.
20549         * m4/inet_pton.m4: Likewise.
20550         * m4/inline.m4: Likewise.
20551         * m4/intldir.m4: Likewise.
20552         * m4/intlmacosx.m4: Likewise.
20553         * m4/intmax.m4: Likewise.
20554         * m4/intmax_t.m4: Likewise.
20555         * m4/inttypes.m4: Likewise.
20556         * m4/inttypes_h.m4: Likewise.
20557         * m4/inttypes-pri.m4: Likewise.
20558         * m4/isapipe.m4: Likewise.
20559         * m4/isnand.m4: Likewise.
20560         * m4/isnanf.m4: Likewise.
20561         * m4/isnanl.m4: Likewise.
20562         * m4/javacomp.m4: Likewise.
20563         * m4/javaexec.m4: Likewise.
20564         * m4/jm-winsz1.m4: Likewise.
20565         * m4/jm-winsz2.m4: Likewise.
20566         * m4/lchown.m4: Likewise.
20567         * m4/lcmessage.m4: Likewise.
20568         * m4/ldexpl.m4: Likewise.
20569         * m4/lib-ld.m4: Likewise.
20570         * m4/lib-link.m4: Likewise.
20571         * m4/libsigsegv.m4: Likewise.
20572         * m4/link-follow.m4: Likewise.
20573         * m4/localcharset.m4: Likewise.
20574         * m4/locale-fr.m4: Likewise.
20575         * m4/locale-ja.m4: Likewise.
20576         * m4/locale-tr.m4: Likewise.
20577         * m4/locale-zh.m4: Likewise.
20578         * m4/lock.m4: Likewise.
20579         * m4/longlong.m4: Likewise.
20580         * m4/ls-mntd-fs.m4: Likewise.
20581         * m4/lstat.m4: Likewise.
20582         * m4/malloc.m4: Likewise.
20583         * m4/mathl.m4: Likewise.
20584         * m4/mbrtowc.m4: Likewise.
20585         * m4/mbstate_t.m4: Likewise.
20586         * m4/mbswidth.m4: Likewise.
20587         * m4/memchr.m4: Likewise.
20588         * m4/memcmp.m4: Likewise.
20589         * m4/memcpy.m4: Likewise.
20590         * m4/memmem.m4: Likewise.
20591         * m4/memmove.m4: Likewise.
20592         * m4/mempcpy.m4: Likewise.
20593         * m4/memrchr.m4: Likewise.
20594         * m4/memset.m4: Likewise.
20595         * m4/minmax.m4: Likewise.
20596         * m4/mkdir-slash.m4: Likewise.
20597         * m4/mkdtemp.m4: Likewise.
20598         * m4/mktime.m4: Likewise.
20599         * m4/mmap-anon.m4: Likewise.
20600         * m4/mountlist.m4: Likewise.
20601         * m4/nanosleep.m4: Likewise.
20602         * m4/nls.m4: Likewise.
20603         * m4/nocrash.m4: Likewise.
20604         * m4/open.m4: Likewise.
20605         * m4/openat.m4: Likewise.
20606         * m4/openmp.m4: Likewise.
20607         * m4/pathmax.m4: Likewise.
20608         * m4/perl.m4: Likewise.
20609         * m4/physmem.m4: Likewise.
20610         * m4/pipe.m4: Likewise.
20611         * m4/po.m4: Likewise.
20612         * m4/poll.m4: Likewise.
20613         * m4/posixtm.m4: Likewise.
20614         * m4/posixver.m4: Likewise.
20615         * m4/printf-frexp.m4: Likewise.
20616         * m4/printf-frexpl.m4: Likewise.
20617         * m4/printf-posix.m4: Likewise.
20618         * m4/printf-posix-rpl.m4: Likewise.
20619         * m4/printf.m4: Likewise.
20620         * m4/progtest.m4: Likewise.
20621         * m4/putenv.m4: Likewise.
20622         * m4/readline.m4: Likewise.
20623         * m4/readlink.m4: Likewise.
20624         * m4/readutmp.m4: Likewise.
20625         * m4/realloc.m4: Likewise.
20626         * m4/regex.m4: Likewise.
20627         * m4/relocatable.m4: Likewise.
20628         * m4/relocatable-lib.m4: Likewise.
20629         * m4/rename-dest-slash.m4: Likewise.
20630         * m4/rename.m4: Likewise.
20631         * m4/rmdir-errno.m4: Likewise.
20632         * m4/rmdir.m4: Likewise.
20633         * m4/roundf.m4: Likewise.
20634         * m4/roundl.m4: Likewise.
20635         * m4/rpmatch.m4: Likewise.
20636         * m4/save-cwd.m4: Likewise.
20637         * m4/selinux-selinux-h.m4: Likewise.
20638         * m4/setenv.m4: Likewise.
20639         * m4/settime.m4: Likewise.
20640         * m4/sig2str.m4: Likewise.
20641         * m4/sig_atomic_t.m4: Likewise.
20642         * m4/signalblocking.m4: Likewise.
20643         * m4/signbit.m4: Likewise.
20644         * m4/sigpipe.m4: Likewise.
20645         * m4/sockets.m4: Likewise.
20646         * m4/sockpfaf.m4: Likewise.
20647         * m4/st_dm_mode.m4: Likewise.
20648         * m4/stat-time.m4: Likewise.
20649         * m4/stdbool.m4: Likewise.
20650         * m4/stdint.m4: Likewise.
20651         * m4/stdint_h.m4: Likewise.
20652         * m4/stpcpy.m4: Likewise.
20653         * m4/stpncpy.m4: Likewise.
20654         * m4/strcase.m4: Likewise.
20655         * m4/strchrnul.m4: Likewise.
20656         * m4/strcspn.m4: Likewise.
20657         * m4/strdup.m4: Likewise.
20658         * m4/strftime.m4: Likewise.
20659         * m4/strndup.m4: Likewise.
20660         * m4/strnlen.m4: Likewise.
20661         * m4/strpbrk.m4: Likewise.
20662         * m4/strptime.m4: Likewise.
20663         * m4/strsep.m4: Likewise.
20664         * m4/strtod.m4: Likewise.
20665         * m4/strtoimax.m4: Likewise.
20666         * m4/strtok_r.m4: Likewise.
20667         * m4/strtol.m4: Likewise.
20668         * m4/strtoll.m4: Likewise.
20669         * m4/strtoul.m4: Likewise.
20670         * m4/strtoull.m4: Likewise.
20671         * m4/strtoumax.m4: Likewise.
20672         * m4/strverscmp.m4: Likewise.
20673         * m4/threadlib.m4: Likewise.
20674         * m4/timegm.m4: Likewise.
20675         * m4/tm_gmtoff.m4: Likewise.
20676         * m4/tmpdir.m4: Likewise.
20677         * m4/tmpfile.m4: Likewise.
20678         * m4/tzset.m4: Likewise.
20679         * m4/uintmax_t.m4: Likewise.
20680         * m4/unlinkdir.m4: Likewise.
20681         * m4/unlocked-io.m4: Likewise.
20682         * m4/uptime.m4: Likewise.
20683         * m4/userspec.m4: Likewise.
20684         * m4/utimbuf.m4: Likewise.
20685         * m4/utime.m4: Likewise.
20686         * m4/utimes-null.m4: Likewise.
20687         * m4/utimes.m4: Likewise.
20688         * m4/vararrays.m4: Likewise.
20689         * m4/vasnprintf.m4: Likewise.
20690         * m4/vfprintf-posix.m4: Likewise.
20691         * m4/vprintf-posix.m4: Likewise.
20692         * m4/wait-process.m4: Likewise.
20693         * m4/wchar_t.m4: Likewise.
20694         * m4/wint_t.m4: Likewise.
20695         * m4/write-any-file.m4: Likewise.
20696         * m4/yield.m4: Likewise.
20697
20698 2009-01-13  Bruno Haible  <bruno@clisp.org>
20699
20700         Avoid test-copy-file.sh failures when ACL support insufficient.
20701         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
20702         TESTS_ENVIRONMENT.
20703         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
20704         Reported by Jim Meyering.
20705
20706 2009-01-13  Bruno Haible  <bruno@clisp.org>
20707
20708         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
20709         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
20710         * modules/unistdio/u8-printf-parse (Files): Likewise.
20711         * modules/unistdio/u32-printf-parse (Files): Likewise.
20712         * modules/unistdio/ulc-printf-parse (Files): Likewise.
20713
20714 2009-01-13  Simon Josefsson  <simon@josefsson.org>
20715
20716         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
20717         and m4/inttypes_h.m4 too.
20718
20719 2009-01-12  Eric Blake  <ebb9@byu.net>
20720
20721         tests: IRIX 6.2 cc can't compile -0.0 into .data
20722         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
20723         rather than at compile-time.
20724         * tests/test-floorl.c (minus_zero): Likewise.
20725         * tests/test-frexpl.c (minus_zero): Likewise.
20726         * tests/test-isnan.c (minus_zerol): Likewise.
20727         * tests/test-isnanl.h (minus_zero): Likewise.
20728         * tests/test-ldexpl.c (minus_zero): Likewise.
20729         * tests/test-roundl.c (minus_zero): Likewise.
20730         * tests/test-signbit.c (minus_zerol): Likewise.
20731         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
20732         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
20733         * tests/test-truncl.c (minus_zero): Likewise.
20734         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
20735         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
20736         Reported by Tom G. Christensen and Nelson H. F. Beebe.
20737
20738 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
20739
20740         regex: fix glibc bug 9697
20741         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
20742         handling.
20743
20744 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
20745
20746         regex: fix glibc bug 697
20747         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
20748         being NULL also if there are no backreferences.
20749
20750 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
20751
20752         regex: merge glibc changes
20753         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
20754         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
20755         re_string_skip_chars, re_string_reconstruct): Likewise.
20756         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
20757
20758 2009-01-07  Jim Meyering  <meyering@redhat.com>
20759
20760         poll: filter through cppi
20761         * lib/poll.c: Indent cpp directives to reflect nesting.
20762
20763 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
20764
20765         poll: don't return uninitialized
20766         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
20767
20768 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
20769
20770         avoid compile failure on AIX 6.1
20771         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
20772         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
20773
20774 2009-01-04  Jim Meyering  <meyering@redhat.com>
20775
20776         remove duplicate inclusion of <stdio.h>
20777         * tests/test-fprintf-posix.c: Likewise.
20778         * tests/test-printf-posix.c: Likewise.
20779         * tests/test-snprintf-posix.c: Likewise.
20780         * tests/test-sprintf-posix.c: Likewise.
20781         * tests/test-vasprintf-posix.c: Likewise.
20782         * tests/test-vfprintf-posix.c: Likewise.
20783         * tests/test-vprintf-posix.c: Likewise.
20784         * tests/test-vsnprintf-posix.c: Likewise.
20785         * tests/test-vsprintf-posix.c: Likewise.
20786
20787 2009-01-03  Jim Meyering  <meyering@redhat.com>
20788
20789         gnulib-tool: fix sed-based filtering
20790         * gnulib-tool (func_filter_filelist): Remove extra backslash
20791         in sed_fff_filter definition.
20792
20793 2009-01-02  Jim Meyering  <meyering@redhat.com>
20794
20795         strftime: avoid compilation failure on Solaris 2.6
20796         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
20797         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
20798         Don't #define mbrlen or mbsinit, since now they're guaranteed to
20799         be available.  Reported by Tom G. Christensen.  Details in
20800         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
20801
20802 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20803             Bruno Haible  <bruno@clisp.org>
20804
20805         Speed up gnulib-tool by doing more string processing through shell
20806         built-ins.
20807         * gnulib-tool (fast_func_append): New variable.
20808         (func_remove_prefix, func_remove_suffix): New functions.
20809         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
20810         (func_filter_filelist): New function.
20811         (func_get_dependencies): Use func_remove_suffix instead of sed.
20812         (func_get_automake_snippet): Use func_filter_filelist instead of a
20813         subshell and sed invocation.
20814
20815 2009-01-01  Bruno Haible  <bruno@clisp.org>
20816
20817         Fix a security bug.
20818         * gnulib-tool (func_import, import, update): Don't allow the characters
20819         '"', '$', '`', '\' in macro arguments that become part of commands that
20820         are evaluated.
20821
20822 2009-01-01  Bruno Haible  <bruno@clisp.org>
20823
20824         * gnulib-tool (func_reset_sigpipe): Add more comments.
20825
20826 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20827
20828         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
20829         func_emit_tests_Makefile_am, func_import): Abort loops early if we
20830         already know the answer.
20831
20832 2009-01-01  Jim Meyering  <meyering@redhat.com>
20833
20834         * lib/version-etc.c (version_etc_va): Update copyright year.
20835
20836 2008-12-30  Bruno Haible  <bruno@clisp.org>
20837
20838         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
20839         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
20840         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
20841
20842 2008-12-29  Eric Blake  <ebb9@byu.net>
20843
20844         multiarch: avoid autoconf AC_REQUIRE bug
20845         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
20846         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
20847         2.63 and older.
20848         Reported by Bruno Haible, and analyzed in
20849         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
20850
20851 2008-12-29  Bruno Haible  <bruno@clisp.org>
20852
20853         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
20854         files in subdirectories correctly.
20855         Reported by Ralf Wildenhues.
20856
20857 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20858
20859         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
20860         rather than 'join FILE -', for Solaris join.
20861
20862 2008-12-29  Bruno Haible  <bruno@clisp.org>
20863
20864         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
20865         quoting.
20866         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
20867         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
20868         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
20869         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
20870         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20871         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
20872         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
20873         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
20874         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
20875         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
20876         * m4/nls.m4 (AM_NLS): Likewise.
20877         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
20878         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
20879         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20880         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
20881         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
20882         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
20883         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
20884         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
20885         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
20886         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
20887         * m4/xsize.m4 (gl_XSIZE): Likewise.
20888         Suggested by Jim Meyering.
20889
20890 2008-11-17  Bruce Korb  <bkorb@gnu.org>
20891
20892         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
20893         * lib/parse-duration.c: use a switch instead of cascading if's.
20894
20895 2008-12-29  Eric Blake  <ebb9@byu.net>
20896
20897         wchar.h: supply WEOF on Irix 5.3
20898         * lib/wchar.in.h (wint_t): Also supply WEOF.
20899         * lib/wctype.in.h (wint_t): Likewise.
20900         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
20901         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
20902         Reported by Tom G. Christensen.
20903
20904 2008-12-26  Bruno Haible  <bruno@clisp.org>
20905
20906         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
20907         i486, i586, i686.
20908
20909 2008-12-26  Bruno Haible  <bruno@clisp.org>
20910
20911         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
20912
20913 2008-12-26  Bruno Haible  <bruno@clisp.org>
20914
20915         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
20916         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
20917         not __STDC_CONSTANT_MACROS.
20918         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
20919
20920 2008-12-25  Bruno Haible  <bruno@clisp.org>
20921
20922         Add support for universal builds to vasnprintf.
20923         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
20924         universal builds, guess no.
20925         * modules/vasnprintf-posix (Depends-on): Add multiarch.
20926         * modules/vasprintf-posix (Depends-on): Likewise.
20927         * modules/fprintf-posix (Depends-on): Likewise.
20928         * modules/vfprintf-posix (Depends-on): Likewise.
20929         * modules/snprintf-posix (Depends-on): Likewise.
20930         * modules/vsnprintf-posix (Depends-on): Likewise.
20931         * modules/sprintf-posix (Depends-on): Likewise.
20932         * modules/vsprintf-posix (Depends-on): Likewise.
20933         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20934         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20935         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20936         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20937         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20938         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20939         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20940
20941         Add support for universal builds to <inttypes.h>.
20942         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
20943         _SCNu64_PREFIX): In Apple
20944         universal builds, define directly, using _LP64.
20945         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
20946         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
20947         * modules/inttypes (Depends-on): Add multiarch.
20948         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
20949
20950         Add support for universal builds to <stdint.h>.
20951         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
20952         universal builds, define directly, using _LP64.
20953         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
20954         Apple universal builds, don't test for the size and suffix of ptrdiff_t
20955         and size_t.
20956         * modules/stdint (Depends-on): Add multiarch.
20957         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
20958
20959         New module 'multiarch'.
20960         * modules/multiarch: New file.
20961         * m4/multiarch.m4: New file.
20962
20963 2008-12-25  Bruno Haible  <bruno@clisp.org>
20964
20965         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
20966
20967 2008-12-25  Bruno Haible  <bruno@clisp.org>
20968
20969         * modules/btowc (License): Relicense under LGPLv2+.
20970         * modules/mbsinit (License): Likewise.
20971         * modules/mbrtowc (License): Likewise.
20972         * modules/wcrtomb (License): Likewise.
20973         * modules/streq (License): Likewise.
20974         Reported by David Lutterkort <lutter@redhat.com>.
20975
20976 2008-12-23  Bruno Haible  <bruno@clisp.org>
20977
20978         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
20979
20980 2008-12-23  Bruno Haible  <bruno@clisp.org>
20981
20982         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
20983         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
20984         GETADDRINFO_LIB, not in LIBS.
20985         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
20986         * modules/canon-host (Link): Likewise.
20987         * NEWS: Mention the change.
20988         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
20989         GETADDRINFO_LIB.
20990
20991 2008-12-22  Bruno Haible  <bruno@clisp.org>
20992
20993         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
20994         * doc/posix-functions/iswalpha_l.texi: Likewise.
20995         * doc/posix-functions/iswblank_l.texi: Likewise.
20996         * doc/posix-functions/iswcntrl_l.texi: Likewise.
20997         * doc/posix-functions/iswctype_l.texi: Likewise.
20998         * doc/posix-functions/iswdigit_l.texi: Likewise.
20999         * doc/posix-functions/iswgraph_l.texi: Likewise.
21000         * doc/posix-functions/iswlower_l.texi: Likewise.
21001         * doc/posix-functions/iswprint_l.texi: Likewise.
21002         * doc/posix-functions/iswpunct_l.texi: Likewise.
21003         * doc/posix-functions/iswspace_l.texi: Likewise.
21004         * doc/posix-functions/iswupper_l.texi: Likewise.
21005         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21006         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
21007         * doc/posix-functions/open_wmemstream.texi: Likewise.
21008         * doc/posix-functions/swscanf.texi: Likewise.
21009         * doc/posix-functions/towctrans_l.texi: Likewise.
21010         * doc/posix-functions/towlower.texi: Likewise.
21011         * doc/posix-functions/towlower_l.texi: Likewise.
21012         * doc/posix-functions/towupper.texi: Likewise.
21013         * doc/posix-functions/towupper_l.texi: Likewise.
21014         * doc/posix-functions/vfwprintf.texi: Likewise.
21015         * doc/posix-functions/vfwscanf.texi: Likewise.
21016         * doc/posix-functions/vswscanf.texi: Likewise.
21017         * doc/posix-functions/vwprintf.texi: Likewise.
21018         * doc/posix-functions/vwscanf.texi: Likewise.
21019         * doc/posix-functions/wcpcpy.texi: Likewise.
21020         * doc/posix-functions/wcpncpy.texi: Likewise.
21021         * doc/posix-functions/wcscasecmp.texi: Likewise.
21022         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
21023         * doc/posix-functions/wcscoll_l.texi: Likewise.
21024         * doc/posix-functions/wcsdup.texi: Likewise.
21025         * doc/posix-functions/wcsncasecmp.texi: Likewise.
21026         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
21027         * doc/posix-functions/wcsnlen.texi: Likewise.
21028         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21029         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21030         * doc/posix-functions/wctrans_l.texi: Likewise.
21031         * doc/posix-functions/wctype_l.texi: Likewise.
21032         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
21033         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
21034         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
21035         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
21036         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
21037         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
21038         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
21039         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
21040         * doc/glibc-functions/wcschrnul.texi: Likewise.
21041         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21042         * doc/glibc-functions/wcstod_l.texi: Likewise.
21043         * doc/glibc-functions/wcstof_l.texi: Likewise.
21044         * doc/glibc-functions/wcstol_l.texi: Likewise.
21045         * doc/glibc-functions/wcstold_l.texi: Likewise.
21046         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21047         * doc/glibc-functions/wcstoq.texi: Likewise.
21048         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21049         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21050         * doc/glibc-functions/wcstouq.texi: Likewise.
21051         * doc/glibc-functions/wmempcpy.texi: Likewise.
21052
21053 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
21054             Eric Blake  <ebb9@byu.net>
21055             Paolo Bonzini  <bonzini@gnu.org>
21056             Bruno Haible  <bruno@clisp.org>
21057
21058         Make c-stack work on Haiku.
21059         * lib/c-stack.c (SA_ONSTACK): Define fallback.
21060         (c_stack_action): Use SA_ONSTACK flag.
21061
21062 2008-12-22  Bruno Haible  <bruno@clisp.org>
21063
21064         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
21065
21066 2008-12-22  Bruno Haible  <bruno@clisp.org>
21067
21068         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
21069         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
21070         being overridden.
21071         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
21072         New macros.
21073         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
21074         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
21075         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
21076         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
21077
21078 2008-12-22  Bruno Haible  <bruno@clisp.org>
21079
21080         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
21081         from test code.
21082
21083 2008-12-22  Eric Blake  <ebb9@byu.net>
21084
21085         Avoid gcc warnings on cygwin.
21086         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
21087         Avoid unused variable.
21088         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
21089         Likewise.
21090
21091 2008-12-22  Bruno Haible  <bruno@clisp.org>
21092
21093         Remove HAVE_MBRTOWC conditionals.
21094         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
21095         (mbscasecmp): Assume mbrtowc function.
21096         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
21097         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
21098         * lib/mbschr.c: Include mbuiter.h unconditionally.
21099         (mbschr): Assume mbrtowc function.
21100         * lib/mbscspn.c: Include mbuiter.h unconditionally.
21101         (mbscspn): Assume mbrtowc function.
21102         * lib/mbslen.c: Include mbuiter.h unconditionally.
21103         (mbslen): Assume mbrtowc function.
21104         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
21105         (mbsncasecmp): Assume mbrtowc function.
21106         * lib/mbsnlen.c: Include mbiter.h unconditionally.
21107         (mbsnlen): Assume mbrtowc function.
21108         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
21109         (mbspbrk): Assume mbrtowc function.
21110         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
21111         (mbspcasecmp): Assume mbrtowc function.
21112         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
21113         (mbsrchr): Assume mbrtowc function.
21114         * lib/mbssep.c: Include mbuiter.h unconditionally.
21115         (mbssep): Assume mbrtowc function.
21116         * lib/mbsspn.c: Include mbuiter.h unconditionally.
21117         (mbsspn): Assume mbrtowc function.
21118         * lib/mbsstr.c: Include mbuiter.h unconditionally.
21119         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
21120         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
21121         (mbstok_r): Assume mbrtowc function.
21122         * lib/propername.c: Include mbuiter.h unconditionally.
21123         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
21124         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
21125         (trim2): Assume mbrtowc function.
21126         * lib/mbswidth.c (mbsinit): Remove fallback definition.
21127         (mbsnwidth): Assume mbrtowc function.
21128         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
21129         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
21130         fallback definitions.
21131         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
21132
21133 2008-12-22  Bruno Haible  <bruno@clisp.org>
21134
21135         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
21136
21137 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
21138
21139         * modules/regex: Request emulations for the mb*/wc* functions we need.
21140         * m4/regex.m4: Don't look for those functions here.
21141         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
21142
21143 2008-12-22  Bruno Haible  <bruno@clisp.org>
21144
21145         * modules/fnmatch (Depends-on): Remove duplicated dependency.
21146
21147 2008-12-21  Bruno Haible  <bruno@clisp.org>
21148
21149         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
21150         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
21151         (Include): Remove conditionalization.
21152         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
21153         (Include): Remove conditionalization.
21154         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
21155         (Include): Remove conditionalization.
21156         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
21157         * m4/mbfile.m4 (gl_MBFILE): Likewise.
21158         * NEWS: Mention the change.
21159         Reported by Alan Hourihane <alanh@fairlite.co.uk>
21160         via Sergey Poznyakoff <gray@gnu.org.ua>.
21161
21162 2008-12-21  Bruno Haible  <bruno@clisp.org>
21163
21164         * MODULES.html.sh (Extended multibyte and wide character utilities
21165         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
21166         wcrtomb, wcsrtombs.
21167         (Support for systems lacking POSIX:2008): Add accept, bind, close,
21168         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
21169         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
21170         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
21171
21172 2008-12-21  Bruno Haible  <bruno@clisp.org>
21173
21174         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
21175
21176 2008-12-21  Bruno Haible  <bruno@clisp.org>
21177
21178         * modules/wcsnrtombs-tests: New file.
21179         * tests/test-wcsnrtombs1.sh: New file.
21180         * tests/test-wcsnrtombs2.sh: New file.
21181         * tests/test-wcsnrtombs3.sh: New file.
21182         * tests/test-wcsnrtombs4.sh: New file.
21183         * tests/test-wcsnrtombs.c: New file.
21184
21185         New module 'wcsnrtombs'.
21186         * lib/wchar.in.h (wcsnrtombs): New declaration.
21187         * lib/wcsnrtombs.c: New file.
21188         * lib/wcsrtombs-state.c: New file.
21189         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
21190         (internal_state): Remove variable.
21191         * m4/wcsnrtombs.m4: New file.
21192         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
21193         compilation units.
21194         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
21195         HAVE_WCSNRTOMBS.
21196         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
21197         HAVE_WCSNRTOMBS.
21198         * modules/wcsnrtombs: New file.
21199         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
21200         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
21201
21202 2008-12-21  Bruno Haible  <bruno@clisp.org>
21203
21204         * modules/wcsrtombs-tests: New file.
21205         * tests/test-wcsrtombs1.sh: New file.
21206         * tests/test-wcsrtombs2.sh: New file.
21207         * tests/test-wcsrtombs3.sh: New file.
21208         * tests/test-wcsrtombs4.sh: New file.
21209         * tests/test-wcsrtombs.c: New file.
21210
21211         New module 'wcsrtombs'.
21212         * lib/wchar.in.h (wcsrtombs): New declaration.
21213         * lib/wcsrtombs.c: New file.
21214         * m4/wcsrtombs.m4: New file.
21215         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
21216         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21217         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
21218         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21219         * modules/wcsrtombs: New file.
21220         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
21221         bugs.
21222
21223 2008-12-21  Bruno Haible  <bruno@clisp.org>
21224
21225         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
21226         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
21227         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
21228         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
21229         if not correct.
21230         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
21231         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
21232         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21233         m4/locale-zh.m4, m4/codeset.m4.
21234         * doc/posix-functions/wcrtomb.texi: Document the bug.
21235
21236 2008-12-21  Bruno Haible  <bruno@clisp.org>
21237
21238         Work around a btowc() bug on IRIX 6.5.
21239         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
21240         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
21241         REPLACE_WTOBC if not.
21242         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
21243         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
21244         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
21245
21246 2008-12-21  Bruno Haible  <bruno@clisp.org>
21247
21248         * modules/wcrtomb-tests: New file.
21249         * tests/test-wcrtomb.sh: New file.
21250         * tests/test-wcrtomb.c: New file.
21251
21252         New module 'wcrtomb'.
21253         * lib/wchar.in.h (wcrtomb): New declaration.
21254         * lib/wcrtomb.c: New file.
21255         * m4/wcrtomb.m4: New file.
21256         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
21257         HAVE_WCRTOMB.
21258         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
21259         HAVE_WCRTOMB.
21260         * modules/wcrtomb: New file.
21261         * doc/posix-functions/wcrtomb.texi: Mention the new module.
21262
21263 2008-12-21  Bruno Haible  <bruno@clisp.org>
21264
21265         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
21266         * modules/mbsrtowcs (Files): Likewise.
21267         * modules/wctob (Files): Likewise.
21268         * modules/c-strcase-tests (Files): Likewise.
21269         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21270         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21271         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21272         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21273         * modules/vasnprintf-posix-tests (Files): Likewise.
21274
21275 2008-12-21  William Pursell  <bill.pursell@gmail.com>
21276
21277         gitlog-to-changelog: pass all command-line arguments to git-log
21278         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
21279         it is sometimes convenient to filter the commits in various ways.
21280         gitlog-to-changelog only allows --since to specify a start date,
21281         but git-log itself supports many other filtering mechanisms.
21282         At the moment, I want to filter by branch name.  Rather than
21283         adding a --branch option to gitlog-to-changelog, it seems more
21284         flexible to simply pass all options directly to git-log and let
21285         git do the work.  Notice that this effectively makes --since a
21286         redundant option for gitlog-to-changelog, but removing it would
21287         require current usage to change since calls would then require
21288         an additional '--'.
21289
21290 2008-12-21  Bruno Haible  <bruno@clisp.org>
21291
21292         * modules/mbsnrtowcs-tests: New file.
21293         * tests/test-mbsnrtowcs1.sh: New file.
21294         * tests/test-mbsnrtowcs2.sh: New file.
21295         * tests/test-mbsnrtowcs3.sh: New file.
21296         * tests/test-mbsnrtowcs4.sh: New file.
21297         * tests/test-mbsnrtowcs.c: New file.
21298
21299         New module 'mbsnrtowcs'.
21300         * lib/wchar.in.h (mbsnrtowcs): New declaration.
21301         * lib/mbsnrtowcs.c: New file.
21302         * lib/mbsrtowcs-state.c: New file.
21303         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
21304         (internal_state): Remove variable.
21305         * m4/mbsnrtowcs.m4: New file.
21306         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
21307         compilation units.
21308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
21309         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21310         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
21311         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21312         * modules/mbsnrtowcs: New file.
21313         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
21314         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
21315         portability problem.
21316
21317 2008-12-21  Bruno Haible  <bruno@clisp.org>
21318
21319         Work around mbsrtowcs bug.
21320         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
21321         (gl_FUNC_MBSRTOWCS): Invoke it.
21322         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21323         m4/locale-zh.m4.
21324         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
21325
21326 2008-12-21  Bruno Haible  <bruno@clisp.org>
21327
21328         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
21329
21330 2008-12-21  Bruno Haible  <bruno@clisp.org>
21331
21332         Update doc for AIX.
21333         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
21334         16-bit wchar_t type.
21335         * doc/posix-functions/btowc.texi: Likewise.
21336         * doc/posix-functions/fgetwc.texi: Likewise.
21337         * doc/posix-functions/fgetws.texi: Likewise.
21338         * doc/posix-functions/fputwc.texi: Likewise.
21339         * doc/posix-functions/fputws.texi: Likewise.
21340         * doc/posix-functions/fwide.texi: Likewise.
21341         * doc/posix-functions/fwprintf.texi: Likewise.
21342         * doc/posix-functions/fwscanf.texi: Likewise.
21343         * doc/posix-functions/getwchar.texi: Likewise.
21344         * doc/posix-functions/getwc.texi: Likewise.
21345         * doc/posix-functions/iswalnum.texi: Likewise.
21346         * doc/posix-functions/iswalpha.texi: Likewise.
21347         * doc/posix-functions/iswblank.texi: Likewise.
21348         * doc/posix-functions/iswcntrl.texi: Likewise.
21349         * doc/posix-functions/iswctype.texi: Likewise.
21350         * doc/posix-functions/iswdigit.texi: Likewise.
21351         * doc/posix-functions/iswgraph.texi: Likewise.
21352         * doc/posix-functions/iswlower.texi: Likewise.
21353         * doc/posix-functions/iswprint.texi: Likewise.
21354         * doc/posix-functions/iswpunct.texi: Likewise.
21355         * doc/posix-functions/iswspace.texi: Likewise.
21356         * doc/posix-functions/iswupper.texi: Likewise.
21357         * doc/posix-functions/iswxdigit.texi: Likewise.
21358         * doc/posix-functions/mbrtowc.texi: Likewise.
21359         * doc/posix-functions/mbsrtowcs.texi: Likewise.
21360         * doc/posix-functions/mbstowcs.texi: Likewise.
21361         * doc/posix-functions/mbtowc.texi: Likewise.
21362         * doc/posix-functions/putwchar.texi: Likewise.
21363         * doc/posix-functions/putwc.texi: Likewise.
21364         * doc/posix-functions/swprintf.texi: Likewise.
21365         * doc/posix-functions/tolower.texi: Likewise.
21366         * doc/posix-functions/toupper.texi: Likewise.
21367         * doc/posix-functions/towctrans.texi: Likewise.
21368         * doc/posix-functions/ungetwc.texi: Likewise.
21369         * doc/posix-functions/vswprintf.texi: Likewise.
21370         * doc/posix-functions/wcrtomb.texi: Likewise.
21371         * doc/posix-functions/wcscat.texi: Likewise.
21372         * doc/posix-functions/wcschr.texi: Likewise.
21373         * doc/posix-functions/wcscmp.texi: Likewise.
21374         * doc/posix-functions/wcscoll.texi: Likewise.
21375         * doc/posix-functions/wcscpy.texi: Likewise.
21376         * doc/posix-functions/wcscspn.texi: Likewise.
21377         * doc/posix-functions/wcsftime.texi: Likewise.
21378         * doc/posix-functions/wcslen.texi: Likewise.
21379         * doc/posix-functions/wcsncat.texi: Likewise.
21380         * doc/posix-functions/wcsncmp.texi: Likewise.
21381         * doc/posix-functions/wcsncpy.texi: Likewise.
21382         * doc/posix-functions/wcspbrk.texi: Likewise.
21383         * doc/posix-functions/wcsrchr.texi: Likewise.
21384         * doc/posix-functions/wcsrtombs.texi: Likewise.
21385         * doc/posix-functions/wcsspn.texi: Likewise.
21386         * doc/posix-functions/wcsstr.texi: Likewise.
21387         * doc/posix-functions/wcstod.texi: Likewise.
21388         * doc/posix-functions/wcstof.texi: Likewise.
21389         * doc/posix-functions/wcstoimax.texi: Likewise.
21390         * doc/posix-functions/wcstok.texi: Likewise.
21391         * doc/posix-functions/wcstold.texi: Likewise.
21392         * doc/posix-functions/wcstoll.texi: Likewise.
21393         * doc/posix-functions/wcstol.texi: Likewise.
21394         * doc/posix-functions/wcstombs.texi: Likewise.
21395         * doc/posix-functions/wcstoull.texi: Likewise.
21396         * doc/posix-functions/wcstoul.texi: Likewise.
21397         * doc/posix-functions/wcstoumax.texi: Likewise.
21398         * doc/posix-functions/wcswidth.texi: Likewise.
21399         * doc/posix-functions/wcsxfrm.texi: Likewise.
21400         * doc/posix-functions/wctob.texi: Likewise.
21401         * doc/posix-functions/wctomb.texi: Likewise.
21402         * doc/posix-functions/wctrans.texi: Likewise.
21403         * doc/posix-functions/wctype.texi: Likewise.
21404         * doc/posix-functions/wcwidth.texi: Likewise.
21405         * doc/posix-functions/wmemchr.texi: Likewise.
21406         * doc/posix-functions/wmemcmp.texi: Likewise.
21407         * doc/posix-functions/wmemcpy.texi: Likewise.
21408         * doc/posix-functions/wmemmove.texi: Likewise.
21409         * doc/posix-functions/wmemset.texi: Likewise.
21410         * doc/posix-functions/wprintf.texi: Likewise.
21411         * doc/posix-functions/wscanf.texi: Likewise.
21412
21413 2008-12-21  Bruno Haible  <bruno@clisp.org>
21414
21415         Update doc for HP-UX 11.11.
21416         * doc/posix-functions/btowc.texi: Clarify that the function is missing
21417         in HP-UX version 11.00, not in all versions of HP-UX 11.
21418         * doc/posix-functions/fwide.texi: Likewise.
21419         * doc/posix-functions/fwprintf.texi: Likewise.
21420         * doc/posix-functions/fwscanf.texi: Likewise.
21421         * doc/posix-functions/inet_ntop.texi: Likewise.
21422         * doc/posix-functions/inet_pton.texi: Likewise.
21423         * doc/posix-functions/mbrlen.texi: Likewise.
21424         * doc/posix-functions/mbrtowc.texi: Likewise.
21425         * doc/posix-functions/mbsinit.texi: Likewise.
21426         * doc/posix-functions/mbsrtowcs.texi: Likewise.
21427         * doc/posix-functions/swprintf.texi: Likewise.
21428         * doc/posix-functions/swscanf.texi: Likewise.
21429         * doc/posix-functions/towctrans.texi: Likewise.
21430         * doc/posix-functions/vfwprintf.texi: Likewise.
21431         * doc/posix-functions/vswprintf.texi: Likewise.
21432         * doc/posix-functions/vwprintf.texi: Likewise.
21433         * doc/posix-functions/wcrtomb.texi: Likewise.
21434         * doc/posix-functions/wcsrtombs.texi: Likewise.
21435         * doc/posix-functions/wcsstr.texi: Likewise.
21436         * doc/posix-functions/wctob.texi: Likewise.
21437         * doc/posix-functions/wctrans.texi: Likewise.
21438         * doc/posix-functions/wmemchr.texi: Likewise.
21439         * doc/posix-functions/wmemcmp.texi: Likewise.
21440         * doc/posix-functions/wmemcpy.texi: Likewise.
21441         * doc/posix-functions/wmemmove.texi: Likewise.
21442         * doc/posix-functions/wmemset.texi: Likewise.
21443         * doc/posix-functions/wprintf.texi: Likewise.
21444         * doc/posix-functions/wscanf.texi: Likewise.
21445
21446 2008-12-21  Bruno Haible  <bruno@clisp.org>
21447
21448         Work around a portability problem.
21449         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
21450         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
21451
21452 2008-12-20  Bruno Haible  <bruno@clisp.org>
21453
21454         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
21455         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
21456         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
21457         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
21458         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
21459
21460         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
21461         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
21462         set.
21463         (GNULIB_defined_mbstate_t): New macro.
21464         (mbsinit): Redefine if REPLACE_MBSINIT is set.
21465         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
21466         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
21467         reuses the system's mbrtowc function but works around the bugs.
21468         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
21469         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
21470         macros.
21471         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
21472         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
21473         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
21474         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
21475         REPLACE_MBSINIT if mbsinit needs to be overridden.
21476         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
21477         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21478         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
21479         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21480         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21481         m4/locale-zh.m4.
21482         (Depends): Add mbsinit.
21483         * modules/mbsinit (Depends): Add mbrtowc.
21484         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
21485
21486 2008-12-20  Bruno Haible  <bruno@clisp.org>
21487
21488         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
21489         so that there are no conversion errors on AIX.
21490         * tests/test-mbsrtowcs.c (main): LIkewise.
21491
21492 2008-12-20  Bruno Haible  <bruno@clisp.org>
21493
21494         Work around wctob bug on Solaris <= 9.
21495         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
21496         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
21497         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
21498         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
21499         * modules/wctob (Files): Add m4/locale-fr.m4.
21500         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
21501
21502 2008-12-20  Bruno Haible  <bruno@clisp.org>
21503
21504         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
21505         /dev/null.
21506         * tests/test-select-in.sh: Likewise.
21507         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21508
21509 2008-12-20  Bruno Haible  <bruno@clisp.org>
21510
21511         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
21512         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
21513         Cygwin 1.5.x.
21514
21515 2008-12-20  Bruno Haible  <bruno@clisp.org>
21516
21517         Ensure mbstate_t is defined on HP-UX 11.11.
21518         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
21519         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
21520         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
21521         AC_USE_SYSTEM_EXTENSIONS.
21522         * modules/fnmatch (Depends-on): Add extensions.
21523         * modules/mbrlen (Depends-on): Likewise.
21524         * modules/mbrtowc (Depends-on): Likewise.
21525         * modules/mbsinit (Depends-on): Likewise.
21526         * modules/mbsrtowcs (Depends-on): Likewise.
21527         * modules/mbswidth (Depends-on): Likewise.
21528         * modules/quotearg (Depends-on): Likewise.
21529         * modules/strftime (Depends-on): Likewise.
21530
21531 2008-12-20  Bruno Haible  <bruno@clisp.org>
21532
21533         Ensure wctob is declared on IRIX 6.5.
21534         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
21535         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
21536         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
21537         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
21538         of HAVE_WCTOB.
21539         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
21540         HAVE_WCTOB.
21541         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
21542
21543 2008-12-19  Bruno Haible  <bruno@clisp.org>
21544
21545         * modules/mbsrtowcs-tests: New file.
21546         * tests/test-mbsrtowcs1.sh: New file.
21547         * tests/test-mbsrtowcs2.sh: New file.
21548         * tests/test-mbsrtowcs3.sh: New file.
21549         * tests/test-mbsrtowcs4.sh: New file.
21550         * tests/test-mbsrtowcs.c: New file.
21551
21552         New module 'mbsrtowcs'.
21553         * lib/wchar.in.h (mbsrtowcs): New declaration.
21554         * lib/mbsrtowcs.c: New file.
21555         * m4/mbsrtowcs.m4: New file.
21556         * modules/mbsrtowcs: New file.
21557         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
21558         HAVE_MBSRTOWCS.
21559         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
21560         HAVE_MBSRTOWCS.
21561         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
21562
21563 2008-12-19  Bruno Haible  <bruno@clisp.org>
21564
21565         New module 'mbrlen'.
21566         * lib/wchar.in.h (mbrlen): New declaration.
21567         * lib/mbrlen.c: New file.
21568         * m4/mbrlen.m4: New file.
21569         * modules/mbrlen: New file.
21570         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
21571         HAVE_MBRLEN.
21572         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
21573         HAVE_MBRLEN.
21574         * doc/posix-functions/mbrlen.texi: Document the new module.
21575
21576 2008-12-19  Bruno Haible  <bruno@clisp.org>
21577
21578         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
21579         * modules/mbrtowc (Depends-on): Add verify.
21580         Suggested by Paul Eggert.
21581
21582 2008-12-18  Bruno Haible  <bruno@clisp.org>
21583
21584         * modules/mbsinit-tests: New file.
21585         * tests/test-mbsinit.sh: New file.
21586         * tests/test-mbsinit.c: New file.
21587
21588 2008-12-18  Bruno Haible  <bruno@clisp.org>
21589
21590         * modules/mbrtowc-tests: New file.
21591         * tests/test-mbrtowc1.sh: New file.
21592         * tests/test-mbrtowc2.sh: New file.
21593         * tests/test-mbrtowc3.sh: New file.
21594         * tests/test-mbrtowc4.sh: New file.
21595         * tests/test-mbrtowc.c: New file.
21596
21597         New module 'mbrtowc'.
21598         * lib/wchar.in.h (mbstate_t): Override when the system does not have
21599         mbsinit and mbrtowc.
21600         (mbrtowc): New declaration.
21601         * lib/mbrtowc.c: New file.
21602         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
21603         * modules/mbrtowc: New file.
21604         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
21605         HAVE_MBRTOWC.
21606         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
21607         HAVE_MBRTOWC.
21608         * doc/posix-functions/mbrtowc.texi: Document the new module.
21609
21610 2008-12-18  Bruno Haible  <bruno@clisp.org>
21611
21612         New module 'wctob'.
21613         * lib/wchar.in.h (wctob): New declaration.
21614         * lib/wctob.c: New file.
21615         * m4/wctob.m4: New file.
21616         * modules/wctob: New file.
21617         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
21618         HAVE_WCTOB.
21619         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
21620         * doc/posix-functions/wctob.texi: Document the new module.
21621
21622 2008-12-18  Bruno Haible  <bruno@clisp.org>
21623
21624         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
21625         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
21626
21627 2008-12-18  Simon Josefsson  <simon@josefsson.org>
21628
21629         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
21630         G. Christensen" <tgc@jupiterrise.com>.
21631
21632         * lib/flock.c: Need to include errno.h.  Reported by "Tom
21633         G. Christensen" <tgc@jupiterrise.com>.
21634
21635         * lib/flock.c: Need to include string.h.  Reported by "Tom
21636         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
21637         <ebb9@byu.net>.
21638
21639 2008-12-18  Bruno Haible  <bruno@clisp.org>
21640
21641         * m4/locale-ja.m4: New file, from GNU gettext.
21642
21643 2008-12-17  Bruno Haible  <bruno@clisp.org>
21644
21645         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
21646         Suggested by Eric Blake.
21647
21648 2008-12-17  Bruno Haible  <bruno@clisp.org>
21649
21650         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
21651
21652 2008-12-17  Bruno Haible  <bruno@clisp.org>
21653
21654         * lib/mbsinit.c: Include verify.h. Verify an assumption.
21655         * modules/mbsinit (Depends-on): Add verify.
21656         Suggested by Paul Eggert.
21657
21658 2008-12-17  Bruno Haible  <bruno@clisp.org>
21659
21660         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
21661         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
21662         gl_FUNC_MBRTOWC.
21663         * m4/mbiter.m4 (gl_MBITER): LIkewise.
21664         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
21665         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
21666         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
21667         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
21668         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
21669         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
21670         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
21671         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
21672         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
21673         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
21674         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
21675         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
21676         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
21677         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
21678         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
21679         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
21680         * modules/trim (configure.ac): Likewise.
21681
21682 2008-12-17  Bruno Haible  <bruno@clisp.org>
21683
21684         * modules/btowc-tests: New file.
21685         * tests/test-btowc1.sh: New file.
21686         * tests/test-btowc2.sh: New file.
21687         * tests/test-btowc.c: New file.
21688
21689         New module 'btowc'.
21690         * lib/wchar.in.h (btowc): New declaration.
21691         * lib/btowc.c: New file.
21692         * m4/btowc.m4: New file.
21693         * modules/btowc: New file.
21694         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
21695         HAVE_BTOWC.
21696         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
21697         * doc/posix-functions/btowc.texi: Document the new module.
21698
21699 2008-12-17  Bruno Haible  <bruno@clisp.org>
21700
21701         New module 'mbsinit'.
21702         * lib/wchar.in.h (mbsinit): New declaration.
21703         * lib/mbsinit.c: New file.
21704         * m4/mbsinit.m4: New file.
21705         * modules/mbsinit: New file.
21706         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
21707         HAVE_MBSINIT.
21708         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
21709         HAVE_MBSINIT.
21710         * doc/posix-functions/mbsinit.texi: Document the new module.
21711
21712 2008-12-16  Bruno Haible  <bruno@clisp.org>
21713
21714         * lib/unistd.in.h: Add comment.
21715         * tests/test-environ.c: Don't include <stdlib.h>.
21716
21717 2008-12-16  Bruno Haible  <bruno@clisp.org>
21718
21719         * lib/parse-duration.h (parse_duration): Document return value
21720         convention.
21721         * lib/parse-duration.c: Include specification header first. Add
21722         comments.
21723         (_): Remove macro.
21724         (parse_year_month_day, parse_hour_minute_second): Move side effects
21725         outside of strchr call.
21726         (parse_non_iso8601): Move side effects outside of isspace call.
21727         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
21728         call.
21729
21730 2008-12-16  Bruno Haible  <bruno@clisp.org>
21731
21732         * tests/test-parse-duration.sh: Produce no output when the test
21733         succeeds.
21734
21735 2008-12-16  Bruno Haible  <bruno@clisp.org>
21736
21737         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
21738         expressions.
21739
21740 2008-12-15  Bruno Haible  <bruno@clisp.org>
21741
21742         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
21743         * doc/glibc-functions/flistxattr.texi: Likewise.
21744         * doc/glibc-functions/fopencookie.texi: Likewise.
21745         * doc/glibc-functions/fremovexattr.texi: Likewise.
21746         * doc/glibc-functions/fsetxattr.texi: Likewise.
21747         * doc/glibc-functions/getxattr.texi: Likewise.
21748         * doc/glibc-functions/lgetxattr.texi: Likewise.
21749         * doc/glibc-functions/listxattr.texi: Likewise.
21750         * doc/glibc-functions/llistxattr.texi: Likewise.
21751         * doc/glibc-functions/lremovexattr.texi: Likewise.
21752         * doc/glibc-functions/lsetxattr.texi: Likewise.
21753         * doc/glibc-functions/removexattr.texi: Likewise.
21754         * doc/glibc-functions/setxattr.texi: Likewise.
21755         * doc/posix-functions/open_memstream.texi: Likewise.
21756
21757 2008-12-15  Eric Blake  <ebb9@byu.net>
21758
21759         Update doc for cygwin 1.7.
21760         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
21761         functions.
21762         * doc/posix-functions/fchmodat.texi: Likewise.
21763         * doc/posix-functions/fchownat.texi: Likewise.
21764         * doc/posix-functions/fdopendir.texi: Likewise.
21765         * doc/posix-functions/fmemopen.texi: Likewise.
21766         * doc/posix-functions/freeaddrinfo.texi: Likewise.
21767         * doc/posix-functions/fstatat.texi: Likewise.
21768         * doc/posix-functions/futimens.texi: Likewise.
21769         * doc/posix-functions/gai_strerror.texi: Likewise.
21770         * doc/posix-functions/getaddrinfo.texi: Likewise.
21771         * doc/posix-functions/getnameinfo.texi: Likewise.
21772         * doc/posix-functions/if_freenameindex.texi: Likewise.
21773         * doc/posix-functions/if_indextoname.texi: Likewise.
21774         * doc/posix-functions/if_nameindex.texi: Likewise.
21775         * doc/posix-functions/if_nametoindex.texi: Likewise.
21776         * doc/posix-functions/insque.texi: Likewise.
21777         * doc/posix-functions/linkat.texi: Likewise.
21778         * doc/posix-functions/llrint.texi: Likewise.
21779         * doc/posix-functions/llrintf.texi: Likewise.
21780         * doc/posix-functions/llrintl.texi: Likewise.
21781         * doc/posix-functions/lockf.texi: Likewise.
21782         * doc/posix-functions/lrintl.texi: Likewise.
21783         * doc/posix-functions/mkdirat.texi: Likewise.
21784         * doc/posix-functions/mkfifoat.texi: Likewise.
21785         * doc/posix-functions/mknodat.texi: Likewise.
21786         * doc/posix-functions/mq_close.texi: Likewise.
21787         * doc/posix-functions/mq_getattr.texi: Likewise.
21788         * doc/posix-functions/mq_notify.texi: Likewise.
21789         * doc/posix-functions/mq_open.texi: Likewise.
21790         * doc/posix-functions/mq_receive.texi: Likewise.
21791         * doc/posix-functions/mq_send.texi: Likewise.
21792         * doc/posix-functions/mq_setattr.texi: Likewise.
21793         * doc/posix-functions/mq_timedreceive.texi: Likewise.
21794         * doc/posix-functions/mq_timedsend.texi: Likewise.
21795         * doc/posix-functions/mq_unlink.texi: Likewise.
21796         * doc/posix-functions/open_memstream.texi: Likewise.
21797         * doc/posix-functions/openat.texi: Likewise.
21798         * doc/posix-functions/posix_fadvise.texi: Likewise.
21799         * doc/posix-functions/posix_fallocate.texi: Likewise.
21800         * doc/posix-functions/posix_madvise.texi: Likewise.
21801         * doc/posix-functions/posix_memalign.texi: Likewise.
21802         * doc/posix-functions/posix_openpt.texi: Likewise.
21803         * doc/posix-functions/readlinkat.texi: Likewise.
21804         * doc/posix-functions/remque.texi: Likewise.
21805         * doc/posix-functions/renameat.texi: Likewise.
21806         * doc/posix-functions/rintl.texi: Likewise.
21807         * doc/posix-functions/sem_unlink.texi: Likewise.
21808         * doc/posix-functions/shm_open.texi: Likewise.
21809         * doc/posix-functions/shm_unlink.texi: Likewise.
21810         * doc/posix-functions/signgam.texi: Likewise.
21811         * doc/posix-functions/sigset.texi: Likewise.
21812         * doc/posix-functions/stpcpy.texi: Likewise.
21813         * doc/posix-functions/stpncpy.texi: Likewise.
21814         * doc/posix-functions/strerror.texi: Likewise.
21815         * doc/posix-functions/strtod.texi: Likewise.
21816         * doc/posix-functions/symlinkat.texi: Likewise.
21817         * doc/posix-functions/unlinkat.texi: Likewise.
21818         * doc/posix-functions/utimensat.texi: Likewise.
21819         * doc/glibc-functions/bindresvport.texi: Likewise.
21820         * doc/glibc-functions/dn_expand.texi: Likewise.
21821         * doc/glibc-functions/exp10.texi: Likewise.
21822         * doc/glibc-functions/exp10f.texi: Likewise.
21823         * doc/glibc-functions/fgetxattr.texi: Likewise.
21824         * doc/glibc-functions/flistxattr.texi: Likewise.
21825         * doc/glibc-functions/fopencookie.texi: Likewise.
21826         * doc/glibc-functions/freeifaddrs.texi: Likewise.
21827         * doc/glibc-functions/fremovexattr.texi: Likewise.
21828         * doc/glibc-functions/fsetxattr.texi: Likewise.
21829         * doc/glibc-functions/getifaddrs.texi: Likewise.
21830         * doc/glibc-functions/getxattr.texi: Likewise.
21831         * doc/glibc-functions/lgetxattr.texi: Likewise.
21832         * doc/glibc-functions/listxattr.texi: Likewise.
21833         * doc/glibc-functions/llistxattr.texi: Likewise.
21834         * doc/glibc-functions/lremovexattr.texi: Likewise.
21835         * doc/glibc-functions/lsetxattr.texi: Likewise.
21836         * doc/glibc-functions/pow10.texi: Likewise.
21837         * doc/glibc-functions/pow10f.texi: Likewise.
21838         * doc/glibc-functions/rcmd_af.texi: Likewise.
21839         * doc/glibc-functions/removexattr.texi: Likewise.
21840         * doc/glibc-functions/res_init.texi: Likewise.
21841         * doc/glibc-functions/res_mkquery.texi: Likewise.
21842         * doc/glibc-functions/res_query.texi: Likewise.
21843         * doc/glibc-functions/res_querydomain.texi: Likewise.
21844         * doc/glibc-functions/res_send.texi: Likewise.
21845         * doc/glibc-functions/rresvport_af.texi: Likewise.
21846         * doc/glibc-functions/setxattr.texi: Likewise.
21847         * doc/glibc-functions/strcasestr.texi: Likewise.
21848
21849 2008-12-15  Bruno Haible  <bruno@clisp.org>
21850
21851         Fix compilation error on OSF/1 4.0.
21852         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
21853         <sys/time.h>, simply delegate to the system header.
21854         Reported by Daniel Richard G. <oss@teragram.com>.
21855
21856 2008-12-15  Bruno Haible  <bruno@clisp.org>
21857
21858         * doc/posix-functions/openat.texi: Mention the 'openat' module.
21859         * doc/posix-functions/fchmodat.texi: Likewise.
21860         * doc/posix-functions/fchownat.texi: Likewise.
21861         * doc/posix-functions/fdopendir.texi: Likewise.
21862         * doc/posix-functions/fstatat.texi: Likewise.
21863         * doc/posix-functions/mkdirat.texi: Likewise.
21864         * doc/posix-functions/unlinkat.texi: Likewise.
21865
21866 2008-12-14  Bruno Haible  <bruno@clisp.org>
21867
21868         Update doc for POSIX:2008.
21869         * doc/posix-functions/faccessat.texi: New file.
21870         * doc/posix-functions/fchmodat.texi: New file.
21871         * doc/posix-functions/fchownat.texi: New file.
21872         * doc/posix-functions/fdopendir.texi: New file.
21873         * doc/posix-functions/fstatat.texi: New file.
21874         * doc/posix-functions/futimens.texi: New file.
21875         * doc/posix-functions/linkat.texi: New file.
21876         * doc/posix-functions/mkdirat.texi: New file.
21877         * doc/posix-functions/mkfifoat.texi: New file.
21878         * doc/posix-functions/mknodat.texi: New file.
21879         * doc/posix-functions/open_wmemstream.texi: New file.
21880         * doc/posix-functions/openat.texi: New file.
21881         * doc/posix-functions/psiginfo.texi: New file.
21882         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
21883         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
21884         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
21885         * doc/posix-functions/readlinkat.texi: New file.
21886         * doc/posix-functions/renameat.texi: New file.
21887         * doc/posix-functions/strerror_l.texi: New file.
21888         * doc/posix-functions/symlinkat.texi: New file.
21889         * doc/posix-functions/unlinkat.texi: New file.
21890         * doc/posix-functions/utimensat.texi: New file.
21891         * doc/gnulib.texi (Function Substitutes): Add these subsections.
21892
21893 2008-12-14  Bruno Haible  <bruno@clisp.org>
21894
21895         Update doc for POSIX:2008.
21896         * doc/posix-functions/alphasort.texi: Renamed from
21897         doc/glibc-functions/alphasort.texi.
21898         * doc/posix-functions/dirfd.texi: Renamed from
21899         doc/glibc-functions/dirfd.texi.
21900         * doc/posix-functions/dprintf.texi: Renamed from
21901         doc/glibc-functions/dprintf.texi.
21902         * doc/posix-functions/duplocale.texi: Renamed from
21903         doc/glibc-functions/duplocale.texi.
21904         * doc/posix-functions/fexecve.texi: Renamed from
21905         doc/glibc-functions/fexecve.texi.
21906         * doc/posix-functions/fmemopen.texi: Renamed from
21907         doc/glibc-functions/fmemopen.texi.
21908         * doc/posix-functions/freelocale.texi: Renamed from
21909         doc/glibc-functions/freelocale.texi.
21910         * doc/posix-functions/getdate_err.texi: Renamed from
21911         doc/glibc-functions/getdate_err.texi.
21912         * doc/posix-functions/isalnum_l.texi: Renamed from
21913         doc/glibc-functions/isalnum_l.texi.
21914         * doc/posix-functions/isalpha_l.texi: Renamed from
21915         doc/glibc-functions/isalpha_l.texi.
21916         * doc/posix-functions/isblank_l.texi: Renamed from
21917         doc/glibc-functions/isblank_l.texi.
21918         * doc/posix-functions/iscntrl_l.texi: Renamed from
21919         doc/glibc-functions/iscntrl_l.texi.
21920         * doc/posix-functions/isdigit_l.texi: Renamed from
21921         doc/glibc-functions/isdigit_l.texi.
21922         * doc/posix-functions/isgraph_l.texi: Renamed from
21923         doc/glibc-functions/isgraph_l.texi.
21924         * doc/posix-functions/islower_l.texi: Renamed from
21925         doc/glibc-functions/islower_l.texi.
21926         * doc/posix-functions/isprint_l.texi: Renamed from
21927         doc/glibc-functions/isprint_l.texi.
21928         * doc/posix-functions/ispunct_l.texi: Renamed from
21929         doc/glibc-functions/ispunct_l.texi.
21930         * doc/posix-functions/isspace_l.texi: Renamed from
21931         doc/glibc-functions/isspace_l.texi.
21932         * doc/posix-functions/isupper_l.texi: Renamed from
21933         doc/glibc-functions/isupper_l.texi.
21934         * doc/posix-functions/iswalnum_l.texi: Renamed from
21935         doc/glibc-functions/iswalnum_l.texi.
21936         * doc/posix-functions/iswalpha_l.texi: Renamed from
21937         doc/glibc-functions/iswalpha_l.texi.
21938         * doc/posix-functions/iswblank_l.texi: Renamed from
21939         doc/glibc-functions/iswblank_l.texi.
21940         * doc/posix-functions/iswcntrl_l.texi: Renamed from
21941         doc/glibc-functions/iswcntrl_l.texi.
21942         * doc/posix-functions/iswctype_l.texi: Renamed from
21943         doc/glibc-functions/iswctype_l.texi.
21944         * doc/posix-functions/iswdigit_l.texi: Renamed from
21945         doc/glibc-functions/iswdigit_l.texi.
21946         * doc/posix-functions/iswgraph_l.texi: Renamed from
21947         doc/glibc-functions/iswgraph_l.texi.
21948         * doc/posix-functions/iswlower_l.texi: Renamed from
21949         doc/glibc-functions/iswlower_l.texi.
21950         * doc/posix-functions/iswprint_l.texi: Renamed from
21951         doc/glibc-functions/iswprint_l.texi.
21952         * doc/posix-functions/iswpunct_l.texi: Renamed from
21953         doc/glibc-functions/iswpunct_l.texi.
21954         * doc/posix-functions/iswspace_l.texi: Renamed from
21955         doc/glibc-functions/iswspace_l.texi.
21956         * doc/posix-functions/iswupper_l.texi: Renamed from
21957         doc/glibc-functions/iswupper_l.texi.
21958         * doc/posix-functions/iswxdigit_l.texi: Renamed from
21959         doc/glibc-functions/iswxdigit_l.texi.
21960         * doc/posix-functions/isxdigit_l.texi: Renamed from
21961         doc/glibc-functions/isxdigit_l.texi.
21962         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
21963         doc/glibc-functions/mbsnrtowcs.texi.
21964         * doc/posix-functions/mkdtemp.texi: Renamed from
21965         doc/glibc-functions/mkdtemp.texi.
21966         * doc/posix-functions/newlocale.texi: Renamed from
21967         doc/glibc-functions/newlocale.texi.
21968         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
21969         doc/glibc-functions/nl_langinfo_l.texi.
21970         * doc/posix-functions/open_memstream.texi: Renamed from
21971         doc/glibc-functions/open_memstream.texi.
21972         * doc/posix-functions/opterr.texi: Renamed from
21973         doc/glibc-functions/opterr.texi.
21974         * doc/posix-functions/optind.texi: Renamed from
21975         doc/glibc-functions/optind.texi.
21976         * doc/posix-functions/optopt.texi: Renamed from
21977         doc/glibc-functions/optopt.texi.
21978         * doc/posix-functions/psignal.texi: Renamed from
21979         doc/glibc-functions/psignal.texi.
21980         * doc/posix-functions/scandir.texi: Renamed from
21981         doc/glibc-functions/scandir.texi.
21982         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
21983         doc/glibc-functions/sched_get_priority_min.texi.
21984         * doc/posix-functions/signgam.texi: Renamed from
21985         doc/glibc-functions/signgam.texi.
21986         * doc/posix-functions/stpcpy.texi: Renamed from
21987         doc/glibc-functions/stpcpy.texi.
21988         * doc/posix-functions/stpncpy.texi: Renamed from
21989         doc/glibc-functions/stpncpy.texi.
21990         * doc/posix-functions/strcasecmp_l.texi: Renamed from
21991         doc/glibc-functions/strcasecmp_l.texi.
21992         * doc/posix-functions/strcoll_l.texi: Renamed from
21993         doc/glibc-functions/strcoll_l.texi.
21994         * doc/posix-functions/strfmon_l.texi: Renamed from
21995         doc/glibc-functions/strfmon_l.texi.
21996         * doc/posix-functions/strftime_l.texi: Renamed from
21997         doc/glibc-functions/strftime_l.texi.
21998         * doc/posix-functions/strncasecmp_l.texi: Renamed from
21999         doc/glibc-functions/strncasecmp_l.texi.
22000         * doc/posix-functions/strndup.texi: Renamed from
22001         doc/glibc-functions/strndup.texi.
22002         * doc/posix-functions/strnlen.texi: Renamed from
22003         doc/glibc-functions/strnlen.texi.
22004         * doc/posix-functions/strsignal.texi: Renamed from
22005         doc/glibc-functions/strsignal.texi.
22006         * doc/posix-functions/strxfrm_l.texi: Renamed from
22007         doc/glibc-functions/strxfrm_l.texi.
22008         * doc/posix-functions/timer_gettime.texi: Renamed from
22009         doc/glibc-functions/timer_gettime.texi.
22010         * doc/posix-functions/tolower_l.texi: Renamed from
22011         doc/glibc-functions/tolower_l.texi.
22012         * doc/posix-functions/toupper_l.texi: Renamed from
22013         doc/glibc-functions/toupper_l.texi.
22014         * doc/posix-functions/towctrans_l.texi: Renamed from
22015         doc/glibc-functions/towctrans_l.texi.
22016         * doc/posix-functions/towlower_l.texi: Renamed from
22017         doc/glibc-functions/towlower_l.texi.
22018         * doc/posix-functions/towupper_l.texi: Renamed from
22019         doc/glibc-functions/towupper_l.texi.
22020         * doc/posix-functions/uselocale.texi: Renamed from
22021         doc/glibc-functions/uselocale.texi.
22022         * doc/posix-functions/vdprintf.texi: Renamed from
22023         doc/glibc-functions/vdprintf.texi.
22024         * doc/posix-functions/wcpcpy.texi:
22025         Renamed from doc/glibc-functions/wcpcpy.texi.
22026         * doc/posix-functions/wcpncpy.texi: Renamed from
22027         doc/glibc-functions/wcpncpy.texi.
22028         * doc/posix-functions/wcscasecmp.texi: Renamed from
22029         doc/glibc-functions/wcscasecmp.texi.
22030         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
22031         doc/glibc-functions/wcscasecmp_l.texi.
22032         * doc/posix-functions/wcscoll_l.texi: Renamed from
22033         doc/glibc-functions/wcscoll_l.texi.
22034         * doc/posix-functions/wcsdup.texi: Renamed from
22035         doc/glibc-functions/wcsdup.texi.
22036         * doc/posix-functions/wcsncasecmp.texi: Renamed from
22037         doc/glibc-functions/wcsncasecmp.texi.
22038         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
22039         doc/glibc-functions/wcsncasecmp_l.texi.
22040         * doc/posix-functions/wcsnlen.texi: Renamed from
22041         doc/glibc-functions/wcsnlen.texi.
22042         * doc/posix-functions/wcsnrtombs.texi: Renamed from
22043         doc/glibc-functions/wcsnrtombs.texi.
22044         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
22045         doc/glibc-functions/wcsxfrm_l.texi.
22046         * doc/posix-functions/wctrans_l.texi: Renamed from
22047         doc/glibc-functions/wctrans_l.texi.
22048         * doc/posix-functions/wctype_l.texi: Renamed from
22049         doc/glibc-functions/wctype_l.texi.
22050         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22051         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
22052         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
22053         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
22054         these subsections.
22055         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
22056         Remove sections.
22057
22058 2008-12-14  Bruno Haible  <bruno@clisp.org>
22059
22060         Update doc for POSIX:2008.
22061         * doc/posix-functions/*.texi: Update URL of POSIX specification.
22062
22063 2008-12-14  Bruno Haible  <bruno@clisp.org>
22064
22065         Update doc for POSIX:2008.
22066         * doc/pastposix-functions/bcmp.texi: Renamed from
22067         doc/posix-functions/bcmp.texi.
22068         * doc/pastposix-functions/bcopy.texi: Renamed from
22069         doc/posix-functions/bcopy.texi.
22070         * doc/pastposix-functions/bsd_signal.texi: Renamed from
22071         doc/posix-functions/bsd_signal.texi.
22072         * doc/pastposix-functions/bzero.texi: Renamed from
22073         doc/posix-functions/bzero.texi.
22074         * doc/pastposix-functions/ecvt.texi: Renamed from
22075         doc/posix-functions/ecvt.texi.
22076         * doc/pastposix-functions/fcvt.texi: Renamed from
22077         doc/posix-functions/fcvt.texi.
22078         * doc/pastposix-functions/ftime.texi: Renamed from
22079         doc/posix-functions/ftime.texi.
22080         * doc/pastposix-functions/gcvt.texi: Renamed from
22081         doc/posix-functions/gcvt.texi.
22082         * doc/pastposix-functions/getcontext.texi: Renamed from
22083         doc/posix-functions/getcontext.texi.
22084         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
22085         doc/posix-functions/gethostbyaddr.texi.
22086         * doc/pastposix-functions/gethostbyname.texi: Renamed from
22087         doc/posix-functions/gethostbyname.texi.
22088         * doc/pastposix-functions/getwd.texi: Renamed from
22089         doc/posix-functions/getwd.texi.
22090         * doc/pastposix-functions/h_errno.texi: Renamed from
22091         doc/posix-functions/h_errno.texi.
22092         * doc/pastposix-functions/index.texi: Renamed from
22093         doc/posix-functions/index.texi.
22094         * doc/pastposix-functions/makecontext.texi: Renamed from
22095         doc/posix-functions/makecontext.texi.
22096         * doc/pastposix-functions/mktemp.texi: Renamed from
22097         doc/posix-functions/mktemp.texi.
22098         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
22099         doc/posix-functions/pthread_attr_getstackaddr.texi.
22100         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
22101         doc/posix-functions/pthread_attr_setstackaddr.texi.
22102         * doc/pastposix-functions/rindex.texi: Renamed from
22103         doc/posix-functions/rindex.texi.
22104         * doc/pastposix-functions/scalb.texi: Renamed from
22105         doc/posix-functions/scalb.texi.
22106         * doc/pastposix-functions/setcontext.texi: Renamed from
22107         doc/posix-functions/setcontext.texi.
22108         * doc/pastposix-functions/swapcontext.texi: Renamed from
22109         doc/posix-functions/swapcontext.texi.
22110         * doc/pastposix-functions/ualarm.texi: Renamed from
22111         doc/posix-functions/ualarm.texi.
22112         * doc/pastposix-functions/usleep.texi: Renamed from
22113         doc/posix-functions/usleep.texi.
22114         * doc/pastposix-functions/vfork.texi: Renamed from
22115         doc/posix-functions/vfork.texi.
22116         * doc/pastposix-functions/wcswcs.texi: Renamed from
22117         doc/posix-functions/wcswcs.texi.
22118         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
22119         (Function Substitutes): Update.
22120
22121 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22122
22123         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
22124         m4/strerror.m4.
22125
22126 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22127             Bruno Haible  <bruno@clisp.org>
22128
22129         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
22130
22131 2008-12-13  Bruno Haible  <bruno@clisp.org>
22132
22133         * modules/strtoull (Depends-on): Remove unistd.
22134
22135 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22136
22137         * modules/strtoull (Depends-on): Add stdlib.
22138
22139 2008-12-11  Simon Josefsson  <simon@josefsson.org>
22140
22141         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
22142
22143 2008-12-10  Jim Meyering  <meyering@redhat.com>
22144
22145         gl_ASSERT: don't say assertions are disabled when they're not
22146         * m4/assert.m4 (gl_ASSERT): Do not make configure report
22147         "checking whether to enable assertions... no", when they are in
22148         fact enabled.  This is solely a bug in the output of configure.
22149         In spite of saying "no", NDEBUG was not defined in that case.
22150         Also, as noted by Eric Blake, leave assertions enabled upon
22151         --enable-assert=INVALID.
22152
22153 2008-12-10  Bruno Haible  <bruno@clisp.org>
22154
22155         Change MODULES.html to refer to POSIX:2008 where possible.
22156         * MODULES.html.sh (POSIX2008_URL): New variable.
22157         (posix_headers): Remove sys/timeb, ucontext.
22158         (posix2001_headers): New variable.
22159         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
22160         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
22161         index, makecontext, mktemp, pthread_attr_getstackaddr,
22162         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
22163         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
22164         (posix2001_functions): New variable.
22165         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
22166         otherwise.
22167
22168 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22169
22170         add missing include to parse-duration.c
22171         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
22172         * modules/parse-duration (Depends-on): Add xalloc.
22173
22174         fix sed script reading maint.mk
22175         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
22176         (syntax-check-rules): Use it.
22177
22178 2008-12-09  Bruno Haible  <bruno@clisp.org>
22179
22180         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
22181         MacOS X 10.4/PowerPC.
22182         Reported by Simon Josefsson.
22183
22184 2008-12-08  Jim Meyering  <meyering@redhat.com>
22185
22186         work around mingw's lack of some S_IF definitions
22187         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
22188         Reported by Simon Josefsson.
22189
22190 2008-12-08  Bruno Haible  <bruno@clisp.org>
22191
22192         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
22193         applied to variables. Needed on MacOS X 10.4/PowerPC.
22194         Reported by Simon Josefsson.
22195
22196 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
22197         and Eric Blake  <ebb9@byu.net>
22198
22199         assert: honor --enable-assert
22200         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
22201         order to honor --enable-assert, rather than treating it as a
22202         synonym for --disable-assert.
22203
22204 2008-12-08  Jim Meyering  <meyering@redhat.com>
22205
22206         * lib/posixtm.c: Remove now-useless declaration of mktime.
22207
22208         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
22209
22210 2008-12-07  Bruno Haible  <bruno@clisp.org>
22211
22212         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
22213         test_once): Mark functions as static.
22214         * tests/test-tls.c (test_tls): Likewise.
22215
22216 2008-12-07  Bruno Haible  <bruno@clisp.org>
22217
22218         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
22219         iconv_register_autodetect.
22220
22221 2008-12-07  Jim Meyering  <meyering@redhat.com>
22222
22223         posixtm.c: avoid a warning
22224         * lib/posixtm.c (posixtime): Don't initialize tm0.
22225         It's no longer needed to placate gcc4's -Wuninitialized,
22226         and the attempt to placate would elicit a new warning.
22227
22228         unicodeio.c: mark unused parameters
22229         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22230         (fallback_failure_callback): Likewise.
22231
22232 2008-12-07  Bruno Haible  <bruno@clisp.org>
22233
22234         * gnulib-tool (func_create_testdir): When building the tests
22235         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
22236         Reported by Simon Josefsson.
22237
22238 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22239
22240         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
22241
22242 2008-12-06  Bruno Haible  <bruno@clisp.org>
22243
22244         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
22245         Suggested by Eric Blake.
22246
22247 2008-12-06  Bruno Haible  <bruno@clisp.org>
22248
22249         Fix a c-stack test failure on MacOS X.
22250         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
22251         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
22252         handler for SIGBUS as well.
22253         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
22254         install a signal handler for SIGBUS as well.
22255         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
22256
22257 2008-12-06  Bruno Haible  <bruno@clisp.org>
22258
22259         Advocacy documentation.
22260         * doc/gnulib-intro.texi (Benefits): New section.
22261         * doc/gnulib.texi: Update.
22262
22263 2008-12-06  Bruno Haible  <bruno@clisp.org>
22264
22265         Document the 'manywarnings' module.
22266         * doc/manywarnings.texi: New file.
22267         * doc/gnulib.texi: Include it.
22268
22269 2008-12-05  Eric Blake  <ebb9@byu.net>
22270
22271         tests: silence some gcc warnings
22272         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
22273         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
22274         type mismatches.
22275
22276 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22277             Bruno Haible  <bruno@clisp.org>
22278
22279         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
22280
22281 2008-11-29  Jim Meyering  <meyering@redhat.com>
22282
22283         unicodeio.c: mark unused parameters
22284         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22285         (fallback_failure_callback): Likewise.
22286
22287         fts: fix a thinko
22288         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
22289         (set_stat_type): Return S_IF*-valued "type" directly.
22290         Prompted by James Youngman's spotting a related bug.
22291         Confirmed by further testing through find.
22292
22293         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
22294         * lib/fts.c (D_TYPE): Define.
22295         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
22296         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
22297         (s_ifmt_shift_bits): New function.
22298         (set_stat_type): New function.
22299         (fts_build): When not calling fts_stat, call set_stat_type
22300         to propagate dirent.d_type info to fts_read caller.
22301         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
22302         fts_statp->st_mode type information may be valid.
22303
22304 2008-11-28  Simon Josefsson  <simon@josefsson.org>
22305
22306         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
22307         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
22308         <sds@gnu.org>.
22309
22310 2008-11-20  Bruno Haible  <bruno@clisp.org>
22311
22312         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
22313         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
22314         INCLUDE_NEXT.
22315         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
22316         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
22317         * modules/math (Makefile.am): Substitute
22318         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
22319         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22320
22321 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
22322             Bruno Haible  <bruno@clisp.org>
22323
22324         * lib/stdint.in.h: Define all type macros so that their expansion is
22325         a single typedef'ed token. Fixes a compilation failure in Boost which
22326         does "using ::int8_t;".
22327
22328 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22329
22330         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
22331         gl_MANYWARN_ALL_GCC.
22332         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
22333         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
22334         * modules/manywarnings: New file.
22335         * MODULES.html.sh: Mention manywarnings module.
22336
22337 2008-11-18  Bruno Haible  <bruno@clisp.org>
22338
22339         * doc/gnulib-tool.texi (Unit tests): New section.
22340
22341 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22342
22343         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
22344         paths like 'lib/po/foo.po'.
22345
22346 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22347
22348         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
22349         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
22350
22351 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22352
22353         * m4/warnings.m4: Use CPPFLAGS to really check whether the
22354         parameter works.
22355
22356 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22357
22358         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
22359
22360 2008-11-17  Bruce Korb  <bkorb@gnu.org>
22361
22362         * modules/parse-duration-tests: New file.
22363         * tests/test-parse-duration.sh: New file.
22364         * tests/test-parse-duration.c: New file.
22365
22366         New module 'parse-duration'.
22367         * lib/parse-duration.h: New file.
22368         * lib/parse-duration.c: New file.
22369         * modules/parse-duration: New file.
22370
22371 2008-11-17  Bruno Haible  <bruno@clisp.org>
22372
22373         * tests/test-select-out.sh: Comment out the first pipe test.
22374         Reported by Simon Josefsson.
22375
22376 2008-11-17  Bruno Haible  <bruno@clisp.org>
22377
22378         * modules/getaddrinfo (Depends-on): Add servent, hostent.
22379         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
22380         gl_HOSTENT.
22381
22382 2008-11-17  Bruno Haible  <bruno@clisp.org>
22383
22384         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
22385         -lnetwork and -lnet. Needed for Haiku and BeOS.
22386
22387 2008-11-16  Bruno Haible  <bruno@clisp.org>
22388
22389         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
22390
22391 2008-11-16  Bruno Haible  <bruno@clisp.org>
22392
22393         Avoid test failure on Haiku.
22394         * tests/test-fsync.c: Include <errno.h>.
22395         (main): Don't require that fsync (0) fails.
22396
22397 2008-11-15  Bruno Haible  <bruno@clisp.org>
22398
22399         New module 'hostent'.
22400         * modules/hostent: New file.
22401         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
22402
22403 2008-11-15  Bruno Haible  <bruno@clisp.org>
22404
22405         New module 'servent'.
22406         * modules/servent: New file.
22407         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
22408
22409 2008-11-15  Bruno Haible  <bruno@clisp.org>
22410
22411         Avoid generating same test program with two different rules.
22412         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
22413         test-frexp to test-frexp-nolibm.
22414         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
22415         test-frexpl to test-frexpl-nolibm.
22416
22417 2008-11-15  Bruno Haible  <bruno@clisp.org>
22418
22419         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
22420         $(FREXPL_LIBM).
22421
22422 2008-11-15  Bruno Haible  <bruno@clisp.org>
22423
22424         * lib/netdb.in.h: Activate the definitions also when the system's
22425         <netdb.h> has 'struct addrinfo'.
22426         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
22427         EAI_OVERFLOW or AI_NUMERICSERV.
22428         * doc/posix-headers/netdb.texi: Document the problem.
22429
22430 2008-11-15  Bruno Haible  <bruno@clisp.org>
22431
22432         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
22433
22434         Make the 'sched' module work on platforms where <sched.h> exists but
22435         is incomplete (such as Haiku).
22436         * lib/sched.in.h; Include the system's <sched.h> if it exists.
22437         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
22438         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
22439         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
22440         HAVE_STRUCT_SCHED_PARAM.
22441         * modules/sched (Depends-on): Add include_next.
22442         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
22443         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
22444         * doc/posix-headers/sched.texi: Document the issue.
22445
22446 2008-11-13  Jim Meyering  <meyering@redhat.com>
22447
22448         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
22449         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
22450         test would fail due to the difference in the Report bugs to ...
22451         line.  The expected address is empty, "<>", while the actual
22452         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
22453
22454 2008-11-12  Bruno Haible  <bruno@clisp.org>
22455
22456         lstat: don't compile lstat.c on systems lacking lstat
22457         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
22458         which don't have lstat; this is handled by lib/sys_stat.in.h already.
22459         Reported by Daniel P. Berrange via Jim Meyering.
22460
22461 2008-11-12  Jim Meyering  <meyering@redhat.com>
22462
22463         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
22464
22465 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22466
22467         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
22468         instead.
22469
22470 2008-11-12  Bruno Haible  <bruno@clisp.org>
22471
22472         * lib/unicodeio.c: Include unistr.h.
22473         (utf8_wctomb): Remove function.
22474         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
22475
22476 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22477
22478         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
22479         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
22480         <bruno@clisp.org>.
22481         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
22482
22483 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22484
22485         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
22486         * doc/gnulib.texi: Add section for warnings.
22487
22488 2008-11-11  Bruno Haible  <bruno@clisp.org>
22489
22490         * lib/sockets.h: Add a comment.
22491
22492 2008-11-11  Karl Berry  <karl@gnu.org>
22493
22494         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
22495
22496 2008-11-11  Eric Blake  <ebb9@byu.net>
22497
22498         fdl.texi: avoid git symlinks
22499         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
22500
22501 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22502
22503         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
22504
22505 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22506
22507         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
22508         (gl_WARN_ADD): Substitute $2 if literal.
22509
22510 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22511
22512         * m4/warning.m4: Remove.
22513
22514 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22515
22516         * m4/warnings.m4: Almost complete rewrite. :-)
22517
22518 2008-11-10  Simon Josefsson  <simon@josefsson.org>
22519
22520         * modules/warnings: New module.
22521         * m4/warnings.m4: New file.
22522         * MODULES.html.sh: Mention warnings module.
22523         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
22524         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22525
22526 2008-11-10  Eric Blake  <ebb9@byu.net>
22527
22528         fdl.texi: make a symlink to the latest version
22529         * doc/standards.texi: Revert today's earlier change.
22530         * doc/fdl-1.2.texi: Rename from old fdl.texi...
22531         * doc/fdl.texi: ...and replace this with a symlink to the newer
22532         fdl-1.3.texi.
22533
22534 2008-11-10  Bruno Haible  <bruno@clisp.org>
22535
22536         * tests/test-select-fd.c (main): Accept the result file name as fourth
22537         argument.
22538         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
22539         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
22540
22541 2008-11-10  Bruno Haible  <bruno@clisp.org>
22542
22543         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
22544         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
22545         as autoconf-substituted macros.
22546         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
22547         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
22548         gl_NETDB_H_DEFAULTS. Set these variables.
22549         * modules/netdb (Makefile.am): Substitute these variables.
22550
22551 2008-11-10  Eric Blake  <ebb9@byu.net>
22552
22553         standards.texi: include correct file for FDL 1.3
22554         * doc/standards.texi (GNU Free Documentation License): Change
22555         include file to pull in FDL 1.3, not 1.2.
22556
22557         fdl.texi: revert accidental change to license
22558         * doc/fdl.texi: This is FDL 1.2, not 1.3.
22559
22560 2008-11-10  Bruno Haible  <bruno@clisp.org>
22561
22562         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
22563         cross-compiling guesses also when the native compile gives no result.
22564
22565 2008-11-10  Bruno Haible  <bruno@clisp.org>
22566
22567         * lib/spawni.c (__spawni): Force variable into the stack.
22568
22569 2008-11-10  Bruno Haible  <bruno@clisp.org>
22570
22571         Add support for Haiku.
22572         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
22573         glibc and BeOS, but also on Haiku.
22574         * lib/fpurge.c (fpurge): Likewise.
22575         * lib/freadable.c (freadable): Likewise.
22576         * lib/freadahead.c (freadahead): Likewise.
22577         * lib/freading.c (freading): Likewise.
22578         * lib/freadptr.c (freadptr): Likewise.
22579         * lib/freadseek.c (freadptrinc): Likewise.
22580         * lib/fseeko.c (rpl_fseeko): Likewise.
22581         * lib/fseterr.c (fseterr): Likewise.
22582         * lib/fwritable.c (fwritable): Likewise.
22583         * lib/fwriting.c (fwriting): Likewise.
22584         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
22585
22586 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
22587
22588         * lib/config.charset: Treat Haiku like BeOS.
22589
22590 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
22591
22592         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
22593         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
22594
22595 2008-11-08  Bruno Haible  <bruno@clisp.org>
22596
22597         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
22598         AC_CACHE_CHECK.
22599
22600 2008-11-08  Bruno Haible  <bruno@clisp.org>
22601
22602         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
22603
22604 2008-11-08  Bruno Haible  <bruno@clisp.org>
22605
22606         * tests/test-select-fd.c: New file.
22607         * tests/test-select-in.sh: New file.
22608         * tests/test-select-out.sh: New file.
22609         * tests/test-select-stdin.c: New file.
22610         * modules/select-tests (Files): Add the new files.
22611         (Depends-on): Add gettimeofday.
22612         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
22613         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
22614         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
22615
22616 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
22617             Bruno Haible  <bruno@clisp.org>
22618
22619         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
22620
22621 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
22622
22623         * build-aux/pmccabe2html: Added support for C++ source files.
22624
22625 2008-11-05  Ben Pfaff  <blp@gnu.org>
22626
22627         Fix lib/close.c build on Windows.
22628         * modules/close (Files): Add lib/w32sock.h.
22629
22630 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
22631
22632         Accept Bison's NEWS format.
22633         * build-aux/announce-gen (print_news_deltas): Tweak
22634         $re_prefix.
22635
22636 2008-11-04  Bruno Haible  <bruno@clisp.org>
22637
22638         * modules/random_r (Maintainer): Add glibc.
22639
22640 2008-11-04  Simon Josefsson  <simon@josefsson.org>
22641
22642         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
22643         by karl@freefriends.org (Karl Berry).
22644         * doc/alloca.texi: Likewise.
22645         * doc/c-ctype.texi: Likewise.
22646         * doc/c-strcase.texi: Likewise.
22647         * doc/c-strcaseeq.texi: Likewise.
22648         * doc/c-strcasestr.texi: Likewise.
22649         * doc/c-strstr.texi: Likewise.
22650         * doc/c-strtod.texi: Likewise.
22651         * doc/c-strtold.texi: Likewise.
22652         * doc/ctime.texi: Likewise.
22653         * doc/error.texi: Likewise.
22654         * doc/fdl.texi: Likewise.
22655         * doc/gcd.texi: Likewise.
22656         * doc/getdate.texi: Likewise.
22657         * doc/gnulib-intro.texi: Likewise.
22658         * doc/gnulib-tool.texi: Likewise.
22659         * doc/gnulib.texi: Likewise.
22660         * doc/inet_ntoa.texi: Likewise.
22661         * doc/maintain.texi: Likewise.
22662         * doc/make-stds.texi: Likewise.
22663         * doc/quote.texi: Likewise.
22664         * doc/regexprops-generic.texi: Likewise.
22665         * doc/standards.texi: Likewise.
22666         * doc/verify.texi: Likewise.
22667         * doc/visibility.texi: Likewise.
22668         * doc/gnulib.texi (GNU Free Documentation License): Include
22669         fdl-1.3.texi instead of fdl.texi.
22670
22671 2008-11-04  Simon Josefsson  <simon@josefsson.org>
22672
22673         * doc/fdl-1.3.texi: New file, from
22674         <http://www.gnu.org/licenses/fdl-1.3.texi>.
22675         * modules/fdl-1.3: Add.
22676         * MODULES.html.sh: Add fdl-1.3.
22677
22678 2008-11-03  Bruno Haible  <bruno@clisp.org>
22679
22680         Make determination of absolute name of header file work with AIX xlc.
22681         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
22682         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
22683         preprocessing.
22684         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
22685         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
22686
22687 2008-11-03  Simon Josefsson  <simon@josefsson.org>
22688
22689         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
22690         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
22691         <ludo@gnu.org>.
22692
22693 2008-11-02  Bruno Haible  <bruno@clisp.org>
22694
22695         Mark 'strpbrk' obsolete.
22696         * modules/strpbrk (Status, Notice): New sections.
22697         * modules/strtok_r (Depends-on): Add strpbrk.
22698
22699 2008-11-02  Bruno Haible  <bruno@clisp.org>
22700
22701         Mark 'strdup' obsolete.
22702         * modules/strdup (Status, Notice): New sections.
22703         * modules/findprog (Depends-on): Add strdup.
22704         * modules/getaddrinfo (Depends-on): Likewise.
22705         * modules/localename (Depends-on): Likewise.
22706         * modules/relocatable-lib (Depends-on): Likewise.
22707         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
22708         * modules/relocatable-prog (Depends-on): Likewise.
22709         * modules/trim (Depends-on): Likewise.
22710         * modules/unictype/gen-ctype (Depends-on): Likewise.
22711         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
22712
22713 2008-11-02  Bruno Haible  <bruno@clisp.org>
22714
22715         Mark 'strcspn' obsolete.
22716         * modules/strcspn (Status, Notice): New sections.
22717
22718 2008-11-02  Bruno Haible  <bruno@clisp.org>
22719
22720         Mark 'rmdir' obsolete.
22721         * modules/rmdir (Status, Notice): New sections.
22722         * modules/clean-temp (Depends-on): Add rmdir.
22723         * modules/openat (Depends-on): Likewise.
22724
22725 2008-11-02  Bruno Haible  <bruno@clisp.org>
22726
22727         Mark 'raise' obsolete.
22728         * modules/raise (Status, Notice): New sections.
22729         (Include): Specify <signal.h>.
22730         * modules/stdio (Depends-on): Add raise.
22731         * modules/write (Depends-on): Likewise.
22732
22733 2008-11-02  Bruno Haible  <bruno@clisp.org>
22734
22735         Mark 'memset' obsolete.
22736         * modules/memset (Status, Notice): New sections.
22737
22738 2008-11-02  Bruno Haible  <bruno@clisp.org>
22739
22740         Mark 'memmove' obsolete.
22741         * modules/memmove (Status, Notice): New sections.
22742         * modules/argp (Depends-on): Add memmove.
22743         * modules/argz (Depends-on): Likewise.
22744         * modules/canonicalize (Depends-on): Likewise.
22745         * modules/canonicalize-lgpl (Depends-on): Likewise.
22746         * modules/fts (Depends-on): Likewise.
22747         * modules/getcwd (Depends-on): Likewise.
22748         * modules/human (Depends-on): Likewise.
22749         * modules/regex (Depends-on): Likewise.
22750         * modules/striconveh (Depends-on): Likewise.
22751         * modules/trim (Depends-on): Likewise.
22752         * modules/unistr/u8-move (Depends-on): Likewise.
22753         * modules/unistr/u16-move (Depends-on): Likewise.
22754         * modules/unistr/u32-move (Depends-on): Likewise.
22755
22756 2008-11-02  Bruno Haible  <bruno@clisp.org>
22757
22758         Mark 'memcpy' obsolete.
22759         * modules/memcpy (Status, Notice): New sections.
22760
22761 2008-11-02  Bruno Haible  <bruno@clisp.org>
22762
22763         Mark 'memcmp' obsolete.
22764         * modules/memcmp (Status, Notice): New sections.
22765         * modules/argmatch (Depends-on): Add memchr.
22766         * modules/backupfile (Depends-on): Likewise.
22767         * modules/c-strcasestr (Depends-on): Likewise.
22768         * modules/crypto/des (Depends-on): Likewise.
22769         * modules/csharpcomp (Depends-on): Likewise.
22770         * modules/fnmatch (Depends-on): Likewise.
22771         * modules/git-merge-changelog (Depends-on): Likewise.
22772         * modules/isnand (Depends-on): Likewise.
22773         * modules/isnand-nolibm (Depends-on): Likewise.
22774         * modules/isnanf (Depends-on): Likewise.
22775         * modules/isnanf-nolibm (Depends-on): Likewise.
22776         * modules/isnanl (Depends-on): Likewise.
22777         * modules/isnanl-nolibm (Depends-on): Likewise.
22778         * modules/mbchar (Depends-on): Likewise.
22779         * modules/memcoll (Depends-on): Likewise.
22780         * modules/quotearg (Depends-on): Likewise.
22781         * modules/regex (Depends-on): Likewise.
22782         * modules/relocatable-prog (Depends-on): Likewise.
22783         * modules/same (Depends-on): Likewise.
22784         * modules/signbit (Depends-on): Likewise.
22785         * modules/strcasestr-simple (Depends-on): Likewise.
22786         * modules/unictype/gen-ctype (Depends-on): Likewise.
22787         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
22788         * modules/uniname/uniname (Depends-on): Likewise.
22789         * modules/unistr/u8-cmp (Depends-on): Likewise.
22790
22791 2008-11-02  Bruno Haible  <bruno@clisp.org>
22792
22793         Mark 'memchr' obsolete.
22794         * modules/memchr (Status, Notice): New sections.
22795         * modules/argp (Depends-on): Add memchr.
22796         * modules/base64 (Depends-on): Likewise.
22797         * modules/c-strcasestr (Depends-on): Likewise.
22798         * modules/chdir-long (Depends-on): Likewise.
22799         * modules/fnmatch (Depends-on): Likewise.
22800         * modules/getsubopt (Depends-on): Likewise.
22801         * modules/git-merge-changelog (Depends-on): Likewise.
22802         * modules/glob (Depends-on): Likewise.
22803         * modules/strcasestr-simple (Depends-on): Likewise.
22804         * modules/strnlen (Depends-on): Likewise.
22805
22806 2008-11-02  Bruno Haible  <bruno@clisp.org>
22807
22808         Mark 'atexit' obsolete.
22809         * modules/atexit (Status, Notice): New sections.
22810         * modules/chdir-long (Depends-on): Add atexit.
22811         * modules/wait-process (Depends-on): Likewise.
22812
22813 2008-11-02  Bruno Haible  <bruno@clisp.org>
22814
22815         * gnulib-tool: New option --with-obsolete.
22816         (func_usage): Document it.
22817         (func_modules_transitive_closure): Drop obsolete dependencies if
22818         incobsolete is not true.
22819         (func_import): Read and save the incobsolete variable to the cache.
22820
22821 2008-11-02  Bruno Haible  <bruno@clisp.org>
22822
22823         * modules/TEMPLATE-EXTENDED: New field 'Status'.
22824         * gnulib-tool: New option --extract-status.
22825         (func_usage): Document it.
22826         (sed_extract_prog): Recognize it.
22827         (func_get_status): New function.
22828
22829 2008-10-30  Simon Josefsson  <simon@josefsson.org>
22830
22831         * modules/sockets (License): Change from LGPL to LGPLv2+.
22832
22833 2008-10-28  Simon Josefsson  <simon@josefsson.org>
22834
22835         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
22836
22837 2008-10-28  Simon Josefsson  <simon@josefsson.org>
22838
22839         * MODULES.html.sh (Support for systems lacking POSIX:2001):
22840         Mention times and sys_times.
22841         * modules/sys_times, modules/sys_times-tests: New modules.
22842         * modules/times, modules/times-tests: Likewise
22843         * m4/sys_times_h.m4: New file.
22844         * lib/sys_times.in.h: Likewise
22845         * lib/times.c: Likewise.
22846         * tests/test-sys_times.c: Likewise.
22847         * tests/test-times.c: Likewise.
22848         * doc/posix-headers/sys_times.texi: Update.
22849         * doc/posix-functions/times.texi: Update.
22850
22851 2008-10-28  Jim Meyering  <meyering@redhat.com>
22852
22853         * modules/tempname (Depends-on): Add lstat.
22854
22855         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
22856
22857 2008-10-28  Simon Josefsson  <simon@josefsson.org>
22858
22859         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
22860         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
22861         using idiom used elsewhere in gnulib.
22862
22863 2008-10-27  Jim Meyering  <meyering@redhat.com>
22864
22865         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
22866
22867 2008-10-27  Simon Josefsson  <simon@josefsson.org>
22868
22869         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
22870         TESTS_ENVIRONMENT, for shell scripts that needs to call built
22871         programs.
22872         * tests/test-argp-2.sh: Use $EXEEXT when needed.
22873
22874 2008-10-27  Simon Josefsson  <simon@josefsson.org>
22875
22876         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
22877
22878 2008-10-27  Bruno Haible  <bruno@clisp.org>
22879
22880         * tests/test-lstat.c: Include <stdio.h>.
22881
22882 2008-10-27  Simon Josefsson  <simon@josefsson.org>
22883
22884         * modules/lstat-tests: New module.
22885         * tests/test-lstat.c: New file.
22886
22887 2008-10-26  Jim Meyering  <meyering@redhat.com>
22888
22889         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
22890
22891 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22892             Bruno Haible  <bruno@clisp.org>
22893
22894         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
22895         * modules/configmake (Include): Add a note that the include must come
22896         after all system headers.
22897         * lib/javaversion.c: Include configmake.h after all other includes.
22898
22899 2008-10-26  Bruno Haible  <bruno@clisp.org>
22900
22901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
22902         HAVE_STRUCT_RANDOM_DATA to 1.
22903         (gl_STDLIB_H): Simplify.
22904
22905 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22906
22907         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
22908         substitute HAVE_STRUCT_RANDOM_DATA.
22909         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
22910         random_data.
22911         * modules/stdlib (Makefile.am): Substitute
22912         HAVE_STRUCT_RANDOM_DATA.
22913
22914 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22915
22916         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
22917         * doc/gnulib-intro.texi (Copyright): Likewise.
22918
22919 2008-10-26  Simon Josefsson  <simon@josefsson.org>
22920
22921         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
22922         findings.
22923
22924 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
22925             Bruno Haible  <bruno@clisp.org>
22926
22927         * lib/unistd.in.h: Include <winsock2.h>.
22928         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
22929         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
22930         Provide dummy declarations.
22931         (gethostname): Override.
22932         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
22933         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
22934         gl_PREREQ_SYS_H_WINSOCK2.
22935         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
22936         * doc/posix-functions/gethostname.texi: More details.
22937
22938 2008-10-25  Bruno Haible  <bruno@clisp.org>
22939
22940         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
22941         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
22942         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
22943
22944         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
22945         here ...
22946         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
22947         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
22948         gl_UNISTD_H_DEFAULTS.
22949
22950 2008-10-25  Eric Blake  <ebb9@byu.net>
22951
22952         signbit: avoid spurious compiler failure
22953         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
22954         declarations inside function.
22955
22956 2008-10-24  Simon Josefsson  <simon@josefsson.org>
22957             Bruno Haible  <bruno@clisp.org>
22958
22959         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
22960         * modules/random_r (Depends-on): Add stdint.
22961
22962 2008-10-24  Bruno Haible  <bruno@clisp.org>
22963
22964         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
22965         Eggert.
22966         * modules/strerror (License): Likewise.
22967
22968 2008-10-24  Jim Meyering  <meyering@redhat.com>
22969
22970         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
22971         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
22972
22973 2008-10-24  Eric Blake  <ebb9@byu.net>
22974
22975         getgroups: fix compilation when getgroups is available
22976         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
22977         but with <config.h> override of getgroups disabled.
22978
22979 2008-10-24  Simon Josefsson  <simon@josefsson.org>
22980
22981         * doc/gnulib.texi (Header files): Add note about C++ problems.
22982         Explained by Bruno Haible <bruno@clisp.org>.
22983
22984 2008-10-23  Bruno Haible  <bruno@clisp.org>
22985
22986         Define a dummy SA_NODEFER macro on Interix.
22987         * lib/signal.in.h (SA_NODEFER): Define fallback.
22988         Reported by Aleksey Cheusov <cheusov@tut.by> via
22989         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
22990
22991 2008-10-23  Bruno Haible  <bruno@clisp.org>
22992
22993         * modules/freadahead (License): Change to LGPLv2+.
22994         Suggested by Simon Josefsson.
22995
22996 2008-10-23  Jim Meyering  <meyering@redhat.com>
22997
22998         random_r: new module
22999         * modules/random_r: New file.
23000         * m4/random_r.m4: New file.
23001         * lib/random_r.c: New file, from glibc.
23002         * modules/random_r-tests: New file.
23003         * tests/test-random_r.c: New file.
23004         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
23005          Declare.
23006         (RAND_MAX): Define.
23007         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
23008         * modules/stdlib: Substitute them, too.
23009         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
23010         * doc/glibc-functions/initstate_r.texi: Mention the new module.
23011         * doc/glibc-functions/random_r.texi: Likewise.
23012         * doc/glibc-functions/setstate_r.texi: Likewise.
23013         * doc/glibc-functions/srandom_r.texi: Likewise.
23014         * config/srclist.txt: Mention it.
23015
23016 2008-10-23  David Lutterkort  <lutter@redhat.com>
23017
23018         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
23019         link requirement
23020
23021 2008-10-23  Jim Meyering  <meyering@redhat.com>
23022
23023         selinux-h: mark parameters of stub functions as intentionally unused
23024         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
23025         * lib/se-context.in.h: Likewise.
23026
23027 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23028
23029         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
23030
23031 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23032
23033         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
23034
23035 2008-10-22  Eric Blake  <ebb9@byu.net>
23036
23037         glthread/thread: avoid compiler warning
23038         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
23039         Add unreachable abort to silence compiler.
23040
23041 2008-10-22  Eric Blake  <ebb9@byu.net>
23042
23043         netdb: also supply struct addrinfo for cygwin 1.5.x
23044         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
23045         older cygwin.
23046         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
23047         cygwin.
23048         * doc/posix-headers/netdb.texi (netdb.h): Document this.
23049
23050 2008-10-22  Bruno Haible  <bruno@clisp.org>
23051
23052         * users.txt: Update entry about pspp.
23053
23054 2008-10-21  Bruno Haible  <bruno@clisp.org>
23055
23056         Simplification.
23057         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
23058         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
23059
23060         Simplification.
23061         * lib/ioctl.c (ioctl): Don't undefine.
23062         * lib/socket.c (socket): Don't undefine.
23063
23064         Remove unused module indicator macros.
23065         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
23066         GNULIB_$1 as a C macro.
23067
23068         * doc/posix-functions/close.texi: Undo last change.
23069         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
23070         Windows platforms.
23071
23072 2008-10-21  Bruno Haible  <bruno@clisp.org>
23073
23074         Add gethostname() declaration to <unistd.h>.
23075         * lib/unistd.in.h (gethostname): New declaration.
23076         * lib/gethostname.c: Include <unistd.h>.
23077         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
23078         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
23079         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
23080         and HAVE_GETHOSTNAME.
23081         * modules/gethostname (Depends-on): Add unistd.
23082         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23083         (Include): Specify <unistd.h>.
23084         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
23085         HAVE_GETHOSTNAME.
23086         * tests/test-gethostname.c: Include <unistd.h> first.
23087
23088 2008-10-21  Bruno Haible  <bruno@clisp.org>
23089
23090         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
23091         * modules/select-tests (Depends-on): Likewise.
23092         Reported by Simon Josefsson.
23093
23094 2008-10-21  Simon Josefsson  <simon@josefsson.org>
23095
23096         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
23097         * lib/accept.c: New file, based on winsock.c.
23098         * lib/bind.c: New file, based on winsock.c.
23099         * lib/connect.c: New file, based on winsock.c.
23100         * lib/getpeername.c: New file, based on winsock.c.
23101         * lib/getsockname.c: New file, based on winsock.c.
23102         * lib/getsockopt.c: New file, based on winsock.c.
23103         * lib/ioctl.c: New file, based on winsock.c.
23104         * lib/listen.c: New file, based on winsock.c.
23105         * lib/recv.c: New file, based on winsock.c.
23106         * lib/recvfrom.c: New file, based on winsock.c.
23107         * lib/send.c: New file, based on winsock.c.
23108         * lib/sendto.c: New file, based on winsock.c.
23109         * lib/setsockopt.c: New file, based on winsock.c.
23110         * lib/shutdown.c: New file, based on winsock.c.
23111         * lib/socket.c: New file, based on winsock.c.
23112         * lib/w32sock.h: New file, based on winsock.c.
23113         * lib/winsock.c: Remove file.
23114         * modules/accept: Likewise.
23115         * modules/bind: Likewise.
23116         * modules/connect: Likewise.
23117         * modules/getpeername: Likewise.
23118         * modules/getsockname: Likewise.
23119         * modules/getsockopt: Likewise.
23120         * modules/ioctl: Likewise.
23121         * modules/listen: Likewise.
23122         * modules/recv: Likewise.
23123         * modules/recvfrom: Likewise.
23124         * modules/send: Likewise.
23125         * modules/sendto: Likewise.
23126         * modules/setsockopt: Likewise.
23127         * modules/shutdown: Likewise.
23128         * modules/socket: Use socket.c instead of winsock.c.
23129         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
23130         * doc/posix-functions/accept.texi: Doc fix.
23131         * doc/posix-functions/bind.texi: Doc fix.
23132         * doc/posix-functions/close.texi: Doc fix.
23133         * doc/posix-functions/connect.texi: Doc fix.
23134         * doc/posix-functions/getpeername.texi: Doc fix.
23135         * doc/posix-functions/getsockname.texi: Doc fix.
23136         * doc/posix-functions/getsockopt.texi: Doc fix.
23137         * doc/posix-functions/ioctl.texi: Doc fix.
23138         * doc/posix-functions/listen.texi: Doc fix.
23139         * doc/posix-functions/recv.texi: Doc fix.
23140         * doc/posix-functions/recvfrom.texi: Doc fix.
23141         * doc/posix-functions/send.texi: Doc fix.
23142         * doc/posix-functions/sendto.texi: Doc fix.
23143         * doc/posix-functions/setsockopt.texi: Doc fix.
23144         * doc/posix-functions/shutdown.texi: Doc fix.
23145         * doc/posix-functions/socket.texi: Doc fix.
23146
23147 2008-10-20  Bruno Haible  <bruno@clisp.org>
23148
23149         Take into account the role of SIGABRT_COMPAT on Windows 2008.
23150         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
23151         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
23152         as an alias for SIGABRT.
23153         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
23154         (sigaction): Map it to SIGABRT.
23155         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
23156
23157 2008-10-20  Bruno Haible  <bruno@clisp.org>
23158
23159         * lib/fts.c: Don't include lstat.h.
23160         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
23161
23162         Move the lstat() declaration to <sys/stat.h>.
23163         * lib/lstat.h: Remove file.
23164         * lib/sys_stat.in.h: Add special invocation convention.
23165         (lstat): New declaration.
23166         * lib/lstat.c (orig_lstat): New function.
23167         (rpl_lstat): Use orig_lstat instead of lstat.
23168         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
23169         AC_C_INLINE. Set REPLACE_LSTAT.
23170         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
23171         and REPLACE_LSTAT.
23172         * modules/lstat (Files): Remove lib/lstat.h.
23173         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
23174         (Include): Specify <sys/stat.h> instead of lstat.h.
23175         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
23176         REPLACE_LSTAT.
23177         * NEWS: Mention the change.
23178
23179 2008-10-20  Bruno Haible  <bruno@clisp.org>
23180
23181         * modules/posix_spawn-tests: New file.
23182         * tests/test-posix_spawn3.c: New file.
23183
23184 2008-10-20  Bruno Haible  <bruno@clisp.org>
23185
23186         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
23187         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23188         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
23189         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23190         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
23191
23192 2008-10-20  Bruno Haible  <bruno@clisp.org>
23193
23194         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
23195         of posix_spawn on AIX 5.3.
23196
23197 2008-10-20  Bruno Haible  <bruno@clisp.org>
23198
23199         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
23200
23201 2008-10-20  Bruno Haible  <bruno@clisp.org>
23202
23203         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
23204         of AC_LANG_PROGRAM.
23205
23206 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23207
23208         * lib/netdb.in.h: Don't define GNU specific constants until they
23209         are supported or needed.  Reported by Bruno Haible
23210         <bruno@clisp.org>.
23211
23212 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23213
23214         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
23215
23216 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23217
23218         * lib/getaddrinfo.h: Remove file.
23219         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
23220         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
23221         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
23222         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
23223         * modules/netdb: Substitute GNULIB_GETADDRINFO.
23224         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
23225         * tests/test-getaddrinfo.c: Likewise.
23226         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
23227         * NEWS: Mention change.
23228
23229 2008-10-19  Bruno Haible  <bruno@clisp.org>
23230
23231         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
23232
23233 2008-10-19  Bruno Haible  <bruno@clisp.org>
23234
23235         * lib/wait-process.c: Include simply <sys/wait.h>.
23236         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
23237         WIFSTOPPED): Remove fallback definitions.
23238         * modules/wait-process (Depends-on): Add sys_wait.
23239
23240         New module 'sys_wait'.
23241         * modules/sys_wait: New file.
23242         * lib/sys_wait.in.h: New file, partially copied from
23243         lib/wait-process.c.
23244         * m4/sys_wait_h.m4: New file.
23245         * doc/posix-headers/sys_wait.texi: Mention the new module.
23246
23247 2008-10-19  Bruno Haible  <bruno@clisp.org>
23248
23249         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
23250
23251 2008-10-19  Bruno Haible  <bruno@clisp.org>
23252
23253         Assume that waitpid() fills an 'int' status, not a 'union wait'.
23254         * lib/wait-process.c (WAIT_T): Remove type.
23255         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
23256         (wait_subprocess): Update.
23257
23258 2008-10-19  Bruno Haible  <bruno@clisp.org>
23259
23260         New module 'atoll'.
23261         * modules/atoll: New file.
23262         * lib/stdlib.in.h (atoll): New declaration.
23263         * lib/atoll.c: New file, from glibc with modifications.
23264         * m4/atoll.m4: New file.
23265         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
23266         HAVE_ATOLL.
23267         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
23268         * doc/posix-functions/atoll.texi: Mention the new module.
23269
23270 2008-10-19  Bruno Haible  <bruno@clisp.org>
23271
23272         Add strtoull() declaration to <stdlib.h>.
23273         * lib/stdlib.in.h (strtoull): New declaration.
23274         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23275         Set HAVE_STRTOULL.
23276         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
23277         HAVE_STRTOULL.
23278         * modules/strtoull (Depends-on): Add stdlib.
23279         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23280         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
23281         HAVE_STRTOULL.
23282
23283 2008-10-19  Bruno Haible  <bruno@clisp.org>
23284
23285         Add strtoll() declaration to <stdlib.h>.
23286         * lib/stdlib.in.h (strtoll): New declaration.
23287         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23288         Set HAVE_STRTOLL.
23289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
23290         HAVE_STRTOLL.
23291         * modules/strtoll (Depends-on): Add stdlib.
23292         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23293         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
23294
23295 2008-10-19  Bruno Haible  <bruno@clisp.org>
23296
23297         * modules/bcopy (Depends-on): Add strings.
23298         (Include): Specify <strings.h>.
23299
23300 2008-10-19  Bruno Haible  <bruno@clisp.org>
23301
23302         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
23303
23304 2008-10-19  Bruno Haible  <bruno@clisp.org>
23305
23306         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
23307         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
23308         mingw.
23309
23310 2008-10-19  Bruno Haible  <bruno@clisp.org>
23311
23312         * lib/atanl.c: Don't include isnanl.h.
23313         * lib/cosl.c: Likewise.
23314         * lib/ldexpl.c: Likewise.
23315         * lib/logl.c: Likewise.
23316         * lib/sinl.c: Likewise.
23317         * lib/sqrtl.c: Likewise.
23318         * lib/tanl.c: Likewise.
23319
23320         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
23321         * lib/isnanf.h: Remove file.
23322         * lib/isnand.h: Remove file.
23323         * lib/isnanl.h: Remove file.
23324         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
23325         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
23326         macros.
23327         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
23328         HAVE_ISNANF, don't define it as a C macro.
23329         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
23330         HAVE_ISNAND, don't define it as a C macro.
23331         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
23332         HAVE_ISNANL, don't define it as a C macro.
23333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
23334         HAVE_ISNAN[FDL].
23335         * modules/isnanf (Files): Remove lib/isnanf.h.
23336         (Depends-on): Add math.
23337         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23338         (Include): Specify <math.h> instead of isnanf.h.
23339         * modules/isnand (Files): Remove lib/isnand.h.
23340         (Depends-on): Add math.
23341         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23342         (Include): Specify <math.h> instead of isnand.h.
23343         * modules/isnanl (Files): Remove lib/isnanl.h.
23344         (Depends-on): Add math.
23345         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23346         (Include): Specify <math.h> instead of isnanl.h.
23347         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
23348         HAVE_ISNAN[FDL].
23349         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
23350         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
23351         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
23352         * NEWS: Mention the change.
23353
23354 2008-10-18  Bruno Haible  <bruno@clisp.org>
23355
23356         Add getusershell(), setusershell(), endusershell() declarations to
23357         <unistd.h>.
23358         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
23359         declarations.
23360         * lib/getusershell.c: Include unistd.h.
23361         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
23362         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23363         HAVE_GETUSERSHELL.
23364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
23365         and HAVE_GETUSERSHELL.
23366         * modules/getusershell (Depends-on): Add unistd, extensions.
23367         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23368         (Include): Specify <unistd.h>.
23369         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
23370         HAVE_GETUSERSHELL.
23371
23372 2008-10-18  Bruno Haible  <bruno@clisp.org>
23373
23374         Add a getloadavg() declaration to <stdlib.h>.
23375         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
23376         getloadavg declaration.
23377         (getloadavg): New declaration.
23378         * lib/getloadavg.c: Include <stdlib.h> first.
23379         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
23380         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
23381         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
23382         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
23383         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23384         * modules/getloadavg (Depends-on): Add stdlib, extensions.
23385         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23386         (Include): Specify <stdlib.h>.
23387         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
23388         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23389
23390 2008-10-18  Bruno Haible  <bruno@clisp.org>
23391
23392         * lib/dirchownmod.c: Don't include lchmod.h.
23393
23394         Move the lchmod() declaration to <sys/stat.h>.
23395         * lib/lchmod.h: Remove file.
23396         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
23397         (lchmod): New declaration, moved here from lib/lchown.h.
23398         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
23399         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
23400         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
23401         and HAVE_LCHMOD.
23402         * modules/lchmod (Files): Remove lib/lchmod.h.
23403         (Depends-on): Add sys_stat, extensions.
23404         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
23405         (Include): Specify <sys/stat.h> instead of lchmod.h.
23406         * modules/sys_stat (Depends-on): Add link-warning.
23407         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
23408         definition of GL_LINK_WARNING.
23409         * NEWS: Mention the change.
23410
23411 2008-10-18  Bruno Haible  <bruno@clisp.org>
23412
23413         * lib/fchdir.c: Don't include dirfd.h.
23414         * lib/fts.c: Likewise.
23415         * lib/getcwd.c: Likewise.
23416         * lib/glob.c: Likewise.
23417
23418         Move the dirfd() declaration to <dirent.h>.
23419         * lib/dirfd.h: Remove file.
23420         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
23421         (dirfd): New declaration.
23422         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
23423         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
23424         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
23425         HAVE_DECL_DIRFD.
23426         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
23427         HAVE_DECL_DIRFD.
23428         * modules/dirfd (Files): Remove lib/dirfd.h.
23429         (Depends-on): Add dirent, extensions.
23430         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
23431         (Include): Specify <dirent.h> instead of dirfd.h.
23432         * modules/dirent (Depends-on): Add link-warning.
23433         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
23434         definition of GL_LINK_WARNING.
23435         * NEWS: Mention the change.
23436
23437 2008-10-18  Bruno Haible  <bruno@clisp.org>
23438
23439         Move the euidaccess() declaration to <unistd.h>.
23440         * lib/euidaccess.h: Remove file.
23441         * lib/unistd.in.h (euidaccess): New declaration.
23442         * lib/euidaccess.c: Don't include euidaccess.h.
23443         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
23444         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
23445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
23446         and HAVE_EUIDACCESS.
23447         * modules/euidaccess (Files): Remove lib/euidaccess.h.
23448         (Depends-on): Add unistd.
23449         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23450         (Include): Specify <unistd.h> instead of euidaccess.h.
23451         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
23452         HAVE_EUIDACCESS.
23453         * NEWS: Mention the change.
23454
23455 2008-10-18  Bruno Haible  <bruno@clisp.org>
23456
23457         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
23458
23459         Move the getdomainname() declaration to <unistd.h>.
23460         * lib/getdomainname.h: Remove file.
23461         * lib/unistd.in.h (getdomainname): New declaration.
23462         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
23463         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23464         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23465         HAVE_GETDOMAINNAME.
23466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23467         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
23468         * modules/getdomainname (Files): Remove lib/getdomainname.h.
23469         (Depends-on): Add unistd, extensions.
23470         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23471         (Includes): Specify <unistd.h> instead of getdomainname.h.
23472         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
23473         HAVE_GETDOMAINNAME.
23474         * NEWS: Mention the change.
23475
23476 2008-10-18  Bruno Haible  <bruno@clisp.org>
23477
23478         * modules/dirent: New file.
23479         * m4/dirent_h.m4: New file.
23480         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
23481         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
23482         * modules/fchdir (Files): Remove lib/dirent.in.h.
23483         (Depends-on): Add dirent.
23484         (Makefile.am): Move rules to modules/dirent.
23485         * doc/posix-headers/dirent.texi: Mention the new module.
23486
23487 2008-10-18  Bruno Haible  <bruno@clisp.org>
23488
23489         Avoid -Wunused-parameter warnings in public gnulib header files.
23490         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
23491         macro.
23492         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
23493
23494 2008-10-18  Bruno Haible  <bruno@clisp.org>
23495
23496         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
23497         * doc/glibc-functions/error.texi: Mention the module 'error'.
23498         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
23499         * doc/glibc-functions/getdomainname.texi: Mention the module
23500         'getdomainname'.
23501         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
23502         * doc/glibc-functions/getpagesize.texi: Mention the module
23503         'getpagesize'.
23504         * doc/glibc-functions/getusershell.texi: Mention the module
23505         'getusershell'.
23506         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
23507         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
23508         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
23509         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
23510         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
23511         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
23512         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
23513         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
23514         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
23515         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
23516         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
23517         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
23518         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
23519         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
23520
23521 2008-10-17  Bruno Haible  <bruno@clisp.org>
23522
23523         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
23524         HP-UX and IRIX, use -0.0L.
23525         * tests/test-ceill.c (minus_zero): Likewise.
23526         * tests/test-floorl.c (minus_zero): Likewise.
23527         * tests/test-frexpl.c (minus_zero): Likewise.
23528         * tests/test-isnan.c (minus_zerol): Likewise.
23529         * tests/test-isnanl.h (minus_zero): Likewise.
23530         * tests/test-ldexpl.c (minus_zero): Likewise.
23531         * tests/test-roundl.c (minus_zero): Likewise.
23532         * tests/test-signbit.c (minus_zerol): Likewise.
23533         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
23534         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
23535         * tests/test-truncl.c (minus_zero): Likewise.
23536         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
23537         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
23538         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
23539         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
23540
23541 2008-10-17  Bruno Haible  <bruno@clisp.org>
23542
23543         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
23544         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
23545         that it gets activated only for gcc >= 3.0.
23546         * lib/dirent.in.h: Likewise.
23547         * lib/errno.in.h: Likewise.
23548         * lib/fcntl.in.h: Likewise.
23549         * lib/float.in.h: Likewise.
23550         * lib/iconv.in.h: Likewise.
23551         * lib/inttypes.in.h: Likewise.
23552         * lib/locale.in.h: Likewise.
23553         * lib/math.in.h: Likewise.
23554         * lib/netdb.in.h: Likewise.
23555         * lib/netinet_in.in.h: Likewise.
23556         * lib/search.in.h: Likewise.
23557         * lib/signal.in.h: Likewise.
23558         * lib/spawn.in.h: Likewise.
23559         * lib/stdarg.in.h: Likewise.
23560         * lib/stdint.in.h: Likewise.
23561         * lib/stdio.in.h: Likewise.
23562         * lib/stdlib.in.h: Likewise.
23563         * lib/string.in.h: Likewise.
23564         * lib/strings.in.h: Likewise.
23565         * lib/sys_file.in.h: Likewise.
23566         * lib/sys_ioctl.in.h: Likewise.
23567         * lib/sys_select.in.h: Likewise.
23568         * lib/sys_socket.in.h: Likewise.
23569         * lib/sys_stat.in.h: Likewise.
23570         * lib/sys_time.in.h: Likewise.
23571         * lib/sysexits.in.h: Likewise.
23572         * lib/time.in.h: Likewise.
23573         * lib/unistd.in.h: Likewise.
23574         * lib/wchar.in.h: Likewise.
23575         * lib/wctype.in.h: Likewise.
23576         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
23577
23578 2008-10-17  Jim Meyering  <meyering@redhat.com>
23579
23580         ignore-value: don't depend on inline module
23581         * modules/ignore-value (Depends-on): Remove 'inline'.
23582         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
23583         Suggestion from Bruno Haible.
23584
23585 2008-10-17  Bruno Haible  <bruno@clisp.org>
23586
23587         New implementation of condition variables for Win32.
23588         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
23589         (gl_linked_waitqueue_t): New type.
23590         (gl_cond_t): Use it.
23591         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
23592         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
23593         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
23594         (glthread_cond_init_func, glthread_cond_wait_func,
23595         glthread_cond_timedwait_func, glthread_cond_signal_func,
23596         glthread_cond_broadcast_func, glthread_cond_destroy_func):
23597         Reimplemented on the basis of gl_linked_waitqueue_t.
23598         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
23599         gl_waitqueue_t.
23600         (gl_rwlock_t): Update.
23601         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
23602
23603 2008-10-17  Simon Josefsson  <simon@josefsson.org>
23604
23605         * modules/recvfrom (Depends-on): Add dependency on getpeername.
23606         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23607
23608 2008-10-17  Jim Meyering  <meyering@redhat.com>
23609
23610         ignore-value: new module
23611         * modules/ignore-value: New file.
23612         * lib/ignore-value.h: New file.
23613         * MODULES.html.sh (Compiler warning management): New section,
23614         just for this module.  More to come.
23615
23616 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
23617
23618         open-safer.c: avoid 'signed and unsigned in conditional...' warning
23619         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
23620         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
23621
23622 2008-10-16  Jim Meyering  <meyering@redhat.com>
23623
23624         openat-die.c: avoid 'no previous prototype' warning
23625         * lib/openat-die.c: Include "openat.h".
23626         Reported by Reuben Thomas <rrt@sc3d.org>.
23627
23628 2008-10-16  Simon Josefsson  <simon@josefsson.org>
23629
23630         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
23631         * lib/netdb.in.h: Fix typo.
23632         Reported by Bruno Haible  <bruno@clisp.org>
23633
23634         * lib/netdb.in.h: Include sys/socket.h for platforms without
23635         netdb.h, to get structures like hostent on MinGW.
23636         * modules/netdb (Depends-on): Add sys_socket.
23637
23638 2008-10-15  Simon Josefsson  <simon@josefsson.org>
23639
23640         * modules/netdb, modules/netdb-tests: New file.
23641         * m4/netdb_h.m4: New file.
23642         * lib/netdb.in.h: Add, currently just an empty file pending
23643         definitions.
23644         * tests/test-netdb.c: New file.
23645         * doc/posix-headers/netdb.texi: Mention that we replace it if
23646         needed.
23647         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23648         netdb.
23649
23650 2008-10-15  Simon Josefsson  <simon@josefsson.org>
23651
23652         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
23653         with code.
23654
23655 2008-10-13  Bruno Haible  <bruno@clisp.org>
23656
23657         * lib/glthread/cond.c (glthread_cond_wait_func,
23658         glthread_cond_timedwait_func): Add a comment.
23659
23660 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
23661
23662         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
23663         * tests/test-select.c: Likewise,
23664
23665 2008-10-13  Bruno Haible  <bruno@clisp.org>
23666
23667         * lib/glthread/cond.c (glthread_cond_wait_func,
23668         glthread_cond_timedwait_func): Fix variable name.
23669         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
23670
23671 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
23672
23673         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
23674         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
23675         struct sockaddr.sa_len.
23676         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
23677
23678 2008-10-13  Simon Josefsson  <simon@josefsson.org>
23679
23680         * build-aux/pmccabe2html: Add css and css_url parameters.
23681
23682 2008-10-12  Bruno Haible  <bruno@clisp.org>
23683
23684         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
23685         calling aclx_get.
23686         Reported by Rainer Tammer <tammer@tammer.net>.
23687
23688 2008-10-12  Bruno Haible  <bruno@clisp.org>
23689
23690         Use msvcrt aware primitives for creation/termination of Win32 threads.
23691         * lib/glthread/thread.c: Include <process.h>.
23692         (glthread_create_func): Use _beginthreadex instead of CreateThread.
23693         (wrapper_func): Update signature.
23694         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
23695
23696 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
23697             Bruno Haible  <bruno@clisp.org>
23698
23699         Provide a Win32 implementation of the 'cond' module.
23700         * lib/glthread/cond.h [USE_WIN32]: New implementation.
23701         * lib/glthread/cond.c (glthread_cond_init_func,
23702         glthread_cond_wait_func, glthread_cond_timedwait_func,
23703         glthread_cond_signal_func, glthread_cond_broadcast_func,
23704         glthread_cond_destroy_func) [USE_WIN32]: New functions.
23705         * modules/cond (Dependencies): Add gettimeofday.
23706
23707 2008-10-11  Bruno Haible  <bruno@clisp.org>
23708
23709         Make sleep work on older versions of mingw.
23710         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
23711         only whether it exists.
23712         * doc/posix-functions/sleep.texi: Mention the problem with older
23713         versions of mingw.
23714
23715 2008-10-11  Bruno Haible  <bruno@clisp.org>
23716
23717         New module 'shutdown'.
23718         * modules/shutdown: New file.
23719         * lib/sys_socket.in.h (shutdown): New declaration.
23720         * lib/winsock.c (shutdown): New function.
23721         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23722         GNULIB_SHUTDOWN.
23723         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
23724         * doc/posix-functions/shutdown.texi: Document the new module.
23725
23726 2008-10-11  Jim Meyering  <meyering@redhat.com>
23727
23728         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
23729
23730 2008-10-11  Bruno Haible  <bruno@clisp.org>
23731
23732         New module 'fclose'.
23733         * modules/fclose: New file.
23734         * lib/stdio.in.h (fclose): New declaration.
23735         * lib/fclose.c: New file.
23736         * m4/fclose.m4: New file.
23737         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
23738         REPLACE_FCLOSE.
23739         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
23740         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
23741         REPLACE_FCLOSE.
23742         * modules/close (Depends-on): fclose.
23743         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
23744
23745 2008-10-11  Bruno Haible  <bruno@clisp.org>
23746
23747         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
23748         set errno and don't call _close.
23749
23750 2008-10-10  Bruno Haible  <bruno@clisp.org>
23751
23752         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
23753         ACL, not afterwards. Fixes test failure on Cygwin.
23754
23755 2008-10-09  Ben Pfaff  <blp@gnu.org>
23756
23757         * build-aux/announce-gen: Fix gnulib version related part of usage
23758         message.  Die with a useful error message if no tarballs are
23759         found.
23760
23761 2008-10-10  Jim Meyering  <meyering@redhat.com>
23762
23763         bootstrap: use git's --depth=N option only if it's supported
23764         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
23765         recognize the --depth option.  Reported by PĂ¡draig Brady.
23766
23767 2008-10-09  Bruno Haible  <bruno@clisp.org>
23768
23769         New module 'ioctl'.
23770         * modules/ioctl: New file.
23771         * lib/sys_socket.in.h (ioctl): Remove declaration.
23772         * lib/winsock.c: Include <sys/ioctl.h>.
23773         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
23774         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
23775         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
23776         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
23777         * doc/posix-functions/ioctl.texi: Mention the new module.
23778
23779 2008-10-09  Bruno Haible  <bruno@clisp.org>
23780
23781         New module 'sys_ioctl'.
23782         * lib/sys_ioctl.in.h: New file.
23783         * m4/sys_ioctl_h.m4: New file.
23784         * modules/sys_ioctl: New file.
23785         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
23786
23787 2008-10-09  Bruno Haible  <bruno@clisp.org>
23788
23789         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
23790         * lib/winsock.c: Include <stdarg.h>.
23791         (rpl_ioctl): Change to second argument 'int' and then varargs.
23792
23793 2008-10-09  Bruno Haible  <bruno@clisp.org>
23794
23795         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
23796         when the sys_socket module is present and the system has <winsock2.h>.
23797
23798 2008-10-09  Bruno Haible  <bruno@clisp.org>
23799
23800         * doc/posix-functions/close.texi: Mention module 'close' instead of
23801         module 'sys_socket'.
23802
23803 2008-10-09  Bruno Haible  <bruno@clisp.org>
23804
23805         * doc/glibc-headers/sys_ioctl.texi: New file.
23806         * doc/gnulib.texi: Include it.
23807
23808 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23809             Bruno Haible  <bruno@clisp.org>
23810
23811         Combine the two replacements of 'close'.
23812         * lib/sys_socket.in.h (close): Define to a reminder to include
23813         <unistd.h>.
23814         (_gl_close_fd_maybe_socket): New declaration.
23815         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
23816         * lib/winsock.c (close): Remove undefinition.
23817         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
23818         needed for the gnulib module 'close'.
23819         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
23820         define to an error symbol or to a warning, if suitable.
23821         * lib/close.c: Include <sys/socket.h>.
23822         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
23823         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
23824         UNISTD_H_HAVE_WINSOCK2_H.
23825         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
23826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23827         UNISTD_H_HAVE_WINSOCK2_H.
23828         * modules/sys_socket (Files): Add m4/unistd_h.m4.
23829         (configure.ac): Set a module indicator.
23830         (Makefile.am): Substitute GNULIB_CLOSE.
23831         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
23832         * modules/poll-tests (Depends-on): Add close.
23833         * modules/select-tests (Depends-on): Likewise.
23834
23835 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23836             Bruno Haible  <bruno@clisp.org>
23837
23838         New module 'close'.
23839         * modules/close: New file.
23840         * lib/unistd.in.h (close): Move declaration out of the
23841         FCHDIR_REPLACEMENT scope.
23842         (_gl_unregister_fd): New declaration.
23843         * lib/close.c: New file.
23844         * lib/fchdir.c (rpl_close): Remove function.
23845         * m4/close.m4: New file.
23846         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
23847         close.
23848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
23849         REPLACE_CLOSE.
23850         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
23851         REPLACE_CLOSE.
23852         * modules/fchdir (Depends-on): Add close.
23853
23854 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23855             Bruno Haible  <bruno@clisp.org>
23856
23857         * lib/fcntl.in.h (open): Simplify conditionals.
23858         (_gl_register_fd): New declaration.
23859         * lib/fchdir.c (rpl_open): Remove function.
23860         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
23861         also.
23862         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
23863         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
23864         open.
23865
23866 2008-10-09  Jim Meyering  <meyering@redhat.com>
23867
23868         GNUmakefile: use the more name-space-friendly "_version"
23869         * top/GNUmakefile (_dummy): Update.
23870         (_version): Rename from "version".
23871
23872 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23873             Bruno Haible  <bruno@clisp.org>
23874
23875         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
23876         rpl_close.
23877         (_gl_register_fd): New function, extracted from rpl_open.
23878         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
23879         (rpl_open, rpl_opendir): Use _gl_register_fd.
23880
23881 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
23882
23883         Fix organization of 'open' replacement.
23884         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
23885         (gl_FUNC_OPEN): Use it.
23886         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
23887
23888 2008-10-08  Bruno Haible  <bruno@clisp.org>
23889
23890         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
23891
23892 2008-10-08  Simon Josefsson  <simon@josefsson.org>
23893
23894         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
23895         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
23896         listen).
23897
23898 2008-10-08  Eric Blake  <ebb9@byu.net>
23899
23900         GNUmakefile: add 'make version' target
23901         * top/GNUmakefile (_curr-ver): Split version update rules...
23902         (version): ...into a target.
23903
23904 2008-10-07  Bruno Haible  <bruno@clisp.org>
23905
23906         Use a more portable replacement expression for -0.0L.
23907         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
23908         instead of -0.0L. Fix m4 quotation.
23909
23910         * tests/test-signbit.c: Include <float.h>.
23911         (minus_zero): New variable.
23912         (test_signbitl): Use minus_zero instead of -zero.
23913         * modules/signbit-tests (Depends-on): Add float.
23914
23915         * tests/test-ceill.c: Include <float.h>.
23916         (zero): Remove variable.
23917         (minus_zero): New variable.
23918         (main): Use minus_zero instead of -zero.
23919         * modules/ceill-tests (Depends-on): Add float.
23920
23921         * tests/test-floorl.c: Include <float.h>.
23922         (zero): Remove variable.
23923         (minus_zero): New variable.
23924         (main): Use minus_zero instead of -zero.
23925         * modules/floorl-tests (Depends-on): Add float.
23926
23927         * tests/test-roundl.c: Include <float.h>.
23928         (zero): Remove variable.
23929         (minus_zero): New variable.
23930         (main): Use minus_zero instead of -zero.
23931         * modules/roundl-tests (Depends-on): Add float.
23932
23933         * tests/test-truncl.c: Include <float.h>.
23934         (zero): Remove variable.
23935         (minus_zero): New variable.
23936         (main): Use minus_zero instead of -zero.
23937         * modules/truncl-tests (Depends-on): Add float.
23938
23939         * tests/test-frexpl.c (zero): Remove variable.
23940         (minus_zero): New variable.
23941         (main): Use minus_zero instead of -zero.
23942         * modules/frexpl-tests (Depends-on): Add float.
23943
23944         * tests/test-isnan.c (zerol): Remove variable.
23945         (minus_zerol): New variable.
23946         (test_long_double): Use minus_zerol instead of -zerol.
23947         * modules/isnan-tests (Depends-on): Add float.
23948
23949         * tests/test-isnanl.h (zero): Remove variable.
23950         (minus_zero): New variable.
23951         (main): Use minus_zero instead of -zero.
23952         * modules/isnanl-nolibm-tests (Depends-on): Add float.
23953         * modules/isnanl-tests (Depends-on): Add float.
23954
23955         * tests/test-ldexpl.c (zero): Remove variable.
23956         (minus_zero): New variable.
23957         (main): Use minus_zero instead of -zero.
23958         * modules/ldexpl-tests (Depends-on): Add float.
23959
23960         * tests/test-snprintf-posix.h (zerol): Remove variable.
23961         (minus_zerol): New variable.
23962         (test_function): Use minus_zerol instead of -zerol.
23963         * modules/snprintf-posix-tests (Depends-on): Add float.
23964         * modules/vsnprintf-posix-tests (Depends-on): Add float.
23965
23966         * tests/test-sprintf-posix.h (zerol): Remove variable.
23967         (minus_zerol): New variable.
23968         (test_function): Use minus_zerol instead of -zerol.
23969         * modules/sprintf-posix-tests (Depends-on): Add float.
23970         * modules/vsprintf-posix-tests (Depends-on): Add float.
23971
23972         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
23973         (minus_zerol): New variable.
23974         (test_function): Use minus_zerol instead of -zerol.
23975         * modules/vasnprintf-posix-tests (Depends-on): Add float.
23976
23977         * tests/test-vasprintf-posix.c (zerol): Remove variable.
23978         (minus_zerol): New variable.
23979         (test_function): Use minus_zerol instead of -zerol.
23980         * modules/vasprintf-posix-tests (Depends-on): Add float.
23981
23982 2008-10-07  Simon Josefsson  <simon@josefsson.org>
23983
23984         * MODULES.html.sh (Support for building documentation): Mention
23985         pmccabe2html.  Sort entries.
23986
23987         Add pmccabe2html module, from gnupdf.
23988         * build-aux/pmccabe.css: New file.
23989         * build-aux/pmccabe2html: New file.
23990         * m4/pmccabe2html.m4: New file.
23991         * modules/pmccabe2html: New file.
23992
23993 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
23994
23995         flock: new module
23996         * MODULES.html.sh: Add to list of modules.
23997         * lib/flock.c: flock implementation for Windows and Unix systems
23998         which have fcntl.
23999         * doc/glibc-functions/flock.texi: Update documentation.
24000         * lib/sys_file.in.h: <sys/file.h> header file.
24001         * m4/flock.m4: M4 macros.
24002         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
24003         * modules/flock: flock module.
24004         * modules/flock-tests: flock tests module.
24005         * modules/sys_file: sys/file.h module.
24006         * tests/test-flock.c: test suite for flock.
24007
24008 2008-10-06  Jim Meyering  <meyering@redhat.com>
24009
24010         bootstrap: check for LT_INIT more portably still ;-)
24011         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
24012         Spotted by Bruno Haible.
24013
24014 2008-10-06  Eric Blake  <ebb9@byu.net>
24015
24016         test-signbit: avoid tripping Irix cc bug on -0.0L
24017         * tests/test-signbit.c (minus_zerol): Delete, and replace with
24018         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
24019         entire testsuite consistent and avoids an Irix 6.2 bug.
24020
24021 2008-10-05  Bruno Haible  <bruno@clisp.org>
24022             Jim Meyering  <jim@meyering.net>
24023
24024         Add an option for ignoring EPIPE during close_stdout.
24025         * lib/closeout.h: Include <stdbool.h>.
24026         (close_stdout_set_ignore_EPIPE): New declaration.
24027         * lib/closeout.c: Include <stdbool.h>.
24028         (ignore_EPIPE): New variable.
24029         (close_stdout_set_ignore_EPIPE): New function.
24030         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
24031         * lib/close-stream.c (close_stream): Mention the possible EPIPE
24032         failure.
24033         * modules/closeout (Depends-on): Add stdbool.
24034
24035 2008-10-05  Bruno Haible  <bruno@clisp.org>
24036
24037         * modules/accept: New file.
24038         * modules/bind: New file.
24039         * modules/connect: New file.
24040         * modules/getpeername: New file.
24041         * modules/getsockname: New file.
24042         * modules/getsockopt: New file.
24043         * modules/listen: New file.
24044         * modules/recv: New file.
24045         * modules/recvfrom: New file.
24046         * modules/send: New file.
24047         * modules/sendto: New file.
24048         * modules/setsockopt: New file.
24049         * modules/socket: New file.
24050         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
24051         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
24052         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
24053         the particular module is requested. Add a link warning when the
24054         particular module is not requested.
24055         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
24056         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
24057         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
24058         the particular module is requested.
24059         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
24060         gl_SYS_SOCKET_H_DEFAULTS): New macros.
24061         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
24062         * modules/sys_socket (Depends-on): Add link-warning.
24063         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
24064         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
24065         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
24066         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
24067         GL_LINK_WARNING.
24068         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
24069         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
24070         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
24071         * doc/posix-functions/getpeername.texi: Mention the new module
24072         'getpeername'.
24073         * doc/posix-functions/getsockname.texi: Mention the new module
24074         'getsockname'.
24075         * doc/posix-functions/getsockopt.texi: Mention the new module
24076         'getsockopt'.
24077         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
24078         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
24079         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
24080         * doc/posix-functions/send.texi: Mention the new module 'send'.
24081         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
24082         * doc/posix-functions/setsockopt.texi: Mention the new module
24083         'setsockopt'.
24084         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
24085         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
24086         listen, connect, accept.
24087         * modules/select-tests (Depends-on): Likewise.
24088
24089 2008-10-05  Bruno Haible  <bruno@clisp.org>
24090
24091         * lib/winsock.c (strerror): Remove unused #undef.
24092         (rpl_close): Remove unused local variable.
24093
24094         * modules/sys_socket (Depends-on); Add errno.
24095
24096 2008-10-05  Bruno Haible  <bruno@clisp.org>
24097
24098         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
24099         (select): Add a link warning when the 'select' module is not used.
24100         * modules/sys_select (Depends-on): Add link-warning.
24101         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
24102         Suggested by Paolo Bonzini.
24103
24104 2008-10-05  Jim Meyering  <meyering@redhat.com>
24105
24106         bootstrap: check for LT_INIT more portably
24107         * build-aux/bootstrap: Avoid using grep -E, since it's not
24108         portable enough.  Suggestion from Bruno Haible.
24109
24110 2008-10-05  Bruno Haible  <bruno@clisp.org>
24111
24112         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
24113         as being fixed by gnulib.
24114
24115 2008-10-05  Bruno Haible  <bruno@clisp.org>
24116
24117         * modules/select-tests: New file, mostly copied from
24118         modules/sys_select-tests.
24119         * tests/test-select.c: New file, mostly copied from
24120         tests/test-sys_select.c.
24121         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
24122         * modules/sys_select-tests (Depends-on): Remove all dependencies.
24123         (Makefile.am): Remove test_sys_select_LDADD.
24124
24125         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
24126         to an undefined symbol, for an error message.
24127         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
24128         (gl_SYS_SELECT_H_DEFAULTS): New macro.
24129         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
24130         winsock-select.c here.
24131         * modules/sys_select (Files): Remove lib/winsock-select.c.
24132         (Depends-on): Remove alloca.
24133         (Makefile.am): Substitute GNULIB_SELECT.
24134         * modules/select: New file.
24135         * doc/posix-functions/select.texi: Update.
24136
24137 2008-10-05  Bruno Haible  <bruno@clisp.org>
24138
24139         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
24140         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
24141         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
24142         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
24143         getdtablesize.
24144         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
24145         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
24146
24147 2008-10-05  Bruno Haible  <bruno@clisp.org>
24148
24149         * modules/getdtablesize-tests: New file.
24150         * tests/test-getdtablesize.c: New file.
24151
24152         New module 'getdtablesize'.
24153         * lib/unistd.in.h (getdtablesize): New declaration.
24154         * lib/getdtablesize.c: New file.
24155         * m4/getdtablesize.m4: New file.
24156         * modules/getdtablesize: New file.
24157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24158         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
24159         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
24160         HAVE_GETDTABLESIZE.
24161         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
24162
24163 2008-10-05  Bruno Haible  <bruno@clisp.org>
24164
24165         * modules/sched (Makefile.am): Fix typo.
24166         Reported by Simon Josefsson.
24167
24168 2008-10-05  Jim Meyering  <meyering@redhat.com>
24169
24170         bootstrap: check for LT_INIT, too
24171         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
24172         are deprecated.  Suggestion from Ralf Wildenhues.
24173
24174 2008-10-05  Bruno Haible  <bruno@clisp.org>
24175
24176         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
24177         overriding them by ours.
24178         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
24179
24180 2008-10-05  Jim Meyering  <meyering@redhat.com>
24181
24182         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
24183         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
24184         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
24185
24186 2008-10-04  Bruno Haible  <bruno@clisp.org>
24187
24188         * modules/dup2 (License): Change to LGPLv2+.
24189         * modules/sleep (License): Likewise.
24190         * modules/perror (License): Likewise.
24191         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
24192         Blake.
24193         * modules/signal (License): Likewise.
24194         * modules/sigprocmask (License): Likewise.
24195         * modules/raise (License): Change to LGPLv2+, with approval by Jim
24196         Meyering.
24197
24198 2008-10-04  Bruno Haible  <bruno@clisp.org>
24199
24200         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
24201         Reported by Rainer Tammer <tammer@tammer.net>.
24202
24203 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
24204             Bruno Haible  <bruno@clisp.org>
24205
24206         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
24207         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
24208         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
24209
24210 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
24211
24212         filevercmp: new module
24213         * lib/filevercmp.h: New function filevercmp comparing version strings.
24214         * lib/filevercmp.c: Implementation of filevercmp function.
24215         * modules/filevercmp: Module metadata.
24216         * tests/test-filevercmp.c: Unit test for new module.
24217         * modules/filevercmp-tests: Unit test metadata.
24218         * MODULES.html.sh: Add filevercmp module.
24219
24220 2008-10-03  Bruno Haible  <bruno@clisp.org>
24221
24222         * lib/c-ctype.h: Add comment.
24223         Reported by Jim Meyering.
24224
24225 2008-10-02  Bruno Haible  <bruno@clisp.org>
24226
24227         * modules/posix_spawn-internal (Depends-on): Add 'open'.
24228
24229 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24230
24231         * build-aux/bootstrap: Allow renaming bootstrap, and change the
24232         name of bootstrap.conf accordingly.
24233
24234 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24235
24236         * build-aux/bootstrap: Install git-merge-changelog configuration
24237         items into .gitconfig if needed.
24238
24239 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24240
24241         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
24242         git repository, and initialize/update it accordingly.
24243
24244 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
24245
24246         * modules/fsync-tests: New file.
24247         * tests/test-fsync.c: New file.
24248
24249         New module 'fsync'.
24250         * lib/fsync.c: New file.
24251         * m4/fsync.m4: New file.
24252         * modules/fsync: New file.
24253         * lib/unistd.in.h (fsync): New declaration.
24254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
24255         GNULIB_FSYNC and HAVE_FSYNC.
24256         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
24257         * MODULES.html.sh (posix_functions): Add fsync.
24258         * doc/posix-functions/fsync.texi: Mention the new module.
24259
24260 2008-10-02  Jim Meyering  <meyering@redhat.com>
24261
24262         fts.c: sync with similar code from coreutils' remove.c
24263         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
24264         Guard also with "#if defined __linux__", since for now at least,
24265         this code is Linux-kernel-specific.
24266
24267 2008-10-02  Jim Meyering  <meyering@redhat.com>
24268
24269         fts: bug fixes
24270         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
24271         Include <sys/vfs.h>, not <sys/statfs.h>.
24272
24273         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
24274         Include <sys/vfs.h>, not <sys/statfs.h>.
24275
24276 2008-10-01  Bruno Haible  <bruno@clisp.org>
24277
24278         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
24279         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
24280         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
24281         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
24282         * doc/posix-functions/posix_spawnp.texi: Likewise.
24283         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
24284         whether posix_spawn actually works.
24285         * m4/pipe.m4 (gl_PIPE): Likewise.
24286         * modules/execute (Files): Add m4/posix_spawn.m4.
24287         * modules/pipe (Files): Add m4/posix_spawn.m4.
24288         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
24289
24290 2008-10-01  Jim Meyering  <meyering@redhat.com>
24291
24292         remove trailing spaces
24293         * NEWS: Likewise.
24294         * lib/poll.c (poll): Likewise.
24295         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
24296         * lib/winsock.c (rpl_close): Likewise.
24297         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
24298         * modules/yield: Likewise.
24299         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
24300         * tests/test-sys_select.c (connect_to_socket): Likewise.
24301
24302         fts.c: adjust a new interface to be more generally useful
24303         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
24304         (fts_build): Adjust caller.
24305
24306 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24307
24308         * modules/cond-tests: New file.
24309         * tests/test-cond.c: New file.
24310
24311 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24312             Bruno Haible  <bruno@clisp.org>
24313
24314         * modules/cond (Dependencies): Add errno, time.
24315         * lib/glthread/cond.h: Include <time.h>.
24316         (gl_cond_define, gl_cond_define_initialized): Use the same definition
24317         across platforms.
24318
24319 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24320             Bruno Haible  <bruno@clisp.org>
24321
24322         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
24323
24324 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24325             Bruno Haible  <bruno@clisp.org>
24326
24327         * modules/tls-tests (Depends-on): Add thread, yield.
24328         (configure.ac): Remove all checks.
24329         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
24330         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24331         gl_thread_self): Remove definitions. Include glthread/thread.h and
24332         glthread/yield.h instead.
24333         (test_tls): Pass an additional NULL argument to gl_thread_join.
24334
24335 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24336             Bruno Haible  <bruno@clisp.org>
24337
24338         * modules/lock-tests (Depends-on): Add thread, yield.
24339         (configure.ac): Remove all checks.
24340         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
24341         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24342         gl_thread_self): Remove definitions. Include glthread/thread.h and
24343         glthread/yield.h instead.
24344         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
24345         additional NULL argument to gl_thread_join.
24346
24347 2008-09-30  Bruno Haible  <bruno@clisp.org>
24348
24349         Fix the Win32 implementation of the 'thread' module.
24350         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
24351         pointer type.
24352         (gl_thread_self): Invoke gl_thread_self_func.
24353         (gl_thread_self_func): New declaration.
24354         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
24355         (do_init_self_key, init_self_key): New functions.
24356         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
24357         Remove some fields.
24358         (running_threads, running_lock): Remove variables.
24359         (get_current_thread_handle): New function.
24360         (gl_thread_self_func, wrapper_func, glthread_create_func,
24361         glthread_join_func, gl_thread_exit_func): Largely rewritten and
24362         simplified.
24363
24364 2008-09-30  Bruno Haible  <bruno@clisp.org>
24365
24366         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
24367         files.
24368
24369 2008-09-30  Jim Meyering  <meyering@redhat.com>
24370
24371         fts.m4: correct the test for statfs.f_type
24372         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
24373         when checking for statfs.f_type.
24374
24375 2008-09-15  Simon Josefsson  <simon@josefsson.org>
24376
24377         tests: avoid some compiler warnings
24378         * tests/test-memchr.c (main): Pass NULL indirectly.
24379         * tests/test-getdate.c (main): Remove unused variable 'ret'.
24380
24381 2008-09-29  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
24382
24383         getdate.y: disallow countable dayshifts like "4 yesterday ago"
24384         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
24385         exactly specified dayshifts.
24386         (dayshift): New rule.
24387         (rel): Add dayshift.
24388         (relative_time_table) [tomorrow, yesterday, today, now]:
24389         Use tDAY_SHIFT in place of tDAY_UNIT.
24390         * tests/test-getdate.c: Add tests for now-disallowed countable
24391         dayshifts, e.g., "4 yesterday ago".
24392
24393 2008-09-29  Bruno Haible  <bruno@clisp.org>
24394
24395         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
24396         * tests/test-posix_spawn1.in.sh: Renamed from
24397         tests/test-posix_spawn.in.sh.
24398         * tests/test-posix_spawn2.c: New file.
24399         * tests/test-posix_spawn2.in.sh: New file.
24400         * modules/posix_spawnp-tests (Files): Update.
24401         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
24402
24403 2008-09-29  Bruno Haible  <bruno@clisp.org>
24404
24405         Propagate effects of putenv/setenv/unsetenv to child processes.
24406         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
24407         * lib/pipe.c (create_pipe): Likewise.
24408
24409 2008-09-29  Bruno Haible  <bruno@clisp.org>
24410
24411         Enable use of shell scripts as executables in mingw.
24412         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
24413         run the program as a shell script.
24414         * lib/pipe.c (create_pipe): Likewise.
24415         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
24416         resulting array.
24417
24418 2008-09-29  Eric Blake  <ebb9@byu.net>
24419
24420         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
24421
24422 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
24423
24424         * doc/posix-functions/accept.texi: Update mingw problems.
24425         * doc/posix-functions/bind.texi: Update mingw problems.
24426         * doc/posix-functions/close.texi: Update mingw problems.
24427         * doc/posix-functions/connect.texi: Update mingw problems.
24428         * doc/posix-functions/getpeername.texi: Update mingw problems.
24429         * doc/posix-functions/getsockname.texi: Update mingw problems.
24430         * doc/posix-functions/getsockopt.texi: Update mingw problems.
24431         * doc/posix-functions/ioctl.texi: Update mingw problems.
24432         * doc/posix-functions/listen.texi: Update mingw problems.
24433         * doc/posix-functions/recv.texi: Update mingw problems.
24434         * doc/posix-functions/recvfrom.texi: Update mingw problems.
24435         * doc/posix-functions/select.texi: Update mingw problems.
24436         * doc/posix-functions/send.texi: Update mingw problems.
24437         * doc/posix-functions/sendto.texi: Update mingw problems.
24438         * doc/posix-functions/setsockopt.texi: Update mingw problems.
24439         * doc/posix-functions/socket.texi: Update mingw problems.
24440
24441 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
24442             Bruno Haible  <bruno@clisp.org>
24443
24444         * lib/sys_select.in.h: Include sys/time.h.
24445         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
24446         * modules/sys_select: Depend on sys_time.
24447         * tests/test-sys_select.c: Test that sys/select.h defines struct
24448         timeval fully.
24449
24450 2008-09-29  Bruno Haible  <bruno@clisp.org>
24451
24452         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
24453         * lib/sys_select.in.h: Likewise.
24454
24455 2008-09-29  Bruno Haible  <bruno@clisp.org>
24456
24457         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
24458
24459 2008-09-29  Bruno Haible  <bruno@clisp.org>
24460
24461         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
24462         Set LIBSOCKET instead of augmenting LIBS.
24463         * modules/sockets (Link): New section.
24464         * modules/sockets-tests (test_sockets_LDADD): New variable.
24465         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
24466         * modules/poll-tests (test_poll_LDADD): New variable.
24467         * NEWS: Document the change.
24468
24469 2008-09-29  Bruno Haible  <bruno@clisp.org>
24470
24471         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
24472         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
24473         ARPA_INET_H directly.
24474         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24475
24476 2008-09-28  Bruno Haible  <bruno@clisp.org>
24477
24478         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
24479         from gl_HEADER_SYS_SOCKET.
24480         (gl_HEADER_SYS_SOCKET): Invoke it.
24481         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24482
24483 2008-09-28  Bruno Haible  <bruno@clisp.org>
24484
24485         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
24486         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
24487         Needed on OSF/1 4.0.
24488
24489 2008-09-28  Bruno Haible  <bruno@clisp.org>
24490
24491         Override open more carefully.
24492         * lib/open.c (orig_open): New function.
24493         (rpl_open): Use orig_open instead of open.
24494         * lib/fcntl.in.h: Add special invocation convention.
24495         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
24496         (gl_FUNC_OPEN): Invoke it.
24497
24498         Override freopen more carefully.
24499         * lib/freopen.c (orig_freopen): New function.
24500         (rpl_freopen): Use orig_freopen instead of freopen.
24501         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
24502         (gl_FUNC_FREOPEN): Invoke it.
24503
24504         Override fopen more carefully.
24505         * lib/fopen.c (orig_fopen): New function.
24506         (rpl_fopen): Use orig_fopen instead of fopen.
24507         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
24508         (gl_FUNC_FOPEN): Invoke it.
24509         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
24510
24511 2008-09-28  Bruno Haible  <bruno@clisp.org>
24512
24513         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
24514         SIGPIPE.
24515
24516 2008-09-28  Bruno Haible  <bruno@clisp.org>
24517
24518         * tests/test-sigaction.c (handler, main): Disable the check whether
24519         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
24520         glibc systems with LinuxThreads.
24521
24522 2008-09-28  Bruno Haible  <bruno@clisp.org>
24523
24524         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
24525
24526         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
24527         with AIX xlc.
24528         * lib/fcntl.in.h (open): Likewise.
24529         Reported by Rainer Tammer <tammer@tammer.net>.
24530
24531 2008-09-28  Bruno Haible  <bruno@clisp.org>
24532
24533         * modules/posix_spawnp-tests: New file.
24534         * tests/test-posix_spawn.c: New file.
24535         * tests/test-posix_spawn.in.sh: New file.
24536
24537         New module 'posix_spawnp'.
24538         * modules/posix_spawnp: New file.
24539         * lib/spawnp.c: New file, from GNU libc with modifications.
24540         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
24541
24542         New module 'posix_spawn'.
24543         * modules/posix_spawn: New file.
24544         * lib/spawn.c: New file, from GNU libc with modifications.
24545         * doc/posix-functions/posix_spawn.texi: Mention the new module.
24546
24547         New module 'posix_spawnattr_destroy'.
24548         * modules/posix_spawnattr_destroy: New file.
24549         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
24550         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
24551         module.
24552
24553         New module 'posix_spawnattr_setsigmask'.
24554         * modules/posix_spawnattr_setsigmask: New file.
24555         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
24556         modifications.
24557         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
24558         new module.
24559
24560         New module 'posix_spawnattr_getsigmask'.
24561         * modules/posix_spawnattr_getsigmask: New file.
24562         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
24563         modifications.
24564         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
24565         new module.
24566
24567         New module 'posix_spawnattr_setsigdefault'.
24568         * modules/posix_spawnattr_setsigdefault: New file.
24569         * lib/spawnattr_setdefault.c: New file, from GNU libc with
24570         modifications.
24571         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
24572         new module.
24573
24574         New module 'posix_spawnattr_getsigdefault'.
24575         * modules/posix_spawnattr_getsigdefault: New file.
24576         * lib/spawnattr_getdefault.c: New file, from GNU libc with
24577         modifications.
24578         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
24579         new module.
24580
24581         New module 'posix_spawnattr_setschedpolicy'.
24582         * modules/posix_spawnattr_setschedpolicy: New file.
24583         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
24584         modifications.
24585         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
24586         new module.
24587
24588         New module 'posix_spawnattr_getschedpolicy'.
24589         * modules/posix_spawnattr_getschedpolicy: New file.
24590         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
24591         modifications.
24592         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
24593         new module.
24594
24595         New module 'posix_spawnattr_setschedparam'.
24596         * modules/posix_spawnattr_setschedparam: New file.
24597         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
24598         modifications.
24599         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
24600         new module.
24601
24602         New module 'posix_spawnattr_getschedparam'.
24603         * modules/posix_spawnattr_getschedparam: New file.
24604         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
24605         modifications.
24606         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
24607         new module.
24608
24609         New module 'posix_spawnattr_setpgroup'.
24610         * modules/posix_spawnattr_setpgroup: New file.
24611         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
24612         modifications.
24613         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
24614         module.
24615
24616         New module 'posix_spawnattr_getpgroup'.
24617         * modules/posix_spawnattr_getpgroup: New file.
24618         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
24619         modifications.
24620         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
24621         module.
24622
24623         New module 'posix_spawnattr_setflags'.
24624         * modules/posix_spawnattr_setflags: New file.
24625         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
24626         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
24627         module.
24628
24629         New module 'posix_spawnattr_getflags'.
24630         * modules/posix_spawnattr_getflags: New file.
24631         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
24632         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
24633         module.
24634
24635         New module 'posix_spawnattr_init'.
24636         * modules/posix_spawnattr_init: New file.
24637         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
24638         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
24639         module.
24640
24641         New module 'posix_spawn_file_actions_destroy'.
24642         * modules/posix_spawn_file_actions_destroy: New file.
24643         * lib/spawn_faction_destroy.c: New file, from GNU libc with
24644         modifications.
24645         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
24646         the new module.
24647
24648         New module 'posix_spawn_file_actions_addopen'.
24649         * modules/posix_spawn_file_actions_addopen: New file.
24650         * lib/spawn_faction_addopen.c: New file, from GNU libc with
24651         modifications.
24652         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
24653         the new module.
24654
24655         New module 'posix_spawn_file_actions_adddup2'.
24656         * modules/posix_spawn_file_actions_adddup2: New file.
24657         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
24658         modifications.
24659         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
24660         the new module.
24661
24662         New module 'posix_spawn_file_actions_addclose'.
24663         * modules/posix_spawn_file_actions_addclose: New file.
24664         * lib/spawn_faction_addclose.c: New file, from GNU libc with
24665         modifications.
24666         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
24667         the new module.
24668
24669         New module 'posix_spawn_file_actions_init'.
24670         * modules/posix_spawn_file_actions_init: New file.
24671         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
24672         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
24673         new module.
24674
24675         New module 'posix_spawn-internal'.
24676         * modules/posix_spawn-internal: New file.
24677         * lib/spawn_int.h: New file, from GNU libc with modifications.
24678         * lib/spawni.c: New file, from GNU libc with modifications.
24679         * m4/posix_spawn.m4: New file.
24680
24681         New module 'spawn'.
24682         * modules/spawn: New file.
24683         * lib/spawn.in.h: New file, from GNU libc with modifications.
24684         * m4/spawn_h.m4: New file.
24685         * doc/posix-headers/spawn.texi: Mention the new module.
24686
24687 2008-09-28  Bruno Haible  <bruno@clisp.org>
24688
24689         * modules/sched-tests: New file.
24690         * tests/test-sched.c: New file.
24691
24692         New module 'sched'.
24693         * modules/sched: New file.
24694         * lib/sched.in.h: New file.
24695         * m4/sched_h.m4: New file.
24696         * doc/posix-headers/sched.texi: Mention the new module.
24697
24698 2008-09-27  Eric Blake  <ebb9@byu.net>
24699
24700         Fix previous patch, and tweak references to $0.
24701         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
24702         (func_version, func_gnulib_dir): Don't call this program
24703         gnulib-tool.
24704         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
24705         with using $0 in function.
24706         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
24707         (func_fatal_error): Reuse the name the user invoked us with.
24708
24709 2008-09-27  Bruno Haible  <bruno@clisp.org>
24710
24711         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
24712         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
24713         (gl_ICONV_H): Not here.
24714         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
24715         instead of assigning ICONV_H directly.
24716
24717         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
24718         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
24719         WCHAR_H directly.
24720
24721 2008-09-27  Bruno Haible  <bruno@clisp.org>
24722
24723         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
24724         * modules/arpa_inet (Depends-on): Add link-warning.
24725         (Makefile.am): Insert the definition of GL_LINK-WARNING.
24726         * modules/unistd (Makefile.am): Likewise.
24727
24728 2008-09-26  Bruno Haible  <bruno@clisp.org>
24729
24730         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
24731         variables.
24732         (func_version): Essentially copied from gnulib-tool.
24733         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
24734         func_readlink): Copied from gnulib-tool.
24735
24736 2008-09-26  Bruno Haible  <bruno@clisp.org>
24737
24738         * gnulib-tool (func_version): Change directory to $gnulib_dir before
24739         invoking git-version-gen.
24740
24741 2008-09-26  Bruno Haible  <bruno@clisp.org>
24742
24743         * posix-modules: Update to directory names changed on 2008-01-19.
24744         Remove commas in output before splitting into words. No more need to
24745         avoid 'ftruncate' since 2007-02-19.
24746
24747 2008-09-26  Bruno Haible  <bruno@clisp.org>
24748
24749         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
24750
24751 2008-09-26  Bruno Haible  <bruno@clisp.org>
24752
24753         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
24754         * modules/fwriteerror (Depends-on): Add errno.
24755
24756 2008-09-26  Bruno Haible  <bruno@clisp.org>
24757
24758         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
24759         * tests/test-vc-list-files-cvs.sh: Likewise.
24760
24761 2008-09-26  Bruno Haible  <bruno@clisp.org>
24762
24763         * doc/posix-headers/sys_resource.texi: Reorder items.
24764
24765 2008-09-26  Jim Meyering  <meyering@redhat.com>
24766
24767         fts: tweak inode comparison function
24768         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
24769         inode numbers, as documented.
24770
24771         fts: sort dirent entries on inode number before traversing
24772         This avoids a quadratic, seek-related performance penalty when
24773         operating on a directory containing many entries (measurable at 10k;
24774         3.5 hours at 2 million entries with a cold cache) on certain types
24775         of file systems, including ext3 and ext4, but not tmpfs.
24776         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
24777         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
24778         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
24779         (fs_handles_readdir_ordered_dirents_efficiently): New function.
24780         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
24781         (fts_build): Set the stat.st_ino member from D_INO.
24782         If it is likely to be useful, sort dirent entries on inode number.
24783
24784         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
24785         and the struct statfs.f_type member.
24786         * modules/fts (Depends-on): Add d-ino.
24787
24788 2008-09-26  Bruno Haible  <bruno@clisp.org>
24789
24790         * modules/sigpipe-die (Depends-on): Add sigpipe.
24791
24792         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
24793         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
24794         and GNULIB_STDIO_H_SIGPIPE are set.
24795         * lib/stdio-write.c: New file.
24796         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
24797         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
24798         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
24799         REPLACE_STDIO_WRITE_FUNCS.
24800         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
24801         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
24802         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
24803         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
24804         * modules/stdio (Files): Add lib/stdio-write.c.
24805         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
24806         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
24807         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
24808         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
24809         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
24810         REPLACE_FPRINTF_POSIX.
24811         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
24812         REPLACE_PRINTF_POSIX.
24813         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
24814         REPLACE_VFPRINTF_POSIX.
24815         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
24816         REPLACE_VPRINTF_POSIX.
24817         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
24818         SIGPIPE issue.
24819         * doc/posix-functions/fputc.texi: Likewise.
24820         * doc/posix-functions/fputs.texi: Likewise.
24821         * doc/posix-functions/fwrite.texi: Likewise.
24822         * doc/posix-functions/printf.texi: Likewise.
24823         * doc/posix-functions/putc.texi: Likewise.
24824         * doc/posix-functions/putchar.texi: Likewise.
24825         * doc/posix-functions/puts.texi: Likewise.
24826         * doc/posix-functions/vfprintf.texi: Likewise.
24827         * doc/posix-functions/vprintf.texi: Likewise.
24828
24829         * modules/safe-write (Depends-on): Add write.
24830
24831         * modules/sigpipe-tests: New file.
24832         * tests/test-sigpipe.c: New file.
24833         * tests/test-sigpipe.sh: New file.
24834
24835         * modules/write: New file.
24836         * lib/unistd.in.h: Include <sys/types.h>.
24837         (write): New declaration.
24838         * lib/write.c: New file.
24839         * m4/write.m4: New file.
24840         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24841         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
24842         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
24843         GNULIB_WRITE, REPLACE_WRITE.
24844         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
24845         and the SIGPIPE issue.
24846
24847         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
24848         (raise): New declaration.
24849         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
24850         (ext_signal): New function.
24851         (rpl_raise): New function.
24852         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
24853         GNULIB_SIGNAL_H_SIGPIPE.
24854         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
24855         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
24856
24857         * modules/sigpipe: New file.
24858         * m4/sigpipe.m4: New file.
24859
24860 2008-09-25  Derek Price  <derek@ximbiot.com>
24861             Bruno Haible  <bruno@clisp.org>
24862
24863         * gnulib-tool (func_import): Report all license incompatibilities, not
24864         just the first one.
24865
24866 2008-09-25  Bruno Haible  <bruno@clisp.org>
24867
24868         * gnulib-tool (func_import): When computing the edits, consider not
24869         only the Makefile.ams that exist but also those that will be generated.
24870
24871 2008-09-25  Simon Josefsson  <simon@josefsson.org>
24872
24873         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
24874         fixes gnulib-tool --test warning about duplicate dependency.
24875
24876 2008-09-25  Bruno Haible  <bruno@clisp.org>
24877
24878         * gnulib-tool: Don't ask the user to perform edits in the generated
24879         Makefile.ams.
24880         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
24881         apply to the Makefile.am being generated.
24882         (func_emit_tests_Makefile_am): Execute edits that apply to the
24883         Makefile.am being generated.
24884         (func_import): Setup list of Makefile.am edits before emitting the
24885         Makefile.ams, not at the end.
24886         (func_create_testdir): Update.
24887         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24888
24889 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24890
24891         * gnulib-tool (func_import): Store the --tests-base option in the
24892         comment in gnulib-cache.m4.
24893
24894 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
24895
24896         * NEWS: Document increased portability that sys_select now provides.
24897
24898         * lib/sys_select.in.h: Install select wrapper.
24899         * lib/sys_socket.in.h: Use more descriptive name when there is no
24900         select wrapper.
24901         * lib/winsock-select.c: New.
24902         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
24903         Require gl_HEADER_SYS_SOCKET.
24904         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
24905         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
24906         * tests/test-sys_select.c: Add functional tests.
24907
24908 2008-09-24  Eric Blake  <ebb9@byu.net>
24909
24910         open, fopen: close fd leak in last patch
24911         * lib/open.c (rpl_open): Close fd before returning error.
24912         * lib/fopen.c (rpl_fopen): Close fd before returning error.
24913         * doc/posix-functions/open.texi (open): Document that Irix also
24914         has the bug.
24915         * doc/posix-functions/fopen.texi (fopen): Likewise.
24916         Reported by Paolo Bonzini.
24917
24918 2008-09-24  Bruno Haible  <bruno@clisp.org>
24919
24920         Ensure that a filename ending in a slash cannot be used to access a
24921         non-directory.
24922         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
24923         to check whether it's really a directory.
24924         * lib/fopen.c: Include fcntl.h, unistd.h.
24925         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
24926         and fdopen().
24927         * modules/fopen (Depends-on): Add unistd.
24928         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
24929         * tests/test-fopen.c (main): Likewise.
24930         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
24931         * doc/posix-functions/fopen.texi: Likewise.
24932         Reported by Eric Blake.
24933
24934 2008-09-23  Eric Blake  <ebb9@byu.net>
24935
24936         c-stack: avoid compiler optimizations when provoking overflow
24937         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
24938         recursion harder to optimize, to ensure a stack overflow occurs.
24939         * tests/test-c-stack.c (recurse): Likewise.
24940         Borrowed from libsigsegv.
24941
24942         c-stack: work around Irix sigaltstack bug
24943         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
24944         whether sigaltstack uses wrong end of stack_t (copied in part from
24945         libsigsegv).
24946         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
24947         Irix bug, without requiring an over-allocation.
24948         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
24949         bug.
24950
24951         fopen: document mingw bug on directories
24952         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
24953         not allowing a stream visiting a directory, even though reading
24954         from such a stream is not portable.
24955
24956 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
24957
24958         * lib/poll.c: Rewrite.
24959         * modules/poll: Depend on alloca.
24960
24961 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
24962
24963         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
24964         instead define prototypes for a full set of wrappers.  Ensure
24965         that Cygwin does not use the compatibility code, which is only
24966         for MinGW.
24967         * lib/winsock.c: New.
24968         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
24969         * modules/sys_socket: Add lib/winsock.c.
24970
24971         * modules/poll-tests: Add errno and perror.
24972         * tests/test-poll.c: Use ioctl, not ioctlsocket.
24973
24974 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
24975
24976         * tests/test-poll.c: Downgrade minimum needed Winsock version.
24977
24978 2008-09-23  Bruno Haible  <bruno@clisp.org>
24979
24980         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
24981         * doc/glibc-functions/*: Likewise.
24982
24983 2008-09-23  Simon Josefsson  <simon@josefsson.org>
24984
24985         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
24986         success.
24987
24988 2008-09-22  Eric Blake  <ebb9@byu.net>
24989             Bruno Haible  <bruno@clisp.org>
24990
24991         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
24992         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
24993         supply %A but mishandle pseudo-NaN.
24994         Reported by Simon Josefsson.
24995
24996 2008-09-21  Bruno Haible  <bruno@clisp.org>
24997
24998         * tests/test-lock.c (main): Tweak skip message.
24999         * tests/test-tls.c (main): Likewise.
25000
25001 2008-09-21  Bruno Haible  <bruno@clisp.org>
25002
25003         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
25004         whether 'struct sigaction' has sa_sigaction here...
25005         (gl_PREREQ_SIG_HANDLER_H): ... not here.
25006         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
25007
25008 2008-09-21  Bruno Haible  <bruno@clisp.org>
25009
25010         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
25011         section.
25012         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
25013         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
25014         the new section.
25015         (Support for obsolete systems lacking POSIX:2001): New section.
25016         (String handling <string.h>): Move strdup to the new section.
25017         Suggested by Simon Josefsson and Paolo Bonzini.
25018
25019 2008-09-21  Bruno Haible  <bruno@clisp.org>
25020
25021         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
25022         exponents in %e and %g results on 'long double'. Needed for mingw's
25023         improved *printf functions.
25024         * tests/test-vasprintf-posix.c (test_function): Likewise.
25025         * tests/test-snprintf-posix.h (test_function): Likewise.
25026         * tests/test-sprintf-posix.h (test_function): Likewise.
25027         Reported by Eric Blake.
25028
25029 2008-09-21  Bruno Haible  <bruno@clisp.org>
25030
25031         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
25032         * tests/test-sprintf-posix.h (test_function): Likewise.
25033
25034 2008-09-21  Bruno Haible  <bruno@clisp.org>
25035
25036         * modules/getpass (Depends-on): Add strdup-posix.
25037
25038         New module 'strdup-posix'.
25039         * modules/strdup-posix: New file.
25040         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
25041         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
25042         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25043         REPLACE_STRDUP.
25044         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
25045         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
25046         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25047         strdup-posix.
25048
25049         * modules/strdup (Depends-on): Remove malloc-posix.
25050
25051 2008-09-20  Bruno Haible  <bruno@clisp.org>
25052
25053         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
25054         Wildenhues.
25055
25056 2008-09-20  Bruno Haible  <bruno@clisp.org>
25057
25058         Ensure that wint_t gets defined on IRIX 5.3.
25059         * lib/wchar.in.h (wint_t): Define if not defined by the system.
25060         * lib/wctype.in.h (wint_t): Likewise.
25061         (__wctype_wint_t): Remove type.
25062         (isw*): Use wint_t instead of __wctype_wint_t.
25063         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
25064         * modules/wchar (Files): Add m4/wint_t.m4.
25065         (Makefile.am): Substitute HAVE_WINT_T.
25066         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
25067         * tests/test-wctype.c: Check that wint_t is defined.
25068         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
25069         * doc/posix-headers/wctype.texi: Likewise.
25070         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25071
25072 2008-09-18  Bruno Haible  <bruno@clisp.org>
25073
25074         * gnulib-tool (func_exit): Update comment.
25075
25076 2008-09-18  Simon Josefsson  <simon@josefsson.org>
25077
25078         * modules/getaddrinfo (Depends-on): Remove strdup, this module
25079         assumes strdup exists and does not depend on strdup to return
25080         ENOMEM on out of memory conditions.
25081
25082 2008-09-18  Bruno Haible  <bruno@clisp.org>
25083
25084         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
25085         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
25086         digits for the exponent.
25087
25088 2008-09-18  Jim Meyering  <meyering@redhat.com>
25089             Bruno Haible  <bruno@clisp.org>
25090
25091         * lib/vasnprintf.c (decimal_point_char): Define also if
25092         NEED_PRINTF_INFINITE_LONG_DOUBLE.
25093
25094 2008-09-16  Bruno Haible  <bruno@clisp.org>
25095         and Eric Blake  <ebb9@byu.net>
25096
25097         vasnprintf: support Irix 5.3
25098         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
25099         that mishandle long double infinity.
25100         Reported by Tom G. Christensen.
25101
25102 2008-09-16  Bruno Haible  <bruno@clisp.org>
25103
25104         * doc/glibc-functions/scandir.texi: Mention the function is missing on
25105         Solaris 9.
25106         * doc/glibc-functions/alphasort.texi: Likewise.
25107         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
25108
25109 2008-09-16  Jim Meyering  <meyering@redhat.com>
25110
25111         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
25112         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
25113         a umask modification leak out of a subshell.  Otherwise, the
25114         opensolaris /bin/sh would be accepted and thus cause unwarranted
25115         failures in the coreutils test suite.
25116
25117 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
25118
25119         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
25120         to succeed.
25121
25122 2008-09-16  Jim Meyering  <meyering@redhat.com>
25123
25124         avoid spurious test failure when library is built without ACL support
25125         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
25126         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
25127         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
25128         * tests/test-copy-acl.sh: Likewise.
25129
25130 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25131
25132         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
25133         based on character occurrence counts.
25134
25135 2008-09-15  Eric Blake  <ebb9@byu.net>
25136
25137         tests: avoid some compiler warnings
25138         * tests/test-memchr.c (main): Pass NULL indirectly.
25139         * tests/test-closein.c (main): Avoid unused variable.
25140
25141 2008-09-15  Bruno Haible  <bruno@clisp.org>
25142
25143         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
25144         are missing on OpenBSD 4.0 individually.
25145         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25146
25147 2008-09-15  Bruno Haible  <bruno@clisp.org>
25148
25149         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
25150         * doc/posix-functions/strerror.texi: Mention also Cygwin.
25151         * doc/posix-functions/perror.texi: Likewise.
25152         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
25153         is missing.
25154         Reported by Eric Blake.
25155
25156         * lib/errno.in.h: Use replacement values >= 2000.
25157         Reported by Eric Blake.
25158
25159 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25160
25161         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
25162         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
25163         limit.
25164         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
25165         compareseq was aborted.
25166
25167 2008-09-14  Bruno Haible  <bruno@clisp.org>
25168
25169         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
25170         yvec_edit_count.
25171         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
25172         (fstrcmp_bounded): Simplify result computation accordingly.
25173
25174 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25175
25176         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
25177         (fstrcmp): Define in terms of fstrcmp_bounded.
25178         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
25179         lower_bound argument.
25180         Return quickly if the result is certainly < lower_bound.
25181         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
25182
25183 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25184
25185         * lib/diffseq.h (EARLY_ABORT): New macro.
25186         (compareseq): Change return type to bool. Return true when EARLY_ABORT
25187         evaluates to true.
25188
25189 2008-09-14  Bruno Haible  <bruno@clisp.org>
25190
25191         * modules/perror-tests: New file.
25192         * tests/test-perror.sh: New file.
25193         * tests/test-perror.c: New file.
25194
25195         New module 'perror'.
25196         * lib/stdio.in.h (perror): New declaration.
25197         * lib/perror.c: New file.
25198         * m4/perror.m4: New file.
25199         * modules/perror: New file.
25200         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
25201         * doc/posix-functions/perror.texi: Mention the perror module.
25202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
25203         REPLACE_PERROR.
25204         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
25205         REPLACE_PERROR.
25206
25207 2008-09-14  Bruno Haible  <bruno@clisp.org>
25208
25209         * modules/stdio (Makefile.am): Reorder to match the order in
25210         lib/stdio.in.h.
25211         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25212
25213 2008-09-13  Bruno Haible  <bruno@clisp.org>
25214
25215         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
25216
25217 2008-09-13  Bruno Haible  <bruno@clisp.org>
25218
25219         Extend strerror to cover the added errno values.
25220         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
25221         (rpl_strerror): Provide error messages for the added errno values and
25222         for the WSA* values.
25223         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
25224         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
25225         strerror.
25226         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
25227         * modules/strerror (Depends-on): Add errno.
25228         * doc/posix-functions/strerror.texi: Document the change.
25229         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
25230         and EOVERFLOW.
25231
25232 2008-09-13  Bruno Haible  <bruno@clisp.org>
25233
25234         * modules/EOVERFLOW: Remove file.
25235         * m4/eoverflow.m4: Remove file.
25236         * modules/EOVERFLOW-tests: Remove file.
25237         * tests/test-EOVERFLOW.c: Remove file.
25238         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
25239         * modules/ftell (Depends-on): Likewise.
25240         * modules/getdelim (Depends-on): Likewise.
25241         * modules/getugroups (Depends-on): Likewise.
25242         * modules/poll (Depends-on): Likewise.
25243         * modules/snprintf (Depends-on): Likewise.
25244         * modules/sprintf-posix (Depends-on): Likewise.
25245         * modules/vasnprintf (Depends-on): Likewise.
25246         * modules/vasprintf (Depends-on): Likewise.
25247         * modules/vfprintf-posix (Depends-on): Likewise.
25248         * modules/vsnprintf (Depends-on): Likewise.
25249         * modules/vsprintf-posix (Depends-on): Likewise.
25250         * modules/xvasprintf (Depends-on): Likewise.
25251         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25252         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
25253         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
25254         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
25255         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25256         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
25257         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
25258         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
25259         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25260         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
25261         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
25262         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
25263         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25264         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
25265         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
25266         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
25267         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25268         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
25269         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
25270         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
25271         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25272         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
25273         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
25274         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
25275         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
25276         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25277         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
25278         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
25279         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
25280         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
25281         * MODULES.html.sh: Remove EOVERFLOW.
25282         * NEWS: Mention the change.
25283
25284 2008-09-13  Bruno Haible  <bruno@clisp.org>
25285
25286         * modules/errno-tests: New file.
25287         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
25288
25289         * lib/errno.in.h: New file.
25290         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
25291         * modules/errno: New file.
25292         * doc/posix-headers/errno.texi: Update documentation.
25293         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
25294
25295 2008-09-13  Bruno Haible  <bruno@clisp.org>
25296
25297         * tests/test-poll.c: Use #if for native Windows, rather than testing
25298         __MSVCRT__.
25299
25300 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25301             Bruno Haible  <bruno@clisp.org>
25302
25303         * lib/glob.c: Don't include <pwd.h> on native Windows.
25304         (WINDOWS32): New macro.
25305         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
25306
25307 2008-09-13  Bruno Haible  <bruno@clisp.org>
25308
25309         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
25310         (ETIMEDOUT): Remove macro.
25311         (glthread_cond_timedwait_multithreaded): New declaration.
25312         (glthread_cond_timedwait): Use it.
25313         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
25314         (glthread_cond_timedwait_multithreaded): New function.
25315
25316 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25317
25318         * modules/poll-tests: Do not check for io.h.
25319         * tests/test-poll.c: Check for __MSVCRT__ instead.
25320
25321 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25322
25323         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
25324         * modules/poll-tests: Add inet_pton, stdbool, sockets.
25325         * tests/test-poll.c: Use them.  Use _pipe on Windows.
25326
25327 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25328
25329         * modules/poll-tests: New.
25330         * tests/test-poll.c: New.
25331
25332 2008-09-12  Eric Blake  <ebb9@byu.net>
25333
25334         frexp: test for NetBSD failure on -0.0
25335         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
25336         not all, bugs from NetBSD 3.0 have been fixed.
25337         * doc/posix-functions/frexp.texi (frexp): Document bug.
25338         Reported by Thomas Klausner.
25339
25340         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
25341         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
25342         literal -0.0.
25343         Reported by Jonathan C. Patschke <jp@centtech.com>.
25344
25345 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25346
25347         * lib/glthread/cond.h: Use dummy implementation also if
25348         USE_WIN32_THREADS.
25349
25350 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25351
25352         * modules/fnmatch-posix (License): Change to LGPLv2+.
25353         * modules/fnmatch-gnu (License): Likewise.
25354
25355 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25356
25357         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
25358
25359 2008-09-11  Jim Meyering  <meyering@redhat.com>
25360
25361         * users.txt: Add gtk-vnc.
25362
25363 2008-09-08  Simon Josefsson  <simon@josefsson.org>
25364
25365         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
25366         rotate amounts.
25367
25368         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
25369         required for 16-bit and 8-bit rotates.
25370         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
25371         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
25372         UINT8_MAX instead of hard-coded constants.
25373         Suggested by Paul Eggert.
25374
25375 2008-09-07  Bruno Haible  <bruno@clisp.org>
25376
25377         * tests/test-striconveh.c (main): Check behaviour when converting from
25378         UTF-7.
25379
25380         Make striconveh work better with stateful encodings.
25381         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
25382         that iconv does not increment the inptr when returning -1/EINVAL.
25383
25384 2008-09-07  Bruno Haible  <bruno@clisp.org>
25385
25386         * build-aux/config.rpath: Update according to libtool-2.2.6.
25387         * build-aux/config.libpath: Likewise.
25388
25389 2008-09-06  Bruno Haible  <bruno@clisp.org>
25390
25391         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
25392         * lib/freadptr.c (freadptr): Likewise.
25393         * lib/freadseek.c (freadptrinc): Likewise.
25394         Reported by Simon Josefsson.
25395
25396 2008-09-06  Bruno Haible  <bruno@clisp.org>
25397
25398         * modules/freadptr (License): Change to LGPLv2+.
25399         * modules/freadseek (License): Likewise.
25400         Suggested by Eric Blake.
25401
25402         * modules/memchr2 (License): Change to LGPLv2+.
25403         Approved by Eric Blake.
25404
25405 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25406             Bruno Haible  <bruno@clisp.org>
25407
25408         Make gnulib-tool work with native 'sed' on AIX.
25409         * gnulib-tool (sed_noop): New variable.
25410         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
25411         func_add_or_update, func_create_testdir): Use it to initialize sed
25412         script variables.
25413         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25414
25415 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
25416             Bruno Haible  <bruno@clisp.org>
25417
25418         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
25419         also works after #include directives.
25420
25421 2008-09-04  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
25422
25423         getdate.y: reject an out-of-range timezone value
25424         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
25425         the range [-24...+24].  When specified with only one or two digits,
25426         * tests/test-getdate.c: Tests for the fix.
25427         * doc/getdate.texi: Document this change.
25428
25429 2008-09-03  Bruno Haible  <bruno@clisp.org>
25430
25431         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
25432
25433 2008-09-02  Simon Josefsson  <simon@josefsson.org>
25434
25435         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
25436         <bruce.korb@gmail.com> with ideas from Ben Pfaff
25437         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
25438         Blake <ebb9@byu.net>.
25439
25440         * tests/test-bitrotate.c: Add more test vectors.
25441
25442 2008-09-02  Eric Blake  <ebb9@byu.net>
25443
25444         vasnprintf-posix: handle large precision via %.*d
25445         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
25446         when handling it ourselves.
25447         * tests/test-vasnprintf-posix.c (test_function): Add test.
25448         * tests/test-snprintf-posix.h (test_function): Likewise.
25449         * tests/test-sprintf-posix.h (test_function): Likewise.
25450         * tests/test-vasprintf-posix.c (test_function): Likewise.
25451         Reported by Alain Guibert.
25452
25453 2008-09-01  Eric Blake  <ebb9@byu.net>
25454
25455         c-stack: make configure-time check more robust
25456         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
25457         successful sigaction call.
25458         Reported by Tom G. Christensen.
25459
25460 2008-09-01  Bruno Haible  <bruno@clisp.org>
25461
25462         New module 'findprog-lgpl'.
25463         * modules/findprog-lgpl: New file.
25464         * lib/findprog-lgpl.c: New file.
25465         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
25466         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
25467         to decide whether to use strdup or xstrdup, concatenated_filename or
25468         xconcatenated_filename.
25469
25470 2008-09-01  Bruno Haible  <bruno@clisp.org>
25471
25472         Split module 'concat-filename' into 'concat-filename' (LGPL) and
25473         'xconcat-filename' (GPL).
25474         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
25475         (License): Change to LGPLv2+.
25476         * modules/xconcat-filename: New file.
25477         * lib/concat-filename.h (concatenated_filename): Change specification.
25478         (xconcatenated_filename): New declaration.
25479         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
25480         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
25481         memory situations.
25482         * lib/xconcat-filename.c: New file.
25483         * NEWS: Mention the change.
25484         * lib/findprog.c: Include concat-filename.h, not filename.h.
25485         (find_in_path): Use xconcatenated_filename instead of
25486         concatenated_filename.
25487         * lib/javacomp.c: Include concat-filename.h, not filename.h.
25488         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
25489         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
25490         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
25491         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
25492         instead of concatenated_filename.
25493         * lib/javaexec.c: Include concat-filename.h, not filename.h.
25494         (execute_java_class): Use xconcatenated_filename instead of
25495         concatenated_filename.
25496         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
25497         * modules/javacomp (Depends-on): Likewise.
25498         * modules/javaexec (Depends-on): Likewise.
25499
25500 2008-09-01  Bruno Haible  <bruno@clisp.org>
25501
25502         Split module 'filename' into 'filename' and 'concat-filename'.
25503         * modules/filename: Keep only lib/filename.h.
25504         (License): Change to LGPLv2+.
25505         * modules/concat-filename: New file, extracted from modules/filename.
25506         * lib/filename.h (concatenated_filename): Remove declaration.
25507         * lib/concat-filename.h: New file, extracted from lib/filename.h.
25508         * lib/concat-filename.c: Include concat-filename.h.
25509         * NEWS: Mention the change.
25510
25511 2008-09-01  Simon Josefsson  <simon@josefsson.org>
25512
25513         * lib/bitrotate.h (rotl8, rotr8): Add.
25514
25515         * modules/bitrotate (configure.ac): Need
25516         AC_REQUIRE([AC_C_INLINE]).
25517         (Description): Mention stdint.h.  Reported by Bruno Haible
25518         <bruno@clisp.org>.
25519
25520         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
25521         Paolo Bonzini <bonzini@gnu.org>.
25522
25523 2008-08-31  Bruno Haible  <bruno@clisp.org>
25524
25525         Assume Solaris specific bi-arch conventions on Solaris systems.
25526         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
25527         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
25528         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
25529         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
25530         like acl_libdirstem.
25531         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
25532         acl_libdirstem.
25533         * NEWS: Mention the change.
25534         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
25535
25536 2008-08-31  Jim Meyering  <meyering@redhat.com>
25537
25538         * lib/strftime.h: Add comments describing the two added arguments.
25539
25540         remove duplicate #include directives
25541         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
25542         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
25543
25544 2008-08-31  Bruno Haible  <bruno@clisp.org>
25545
25546         New module 'sigpipe-die'.
25547         * modules/sigpipe-die: New file.
25548         * lib/sigpipe-die.h: New file.
25549         * lib/sigpipe-die.c: New file.
25550         * MODULES.html.sh (Signal handling): Add sigpipe-die.
25551
25552 2008-08-31  Bruno Haible  <bruno@clisp.org>
25553
25554         Don't override previously installed signal handlers.
25555         * lib/fatal-signal.c (saved_sigactions): New variable.
25556         (uninstall_handlers): Reset the signal to the saved handler, not
25557         to SIG_DFL (except when ignored).
25558         (install_handlers): Save the previous handlers.
25559
25560 2008-08-30  Bruno Haible  <bruno@clisp.org>
25561
25562         * gnulib-tool (func_reset_sigpipe): New function.
25563         (func_get_automake_snippet, func_modules_transitive_closure,
25564         func_import): Invoke it before a join command that reads from stdin,
25565         to avoid "echo: write error: Broken pipe" error messages on stderr.
25566         Reported by Sam Steingold <sds@gnu.org>.
25567
25568 2008-08-30  Bruno Haible  <bruno@clisp.org>
25569
25570         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
25571         Code copied from m4/open.m4.
25572         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
25573         access and the filename ends in a slash. Code copied from lib/open.c.
25574         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
25575         * tests/test-fopen.c (main): Check against bug with trailing slash.
25576
25577 2008-08-29  Bruno Haible  <bruno@clisp.org>
25578
25579         Avoid some "gcc -pedantic" warnings.
25580         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
25581         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
25582         * lib/dirent.in.h: Likewise.
25583         * lib/fcntl.in.h: Likewise.
25584         * lib/float.in.h: Likewise.
25585         * lib/iconv.in.h: Likewise.
25586         * lib/inttypes.in.h: Likewise.
25587         * lib/locale.in.h: Likewise.
25588         * lib/math.in.h: Likewise.
25589         * lib/netinet_in.in.h: Likewise.
25590         * lib/search.in.h: Likewise.
25591         * lib/signal.in.h: Likewise.
25592         * lib/stdarg.in.h: Likewise.
25593         * lib/stdint.in.h: Likewise.
25594         * lib/stdio.in.h: Likewise.
25595         * lib/stdlib.in.h: Likewise.
25596         * lib/string.in.h: Likewise.
25597         * lib/strings.in.h: Likewise.
25598         * lib/sys_select.in.h: Likewise.
25599         * lib/sys_socket.in.h: Likewise.
25600         * lib/sys_stat.in.h: Likewise.
25601         * lib/sys_time.in.h: Likewise.
25602         * lib/sysexits.in.h: Likewise.
25603         * lib/time.in.h: Likewise.
25604         * lib/unistd.in.h: Likewise.
25605         * lib/wchar.in.h: Likewise.
25606         * lib/wctype.in.h: Likewise.
25607         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
25608         * modules/fchdir (Makefile.am): Likewise.
25609         * modules/fcntl (Makefile.am): Likewise.
25610         * modules/float (Makefile.am): Likewise.
25611         * modules/iconv_open (Makefile.am): Likewise.
25612         * modules/inttypes (Makefile.am): Likewise.
25613         * modules/locale (Makefile.am): Likewise.
25614         * modules/math (Makefile.am): Likewise.
25615         * modules/netinet_in (Makefile.am): Likewise.
25616         * modules/search (Makefile.am): Likewise.
25617         * modules/signal (Makefile.am): Likewise.
25618         * modules/stdarg (Makefile.am): Likewise.
25619         * modules/stdint (Makefile.am): Likewise.
25620         * modules/stdio (Makefile.am): Likewise.
25621         * modules/stdlib (Makefile.am): Likewise.
25622         * modules/string (Makefile.am): Likewise.
25623         * modules/strings (Makefile.am): Likewise.
25624         * modules/sys_select (Makefile.am): Likewise.
25625         * modules/sys_socket (Makefile.am): Likewise.
25626         * modules/sys_stat (Makefile.am): Likewise.
25627         * modules/sys_time (Makefile.am): Likewise.
25628         * modules/sysexits (Makefile.am): Likewise.
25629         * modules/time (Makefile.am): Likewise.
25630         * modules/unistd (Makefile.am): Likewise.
25631         * modules/wchar (Makefile.am): Likewise.
25632         * modules/wctype (Makefile.am): Likewise.
25633         Reported by Reuben Thomas <rrt@sc3d.org>.
25634
25635 2008-08-29  Bruno Haible  <bruno@clisp.org>
25636
25637         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
25638         any more.
25639
25640 2008-08-29  Simon Josefsson  <simon@josefsson.org>
25641
25642         * MODULES.html.sh (Misc): Add bitrotate.
25643
25644         * modules/bitrotate: New file.
25645
25646         * lib/bitrotate.h: New file.
25647
25648         * modules/bitrotate-tests: New file.
25649
25650         * tests/test-bitrotate.c: New file.
25651
25652         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
25653         on the bitrotate module.
25654
25655         * lib/arctwo.c: Use new bitrotate module.
25656
25657 2008-08-29  Jim Meyering  <meyering@redhat.com>
25658
25659         bootstrap: merge changes from coreutils
25660         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
25661         of copied files.  Remove a kludge, now that this is fixed.
25662         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
25663         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
25664         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
25665
25666 2008-08-29  Bruno Haible  <bruno@clisp.org>
25667
25668         * MODULES.html.sh: Remove --cvs-urls option.
25669
25670 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
25671
25672         maint.mk: adjust to file name change
25673         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
25674
25675 2008-08-28  Jim Meyering  <meyering@redhat.com>
25676
25677         * modules/getndelim2 (License): Relicense to LGPLv2+.
25678         Approved by Richard Stallman for the version of 1995, and by
25679         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
25680
25681 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
25682
25683         * lib/getdelim.c (flockfile, funlockfile): Make all of them
25684         dummy if one is not available.  Do not touch them if
25685         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
25686         (getc_maybe_unlocked): New.
25687         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
25688
25689 2008-08-26  Eric Blake  <ebb9@byu.net>
25690
25691         doc/INSTALL: resync from autoconf
25692         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
25693         (INSTALL_PRELUDE): Delete; this is done more efficiently by
25694         moving...
25695         * install.texi [!autoconf]: ...here.  Resync from autoconf.
25696         * INSTALL: Regenerate.
25697         * INSTALL.ISO: New file.
25698         * INSTALL.UTF-8: Likewise.
25699
25700 2008-08-26  Jim Meyering  <meyering@redhat.com>
25701
25702         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
25703         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
25704         these definitions conditional, so that they may be overridden, too.
25705
25706 2008-08-26  Bruno Haible  <bruno@clisp.org>
25707
25708         Generate INSTALL file variants with prettier quotes.
25709         * doc/Makefile (INSTALL_PRELUDE): New macro.
25710         (INSTALL): Use it.
25711         (INSTALL.ISO, INSTALL.UTF-8): New rules.
25712
25713 2008-08-26  Bruno Haible  <bruno@clisp.org>
25714
25715         Run makeinfo in an English locale.
25716         * doc/Makefile (MAKEINFO): New variable.
25717
25718 2008-08-26  Bruno Haible  <bruno@clisp.org>
25719
25720         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
25721         Suggested by Eric Blake.
25722
25723 2008-08-25  Bruno Haible  <bruno@clisp.org>
25724
25725         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
25726
25727 2008-08-25  Eric Blake  <ebb9@byu.net>
25728
25729         c-stack: test that stack overflow can be caught
25730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
25731         that platform allows handling stack overflow; at least OS/2 EMX
25732         has sigaltstack, but crashes before transferring control to
25733         handler on stack overflow.
25734         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
25735         check for HAVE_STACK_OVERFLOW_HANDLING.
25736         Reported by Elbert Pol.
25737
25738 2008-08-25  Bruno Haible  <bruno@clisp.org>
25739
25740         * doc/posix-functions/strftime.texi: Fix description of strftime
25741         module.
25742
25743 2008-08-24  Bruno Haible  <bruno@clisp.org>
25744
25745         * tests/uniwidth/test-uc_width2.c: New file.
25746         * tests/uniwidth/test-uc_width2.sh: New file.
25747         * modules/uniwidth/width-tests (Files): Add the new files.
25748         (TESTS): Add uniwidth/test-uc_width2.sh.
25749         (TESTS_ENVIRONMENT): New variable.
25750         (check_PROGRAMS): Add test-uc_width2.
25751         (test_uc_width2_SOURCES): New variable.
25752
25753         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
25754         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
25755         not 0x00AB.
25756         Reported by Alexander V. Lukyanov <lav@netis.ru>.
25757
25758 2008-08-22  Eric Blake  <ebb9@byu.net>
25759
25760         test-lock, test-tls: mention why a test is skipped
25761         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
25762         skipped.
25763         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
25764
25765         count-one-bits: relax license
25766         * modules/count-one-bits (License): Relicense to LGPLv2+.
25767         Suggested by Ludovic Courtès, approved by Ben Pfaff.
25768
25769 2008-08-22  Andreas Schwab  <schwab@suse.de>
25770
25771         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
25772         Remove spurious space in assignment.
25773
25774 2008-08-21  Simon Josefsson  <simon@josefsson.org>
25775
25776         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
25777         Paul Eggert <eggert@CS.UCLA.EDU>.
25778
25779 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
25780
25781         * modules/gettext: Add m4/threadlib.m4.
25782
25783 2008-08-19  Eric Blake  <ebb9@byu.net>
25784
25785         test-c-stack: fix compilation failure on FreeBSD 5.0
25786         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
25787         headers before <sys/resource.h>.
25788         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
25789         the bug.
25790         Reported by Nelson H. F. Beebe.
25791
25792         strverscmp: migrate from "strverscmp.h" to <string.h>
25793         * modules/string (Makefile.am): Add new hooks.
25794         * modules/strverscmp (Files): Remove strverscmp.h.
25795         (Depends-on): Add string.
25796         (configure.ac): Add indicator.
25797         (Include): Mention new header.
25798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
25799         defaults.
25800         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
25801         results.
25802         * lib/strverscmp.h: Delete.
25803         * lib/string.in.h (strverscmp): Provide declaration, when needed.
25804         * tests/test-strverscmp.c (includes): Adjust client.
25805         * lib/check-version.c (includes): Likewise.
25806         * NEWS: Document the change.
25807
25808         strverscmp: add unit test
25809         * modules/strverscmp-tests: New file.
25810         * tests/test-strverscmp.c: Likewise.
25811
25812 2008-08-19  Simon Josefsson  <simon@josefsson.org>
25813
25814         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
25815         regarding Windows crypto stuff, from Mono.
25816
25817 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
25818
25819         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
25820         if present, for intel RND.  Return error on failures.
25821
25822 2008-08-18  Ben Pfaff  <blp@gnu.org>
25823
25824         gitlog-to-changelog: give better diagnostic for failed pipe-open
25825         * build-aux/gitlog-to-changelog: Improve error message: suggest
25826         that the version of Git may be too old.
25827
25828 2008-08-18  Simon Josefsson  <simon@josefsson.org>
25829
25830         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
25831         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
25832
25833 2008-08-18  Bruno Haible  <bruno@clisp.org>
25834
25835         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
25836         pthread_in_use().
25837
25838 2008-08-18  Bruno Haible  <bruno@clisp.org>
25839
25840         * lib/glthread/threadlib.c: Include <pthread.h>.
25841
25842 2008-08-18  Bruno Haible  <bruno@clisp.org>
25843
25844         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
25845         glthread_recursive_lock_* macros.
25846         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
25847         Fix syntax error.
25848
25849 2008-08-18  Bruno Haible  <bruno@clisp.org>
25850
25851         * lib/glthread/thread.c: Avoid forcing a context switch right after
25852         thread creation.
25853
25854 2008-08-17  Bruno Haible  <bruno@clisp.org>
25855
25856         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
25857         * lib/glthread/thread.h: Provide Win32 specific implementation.
25858         * modules/thread (Files): Add lib/glthread/thread.c.
25859         (Depends-on): Add lock.
25860         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
25861
25862 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25863
25864         New module 'yield'.
25865         * modules/yield: New file.
25866         * lib/glthread/yield.h: New file.
25867         * m4/yield.m4: New file.
25868         * MODULES.html.sh (Multithreading): Add yield.
25869
25870 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25871
25872         New module 'thread'.
25873         * modules/thread: New file.
25874         * lib/glthread/thread.h: New file.
25875         * m4/thread.m4: New file.
25876         * MODULES.html.sh (Multithreading): Add thread.
25877
25878 2008-08-17  Bruno Haible  <bruno@clisp.org>
25879
25880         * lib/glthread/lock.h: Include <stdlib.h> always.
25881         * lib/glthread/tls.h: Likewise.
25882         * lib/glthread/cond.h: Likewise.
25883
25884 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25885
25886         New module 'cond'.
25887         * modules/cond: New file.
25888         * lib/glthread/cond.h: New file.
25889         * lib/glthread/cond.c: New file.
25890         * m4/cond.m4: New file.
25891         * MODULES.html.sh (Multithreading): Add cond.
25892
25893 2008-08-16  Eric Blake  <ebb9@byu.net>
25894
25895         c-stack: fix regression on Irix 5.3 from 2008-06-21
25896         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
25897         sa_sigaction...
25898         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
25899         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
25900         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
25901         * modules/signal (Makefile.am): Use the value.
25902         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
25903         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
25904         * doc/posix-headers/signal.texi (signal.h): Document this
25905         portability issue.
25906         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
25907         Reported by Tom G. Christensen.
25908
25909 2008-08-17  Bruno Haible  <bruno@clisp.org>
25910
25911         New module 'threadlib'.
25912         * modules/threadlib: New file.
25913         * lib/glthread/threadlib.c: New file, extracted from
25914         lib/glthread/lock.c.
25915         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
25916         functions.
25917         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
25918         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
25919         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
25920         macros.
25921         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
25922         (gl_DISABLE_THREADS): Remove macro.
25923         * modules/lock (Files): Remove build-aux/config.rpath.
25924         (Depends-on): Remove havelib. Add threadlib.
25925         (configure.ac-early): Remove section.
25926         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
25927         * modules/tls (Depends-on): Remove lock. Add threadlib.
25928         (Link): New section, copied from threadlib.
25929         * MODULES.html.sh (Multithreading): Add threadlib.
25930
25931 2008-08-14  Bruno Haible  <bruno@clisp.org>
25932
25933         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
25934         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
25935         glthread_rwlock_unlock, glthread_rwlock_destroy,
25936         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
25937         glthread_recursive_lock_destroy): Define as macros always.
25938         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
25939         glthread_lock_lock.
25940         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
25941         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
25942         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
25943         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
25944         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
25945         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
25946         (glthread_recursive_lock_lock_func): Renamed from
25947         glthread_recursive_lock_lock.
25948         (glthread_recursive_lock_unlock_func): Renamed from
25949         glthread_recursive_lock_unlock.
25950         (glthread_recursive_lock_destroy_func): Renamed from
25951         glthread_recursive_lock_destroy.
25952
25953 2008-08-14  Bruno Haible  <bruno@clisp.org>
25954
25955         * lib/glthread/lock.h: Renamed from lib/lock.h.
25956         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
25957         * lib/glthread/tls.h: Renamed from lib/tls.h.
25958         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
25959         * lib/fstrcmp.c: Update includes.
25960         * lib/strsignal.c: Update includes.
25961         * modules/lock (Files, Makefile.am): Update.
25962         (Include): Change to "glthread/lock.h".
25963         * modules/tls (Files, Makefile.am): Update.
25964         (Include): Change to "glthread/tls.h".
25965         * tests/test-lock.c: Update includes.
25966         * tests/test-tls.c: Update includes.
25967         * NEWS: Mention the renamed header files.
25968
25969 2008-08-11  Jim Meyering  <meyering@redhat.com>
25970
25971         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
25972
25973 2008-08-11  Eric Blake  <ebb9@byu.net>
25974
25975         test-c-stack: avoid C99-ism
25976         * tests/test-c-stack.c (main): Fix whitespace, move declaration
25977         before statement.
25978         Reported by Alain Guibert.
25979
25980 2008-08-10  Jim Meyering  <meyering@redhat.com>
25981
25982         ensure that return value of uinttostr et al are not ignored
25983         * lib/inttostr.h (__GNUC_PREREQ): Define.
25984         (__attribute_warn_unused_result__): Define.
25985         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
25986
25987 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
25988
25989         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
25990         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
25991
25992 2008-08-07  Jim Meyering  <meyering@redhat.com>
25993
25994         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
25995
25996         * modules/mkstemp (License): Relicense under LGPLv2+.
25997         * modules/tempname (License): Likewise.
25998
25999 2008-08-06  Bruno Haible  <bruno@clisp.org>
26000
26001         * lib/poll.c (poll): Further micro-optimization.
26002
26003 2008-08-06  Jim Meyering  <meyering@redhat.com>
26004
26005         inet_pton.c: use locale-independent tolower
26006         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
26007         (inet_pton6): Use c_tolower rather than tolower.
26008         * modules/inet_pton (Depends-on): Add c-ctype.
26009
26010 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
26011
26012         * lib/poll.c (poll): Avoid division when timeout is 0, cache
26013         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
26014
26015 2008-08-06  Jim Meyering  <meyering@redhat.com>
26016
26017         * modules/inet_pton (License): Relicense under LGPLv2+.
26018
26019 2008-08-03  Bruno Haible  <bruno@clisp.org>
26020
26021         Additional non-aborting API for lock and tls.
26022         * lib/lock.h: Include <errno.h>.
26023         (glthread_lock_init): New macro/function.
26024         (gl_lock_init): Define as wrapper around glthread_lock_init.
26025         (glthread_lock_lock): New macro/function.
26026         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
26027         (glthread_lock_unlock): New macro/function.
26028         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
26029         (glthread_lock_destroy): New macro/function.
26030         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
26031         (glthread_rwlock_init): New macro/function.
26032         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
26033         (glthread_rwlock_rdlock): New macro/function.
26034         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
26035         (glthread_rwlock_wrlock): New macro/function.
26036         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
26037         (glthread_rwlock_unlock): New macro/function.
26038         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
26039         (glthread_rwlock_destroy): New macro/function.
26040         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
26041         (glthread_recursive_lock_init): New macro/function.
26042         (gl_recursive_lock_init): Define as wrapper around
26043         glthread_recursive_lock_init.
26044         (glthread_recursive_lock_lock): New macro/function.
26045         (gl_recursive_lock_lock): Define as wrapper around
26046         glthread_recursive_lock_lock.
26047         (glthread_recursive_lock_unlock): New macro/function.
26048         (gl_recursive_lock_unlock): Define as wrapper around
26049         glthread_recursive_lock_unlock.
26050         (glthread_recursive_lock_destroy): New macro/function.
26051         (gl_recursive_lock_destroy): Define as wrapper around
26052         glthread_recursive_lock_destroy.
26053         (glthread_once): New macro/function.
26054         (gl_once): Define as wrapper around glthread_once.
26055         Update function declarations.
26056         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
26057         glthread_rwlock_init. Return error code.
26058         (glthread_rwlock_rdlock_multithreaded): Renamed from
26059         glthread_rwlock_rdlock. Return error code.
26060         (glthread_rwlock_wrlock_multithreaded): Renamed from
26061         glthread_rwlock_wrlock. Return error code.
26062         (glthread_rwlock_unlock_multithreaded): Renamed from
26063         glthread_rwlock_unlock. Return error code.
26064         (glthread_rwlock_destroy_multithreaded): Renamed from
26065         glthread_rwlock_destroy. Return error code.
26066         (glthread_recursive_lock_init_multithreaded): Renamed from
26067         glthread_recursive_lock_init. Return error code.
26068         (glthread_recursive_lock_lock_multithreaded): Renamed from
26069         glthread_recursive_lock_lock. Return error code.
26070         (glthread_recursive_lock_unlock_multithreaded): Renamed from
26071         glthread_recursive_lock_unlock. Return error code.
26072         (glthread_recursive_lock_destroy_multithreaded): Renamed from
26073         glthread_recursive_lock_destroy. Return error code.
26074         (glthread_once_call): Make static.
26075         (glthread_once_multithreaded): Renamed from glthread_once.
26076         * lib/tls.h: Include <errno.h>.
26077         (glthread_tls_key_init): New macro/function.
26078         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
26079         (glthread_tls_set): New macro/function.
26080         (gl_tls_set): Define as wrapper around glthread_tls_set.
26081         (glthread_tls_key_destroy): New macro/function.
26082         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
26083         Update function declarations.
26084         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
26085         glthread_tls_get.
26086         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26087
26088 2008-08-04  Eric Blake  <ebb9@byu.net>
26089
26090         gnumakefile: use space, not TAB, outside of targets
26091         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
26092
26093 2008-08-02  Jim Meyering  <meyering@redhat.com>
26094
26095         getdate.y: avoid locale-dependent date parsing failure
26096         In Turkish locales, getdate would fail to recognize keywords
26097         containing a lowercase "i".  The solution is not to rely on
26098         locale-sensitive case-conversion.
26099         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
26100         (lookup_word): Use c_toupper in place of toupper.
26101         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
26102         Reported by Vefa Bicakci <bicave@superonline.com> in
26103         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
26104         * modules/getdate (Depends-on): Add c-ctype.
26105
26106 2008-08-02  Bruno Haible  <bruno@clisp.org>
26107
26108         * gnulib-tool (func_import): When updating or creating a .gitignore
26109         file, prepend each added line with a slash, and ignore leading slashes
26110         from the existing lines.
26111         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
26112
26113 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26114
26115         Portability fix for GNU make 3.79.1.
26116         * top/GNUmakefile: Avoid 'else COND', which older GNU make
26117         versions do not understand.
26118
26119 2008-08-01  Bruno Haible  <bruno@clisp.org>
26120
26121         Work around bug of HP-UX 10.20 cc with -0.0 literal.
26122         * tests/test-isnanf.h (zero): New variable.
26123         (main): Avoid literal -0.0f.
26124         * tests/test-isnand.h (zero): New variable.
26125         (main): Avoid literal -0.0.
26126         * tests/test-isnanl.h (zero): New variable.
26127         (main): Avoid literal -0.0L.
26128         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
26129         (test_float, test_double, test_long_double): Avoid literals -0.0f,
26130         -0.0, -0.0L.
26131         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
26132         (test_signbitd): Avoid literal -0.0.
26133         (test_signbitl): Avoid literal -0.0L.
26134         * tests/test-ceilf1.c (zero): New variable.
26135         (main): Avoid literal -0.0f.
26136         * tests/test-ceill.c (zero): New variable.
26137         (main): Avoid literal -0.0L.
26138         * tests/test-floorf1.c (zero): New variable.
26139         (main): Avoid literal -0.0f.
26140         * tests/test-floorl.c (zero): New variable.
26141         (main): Avoid literal -0.0L.
26142         * tests/test-roundf1.c (zero): New variable.
26143         (main): Avoid literal -0.0f.
26144         * tests/test-round1.c (zero): New variable.
26145         (main): Avoid literal -0.0.
26146         * tests/test-roundl.c (zero): New variable.
26147         (main): Avoid literal -0.0L.
26148         * tests/test-truncf1.c (zero): New variable.
26149         (main): Avoid literal -0.0f.
26150         * tests/test-trunc1.c (zero): New variable.
26151         (main): Avoid literal -0.0.
26152         * tests/test-truncl.c (zero): New variable.
26153         (main): Avoid literal -0.0L.
26154         * tests/test-frexp.c (zero): New variable.
26155         (main): Avoid literal -0.0.
26156         * tests/test-frexpl.c (zero): New variable.
26157         (main): Avoid literal -0.0L.
26158         * tests/test-ldexpl.c (zero): New variable.
26159         (main): Avoid literal -0.0L.
26160         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26161         (zerod, zerol): New variables.
26162         (test_function): Avoid literals -0.0, -0.0L.
26163         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26164         (zerod, zerol): New variables.
26165         (test_function): Avoid literals -0.0, -0.0L.
26166         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26167         (zerod, zerol): New variables.
26168         (test_function): Avoid literals -0.0, -0.0L.
26169         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26170         (zerod, zerol): New variables.
26171         (test_function): Avoid literals -0.0, -0.0L.
26172         * tests/test-strtod.c (zero): New variable.
26173         (main): Avoid literal -0.0.
26174         Reported by Jonathan C. Patschke <jp@centtech.com>.
26175
26176 2008-07-31  Jim Meyering  <meyering@redhat.com>
26177
26178         sha256.h: correct definition of SHA224_DIGEST_SIZE
26179         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
26180         Reported by Paulie Pena IV <paulie4@gmail.com>.
26181         Define as 224 / 8, rather than as a literal.
26182         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
26183         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
26184         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
26185
26186 2008-07-31  Bruno Haible  <bruno@clisp.org>
26187
26188         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
26189         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
26190         Reported by Jonathan Patschke <jp@centtech.com>.
26191
26192 2008-07-31  Bruno Haible  <bruno@clisp.org>
26193
26194         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
26195         Reported by Paolo Bonzini <bonzini@gnu.org>.
26196
26197 2008-07-30  Eric Blake  <ebb9@byu.net>
26198
26199         test-strtod: allow compilation without -lm
26200         * tests/test-strtod.c (main): Avoid link dependence on fabs.
26201         Reported by Dennis Clarke <blastwave@gmail.com>.
26202
26203 2008-07-28  Jim Meyering  <meyering@redhat.com>
26204
26205         bootstrap: work also when there are no .po files in po/
26206         * build-aux/bootstrap (update_po_files): Complete the change
26207         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
26208
26209 2008-07-27  Jim Meyering  <meyering@redhat.com>
26210
26211         * users.txt: Add zile.
26212
26213 2008-07-26  Ben Pfaff  <blp@gnu.org>
26214
26215         Add missing dependencies on new m4/exponent[fdl].m4 files.
26216         * modules/isnanf-nolibm: Add m4/exponentf.m4.
26217         * modules/isnand-nolibm: Add m4/exponentd.m4.
26218         * modules/isnanl-nolibm: Add m4/exponentl.m4.
26219         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
26220         m4/isnan[fdl].m4, because the macros actually used moved.
26221         Reported by Jim Meyering.
26222
26223 2008-07-14  Ben Pfaff  <blp@gnu.org>
26224
26225         Add isinf module.
26226         * lib/isinf.c: New file.
26227         * lib/math.in.h: Define isinf macro if we have decided to replace
26228         it.
26229         * m4/isinf.m4: New file.
26230         * m4/math_h.m4: Initialize and substitute variables for isinf
26231         module.
26232         * modules/isinf: New file.
26233         * modules/isinf-tests: New file.
26234         * modules/math: Add substitutions for new module.
26235         * tests/test-isinf.c: New file.
26236         * doc/posix-functions/isinf.texi: Mention new module.
26237         * MODULES.html.sh: Mention new module.
26238
26239 2008-07-14  Ben Pfaff  <blp@gnu.org>
26240
26241         Factor out some macros for use by additional modules.
26242         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
26243         exponentf.m4.
26244         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
26245         exponentd.m4.
26246         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
26247         file exponentl.m4.
26248         * m4/exponentf.m4: New file.
26249         * m4/exponentd.m4: New file.
26250         * m4/exponentl.m4: New file.
26251         * modules/isnanf: Use new file m4/exponentf.m4.
26252         * modules/isnand: Use new file m4/exponentd.m4.
26253         * modules/isnanl: Use new file m4/exponentl.m4.
26254
26255 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
26256
26257         mktime.c: normalize tp->tm_isdst value to -1/0/1.
26258         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
26259         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
26260         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
26261
26262         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
26263         readlink on platforms without PATH_MAX.
26264
26265 2008-07-21  Eric Blake  <ebb9@byu.net>
26266
26267         Warn, not fail, on stale version.
26268         * top/GNUmakefile (_curr-ver): Tone down previous patch.
26269
26270         Don't allow installation with stale devel version number.
26271         * top/GNUmakefile (_is-install-target): New macro.
26272         (_curr-ver): Forbid installation with stale version number.
26273
26274 2008-07-20  Bruno Haible  <bruno@clisp.org>
26275
26276         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
26277         TESTS_ENVIRONMENT.
26278         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
26279
26280 2008-07-20  Bruno Haible  <bruno@clisp.org>
26281
26282         * lib/c-stack.h (c_stack_action): Add documentation.
26283         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
26284
26285 2008-07-20  Bruno Haible  <bruno@clisp.org>
26286
26287         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
26288         * modules/readlink (License): Likewise.
26289
26290 2008-07-17  Eric Blake  <ebb9@byu.net>
26291
26292         * modules/c-stack (Link): Fix typo.
26293
26294         Make c-stack use libsigsegv, when available.
26295         * modules/c-stack (Depends-on): Add libsigsegv.
26296         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
26297         needed.
26298         * lib/c-stack.c (SIGSTKSZ): Define fallback.
26299         (segv_handler, overflow_handler, c_stack_action)
26300         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
26301         implementation when libsigsegv is available, but only when using
26302         the library is necessary.
26303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
26304         comment, explaining why XSI check fails on Linux.
26305         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
26306         * tests/test-c-stack2.sh: Tweak skip message.
26307         * NEWS: Document new link-time requirements.
26308
26309 2008-07-16  Eric Blake  <ebb9@byu.net>
26310
26311         c-stack: Expose false positives when not using libsigsegv.
26312         * modules/c-stack-tests (Files): Expand test.
26313         * tests/test-c-stack.c (main): Add means to conditionally trigger
26314         non-overflow SIGSEGV.
26315         * tests/test-c-stack2.sh: New file.
26316
26317 2008-07-14  Bruno Haible  <bruno@clisp.org>
26318
26319         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
26320         Reported by Eric Blake.
26321
26322 2008-07-14  Sam Steingold  <sds@gnu.org>
26323             Bruno Haible  <bruno@clisp.org>
26324
26325         New module libsigsegv.
26326         * modules/libsigsegv: New file.
26327         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
26328         modifications.
26329         * MODULES.html.sh (Signal handling): New section.
26330
26331 2008-07-14  Bruno Haible  <bruno@clisp.org>
26332
26333         * modules/unictype/ctype-* (Description): Add the word "function".
26334         Improves the resulting doc in MODULES.html.
26335
26336 2008-07-12  Ben Pfaff  <blp@gnu.org>
26337
26338         Add longlong module.
26339         * modules/longlong: New file.
26340
26341 2008-07-12  Bruno Haible  <bruno@clisp.org>
26342
26343         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
26344         to empty.
26345
26346 2008-07-10  Ben Pfaff  <blp@gnu.org>
26347
26348         Add isnan module.
26349         * doc/posix-functions/isnan.texi: Mention new module.
26350         * lib/math.in.h: Define isnan macro if we have decided to replace
26351         it.
26352         * m4/isnan.m4: New file.
26353         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
26354         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
26355         also.
26356         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
26357         redundancy.
26358         * m4/math_h.m4: Initialize and substitute variables for isnan
26359         module.
26360         * modules/isnan: New file.
26361         * modules/isnan-tests: New file.
26362         * modules/math: Add substitutions for new module.
26363         * tests/test-isnan.c: New file.
26364         * MODULES.html.sh: Mention new module.
26365
26366 2008-07-10  Ben Pfaff  <blp@gnu.org>
26367
26368         Add isnanf module.
26369         * lib/isnanf.m4: New file.
26370         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
26371         (gl_HAVE_ISNANF_IN_LIBM): New macro.
26372         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
26373         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
26374         * modules/isnanf: New file.
26375         * modules/isnanf-tests: New file.
26376         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
26377         files.
26378         * tests/test-isnanf-nolibm.c: factored most of its contents into
26379         new file tests/test-isnanf.h.
26380         * tests/test-isnanf.h: New file.
26381         * tests/test-isnanf.c: New file.
26382         * MODULES.html.sh: Mention new module.
26383         * doc/glibc-functions/isnanf.texi: Mention new module.
26384
26385 2008-07-10  Ben Pfaff  <blp@gnu.org>
26386
26387         Add isnand module.
26388         * lib/isnand.h: New file.
26389         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
26390         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
26391         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
26392         functionality also.
26393         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
26394         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
26395         (gl_HAVE_ISNAND_IN_LIBM): New macro.
26396         * modules/isnand: New file.
26397         * modules/isnand-tests: New file.
26398         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
26399         files.
26400         * tests/test-isnand-nolibm.c: factored most of its contents into
26401         new file tests/test-isnand.h.
26402         * tests/test-isnand.h: New file.
26403         * tests/test-isnand.c: New file.
26404         * MODULES.html.sh: Mention new module.
26405
26406 2008-07-10  Ben Pfaff  <blp@gnu.org>
26407
26408         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
26409         * lib/isnand.h: Rename lib/isnand-nolibm.h.
26410         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
26411         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
26412         * modules/isnanf-nolibm: Update references to renamed files.
26413         * modules/isnand-nolibm: Likewise.
26414         * modules/isnanf-nolibm-tests: Likewise.
26415         * modules/isnand-nolibm-tests: Likewise.
26416         * lib/frexp.c: Likewise.
26417         * lib/isfinite.c: Likewise.
26418         * lib/signbitd.c: Likewise.
26419         * lib/signbitf.c: Likewise.
26420         * lib/vasnprintf.c: Likewise.
26421         * tests/test-ceilf1.c: Likewise.
26422         * tests/test-ceilf2.c: Likewise.
26423         * tests/test-floorf1.c: Likewise.
26424         * tests/test-floorf2.c: Likewise.
26425         * tests/test-frexp.c: Likewise.
26426         * tests/test-round1.c: Likewise.
26427         * tests/test-round2.c: Likewise.
26428         * tests/test-roundf1.c: Likewise.
26429         * tests/test-strtod.c: Likewise.
26430         * tests/test-trunc1.c: Likewise.
26431         * tests/test-trunc2.c: Likewise.
26432         * tests/test-truncf1.c: Likewise.
26433         * tests/test-truncf2.c: Likewise.
26434         * NEWS: Mention the renamed header files.
26435
26436 2008-07-11  Jim Meyering  <meyering@redhat.com>
26437
26438         vc-list-files: make the last-resort awk code more portable
26439         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
26440         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
26441         does not support it.
26442
26443 2008-07-10  Eric Blake  <ebb9@byu.net>
26444
26445         Work with tar's bootstrap.
26446         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
26447         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
26448         an m4 comment.
26449
26450 2008-07-09  Jim Meyering  <meyering@redhat.com>
26451
26452         posix-shell.m4: fix typo that made this test malfunction
26453         * m4/posix-shell.m4: Remove capitalization in variable name.
26454
26455 2008-07-08  Bruno Haible  <bruno@clisp.org>
26456
26457         * m4/onceonly.m4: Update comments.
26458         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26459
26460 2008-07-04  Jim Meyering  <meyering@redhat.com>
26461
26462         * users.txt: Add vc-dwim.
26463         (bison, coreutils): Use the gitweb URL.
26464
26465 2008-07-03  Jim Meyering  <meyering@redhat.com>
26466
26467         * users.txt: Add libffcall.  From Sam Steingold.
26468
26469 2008-07-03  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
26470
26471         getdate.y: do not ignore TZ with relative day, month or year offset
26472         * lib/getdate.y (get_date): Move the tz-handling block to follow the
26473         relative-date-handling, since otherwise, the latter would clobber the
26474         sole output (an updated Start value) of the tz-handling block.
26475         * tests/test-getdate.c: Tests for the fix
26476
26477 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26478
26479         Recognize 'foo_LIBRARIES += libgnu.a'.
26480         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
26481         makefile snippet has already specified an installation location,
26482         also using '+='.
26483
26484 2008-07-02  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
26485
26486         getdate.y: factor out common actions
26487         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
26488         Use them in place of open-coded actions.
26489
26490 2008-07-01  Simon Josefsson  <simon@josefsson.org>
26491
26492         Add self-test for getdate module.
26493         * modules/getdate-tests: New file.
26494         * tests/test-getdate.c: New file.
26495
26496 2008-06-29  Bruno Haible  <bruno@clisp.org>
26497
26498         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
26499         .gitignore.
26500         Reported by Sylvain Beucler <beuc@beuc.net>.
26501
26502 2008-06-29  Bruno Haible  <bruno@clisp.org>
26503
26504         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
26505         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
26506
26507 2008-06-29  Bruno Haible  <bruno@clisp.org>
26508
26509         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
26510         EXTRA_DIST.
26511         Reported by Sylvain Beucler <beuc@beuc.net>.
26512
26513 2008-06-26  Jim Meyering  <meyering@redhat.com>
26514
26515         make several modules depend on the "open" module
26516         This provides slightly increased consistency when opening-for-write
26517         the name of a non-directory spelled with a trailing slash.
26518         * modules/chdir-safer: Likewise.
26519         * modules/chown: Likewise.
26520         * modules/clean-temp: Likewise.
26521         * modules/copy-file: Likewise.
26522         * modules/fchdir: Likewise.
26523         * modules/fcntl-safer: Likewise.
26524         * modules/pipe: Likewise.
26525         * modules/utime: Likewise.
26526         Prompted by Eric Blake and Bruno Haible.
26527
26528 2008-06-24  Andreas Schwab  <schwab@suse.de>
26529
26530         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
26531         literals can be used as initializers for global variables.
26532
26533 2008-06-23  Eric Blake  <ebb9@byu.net>
26534
26535         Make gnulib-cache.m4 easier to diff.
26536         * gnulib-tool (func_import): Allow newlines when reading cached
26537         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
26538
26539 2008-06-23  Bruno Haible  <bruno@clisp.org>
26540
26541         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
26542         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
26543         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
26544         m4/signalblocking.m4.
26545         (gl_PREREQ_SIGACTION): Don't invoke it.
26546         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
26547         gl_PREREQ_SIG_HANDLER_H.
26548         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
26549         Don't check for sigaction here.
26550
26551 2008-06-23  Bruno Haible  <bruno@clisp.org>
26552
26553         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
26554         (install_handlers): Don't set the SA_RESETHAND flag.
26555
26556 2008-06-23  Bruno Haible  <bruno@clisp.org>
26557
26558         * m4/sigaction.m4: Comment fixes.
26559         * lib/signal.in.h: Likewise.
26560
26561 2008-06-23  Eric Blake  <ebb9@byu.net>
26562
26563         Fix typo.
26564         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
26565
26566         Avoid SA_ namespace.
26567         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
26568         Reported by Ralf Wildenhues.
26569
26570         Avoid test failure due to SA_RESTORER.
26571         * tests/test-sigaction.c (SA_MASK): New macro.
26572         (main): Avoid failing due to extension flags being set.
26573         Reported by Jim Meyering.
26574
26575         Revert use of sig-handler.h in sigprocmask.c.
26576         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
26577         it requires the existence of struct sigaction.
26578         * lib/sigprocmask.c (handler_t): Restore typedef.
26579         (rpl_signal, old_handlers): Use local type.
26580
26581 2008-06-22  Bruno Haible  <bruno@clisp.org>
26582
26583         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
26584         conditionally.
26585         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26586
26587 2008-06-22  Bruno Haible  <bruno@clisp.org>
26588
26589         * doc/posix-functions/siginterrupt.texi: Move note.
26590
26591         * lib/signal.in.h (SA_RESTART): New macro.
26592         * lib/sigaction.c: Update comment.
26593
26594         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
26595
26596         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
26597         (gl_PREREQ_SIGPROCMASK): Invoke it.
26598         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
26599
26600         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
26601
26602         * lib/sigprocmask.c: Update a comment.
26603
26604 2008-06-21  Eric Blake  <ebb9@byu.net>
26605
26606         Use sigaction module rather than signal().
26607         * modules/c-stack (Depends-on): Add sigaction.
26608         * modules/fatal-signal (Depends-on): Likewise.
26609         * modules/nanosleep (Depends-on): Likewise.
26610         * modules/sigprocmask (Files): Add sig-handler.h.
26611         * modules/sigaction (Files): Likewise.
26612         * lib/sig-handler.h (get_handler): New file, suggested by Paul
26613         Eggert.
26614         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
26615         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
26616         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
26617         (init_fatal_signals): Likewise.
26618         * lib/nanosleep.c (rpl_nanosleep): Likewise.
26619         (siginterrupt): Delete fallback.
26620         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
26621         instead.
26622         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
26623         siginterrupt.
26624
26625         New module sigaction, for mingw.
26626         * modules/sigaction: New module...
26627         * modules/sigaction-tests: ...and its test.
26628         * m4/sigaction.m4: New file.
26629         * lib/sigaction.c: Likewise.
26630         * tests/test-sigaction.c: Likewise.
26631         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
26632         * modules/signal (Makefile.am): Likewise.
26633         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
26634         needed.
26635         * doc/posix-headers/signal.texi (signal.h): Mention provided
26636         types.
26637         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
26638         that sigaction is preferable.
26639         * doc/posix-functions/sigaction.texi (sigaction): Mention new
26640         module.
26641         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26642         sigaction.
26643
26644         Improve robustness of sigprocmask by overriding signal.
26645         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
26646         is in use.
26647         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
26648         (SIGKILL, SIGSTOP): Provide fallbacks.
26649         (rpl_signal): Implement.
26650         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
26651         signal can be called inside handlers.
26652
26653         Fix nanosleep module on mingw.
26654         * modules/nanosleep (Depends-on): Add sys_select.
26655         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
26656
26657         Fix licensing of sigprocmask.
26658         * modules/raise (License): Relicense as LGPL.
26659
26660 2008-06-21  Bruno Haible  <bruno@clisp.org>
26661
26662         * lib/propername.c (proper_name_utf8): Don't use the transliterated
26663         result if it contains question marks.
26664         Reported by Michael Geng <linux@michaelgeng.de>.
26665
26666 2008-06-19  Bruno Haible  <bruno@clisp.org>
26667
26668         Fix CVS-ism.
26669         * doc/gnulib.texi: Include updated-stamp.texi.
26670         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
26671         (updated-stamp.texi): New rule.
26672         (gnulib.info): Depend on it.
26673         * doc/.gitignore: Add updated-stamp.texi.
26674         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
26675
26676 2008-06-19  Bruno Haible  <bruno@clisp.org>
26677
26678         * doc/Makefile (gnulib.info): Update and simplify dependencies.
26679         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26680
26681 2008-06-19  Eric Blake  <ebb9@byu.net>
26682
26683         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
26684         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
26685         Reported by Stepan Kasal.
26686
26687 2008-06-18  Bruno Haible  <bruno@clisp.org>
26688
26689         * lib/fatal-signal.c (init_fatal_signals): Add comment.
26690         Reported by Eric Blake.
26691
26692 2008-06-18  Eric Blake  <ebb9@byu.net>
26693
26694         Work around cygwin 1.5.25 strsignal bug.
26695         * tests/test-strsignal.c: Allow for const char *.
26696         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
26697
26698 2008-06-18  Simon Josefsson  <simon@josefsson.org>
26699
26700         * users.txt: Update URL to article and add author/date
26701         information.
26702
26703 2008-06-17  Bruno Haible  <bruno@clisp.org>
26704
26705         New macro gl_DISABLE_THREADS.
26706         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
26707         if the user did not pass --enable-threads or --disable-threads option.
26708         (gl_DISABLE_THREADS): New macro.
26709         Reported by Eric Blake <ebb9@byu.net>.
26710
26711 2008-06-17  Bruno Haible  <bruno@clisp.org>
26712
26713         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
26714         when the macro ignores it.
26715         Based on a patch by Eric Blake <ebb9@byu.net>.
26716
26717 2008-06-17  Bruno Haible  <bruno@clisp.org>
26718
26719         * modules/tls (License): Change to LGPLv2+.
26720         Reported by Eric Blake.
26721
26722 2008-06-17  Eric Blake  <ebb9@byu.net>
26723
26724         Simplify c-stack prerequisites.
26725         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
26726         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
26727         no longer requires <ucontext.h> to exist.  Optimize setrlimit
26728         check.
26729         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
26730         <sys/resource.h>.
26731
26732         Move c-stack test into testsuite.
26733         * modules/c-stack-tests: New file.
26734         * lib/c-stack.c [DEBUG]: Move test program...
26735         * tests/test-c-stack.c: ...into this new file.  Skip rather than
26736         fail test if sigaltstack is lacking.
26737         * tests/test-c-stack.sh: New driver file.
26738
26739 2008-06-16  Eric Blake  <ebb9@byu.net>
26740
26741         Use raise module consistently.
26742         * modules/fatal-signal (Depends-on): Add raise.
26743         * modules/sigprocmask (Depends-on): Likewise.
26744         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
26745         * lib/sigprocmask.c (sigprocmask): Likewise.
26746         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
26747         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
26748
26749         Fix compliance bug in sigpending.
26750         * lib/sigprocmask.c (sigpending): Return pending array via
26751         parameter, not return value.
26752
26753 2008-06-14  Eric Blake  <ebb9@byu.net>
26754
26755         Improve obstack-printf test code.
26756         * tests/test-obstack-printf.c (test_function): Fix comment, and
26757         simplify usage of obstack_* in macros.  Add a test for coverage.
26758         Reported by Bruno Haible.
26759
26760 2008-06-14  Bruno Haible  <bruno@clisp.org>
26761
26762         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
26763         array size as a constant, not as a const variable.
26764         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
26765         AC_USE_SYSTEM_EXTENSIONS.
26766         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
26767         Test whether the obstack_printf function actually exists.
26768         * modules/obstack-printf (Depends-on): Add extensions.
26769         (Include): Remove obstack.h.
26770         * modules/obstack-printf-posix (Depends-on): Add extensions.
26771         (Include): Remove obstack.h.
26772
26773 2008-06-13  Eric Blake  <ebb9@byu.net>
26774
26775         Add obstack-printf and obstack-printf-posix modules.
26776         * modules/obstack-printf: New file.
26777         * modules/obstack-printf-posix: Likewise.
26778         * MODULES.html.sh (Misc): Mention them.
26779         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
26780         Likewise.
26781         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
26782         Likewise.
26783         * modules/stdio (Makefile.am): Accomodate new modules.
26784         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26785         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
26786         Declare.
26787         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
26788         functions.
26789         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
26790         (gl_REPLACE_OBSTACK_PRINTF): New macros
26791         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
26792         * tests/test-obstack-printf.c: New file.
26793         * modules/obstack-printf-tests: Likewise.
26794         * modules/obstack-printf-posix-tests: Likewise.
26795
26796 2008-06-11  Bruno Haible  <bruno@clisp.org>
26797
26798         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
26799         * lib/open.c: Include errno.h.
26800         (open): Fail when attempting to write to a file that has a trailing
26801         slash.
26802         * tests/test-open.c (main): Test against trailing slash bug.
26803         * doc/posix-functions/open.texi: Mention the trailing slash bug.
26804
26805 2008-06-10  Bruno Haible  <bruno@clisp.org>
26806
26807         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
26808         for $? to work inside the trap command, with various /bin/sh-s.
26809         * tests/test-vc-list-files-cvs.sh: Likewise.
26810
26811 2008-06-10  Bruno Haible  <bruno@clisp.org>
26812
26813         * lib/acl-internal.h: Don't include gettext.h here.
26814         * lib/set-mode-acl.c: Include gettext.h here.
26815         * lib/copy-acl.c: Likewise.
26816
26817 2008-06-10  Bruno Haible  <bruno@clisp.org>
26818
26819         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
26820         * lib/wait-process.c (wait_subprocess): Likewise.
26821         * lib/execute.h (execute): Add termsigp argument.
26822         * lib/execute.c (execute): Likewise.
26823         * lib/csharpcomp.c (compile_csharp_using_pnet,
26824         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
26825         * lib/csharpexec.c (execute_csharp_using_pnet,
26826         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
26827         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
26828         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
26829         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
26830         is_jikes_present): Update.
26831         * lib/javaexec.c (execute_java_class): Update.
26832         * lib/javaversion.c (execute_and_read_line): Update.
26833         * NEWS: Document the changes.
26834         Reported by Eric Blake.
26835
26836 2008-06-10  Eric Blake  <ebb9@byu.net>
26837
26838         Add missing include.
26839         * tests/test-strstr.c (includes): Add <signal.h>.
26840         * tests/test-strcasestr.c (includes): Likewise.
26841         * tests/test-memmem.c (includes): Likewise.
26842
26843 2008-06-10  Bruno Haible  <bruno@clisp.org>
26844
26845         * lib/wait-process.c (wait_subprocess): Add an assertion.
26846
26847 2008-06-10  Bruno Haible  <bruno@clisp.org>
26848
26849         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
26850
26851 2008-06-10  Bruno Haible  <bruno@clisp.org>
26852
26853         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
26854         using alarm().
26855         * tests/test-strcasestr.c (main): Likewise.
26856         * tests/test-strstr.c (main): Likewise.
26857
26858 2008-06-09  Bruno Haible  <bruno@clisp.org>
26859
26860         Work around the Solaris 10 ACE ACLs ABI change.
26861         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
26862         declare if ACL_NO_TRIVIAL is present.
26863         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
26864         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
26865         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
26866         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
26867         define if ACL_NO_TRIVIAL is present.
26868         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
26869         and use the current ABI.
26870         (file_has_acl): Use same #if condition as elsewhere.
26871         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
26872         in use, and use the current ABI.
26873         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
26874         Reported by Jim Meyering.
26875
26876 2008-06-09  Eric Blake  <ebb9@byu.net>
26877
26878         Work around environments that (stupidly) ignore SIGALRM.
26879         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
26880         before using alarm().
26881         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26882         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26883         Reported by Ian Beckwith <ianb@erislabs.net>.
26884
26885         Produce autobuild blurb earlier in log.
26886         * modules/autobuild (configure.ac-early): Move AB_INIT here.
26887
26888 2008-06-09  Jim Meyering  <meyering@redhat.com>
26889         and OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
26890
26891         utimens.c: correct kernel bug work-around
26892         OndÅ™ej VaÅ¡Ă­k found that the invalid return value of 280 indicates
26893         failure, not success, and the kernel bug we're trying to work
26894         around affects not just the utimensat call, but also the fallback
26895         futimens call.
26896         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
26897         not success.
26898         [HAVE_FUTIMENS]: Use the same work-around, here.
26899
26900 2008-06-09  Jim Meyering  <meyering@redhat.com>
26901
26902         add more guards around definition of ACE_-related code
26903         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
26904         ALLOW and ACE_OWNER are also defined.
26905
26906 2008-06-08  Bruno Haible  <bruno@clisp.org>
26907
26908         * lib/acl-internal.h: Add me as co-author.
26909         * lib/file-has-acl.c: Likewise.
26910         * lib/set-mode-acl.c: Likewise.
26911         * lib/copy-acl.c: Likewise.
26912
26913 2008-06-08  Bruno Haible  <bruno@clisp.org>
26914
26915         Add support for AIX ACLs.
26916         * lib/acl-internal.h (acl_nontrivial): New declaration.
26917         * lib/file-has-acl.c (acl_nontrivial): New function.
26918         (file_has_acl): Add implementation using AIX 4 ACL API.
26919         * lib/set-mode-acl.c (qset_acl): Likewise.
26920         * lib/copy-acl.c (qcopy_acl): Likewise.
26921
26922 2008-06-08  Bruno Haible  <bruno@clisp.org>
26923
26924         Add support for HP-UX ACLs.
26925         * lib/acl-internal.h (acl_nontrivial): New declaration.
26926         * lib/file-has-acl.c (acl_nontrivial): New function.
26927         (file_has_acl): Add implementation using HP-UX 11 ACL API.
26928         * lib/set-mode-acl.c (qset_acl): Likewise.
26929         * lib/copy-acl.c (qcopy_acl): Likewise.
26930
26931 2008-06-08  Bruno Haible  <bruno@clisp.org>
26932
26933         Add support for Cygwin ACLs.
26934         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
26935         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
26936         the chmod_or_fchmod call.
26937         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
26938
26939 2008-06-08  Bruno Haible  <bruno@clisp.org>
26940
26941         Fix bug with setuid modes in Solaris 10+ code.
26942         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
26943         succeeded, when the mode contains some special bits.
26944
26945 2008-06-08  Bruno Haible  <bruno@clisp.org>
26946
26947         Add support for Solaris 7..10 ACLs.
26948         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
26949         declarations.
26950         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
26951         functions.
26952         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
26953         * lib/set-mode-acl.c (qset_acl): Likewise.
26954         * lib/copy-acl.c (qcopy_acl): Likewise.
26955
26956 2008-06-08  Bruno Haible  <bruno@clisp.org>
26957
26958         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
26959         declaration.
26960         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
26961         (acl_access_nontrivial): Remove MacOS X case.
26962         (file_has_acl): Use acl_extended_nontrivial.
26963         * lib/copy-acl.c (qcopy_acl): Likewise.
26964
26965 2008-06-08  Bruno Haible  <bruno@clisp.org>
26966
26967         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
26968
26969 2008-06-08  Jim Meyering  <meyering@redhat.com>
26970
26971         * modules/acl (Maintainer): Add Bruno Haible.
26972
26973 2008-06-07  Bruno Haible  <bruno@clisp.org>
26974
26975         Improve support for Tru64 ACLs.
26976         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
26977         ACL on OSF/1.
26978
26979 2008-06-07  Bruno Haible  <bruno@clisp.org>
26980
26981         Add support for MacOS X ACLs.
26982         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
26983         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
26984         * lib/set-mode-acl.c (qset_acl): Likewise.
26985         * lib/copy-acl.c (qcopy_acl): Likewise.
26986
26987 2008-06-07  Bruno Haible  <bruno@clisp.org>
26988
26989         Fix memory leak introduced on 2008-05-22.
26990         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
26991         use.
26992
26993 2008-06-07  Bruno Haible  <bruno@clisp.org>
26994
26995         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
26996         to construct an empty ACL.
26997
26998 2008-06-07  Bruno Haible  <bruno@clisp.org>
26999
27000         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
27001         precisely.
27002         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
27003
27004 2008-06-07  Bruno Haible  <bruno@clisp.org>
27005
27006         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
27007         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
27008
27009 2008-06-07  Bruno Haible  <bruno@clisp.org>
27010
27011         * doc/posix-functions/_setjmp.texi: Explain the use of this function
27012         regardless of POSIX.
27013         * doc/posix-functions/_longjmp.texi: Likewise.
27014         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
27015         SystemV platform in this case.
27016
27017 2008-06-06  Eric Blake  <ebb9@byu.net>
27018
27019         Document abort() bugs.
27020         * doc/posix-functions/abort.texi (abort): Mention anomalies.
27021
27022         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
27023         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
27024         sigsetjmp.
27025         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
27026         siglongjmp, but only as a macro.
27027         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
27028         is obsolete.
27029         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
27030
27031         Tweak documentation to cover cygwin argz bugs.
27032         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
27033         argz bug fix; no code change needed since no cygwin releases
27034         occurred between the last fix and the bug being tested.
27035         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
27036         module and recently fixed cygwin bugs.
27037         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
27038         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
27039         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
27040         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
27041         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
27042         Likewise.
27043         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
27044         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
27045         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
27046         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
27047         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
27048         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
27049         Likewise.
27050
27051         Avoid gcc warning on cygwin.
27052         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
27053         !ACL_NO_TRIVIAL]: Avoid unused variable.
27054
27055 2008-06-05  Eric Blake  <ebb9@byu.net>
27056
27057         Be tolerant of UNKNOWN version in gnulib-tool test dir.
27058         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
27059         git-version-gen fails to come up with a version.
27060         Reported by Simon Josefsson.
27061
27062 2008-06-05  Jim Meyering  <meyering@redhat.com>
27063             Paul Eggert  <eggert@cs.ucla.edu>
27064
27065         utimens.c: work around a probable Linux kernel bug
27066         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
27067         appears to be a kernel bug that causes utimensat to return 280
27068         instead of 0, indicating success.
27069
27070 2008-06-04  Bruno Haible  <bruno@clisp.org>
27071
27072         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
27073         2008-06-01 commit.
27074
27075 2008-06-04  Bruno Haible  <bruno@clisp.org>
27076
27077         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
27078         * lib/file-has-acl.c (acl_access_nontrivial): New function.
27079         (file_has_acl): Use it. Save errno afterwards.
27080         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
27081
27082 2008-06-03  Bruno Haible  <bruno@clisp.org>
27083
27084         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
27085         draft code. Simplify #ifs.
27086         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
27087         Put Solaris code after POSIX-draft code. Fix comments regarding
27088         Solaris 10, HP-UX. Mention Cygwin.
27089         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
27090
27091 2008-06-03  Eric Blake  <ebb9@byu.net>
27092
27093         Provide fallback for older kernels.
27094         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
27095         Provide runtime fallback if kernel lacks support.
27096         Reported by Mike Frysinger.
27097
27098 2008-06-02  Bruno Haible  <bruno@clisp.org>
27099
27100         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
27101         it exists.
27102
27103 2008-06-02  Bruno Haible  <bruno@clisp.org>
27104
27105         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
27106         * lib/copy-acl.c (qcopy_acl): Update comment.
27107
27108 2008-06-02  Bruno Haible  <bruno@clisp.org>
27109
27110         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
27111         like ACL APIs.
27112
27113 2008-06-02  Bruno Haible  <bruno@clisp.org>
27114
27115         * tests/test-file-has-acl.sh: Use different code for Cygwin.
27116         * tests/test-set-mode-acl.sh: Likewise.
27117         * tests/test-copy-acl.sh: Likewise.
27118         * tests/test-copy-file.sh: Likewise.
27119
27120 2008-06-02  Bruno Haible  <bruno@clisp.org>
27121
27122         * tests/test-file-has-acl.sh: Remove unused code.
27123
27124 2008-06-01  Bruno Haible  <bruno@clisp.org>
27125
27126         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
27127         (copy_acl): Just a wrapper around qcopy_acl that emits the error
27128         messages.
27129         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
27130
27131 2008-06-01  Bruno Haible  <bruno@clisp.org>
27132
27133         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
27134         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
27135         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
27136         APIs.
27137         * modules/acl-tests (configure.ac): Remove tests now contained in
27138         m4/acl.m4.
27139
27140 2008-06-02  Jim Meyering  <meyering@redhat.com>
27141
27142         announce-gen: use a better key-server host name
27143         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
27144         it may be more consistently reliable.  Suggested by Werner Koch
27145         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
27146
27147 2008-06-01  Bruno Haible  <bruno@clisp.org>
27148
27149         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
27150         Reported by Voroskoi Andras <voroskoi@gmail.com>.
27151
27152 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
27153
27154         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
27155
27156 2008-06-01  Bruno Haible  <bruno@clisp.org>
27157
27158         New ACL tests.
27159         * tests/test-file-has-acl.sh: New file.
27160         * tests/test-file-has-acl.c: New file.
27161         * tests/test-set-mode-acl.sh: New file.
27162         * tests/test-set-mode-acl.c: New file.
27163         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
27164         * tests/test-copy-acl.c: New file.
27165         * modules/acl-tests: New file, based on modules/copy-file-tests.
27166         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
27167         (Depends-on): Add acl-tests.
27168         (configure.ac): Remove checks.
27169         (Makefile.am): Don't create test-sameacls program here any more.
27170
27171 2008-06-01  Bruno Haible  <bruno@clisp.org>
27172
27173         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
27174         * tests/test-sameacls.c: Include progname.h.
27175         (main): Invoke set_program_name. Portability fixes for MacOS X,
27176         Solaris, HP-UX.
27177
27178 2008-06-01  Bruno Haible  <bruno@clisp.org>
27179
27180         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
27181         function.
27182         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
27183
27184 2008-06-01  Bruno Haible  <bruno@clisp.org>
27185
27186         * modules/rpmatch (Depends-on): Add strdup.
27187
27188 2008-06-01  Bruno Haible  <bruno@clisp.org>
27189
27190         * lib/pipe.c: Include unistd-safer.h.
27191         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
27192         * modules/pipe (Depends-on): Add unistd-safer.
27193
27194 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27195
27196         * modules/autobuild (configure.ac): Call AB_INIT.
27197
27198 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27199
27200         * tests/test-getaddrinfo.c: Don't print debug messages by default.
27201         Suggested by Bruno Haible <bruno@clisp.org>.
27202
27203 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27204
27205         * tests/test-base64.c: Cast size_t to unsigned long when invoking
27206         printf.  Use %lu instead of %d.  Reported by Bruno Haible
27207         <bruno@clisp.org>.
27208
27209 2008-05-29  Eric Blake  <ebb9@byu.net>
27210
27211         Prefer new POSIX 200x interfaces over futimesat.
27212         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
27213         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
27214         when available.
27215         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
27216
27217 2008-05-28  Bruno Haible  <bruno@clisp.org>
27218
27219         * modules/stpcpy (License): Change to LGPLv2+.
27220         Requested by David Lutterkort <dlutter@redhat.com>.
27221
27222 2008-05-27  Bruno Haible  <bruno@clisp.org>
27223
27224         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
27225         current mingw.
27226         Reported by Jose E. Marchesi <jemarch@gnu.org>.
27227
27228 2008-05-27  Bruno Haible  <bruno@clisp.org>
27229
27230         * modules/iconv_open (Link): New section, from module 'iconv'.
27231         * modules/striconv (Link): Likewise.
27232         * modules/striconveh (Link): Likewise.
27233         * modules/xstriconv (Link): Likewise.
27234         * modules/unicodeio (Link): Likewise.
27235         * modules/propername (Link): Likewise.
27236         Reported by Jim Meyering.
27237
27238 2008-05-26  Jim Meyering  <meyering@redhat.com>
27239
27240         sha256: do not artificially restrict buffer length to be < 2^32
27241         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
27242         uint32_t to size_t.
27243         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
27244         to match.
27245
27246         avoid unaligned access errors, e.g., on sparc
27247         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
27248         direct access through a possibly-unaligned uint64* pointer.
27249         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
27250         direct access through a possibly-unaligned uint32* pointer.
27251         Prompted by this patch from Tom "spot" Callaway:
27252         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
27253
27254         sha512.c: fix typo in comment
27255         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
27256
27257 2008-05-25  Bruno Haible  <bruno@clisp.org>
27258
27259         * lib/set-mode-acl.c: Renamed from lib/acl.c.
27260         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
27261         (Makefile.am): Update lib_SOURCES.
27262
27263 2008-05-25  Bruno Haible  <bruno@clisp.org>
27264
27265         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
27266
27267 2008-05-25  Jim Meyering  <meyering@redhat.com>
27268
27269         useless-if-before-free: freed expr may have white-space differences
27270         * build-aux/useless-if-before-free: Recognize cases in which the
27271         freed expression differs from the tested one in embedded white
27272         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
27273         $1 was used, so we can't make any regexp shy.  Improved tests now
27274         detect this.
27275
27276         useless-if-before-free: accept white space in the expression.
27277         * build-aux/useless-if-before-free: For now, any white space
27278         in the expression must be identical in the free argument.
27279
27280         useless-if-before-free: efficiency tweak
27281         * build-aux/useless-if-before-free: Make the expression-matching
27282         regexp "shy".
27283         Make the *outer* regexp shy, not the expr-matching one.
27284
27285         update code-in-comment to accept cast of free arg
27286         * build-aux/useless-if-before-free: Update regexp.
27287
27288 2008-05-25  Bruno Haible  <bruno@clisp.org>
27289
27290         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
27291         * modules/copy-file-tests (Files, Makefile.am): Update.
27292         * tests/test-copy-file.c (func_test_copy): Update.
27293
27294 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
27295
27296         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
27297
27298 2008-05-23  Bruno Haible  <bruno@clisp.org>
27299
27300         Improve support for ACLs on OSF/1.
27301         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
27302         Remove fallback for unknown flavors of ACLs.
27303
27304 2008-05-22  Bruno Haible  <bruno@clisp.org>
27305
27306         Add support for ACLs on OSF/1.
27307         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
27308         replacements.
27309         (acl_free_text): New macro fallback.
27310         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
27311         acl_free.
27312         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
27313         acl_free_text function. Require AC_C_INLINE.
27314
27315 2008-05-22  Bruno Haible  <bruno@clisp.org>
27316
27317         Make copy_acl work on MacOS X 10.5.
27318         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
27319         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
27320         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
27321         If MODE_INSIDE_ACL, don't assume that every system has the same text
27322         representation for ACLs as FreeBSD.
27323         * lib/copy-acl.c (copy_acl): Add support for platforms with
27324         !MODE_INSIDE_ACL.
27325         * lib/file-has-acl.c (file_has_acl): Likewise.
27326         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
27327         FreeBSD, MacOS X, or IRIX, respectively.
27328
27329 2008-05-22  Bruno Haible  <bruno@clisp.org>
27330
27331         * lib/acl.h: Don't include <sys/acl.h>.
27332         (GETACLCNT): Move fallback to lib/acl-internal.h.
27333         * lib/acl-internal.h: Include <sys/acl.h> here.
27334         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
27335
27336 2008-05-22  Bruno Haible  <bruno@clisp.org>
27337
27338         Split off copy_acl function to separate file.
27339         * lib/copy-acl.c: New file, extracted from lib/acl.c.
27340         * lib/acl.c (copy_acl): Moved function to separate file.
27341         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
27342         * modules/acl (Files): Add lib/copy-acl.c.
27343         (Makefiles.am): Augment lib_SOURCES.
27344
27345 2008-05-22  Bruno Haible  <bruno@clisp.org>
27346
27347         * modules/copy-file-tests: New file.
27348         * tests/test-copy-file.sh: New file.
27349         * tests/test-copy-file.c: New file.
27350         * tests/test-copy-file-sameacls.c: New file.
27351
27352 2008-05-22  Eric Blake  <ebb9@byu.net>
27353
27354         Avoid gcc warning.
27355         * tests/test-memcmp.c (main): Pass NULL indirectly.
27356
27357 2008-05-21  Bruno Haible  <bruno@clisp.org>
27358
27359         Add reference doc about ACLs.
27360         * doc/acl-resources.txt: New file.
27361         * doc/acl-cygwin.txt: New file.
27362
27363 2008-05-21  Bruno Haible  <bruno@clisp.org>
27364
27365         Avoid one more warning from gcc.
27366         * lib/vasnprintf.c (IF_LINT): Update comments.
27367         (VASNPRINTF): Use it also for the 'prefix' array initializer.
27368
27369 2008-05-21  Jim Meyering  <meyering@redhat.com>
27370
27371         avoid a warning from gcc
27372         * lib/vasnprintf.c (IF_LINT): Define.
27373         (scale10_round_decimal_long_double):
27374         Use it to avoid a "may be used uninitialized" warning.
27375         (scale10_round_decimal_double): Likewise.
27376
27377 2008-05-21  Simon Josefsson  <simon@josefsson.org>
27378
27379         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
27380         declared.
27381
27382 2008-05-20  Bruno Haible  <bruno@clisp.org>
27383
27384         * tests/test-memcmp.c (main): Test also the sign of the result. Test
27385         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
27386
27387 2008-05-20  Simon Josefsson  <simon@josefsson.org>
27388
27389         * modules/memcmp-tests: New file.
27390         * tests/test-memcmp.c: New file.
27391
27392 2008-05-19  Bruno Haible  <bruno@clisp.org>
27393
27394         * modules/propername (Notice, configure.ac): Put quoted "..." into
27395         --keyword option.
27396         * lib/propername.h: Update comments accordingly.
27397         Reported by Eric Blake.
27398
27399 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
27400
27401         * modules/getpass-gnu (Depends-on): Add fseeko.
27402
27403 2008-05-19  Simon Josefsson  <simon@josefsson.org>
27404
27405         * modules/base64-tests: New file.
27406
27407 2008-05-19  Bo Borgerson <gigabo@gmail.com>
27408
27409         * lib/base64.c (base64_decode_ctx): If a decode context structure
27410         was passed in use it to ignore newlines.  If a context structure
27411         was _not_ passed in, continue to treat newlines as garbage (this
27412         is the historical behavior).  Formerly base64_decode.
27413         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
27414         takes a decode context structure.
27415         * lib/base64.h (base64_decode): Macro for four-argument calls.
27416         (base64_decode_alloc): Likewise.
27417         * lib/base64.c (base64_decode_ctx): If a decode context structure
27418         was passed in use it to ignore newlines.  If a context structure
27419         was _not_ passed in, continue to treat newlines as garbage (this
27420         is the historical behavior).  Formerly base64_decode.
27421         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
27422         takes a decode context structure.
27423         * lib/base64.h (base64_decode): Macro for four-argument calls.
27424         (base64_decode_alloc): Likewise.
27425
27426 2008-05-19  Jim Meyering  <meyering@redhat.com>
27427
27428         avoid a warning from gcc
27429         * lib/trim.c (IF_LINT): Define.
27430         (trim2): Use it to avoid a "may be used uninitialized" warning.
27431
27432         Fix doc typo.
27433         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
27434
27435 2008-05-19  Bruno Haible  <bruno@clisp.org>
27436
27437         * doc/glibc-functions/getpass.texi: Document limits of other
27438         implementations.
27439
27440 2008-05-19  Simon Josefsson  <simon@josefsson.org>
27441             Bruno Haible <bruno@clisp.org>
27442
27443         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
27444
27445 2008-05-18  Bruno Haible  <bruno@clisp.org>
27446
27447         * modules/propername: New file, from GNU gettext.
27448         * lib/propername.h: New file, from GNU gettext.
27449         * lib/propername.c: New file, from GNU gettext.
27450         * MODULES.html.sh (Internationalization functions): Add propername.
27451
27452 2008-05-16  Jim Meyering  <meyering@redhat.com>
27453             Bruno Haible  <bruno@clisp.org>
27454
27455         Avoid some warnings from "gcc -Wshadow".
27456         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
27457
27458 2008-05-15  Eric Blake  <ebb9@byu.net>
27459
27460         Extend previous patch to cygwin 1.7.0.
27461         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
27462         fast implementation in cygwin >= 1.7.0.
27463         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27464         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27465
27466 2008-05-15  Bruno Haible  <bruno@clisp.org>
27467
27468         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
27469         implementation in glibc >= 2.9.
27470         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27471         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27472
27473 2008-05-15  Bruno Haible  <bruno@clisp.org>
27474
27475         * MODULES.html.sh (Internationalization functions): Remove linebreak.
27476         (Unicode string functions): Add unilbrk/*.
27477         Reported by Karl Berry.
27478
27479 2008-05-15  Eric Blake  <ebb9@byu.net>
27480
27481         Fix violation of <stdbool.h> replacement in regex.
27482         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
27483         * lib/regexec.c (re_search_internal): Likewise.
27484         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
27485
27486 2008-05-15  Jim Meyering  <meyering@redhat.com>
27487
27488         avoid distracting test output when git or cvs is not found
27489         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
27490         * tests/test-vc-list-files-git.sh: Likewise.
27491
27492 2008-05-15  Eric Blake  <ebb9@byu.net>
27493
27494         Glibc finally accepted the memmem speedup code, bugzilla #5514.
27495         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
27496         glibc version.
27497         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27498         * doc/posix-functions/strstr.texi (strstr): Likewise.
27499         * lib/str-two-way.h (MAX): Sychronize with glibc.
27500
27501 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
27502
27503         * lib/regcomp.c (optimize_utf8): Add a note on why we test
27504         opr.ctx_type.
27505         (calc_first): Initialize constraint field.
27506         (duplicate_node_closure): Use it instead of special casing ANCHORS.
27507         Fix grammar.
27508         (duplicate_node): Merge constraint field for all node types.
27509         (calc_eclosure_iter): Look at constraint field for all node types.
27510         * lib/regex_internal.c (create_cd_newstate): Don't look at
27511         opr.ctx_type.
27512
27513 2008-05-14  Bruno Haible  <bruno@clisp.org>
27514
27515         Help GCC to do better code generation.
27516         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
27517         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
27518         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
27519         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
27520         Declare with attribute 'malloc' if supported.
27521
27522 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
27523
27524         use "echo STR|wc -c" rather than unportable "expr length STR"
27525         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
27526         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
27527
27528 2008-05-14  Jim Meyering  <meyering@redhat.com>
27529
27530         use dd ibs=$n count=1 ... rather than less-portable head -c$n
27531         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
27532         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
27533         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
27534         via Collin Lasse.
27535
27536 2008-05-14  Eric Blake  <ebb9@byu.net>
27537
27538         Avoid quadratic growth in gl_LIBSOURCES.
27539         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
27540         Suggested by Bruno Haible.
27541
27542         Test xmemdup0.
27543         * modules/xmemdup0-tests: New file.
27544         * tests/test-xmemdup0.c: Likewise.
27545
27546 2008-05-13  Eric Blake  <ebb9@byu.net>
27547
27548         Split xmemdup0 into its own module.
27549         * modules/xmemdup0: New file.
27550         * lib/xmemdup0.h: Likewise.
27551         * lib/xmemdup0.c: Likewise.
27552         * MODULES.html.sh (Memory management functions): Add xmemdup0.
27553         * lib/xalloc.h (xmemdup0): Remove.
27554         * lib/xmalloc.c (xmemdup0): Likewise.
27555
27556 2008-05-13  Eric Blake  <ebb9@byu.net>
27557             Bruno Haible  <bruno@clisp.org>
27558
27559         Reduce number of forks required during autoconf.
27560         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
27561         and gl_LIBSOURCES_DIR.
27562         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
27563         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
27564         m4_syscmd per file.
27565         <m4_foreach_w>: Move...
27566         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
27567
27568 2008-05-13  Eric Blake  <ebb9@byu.net>
27569
27570         * gnulib-tool: Fix various comment typos.
27571
27572 2008-05-12  Bruno Haible  <bruno@clisp.org>
27573
27574         Tailor the linebreaking algorithm.
27575         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
27576
27577 2008-05-12  Bruno Haible  <bruno@clisp.org>
27578
27579         Update to Unicode 5.0.0.
27580         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
27581         LBP_JV, LBP_JT. Redistribute values.
27582         (unilbrk_table): Change size.
27583         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
27584         Unicode TR#14 rev. 22.
27585         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
27586         LBP_JV, LBP_JT. Redistribute values.
27587         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
27588         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
27589         Update.
27590         * lib/unilbrk/lbrkprop1.h: Regenerated.
27591         * lib/unilbrk/lbrkprop2.h: Regenerated.
27592         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
27593         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
27594         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
27595         Likewise.
27596         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
27597         Likewise.
27598         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
27599         result.
27600         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
27601         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
27602         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
27603         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
27604         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
27605         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
27606
27607 2008-05-11  Bruno Haible  <bruno@clisp.org>
27608
27609         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
27610
27611 2008-05-11  Bruno Haible  <bruno@clisp.org>
27612
27613         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
27614         * modules/unilbrk/gen-lbrk: New file.
27615
27616 2008-05-11  Bruno Haible  <bruno@clisp.org>
27617
27618         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
27619         * m4/sha512.m4 (gl_SHA512): Likewise.
27620
27621 2008-05-11  Jim Meyering  <meyering@redhat.com>
27622
27623         New modules: crypto/sha256, crypto/sha512 (from coreutils)
27624         * modules/crypto/sha256: New file.
27625         * modules/crypto/sha512: Likewise.
27626         * lib/sha256.c: Likewise.
27627         * lib/sha256.h: Likewise.
27628         * lib/sha512.c: Likewise.
27629         * lib/sha512.h: Likewise.
27630         * lib/u64.h: Likewise.
27631         * m4/sha256.m4: Likewise.
27632         * m4/sha512.m4: Likewise.
27633         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
27634
27635 2008-05-10  Bruno Haible  <bruno@clisp.org>
27636
27637         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
27638         (Input/Output <stdio.h>): Add xprintf.
27639         (Signal handling <signal.h>): Add strsignal.
27640         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
27641         (Core language properties): Add func.
27642         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
27643         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
27644         strings.
27645         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
27646         (Input/output): New section.
27647         (File system functions): Add openat-die, stat-macros.
27648         (Networking functions): Add sockets.
27649         (Unicode string functions): Add unictype/*.
27650         (Support for building libraries and executables): Add gperf.
27651         (Support for building documentation): Add agpl-3.0.
27652         (Misc): Add nocrash.
27653
27654 2008-05-10  Bruno Haible  <bruno@clisp.org>
27655
27656         * modules/unictype/gen-ctype: New file.
27657
27658 2008-05-10  Jim Meyering  <meyering@redhat.com>
27659
27660         Make chdir-safer.c more efficient on a system with no symlinks.
27661         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
27662         also if ELOOP is zero.  Suggested by Bruno Haible.
27663
27664         Make chdir-safer.c slightly safer.
27665         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
27666         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
27667
27668         Avoid compile failure on systems without ELOOP (like mingw).
27669         * lib/chdir-safer.c (ELOOP): Define if not already defined.
27670         Reported by Bruno Haible.
27671
27672 2008-05-10  Bruno Haible  <bruno@clisp.org>
27673
27674         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
27675         (is_utf8_encoding): Use a case-insensitive comparison.
27676         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
27677         streq.
27678
27679 2008-05-10  Bruno Haible  <bruno@clisp.org>
27680
27681         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
27682         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
27683         * lib/unilbrk/ulc-common.h (iconv_string_length,
27684         iconv_string_keeping_offsets): Remove declarations.
27685         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
27686         Don't include <iconv.h>, streq.h, xsize.h.
27687         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
27688         conversion.
27689         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
27690         <iconv.h>, streq.h, xsize.h.
27691         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
27692         conversion.
27693         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
27694         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
27695         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
27696         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
27697
27698 2008-05-10  Bruno Haible  <bruno@clisp.org>
27699
27700         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
27701         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
27702
27703         * modules/unilbrk/u32-width-linebreaks-tests: New file.
27704         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
27705
27706         * modules/unilbrk/u16-width-linebreaks-tests: New file.
27707         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
27708
27709         * modules/unilbrk/u8-width-linebreaks-tests: New file.
27710         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
27711
27712         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
27713         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
27714
27715         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
27716         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
27717
27718         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
27719         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
27720
27721         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
27722         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
27723
27724 2008-05-10  Bruno Haible  <bruno@clisp.org>
27725
27726         Split up 'linebreak' module.
27727         * lib/unilbrk.h: New file, based on lib/linebreak.h.
27728         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
27729         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
27730         modifications.
27731         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
27732         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
27733         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
27734         lib/linebreak.c.
27735         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
27736         lib/linebreak.c.
27737         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
27738         lib/linebreak.c.
27739         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
27740         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
27741         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
27742         lib/linebreak.c.
27743         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
27744         lib/linebreak.c.
27745         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
27746         lib/linebreak.c.
27747         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
27748         lib/linebreak.c.
27749         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
27750         lib/linebreak.c.
27751         * modules/unilbrk/base: New file.
27752         * modules/unilbrk/tables: New file.
27753         * modules/unilbrk/u8-possible-linebreaks: New file.
27754         * modules/unilbrk/u16-possible-linebreaks: New file.
27755         * modules/unilbrk/u32-possible-linebreaks: New file.
27756         * modules/unilbrk/ulc-common: New file.
27757         * modules/unilbrk/ulc-possible-linebreaks: New file.
27758         * modules/unilbrk/u8-width-linebreaks: New file.
27759         * modules/unilbrk/u16-width-linebreaks: New file.
27760         * modules/unilbrk/u32-width-linebreaks: New file.
27761         * modules/unilbrk/ulc-width-linebreaks: New file.
27762         * lib/linebreak.h: Remove file.
27763         * lib/linebreak.c: Remove file.
27764         * m4/linebreak.m4: Remove file.
27765         * modules/linebreak: Remove file.
27766         * NEWS: Mention the changes.
27767
27768 2008-05-09  Eric Blake  <ebb9@byu.net>
27769
27770         Add xmemdup0.
27771         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
27772         implementation.
27773         * lib/xmalloc.c (xmemdup0): New C implementation.
27774
27775 2008-05-08  Bruno Haible  <bruno@clisp.org>
27776
27777         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
27778
27779 2008-05-07  Eric Blake  <ebb9@byu.net>
27780
27781         Support cross-compilation of <wctype.h>.
27782         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
27783         AC_CACHE_CHECK.
27784
27785 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
27786
27787         * build-aux/vc-list-files: Add support for bzr.
27788
27789 2008-05-03  Jim Meyering  <meyering@redhat.com>
27790
27791         avoid failed assertion with tight malloc
27792         * tests/test-getndelim2.c: Correct an off-by-one assertion.
27793
27794 2008-05-03  Simon Josefsson  <simon@josefsson.org>
27795
27796         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
27797         are needed from arpa/inet.h.
27798         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
27799         Reported by Bruno Haible.
27800
27801 2008-05-02  Jim Meyering  <meyering@redhat.com>
27802
27803         avoid compilation error on FreeBSD 6
27804         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
27805
27806 2008-05-01  Jim Meyering  <meyering@redhat.com>
27807
27808         useless-if-before-free: correct --help's exit status description
27809         * build-aux/useless-if-before-free (usage): Like grep, exit 0
27810         for one or more matches, etc.  Reported by Bruno Haible.
27811
27812         vc-list-files: make the stand-alone gnulib test work
27813         * modules/vc-list-files-tests (configure.ac):
27814         Define and AC_SUBST abs_aux_dir.
27815         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
27816         $(abs_top_srcdir) to each script and having each of them
27817         duplicate the work of setting PATH, set PATH here, using
27818         the new variable, abs_aux_dir instead.
27819         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
27820         * tests/test-vc-list-files-git.sh: Likewise.
27821         Reported by Bruno Haible.
27822
27823 2008-05-01  Bruno Haible  <bruno@clisp.org>
27824
27825         * lib/getndelim2.c (getndelim2): Fix newsize computation during
27826         reallocation. Rename 'done' to 'found_delimiter'.
27827
27828 2008-05-01  Jim Meyering  <meyering@redhat.com>
27829
27830         vc-list-files: accommodate /bin/sh like the one from Solaris 10
27831         * build-aux/vc-list-files: Use `...`, not $(...).
27832
27833 2008-04-30  Jim Meyering  <meyering@redhat.com>
27834
27835         add tests for vc-list-files
27836         * modules/vc-list-files-tests: New module.
27837         * tests/test-vc-list-files-cvs.sh: New file.
27838         * tests/test-vc-list-files-git.sh: New file.
27839
27840         avoid a warning from gcc
27841         * lib/getndelim2.c (IF_LINT): Define.
27842         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
27843
27844         vc-list-files: work properly with build-aux/cvsu, too
27845         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
27846         to all cvs-based clauses.
27847
27848         vc-list-files: work properly in the CVS+awk case, too
27849         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
27850
27851         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
27852         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
27853         take more than one file argument, so .  Add quotes, just in case $dir
27854         ever contains a shell meta-character.  Prompted by Soren Hansen in
27855         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
27856
27857 2008-04-29  Eric Blake  <ebb9@byu.net>
27858
27859         Optimize getndelim2 to use block operations when possible.
27860         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
27861         freadseek, and memchr2.
27862         * lib/getndelim2.c (getndelim2): Use them for block reads.
27863
27864 2008-04-29  Bruno Haible  <bruno@clisp.org>
27865
27866         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
27867         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27868         * modules/inet_ntop (Depends-on): Add extensions.
27869         * modules/inet_pton (Depends-on): Likewise.
27870         Reported by Simon Josefsson.
27871
27872 2008-04-29  Jim Meyering  <meyering@redhat.com>
27873
27874         When the is more than one match in a block, match all of them.
27875         * build-aux/useless-if-before-free: Iterate through each block
27876         until there are no more matches.
27877
27878         Fix broken useless-if-before-free script.
27879         * build-aux/useless-if-before-free: Fix typo: missing "?" after
27880         the expression to match cast of argument to free-like function.
27881
27882 2008-04-29  Eric Blake  <ebb9@byu.net>
27883
27884         Use new header.
27885         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
27886
27887 2008-04-29  Jim Meyering  <meyering@redhat.com>
27888
27889         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
27890         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
27891         by gnulib to exist and to declare e.g., inet_ntop.
27892         Don't include "inet_ntop.h", now removed.
27893
27894         * m4/arpa_inet_h.m4: Remove trailing blanks.
27895
27896 2008-04-29  Eric Blake  <ebb9@byu.net>
27897
27898         Silence valgrind on safe reads beyond potential array bounds.
27899         * lib/rawmemchr.valgrind: New file.
27900         * lib/strchrnul.valgrind: Likewise.
27901         * modules/rawmemchr (Files): Distribute new file.
27902         * modules/strchrnul (Files): Likewise.
27903         Suggested by Bruno Haible.
27904
27905 2008-04-29  Bruno Haible  <bruno@clisp.org>
27906
27907         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
27908         (inet_ntop, inet_pton): Change portability warning's wording.
27909         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
27910         Invoke gl_CHECK_NEXT_HEADERS.
27911         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
27912         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
27913         set ARPA_INET_H.
27914         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27915         * modules/arpa_inet (Description): No longer only for systems that
27916         lack it.
27917         (Depends-on): Add include_next.
27918         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
27919         HAVE_ARPA_INET_H.
27920
27921 2008-04-29  Jim Meyering  <meyering@redhat.com>
27922
27923         * modules/mkdir (License): Re-license as LGPLv2+.
27924
27925 2008-04-29  Bruno Haible  <bruno@clisp.org>
27926
27927         * modules/rawmemchr (Maintainer): Set to Eric.
27928         * modules/strchrnul (Maintainer): Likewise.
27929
27930 2008-04-29  Simon Josefsson  <simon@josefsson.org>
27931
27932         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
27933         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
27934
27935         * modules/arpa_inet (arpa/inet.h): Use them.
27936
27937 2008-04-28  Eric Blake  <ebb9@byu.net>
27938
27939         Test getndelim2.
27940         * modules/getndelim2-tests: New file.
27941         * tests/test-getndelim2.c: Likewise.
27942         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
27943         stream.
27944         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
27945
27946         * MODULES.html.sh: Document new module.
27947
27948 2008-04-20  Bruno Haible  <bruno@clisp.org>
27949
27950         * lib/c-stack.c (die): Use raise.
27951         * modules/c-stack (Depends-on): Add raise.
27952
27953 2008-04-28  Bruno Haible  <bruno@clisp.org>
27954
27955         Expect rpmatch to be declared.
27956         * lib/yesno.c (rpmatch): Remove declaration.
27957
27958         Declare rpmatch.
27959         * lib/stdlib.in.h (rpmatch): New declaration.
27960         * lib/rpmatch.c: Include <stdlib.h> first.
27961         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
27962         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
27963         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
27964         HAVE_RPMATCH.
27965         * modules/rpmatch (Depends-on): Add stdlib, extensions.
27966         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
27967         (Include): Set to <stdlib.h>.
27968         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
27969         HAVE_RPMATCH.
27970         * NEWS: Document the change.
27971
27972 2008-04-28  Bruno Haible  <bruno@clisp.org>
27973
27974         Change rpmatch to use nl_langinfo when appropriate.
27975         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
27976         (N_): New macro.
27977         (localized_pattern): New function/macro.
27978         (try): Remove match, nomatch arguments. Copy the pattern into safe
27979         memory before caching it.
27980         (rpmatch): Use localized_pattern. Add translator comments.
27981         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
27982         Suggested by Eric Blake.
27983         * modules/rpmatch (Depends-on): Add stdbool.
27984
27985 2008-04-28  Eric Blake  <ebb9@byu.net>
27986
27987         Add rawmemchr module, matching glibc.
27988         * modules/string (Makefile.am): New indicator.
27989         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
27990         * lib/string.in.h (rawmemchr): Declare when appropriate.
27991         * modules/rawmemchr: New file.
27992         * m4/rawmemchr.m4: Likewise.
27993         * lib/rawmemchr.c: Likewise.
27994         * modules/rawmemchr-tests: Likewise.
27995         * tests/test-rawmemchr.c: Likewise.
27996         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
27997         module.
27998         * modules/strchrnul (Depends-on): Add rawmemchr.
27999         * lib/strchrnul.c (strchrnul): Optimize a corner case.
28000
28001         Whitespace cleanup.
28002         * tests/test-strchrnul.c: Reindent.
28003         * lib/strchrnul.c: Likewise.
28004
28005         Optimize and test strchrnul.
28006         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
28007         * modules/strchrnul-tests: New file.
28008         * tests/test-strchrnul.c: Likewise.
28009
28010         Remove intprops dependency.
28011         * modules/memchr (Depends-on): Remove intprops.
28012         * modules/memrchr (Depends-on): Likewise.
28013         * modules/memchr2 (Depends-on): Likewise.
28014         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
28015         * lib/memrchr.c (__memrchr): Likewise.
28016         * lib/memrchr2.c (memchr2): Likewise.
28017         Reported by Simon Josefsson.
28018
28019 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28020
28021         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
28022         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28023
28024 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28025
28026         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
28027
28028         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
28029
28030         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
28031
28032         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
28033         declarations.
28034         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
28035
28036         * m4/inet_pton.m4: Don't check for header files.
28037
28038         * m4/inet_ntop.m4: Don't check for header files.
28039
28040 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28041
28042         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
28043         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
28044         trigger for cygwin).
28045         Reported by Bruno Haible  <bruno@clisp.org>.
28046
28047 2008-04-28  Bruno Haible  <bruno@clisp.org>
28048
28049         * doc/posix-functions/strdup.texi: Mention mingw problem.
28050
28051 2008-04-27  Bruno Haible  <bruno@clisp.org>
28052
28053         * modules/stat-time-tests (Depends-on): Add sleep.
28054         * tests/test-stat-time.c (force_unlink): New function.
28055         (cleanup): Use it.
28056         (test_mtime): Remove the ctime related tests.
28057         (test_ctime): New function, containing the ctime related tests.
28058         (main): Call test_ctime, except on native Windows platforms.
28059
28060 2008-04-27  Bruno Haible  <bruno@clisp.org>
28061
28062         * lib/rpmatch.c (rpmatch): Add some comments.
28063         Reported by James Youngman <jay@gnu.org>.
28064
28065 2008-04-27  Bruno Haible  <bruno@clisp.org>
28066
28067         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
28068         quiet NaNs.
28069
28070 2008-04-27  Bruno Haible  <bruno@clisp.org>
28071
28072         Make test-yesno.sh work on mingw.
28073         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
28074         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
28075         (main): Set stdin to binary mode.
28076         * modules/yesno-tests (Depends-on): Add binary-io.
28077
28078 2008-04-27  Bruno Haible  <bruno@clisp.org>
28079
28080         Fix 'isfinite' on x86, x86_64, ia64 platforms.
28081         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
28082         argument that lie outside the IEEE 854 domain.
28083         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
28084         (gl_ISFINITE): Use it.
28085         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
28086
28087 2008-04-27  Bruno Haible  <bruno@clisp.org>
28088
28089         Allow local renaming in config.h.
28090         * lib/memrchr.c (memrchr): Don't undefine outside libc.
28091
28092 2008-04-27  Bruno Haible  <bruno@clisp.org>
28093
28094         * lib/memchr.c (__memchr): Change type of 'i'.
28095         * lib/memchr2.c (memchr2): Likewise.
28096
28097 2008-04-26  Eric Blake  <ebb9@byu.net>
28098         and Bruno Haible  <bruno@clisp.org>
28099
28100         Optimize and test memrchr.
28101         * modules/memrchr (Depends-on): Add intprops.
28102         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
28103         * modules/memrchr-tests: New file.
28104         * tests/test-memrchr.c: New file.
28105
28106 2008-04-26  Bruno Haible  <bruno@clisp.org>
28107
28108         Add tentative support for DragonFly BSD.
28109         * lib/stdio-impl.h: Add macros for DragonFly BSD.
28110         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
28111         fp.
28112         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28113         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
28114         * lib/fpurge.c (fpurge): Likewise.
28115         * lib/freadable.c (freaadable): Likewise.
28116         * lib/freadahead.c (freadahead): Likewise.
28117         * lib/freading.c (freading): Likewise.
28118         * lib/freadptr.c (freadptr): Likewise.
28119         * lib/freadseek.c (freadptrinc): Likewise.
28120         * lib/fseeko.c (fseeko): Likewise.
28121         * lib/fseterr.c (fseterr): Likewise.
28122         * lib/fwritable.c (fwritable): Likewise.
28123         * lib/fwriting.c (fwriting): Likewise.
28124
28125 2008-04-26  Bruno Haible  <bruno@clisp.org>
28126
28127         * lib/stdio-impl.h: New file.
28128         * lib/fbufmode.c: Include stdio-impl.h.
28129         (fbufmode): Use fp_, remove redundant #defines.
28130         * lib/fflush.c: Include stdio-impl.h.
28131         (clear_ungetc_buffer): Remove redundant #defines.
28132         * lib/fpurge.c: Include stdio-impl.h.
28133         (fpurge): Remove redundant #defines.
28134         * lib/freadable.c: Include stdio-impl.h.
28135         (freadable): Remove redundant #defines.
28136         * lib/freadahead.c: Include stdio-impl.h.
28137         (freadahead): Remove redundant #defines.
28138         * lib/freading.c: Include stdio-impl.h.
28139         (freading): Remove redundant #defines.
28140         * lib/freadptr.c: Include stdio-impl.h.
28141         (freadptr): Remove redundant #defines.
28142         * lib/freadseek.c: Include stdio-impl.h.
28143         (freadptrinc): Remove redundant #defines.
28144         * lib/fseeko.c: Include stdio-impl.h.
28145         (rpl_fseeko): Remove redundant #defines.
28146         * lib/fseterr.c: Include stdio-impl.h.
28147         (fseterr): Remove redundant #defines.
28148         * lib/fwritable.c: Include stdio-impl.h.
28149         (fwritable: Remove redundant #defines.
28150         * lib/fwriting.c: Include stdio-impl.h.
28151         (fwriting): Remove redundant #defines.
28152         * modules/fbufmode (Files): Add lib/stdio-impl.h.
28153         * modules/fflush (Files): Likewise.
28154         * modules/fpurge (Files): Likewise.
28155         * modules/freadable (Files): Likewise.
28156         * modules/freadahead (Files): Likewise.
28157         * modules/freading (Files): Likewise.
28158         * modules/freadptr (Files): Likewise.
28159         * modules/freadseek (Files): Likewise.
28160         * modules/fseeko (Files): Likewise.
28161         * modules/fseterr (Files): Likewise.
28162         * modules/fwritable (Files): Likewise.
28163         * modules/fwriting (Files): Likewise.
28164
28165 2008-04-26  Bruno Haible  <bruno@clisp.org>
28166
28167         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28168         restore_seek_optimization, update_fpos_cache): New functions, extracted
28169         from rpl_fflush.
28170         (rpl_fflush): Use them.
28171         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
28172         (gl_REPLACE_FFLUSH): Use it.
28173
28174 2008-04-26  Bruno Haible  <bruno@clisp.org>
28175
28176         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
28177         on Solaris.
28178         * tests/test-xstrtoimax.sh: Likewise.
28179         * tests/test-xstrtoumax.sh: Likewise.
28180         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28181
28182 2008-04-26  Bruno Haible  <bruno@clisp.org>
28183
28184         * modules/memchr-tests: New file.
28185         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
28186
28187 2008-04-26  Eric Blake  <ebb9@byu.net>
28188             Bruno Haible  <bruno@clisp.org>
28189
28190         * lib/memchr.c: Include intprops.h.
28191         (__memchr): Optimize parallel detection of matching bytes. Rename local
28192         variables. Add explanatory comments.
28193
28194 2008-04-26  Bruno Haible  <bruno@clisp.org>
28195
28196         Fix module 'memchr', broken since 2000-10-28.
28197         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
28198
28199 2008-04-26  Bruno Haible  <bruno@clisp.org>
28200
28201         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
28202         comments.
28203
28204 2008-04-25  Eric Blake  <ebb9@byu.net>
28205
28206         Use native fstatat on cygwin 1.7.0.
28207         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
28208         first.
28209
28210 2008-04-23  Eric Blake  <ebb9@byu.net>
28211
28212         Improve memchr2 performance.
28213         * lib/memchr2.c (memchr2): Further optimize parallel detection of
28214         NUL bytes.
28215         * modules/memchr2 (Depends-on): Use intprops.h.
28216
28217 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28218
28219         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
28220         an inline function instead of a CPP macro.  Patch by Ben Pfaff
28221         <blp@cs.stanford.edu>.
28222
28223 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28224
28225         * lib/arpa_inet.in.h: New file.
28226
28227         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
28228         (Makefile.am): Sed in substitute header file.
28229
28230         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
28231         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
28232
28233         * modules/inet_ntop (configure.ac): Use
28234         gl_ARPA_INET_MODULE_INDICATOR.
28235
28236         * modules/inet_pton (configure.ac): Use
28237         gl_ARPA_INET_MODULE_INDICATOR.
28238
28239 2008-04-22  Jim Meyering  <meyering@redhat.com>
28240
28241         * modules/verify (License): Re-license as LGPLv2+.
28242
28243 2008-04-22  Simon Josefsson  <simon@josefsson.org>
28244
28245         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
28246         parameter to void* as per POSIX standard (MinGW uses char*).
28247
28248 2008-04-21  Bruno Haible  <bruno@clisp.org>
28249
28250         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
28251         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
28252         Define to replacements if REPLACE_ISWCNTRL is 1.
28253         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
28254         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
28255         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
28256         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
28257         what it fixes.
28258         * doc/posix-functions/iswalpha.texi: Likewise.
28259         * doc/posix-functions/iswblank.texi: Likewise.
28260         * doc/posix-functions/iswcntrl.texi: Likewise.
28261         * doc/posix-functions/iswdigit.texi: Likewise.
28262         * doc/posix-functions/iswgraph.texi: Likewise.
28263         * doc/posix-functions/iswlower.texi: Likewise.
28264         * doc/posix-functions/iswprint.texi: Likewise.
28265         * doc/posix-functions/iswpunct.texi: Likewise.
28266         * doc/posix-functions/iswspace.texi: Likewise.
28267         * doc/posix-functions/iswupper.texi: Likewise.
28268         * doc/posix-functions/iswxdigit.texi: Likewise.
28269         Reported by Alain Guibert.
28270
28271 2008-04-21  Bruno Haible  <bruno@clisp.org>
28272
28273         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
28274         Patch by Alain Guibert.
28275
28276 2008-04-21  Bruno Haible  <bruno@clisp.org>
28277
28278         Fix test failures on mingw.
28279         * tests/test-xstrtol.c (print_no_progname): New function.
28280         (main): Install it in error_print_progname hook.
28281         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
28282         * tests/test-xstrtoimax.sh: Likewise.
28283         * tests/test-xstrtoumax.sh: Likewise.
28284
28285 2008-04-21  Bruno Haible  <bruno@clisp.org>
28286
28287         Fix test failure on mingw.
28288         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
28289
28290 2008-04-21  Bruno Haible  <bruno@clisp.org>
28291
28292         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
28293         Actually assign a value.
28294
28295 2008-04-20  Bruno Haible  <bruno@clisp.org>
28296
28297         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
28298         take 2.
28299         * lib/canonicalize.c (canonicalize_file_name): Elide if the
28300         'canonicalize-lgpl' module is also used.
28301         * lib/canonicalize-lgpl.c: Undo last change.
28302         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
28303
28304 2008-04-20  Bruno Haible  <bruno@clisp.org>
28305
28306         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
28307         config.h. Provide _mkdir based fallback for mingw.
28308         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
28309         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
28310         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
28311         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
28312         rather than defining mkdir in config.h.
28313         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
28314         (gl_SYS_STAT_H_DEFAULTS): New macro.
28315         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
28316         HAVE_IO_H any more.
28317         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
28318         HAVE_DECL_MKDIR and HAVE_IO_H.
28319
28320 2008-04-20  Bruno Haible  <bruno@clisp.org>
28321
28322         * lib/isapipe.c: Port to native Windows platforms.
28323
28324 2008-04-20  Bruno Haible  <bruno@clisp.org>
28325
28326         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
28327
28328 2008-04-21  Eric Blake  <ebb9@byu.net>
28329
28330         Work around preprocessors that don't handle UINTMAX_MAX.
28331         * lib/memchr2.c (memchr2): Avoid embedded #if.
28332         Reported by Alain Guibert, fix suggested by Bruno Haible.
28333
28334 2008-04-21  Simon Josefsson  <simon@josefsson.org>
28335
28336         * doc/posix-functions/strftime.texi (strftime): Explain better
28337         Windows incompatibility.  Suggested by Micah Cowan
28338         <micah@cowan.name>.
28339
28340 2008-04-20  Bruno Haible  <bruno@clisp.org>
28341
28342         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
28343         unistr/u8-mblen.
28344
28345 2008-04-20  Bruno Haible  <bruno@clisp.org>
28346
28347         Fix test failure on platforms with non-GNU iconv.
28348         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
28349         (U_TO_U8): Use it, rather than u16_to_u8.
28350         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
28351         units at the end of the input string.
28352         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
28353
28354 2008-04-20  Bruno Haible  <bruno@clisp.org>
28355
28356         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
28357         when the resulting length is 0.
28358         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
28359
28360 2008-04-20  Bruno Haible  <bruno@clisp.org>
28361
28362         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
28363         works.
28364         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
28365
28366 2008-04-20  Bruno Haible  <bruno@clisp.org>
28367
28368         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
28369         * modules/tsearch-tests (configure.ac): Test for initstate function.
28370
28371 2008-04-20  Bruno Haible  <bruno@clisp.org>
28372
28373         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
28374         for nlink_t if missing.
28375         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
28376
28377 2008-04-19  Bruno Haible  <bruno@clisp.org>
28378
28379         Work around snprintf bug on Linux libc5.
28380         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
28381         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
28382         gl_SNPRINTF_SIZE1.
28383         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28384         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
28385         that test failed.
28386         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
28387         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
28388         * modules/snprintf (Files): Add m4/printf.m4.
28389         * modules/vsnprintf (Files): Likewise.
28390         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
28391         * doc/posix-functions/vsnprintf.texi: Likewise.
28392
28393 2008-04-19  Bruno Haible  <bruno@clisp.org>
28394
28395         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
28396         from 0.0058 to less than 10^-7.
28397
28398 2008-04-19  Bruno Haible  <bruno@clisp.org>
28399
28400         Fix rounding when a precision is given.
28401         * lib/vasnprintf.c (is_borderline): New function.
28402         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
28403         9...9x.
28404         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
28405         %e, %g.
28406         * tests/test-vasprintf-posix.c (test_function): Likewise.
28407         * tests/test-snprintf-posix.h (test_function): Likewise.
28408         * tests/test-sprintf-posix.h (test_function): Likewise.
28409         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
28410         * tests/test-printf-posix.h (test_function): Likewise.
28411         * tests/test-printf-posix.output: Update.
28412         Reported by John Darrington <john@darrington.wattle.id.au> via
28413         Ben Pfaff <blp@cs.stanford.edu>.
28414
28415 2008-04-18  Simon Josefsson  <simon@josefsson.org>
28416
28417         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
28418         Suggested by Bruno Haible <bruno@clisp.org>.
28419
28420 2008-04-17  Bruno Haible  <bruno@clisp.org>
28421
28422         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
28423         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
28424         implementation.
28425         Patch by Bruce Merry <bmerry@gmail.com>.
28426
28427 2008-04-17  Simon Josefsson  <simon@josefsson.org>
28428
28429         * doc/posix-functions/strftime.texi (strftime): Mention that %e
28430         doesn't work under Windows.
28431
28432 2008-04-16  Bruno Haible  <bruno@clisp.org>
28433
28434         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
28435         New macros.
28436         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
28437         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
28438         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
28439         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
28440         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
28441         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
28442         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
28443         macros.
28444         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
28445         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
28446         Northern Sotho, Uighur.
28447
28448 2008-04-16  Bruno Haible  <bruno@clisp.org>
28449
28450         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
28451         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
28452         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
28453         Reported by Daniel Bergström <daniel@octocode.com>.
28454
28455 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
28456             Bruno Haible  <bruno@clisp.org>
28457
28458         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
28459         function.
28460         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
28461         New functions, mostly extracted from gl_locale_name_default.
28462         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
28463
28464 2008-04-16  Eric Blake  <ebb9@byu.net>
28465
28466         Adjust strtod detection to catch glibc 2.7 bug.
28467         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
28468         Reported by John Gatewood Ham.
28469
28470 2008-04-16  Bruno Haible  <bruno@clisp.org>
28471
28472         Add tentative support for Linux libc5.
28473         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
28474         * lib/fpurge.c (fpurge): Likewise.
28475         * lib/freadable.c (freadable): Likewise.
28476         * lib/freadahead.c (freadahead): Likewise.
28477         * lib/freading.c (freading): Likewise.
28478         * lib/freadptr.c (freadptr): Likewise.
28479         * lib/freadseek.c (freadptrinc): Likewise.
28480         * lib/fseeko.c (rpl_fseeko): Likewise.
28481         * lib/fseterr.c (fseterr): Likewise.
28482         * lib/fwritable.c (fwritable): Likewise.
28483         * lib/fwriting.c (fwriting): Likewise.
28484         Reported by Alain Guibert <alguibert+bts@free.fr>.
28485
28486 2008-04-15  Bruno Haible  <bruno@clisp.org>
28487
28488         * modules/mathl (configure.ac): Define module indicator.
28489
28490 2008-04-15  Bruno Haible  <bruno@clisp.org>
28491
28492         * lib/logl.c (logl): Remove unused variables.
28493
28494 2008-04-15  Bruno Haible  <bruno@clisp.org>
28495
28496         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
28497         fails.
28498
28499 2008-04-15  Bruno Haible  <bruno@clisp.org>
28500
28501         * lib/trim.c (trim2): Fix argument of isspace() macro.
28502
28503 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
28504
28505         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
28506         to 0.
28507         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
28508
28509 2008-04-14  Bruno Haible  <bruno@clisp.org>
28510
28511         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
28512         AC_LANG_PROGRAM argument.
28513         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
28514         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
28515         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28516         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
28517         * m4/math_h.m4 (gl_MATH_H): Likewise.
28518         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
28519         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28520         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
28521         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
28522         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28523         * m4/regex.m4 (gl_REGEX): Likewise.
28524         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
28525         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
28526         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28527         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
28528         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
28529         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28530         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28531         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28532
28533 2008-04-14  Jim Meyering  <meyering@redhat.com>
28534
28535         test-strtod: fix typos: s/abs/fabs/
28536         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
28537
28538 2008-04-13  Bruno Haible  <bruno@clisp.org>
28539
28540         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
28541         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
28542         module is also used and while not building the reloc-wrapper.
28543
28544 2008-04-13  Bruno Haible  <bruno@clisp.org>
28545
28546         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
28547
28548 2008-04-13  Bruno Haible  <bruno@clisp.org>
28549
28550         Fix AIX compilation failure introduced on 2008-04-02.
28551         * tests/test-frexp.c (exp): Undefine before redefining.
28552         * tests/test-frexpl.c (exp): Likewise.
28553
28554 2008-04-13  Bruno Haible  <bruno@clisp.org>
28555
28556         Work around a HP-UX stdio bug.
28557         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
28558         * tests/test-ftello.c (main): Likewise.
28559         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
28560         * doc/posix-functions/ftello.texi: Likewise.
28561
28562 2008-04-13  Bruno Haible  <bruno@clisp.org>
28563
28564         Make test-signbit pass on HP-UX/hppa.
28565         * tests/test-signbit.c (minus_zerol): New variable.
28566         (test_signbitl): Use it.
28567
28568 2008-04-13  Bruno Haible  <bruno@clisp.org>
28569
28570         Make truncl work on OSF/1 4.0.
28571         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
28572         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
28573         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
28574         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
28575         HAVE_DECL_TRUNCL.
28576         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
28577         HAVE_DECL_TRUNCL.
28578         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
28579
28580 2008-04-13  Bruno Haible  <bruno@clisp.org>
28581
28582         * lib/unictype.h: Remove trailing comma from enumeration definitions.
28583
28584 2008-04-13  Bruno Haible  <bruno@clisp.org>
28585
28586         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
28587         expression, so as to avoid HP-UX 11 cc compiler bug.
28588
28589 2008-04-13  Bruno Haible  <bruno@clisp.org>
28590
28591         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
28592
28593 2008-04-13  Bruno Haible  <bruno@clisp.org>
28594
28595         * lib/git-merge-changelog.c: Remove empty declaration outside of
28596         functions.
28597
28598 2008-04-13  Bruno Haible  <bruno@clisp.org>
28599
28600         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
28601
28602 2008-04-13  Bruno Haible  <bruno@clisp.org>
28603
28604         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
28605         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
28606         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
28607         also if it exists but lacks definitions of the SHUT_* macros.
28608         * modules/sys_socket (Description): Update.
28609         Reported by Elbert Pol <e.pol@chello.nl>.
28610
28611 2008-04-13  Bruno Haible  <bruno@clisp.org>
28612
28613         * lib/localcharset.c (OS2): Don't redefine if already defined.
28614         Reported by Elbert Pol <e.pol@chello.nl>.
28615
28616 2008-04-13  Bruno Haible  <bruno@clisp.org>
28617
28618         * lib/binary-io.h [__EMX__]: Include <io.h>.
28619         Reported by Elbert Pol <e.pol@chello.nl>.
28620
28621 2008-04-12  Bruno Haible  <bruno@clisp.org>
28622
28623         * lib/fpucw.h: Enable the definitions also for x86_64.
28624         Needed for NetBSD/x86_64.
28625         Reported by Thomas Klausner <tk@giga.or.at>.
28626
28627 2008-04-12  Bruno Haible  <bruno@clisp.org>
28628
28629         * tests/test-strtod.c: Include isnand.h.
28630         (main): Use isnand instead of isnan.
28631         Reported by Jim Meyering.
28632
28633 2008-04-12  Bruno Haible  <bruno@clisp.org>
28634
28635         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
28636         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
28637
28638 2008-04-12  Jim Meyering  <meyering@redhat.com>
28639
28640         * m4/math_h.m4 (gl_MATH_H): Fix typos.
28641
28642 2008-04-12  Bruno Haible  <bruno@clisp.org>
28643
28644         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
28645         Reported by Elbert Pol <e.pol@chello.nl>.
28646
28647 2008-04-12  Eric Blake  <ebb9@byu.net>
28648
28649         Work around Solaris 10 math.h bug.
28650         * m4/math_h.m4 (gl_MATH_H): Check for bug.
28651         (gl_MATH_H_DEFAULTS): Set up default.
28652         * modules/math (Makefile.am): Replace new indicators.
28653         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
28654         * tests/test-math.c (main): Test this.
28655         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
28656         * doc/posix-headers/math.texi (math.h): Mention bug.
28657         Reported by Nelson H. F. Beebe and Jim Meyering.
28658
28659 2008-04-11  Bruno Haible  <bruno@clisp.org>
28660
28661         Adapt to future versions of Apple GCC.
28662         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
28663         Reported by Peter O'Gorman <peter@pogma.com>.
28664
28665 2008-04-11  Bruno Haible  <bruno@clisp.org>
28666
28667         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
28668
28669 2008-04-11  Bruno Haible  <bruno@clisp.org>
28670
28671         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
28672
28673         * modules/getaddrinfo-tests (Makefile.am): Define
28674         test_getaddrinfo_LDADD.
28675
28676 2008-04-11  Bruno Haible  <bruno@clisp.org>
28677
28678         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
28679         (init): Fix syntax error.
28680         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
28681         is declared.
28682
28683 2008-04-11  Bruno Haible  <bruno@clisp.org>
28684
28685         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
28686         * modules/glob (Depends-on): Add stdbool.
28687
28688 2008-04-11  Bruno Haible  <bruno@clisp.org>
28689
28690         * lib/trim.c: Include <string.h>.
28691
28692 2008-04-11  Eric Blake  <ebb9@byu.net>
28693
28694         Avoid compile failure on OS/2.
28695         * lib/regex_internal.h (internal_function): Disable optimization
28696         on OS/2 (__EMX__), where it caused compiler error.
28697         Reported by Elbert Pol.
28698
28699 2008-04-11  Bruno Haible  <bruno@clisp.org>
28700
28701         Flush the standard error stream before aborting. Needed on mingw.
28702         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
28703         * tests/test-array_list.c (ASSERT): Likewise.
28704         * tests/test-array_oset.c (ASSERT): Likewise.
28705         * tests/test-avltree_list.c (ASSERT): Likewise.
28706         * tests/test-avltree_oset.c (ASSERT): Likewise.
28707         * tests/test-avltreehash_list.c (ASSERT): Likewise.
28708         * tests/test-binary-io.c (ASSERT): Likewise.
28709         * tests/test-byteswap.c (ASSERT): Likewise.
28710         * tests/test-c-ctype.c (ASSERT): Likewise.
28711         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
28712         * tests/test-c-strcasestr.c (ASSERT): Likewise.
28713         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
28714         * tests/test-c-strstr.c (ASSERT): Likewise.
28715         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
28716         * tests/test-canonicalize.c (ASSERT): Likewise.
28717         * tests/test-carray_list.c (ASSERT): Likewise.
28718         * tests/test-ceilf1.c (ASSERT): Likewise.
28719         * tests/test-ceilf2.c (ASSERT): Likewise.
28720         * tests/test-ceill.c (ASSERT): Likewise.
28721         * tests/test-count-one-bits.c (ASSERT): Likewise.
28722         * tests/test-fbufmode.c (ASSERT): Likewise.
28723         * tests/test-fflush2.c (ASSERT): Likewise.
28724         * tests/test-floorf1.c (ASSERT): Likewise.
28725         * tests/test-floorf2.c (ASSERT): Likewise.
28726         * tests/test-floorl.c (ASSERT): Likewise.
28727         * tests/test-fopen.c (ASSERT): Likewise.
28728         * tests/test-fpending.c (ASSERT): Likewise.
28729         * tests/test-fprintf-posix.c (ASSERT): Likewise.
28730         * tests/test-fpurge.c (ASSERT): Likewise.
28731         * tests/test-freadable.c (ASSERT): Likewise.
28732         * tests/test-freadahead.c (ASSERT): Likewise.
28733         * tests/test-freading.c (ASSERT): Likewise.
28734         * tests/test-freadptr.c (ASSERT): Likewise.
28735         * tests/test-freadptr2.c (ASSERT): Likewise.
28736         * tests/test-freadseek.c (ASSERT): Likewise.
28737         * tests/test-freopen.c (ASSERT): Likewise.
28738         * tests/test-frexp.c (ASSERT): Likewise.
28739         * tests/test-frexpl.c (ASSERT): Likewise.
28740         * tests/test-fseek.c (ASSERT): Likewise.
28741         * tests/test-fseeko.c (ASSERT): Likewise.
28742         * tests/test-fstrcmp.c (ASSERT): Likewise.
28743         * tests/test-ftell.c (ASSERT): Likewise.
28744         * tests/test-ftello.c (ASSERT): Likewise.
28745         * tests/test-func.c (ASSERT): Likewise.
28746         * tests/test-fwritable.c (ASSERT): Likewise.
28747         * tests/test-fwriting.c (ASSERT): Likewise.
28748         * tests/test-getdelim.c (ASSERT): Likewise.
28749         * tests/test-getline.c (ASSERT): Likewise.
28750         * tests/test-i-ring.c (ASSERT): Likewise.
28751         * tests/test-iconv-utf.c (ASSERT): Likewise.
28752         * tests/test-iconv.c (ASSERT): Likewise.
28753         * tests/test-isfinite.c (ASSERT): Likewise.
28754         * tests/test-isnand.c (ASSERT): Likewise.
28755         * tests/test-isnanf.c (ASSERT): Likewise.
28756         * tests/test-isnanl.h (ASSERT): Likewise.
28757         * tests/test-ldexpl.c (ASSERT): Likewise.
28758         * tests/test-linked_list.c (ASSERT): Likewise.
28759         * tests/test-linkedhash_list.c (ASSERT): Likewise.
28760         * tests/test-localename.c (ASSERT): Likewise.
28761         * tests/test-lseek.c (ASSERT): Likewise.
28762         * tests/test-mbscasecmp.c (ASSERT): Likewise.
28763         * tests/test-mbscasestr1.c (ASSERT): Likewise.
28764         * tests/test-mbscasestr2.c (ASSERT): Likewise.
28765         * tests/test-mbscasestr3.c (ASSERT): Likewise.
28766         * tests/test-mbscasestr4.c (ASSERT): Likewise.
28767         * tests/test-mbschr.c (ASSERT): Likewise.
28768         * tests/test-mbscspn.c (ASSERT): Likewise.
28769         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
28770         * tests/test-mbspbrk.c (ASSERT): Likewise.
28771         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
28772         * tests/test-mbsrchr.c (ASSERT): Likewise.
28773         * tests/test-mbsspn.c (ASSERT): Likewise.
28774         * tests/test-mbsstr1.c (ASSERT): Likewise.
28775         * tests/test-mbsstr2.c (ASSERT): Likewise.
28776         * tests/test-mbsstr3.c (ASSERT): Likewise.
28777         * tests/test-memchr2.c (ASSERT): Likewise.
28778         * tests/test-memmem.c (ASSERT): Likewise.
28779         * tests/test-open.c (ASSERT): Likewise.
28780         * tests/test-printf-frexp.c (ASSERT): Likewise.
28781         * tests/test-printf-frexpl.c (ASSERT): Likewise.
28782         * tests/test-printf-posix.c (ASSERT): Likewise.
28783         * tests/test-quotearg.c (ASSERT): Likewise.
28784         * tests/test-rbtree_list.c (ASSERT): Likewise.
28785         * tests/test-rbtree_oset.c (ASSERT): Likewise.
28786         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
28787         * tests/test-round1.c (ASSERT): Likewise.
28788         * tests/test-roundf1.c (ASSERT): Likewise.
28789         * tests/test-roundl.c (ASSERT): Likewise.
28790         * tests/test-signbit.c (ASSERT): Likewise.
28791         * tests/test-sleep.c (ASSERT): Likewise.
28792         * tests/test-snprintf-posix.c (ASSERT): Likewise.
28793         * tests/test-snprintf.c (ASSERT): Likewise.
28794         * tests/test-sprintf-posix.c (ASSERT): Likewise.
28795         * tests/test-stat-time.c (ASSERT): Likewise.
28796         * tests/test-strcasestr.c (ASSERT): Likewise.
28797         * tests/test-strerror.c (ASSERT): Likewise.
28798         * tests/test-striconv.c (ASSERT): Likewise.
28799         * tests/test-striconveh.c (ASSERT): Likewise.
28800         * tests/test-striconveha.c (ASSERT): Likewise.
28801         * tests/test-strsignal.c (ASSERT): Likewise.
28802         * tests/test-strstr.c (ASSERT): Likewise.
28803         * tests/test-strtod.c (ASSERT): Likewise.
28804         * tests/test-trunc1.c (ASSERT): Likewise.
28805         * tests/test-trunc2.c (ASSERT): Likewise.
28806         * tests/test-truncf1.c (ASSERT): Likewise.
28807         * tests/test-truncf2.c (ASSERT): Likewise.
28808         * tests/test-truncl.c (ASSERT): Likewise.
28809         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
28810         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
28811         * tests/test-vasnprintf.c (ASSERT): Likewise.
28812         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
28813         * tests/test-vasprintf.c (ASSERT): Likewise.
28814         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
28815         * tests/test-vprintf-posix.c (ASSERT): Likewise.
28816         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
28817         * tests/test-vsnprintf.c (ASSERT): Likewise.
28818         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
28819         * tests/test-wcwidth.c (ASSERT): Likewise.
28820         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
28821         * tests/test-xprintf-posix.c (ASSERT): Likewise.
28822         * tests/test-xvasprintf.c (ASSERT): Likewise.
28823         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
28824         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
28825         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
28826         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
28827         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
28828         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
28829         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
28830         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
28831         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
28832         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
28833         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
28834         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
28835         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
28836         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
28837         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
28838         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
28839         * tests/unictype/test-block_list.c (ASSERT): Likewise.
28840         * tests/unictype/test-block_of.c (ASSERT): Likewise.
28841         * tests/unictype/test-block_test.c (ASSERT): Likewise.
28842         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
28843         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
28844         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
28845         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
28846         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
28847         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
28848         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
28849         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
28850         * tests/unictype/test-combining.c (ASSERT): Likewise.
28851         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
28852         * tests/unictype/test-digit.c (ASSERT): Likewise.
28853         * tests/unictype/test-mirror.c (ASSERT): Likewise.
28854         * tests/unictype/test-numeric.c (ASSERT): Likewise.
28855         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
28856         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
28857         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
28858         * tests/unictype/test-scripts.c (ASSERT): Likewise.
28859         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
28860         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
28861         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
28862         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
28863         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
28864         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
28865         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
28866         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
28867         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
28868         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
28869         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
28870         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
28871         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
28872         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
28873         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
28874         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
28875         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
28876         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
28877         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
28878         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
28879         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
28880         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
28881         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
28882         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
28883         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
28884         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
28885         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
28886         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
28887         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
28888         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
28889         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
28890         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
28891         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
28892         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
28893         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
28894         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
28895         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
28896         Reported by Eric Blake.
28897
28898 2008-04-11  Bruno Haible  <bruno@clisp.org>
28899
28900         * lib/wchar.in.h: Tweak comment.
28901
28902 2008-04-11  Bruno Haible  <bruno@clisp.org>
28903
28904         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
28905         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
28906         gl_COMMON.
28907         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
28908
28909 2008-04-11  Bruno Haible  <bruno@clisp.org>
28910
28911         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
28912
28913 2008-04-11  Simon Josefsson  <simon@josefsson.org>
28914
28915         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
28916         of attempting to use non-existing /dev/*random.  Based on patch
28917         from Adam Strzelecki <ono@java.pl> in
28918         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
28919
28920 2008-04-08  Bruno Haible  <bruno@clisp.org>
28921
28922         Add tentative support for emx+gcc.
28923         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
28924         * lib/fpurge.c (fpurge): Likewise.
28925         * lib/freadable.c (freadable): Likewise.
28926         * lib/freadahead.c (freadahead): Likewise.
28927         * lib/freading.c (freading): Likewise.
28928         * lib/freadptr.c (freadptr): Likewise.
28929         * lib/freadseek.c (freadptrinc): Likewise.
28930         * lib/fseeko.c (rpl_fseeko): Likewise.
28931         * lib/fseterr.c (fseterr): Likewise.
28932         * lib/fwritable.c (fwritable): Likewise.
28933         * lib/fwriting.c (fwriting): Likewise.
28934         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
28935
28936 2008-04-09  Eric Blake  <ebb9@byu.net>
28937
28938         Avoid some autoconf warnings.
28939         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
28940         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
28941         * m4/afs.m4 (gl_AFS): Likewise.
28942         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
28943         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
28944         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28945         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
28946         (gl_INTEGER_TYPE_SUFFIX): Likewise.
28947         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
28948         (AC_CHECK_DECLS_ONCE): Likewise.
28949         Rename file...
28950         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
28951         gnulib-tool requires autoconf 2.59 or better.
28952         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
28953
28954 2008-04-08  Eric Blake  <ebb9@byu.net>
28955
28956         Use 'git describe --match' if present (added in git 1.5.5).
28957         * build-aux/git-version-gen: Limit result to tags that match 'v*'
28958         if possible.
28959
28960 2008-04-08  Bruno Haible  <bruno@clisp.org>
28961
28962         Add tentative support for OpenServer.
28963         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
28964         _ptr, _cnt.
28965         * lib/fpurge.c (fpurge): Likewise.
28966         * lib/freadable.c (freadable): Likewise.
28967         * lib/freadahead.c (freadahead): Likewise.
28968         * lib/freading.c (freading): Likewise.
28969         * lib/freadptr.c (freadptr): Likewise.
28970         * lib/freadseek.c (freadptrinc): Likewise.
28971         * lib/fseeko.c (rpl_fseeko): Likewise.
28972         * lib/fseterr.c (fseterr): Likewise.
28973         * lib/fwritable.c (fwritable): Likewise.
28974         * lib/fwriting.c (fwriting): Likewise.
28975         Reported by Roger Cornelius <rac@tenzing.org> and
28976         Brian K. White <brian@aljex.com>.
28977
28978 2008-04-06  Jim Meyering  <meyering@redhat.com>
28979
28980         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
28981
28982 2008-04-06  Bruno Haible  <bruno@clisp.org>
28983
28984         Avoid possible error with non-ASCII bytes in UTF-8 locales.
28985         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
28986         * tests/test-printf-posix.sh: Likewise.
28987         * tests/test-vfprintf-posix.sh: Likewise.
28988         * tests/test-vprintf-posix.sh: Likewise.
28989         * tests/test-xprintf-posix.sh: Likewise.
28990
28991 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28992
28993         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
28994         hide error from 'ls', needed on OS/2.
28995         Report by Elbert Pol <elbert.pol@gmail.com>.
28996
28997 2008-04-04  Eric Blake  <ebb9@byu.net>
28998
28999         Make test-fseeko.c failures meaningful.
29000         * tests/test-fseeko.c: Print line number on failure.
29001         * tests/test-fseek.c: Likewise.
29002         Reported by Nelson H. F. Beebe.
29003
29004         Improve strtod bug detection check.
29005         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
29006         required for Solaris 10.
29007         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
29008
29009 2008-04-04  Bruno Haible  <bruno@clisp.org>
29010
29011         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
29012         by m4/setenv.m4.
29013
29014 2008-04-03  Eric Blake  <ebb9@byu.net>
29015
29016         Ensure sane .version contents.
29017         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
29018         version string.
29019         * build-aux/git-version-gen: Improve documentation.
29020
29021         Make GNU make output nicer.
29022         * top/GNUmakefile [!_have-Makefile]: Add dependency on
29023         MAKECMDGOALS to enforce message for all command line targets.  Set
29024         srcdir for use in maint.mk.
29025
29026         Another maintainer tweak.
29027         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
29028         a target that regenerates version.
29029
29030 2008-04-03  Jim Meyering  <meyering@redhat.com>
29031
29032         vc-list-files: don't cause coreutils "make po-check" failure
29033         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
29034
29035 2008-04-03  Eric Blake  <ebb9@byu.net>
29036
29037         Allow VPATH usage of vc-list-files.
29038         * build-aux/vc-list-files (scriptversion): Add timestamp.
29039         (options): Add --help, --version, -C.
29040         (CVS): Support installed cvsu.
29041
29042 2008-04-02  Bruno Haible  <bruno@clisp.org>
29043
29044         Avoid some "statement with no effect" warnings from gcc.
29045         * tests/test-wctype.c (main): Explicitly ignore unused values.
29046         Reported by Jim Meyering.
29047
29048 2008-04-02  Jim Meyering  <meyering@redhat.com>
29049
29050         Avoid some warnings from "gcc -Wshadow".
29051         * tests/test-frexp.c (exp): Define to a different identifier.
29052         * tests/test-frexpl.c (exp): Likewise.
29053
29054 2008-04-03  Jim Meyering  <meyering@redhat.com>
29055
29056         bootstrap: remove dangling *.[ch] symlinks from lib
29057         * build-aux/bootstrap [dangling symlink removal]: Move find's
29058         -depth option to precede all others, to avoid a warning.
29059         Remove *.[ch] files too, and from "$source_base" (usually lib/).
29060
29061 2008-04-02  Bruno Haible  <bruno@clisp.org>
29062
29063         Avoid some warnings from "gcc -Wshadow".
29064         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
29065         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
29066         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
29067         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
29068         Reported by Jim Meyering.
29069
29070 2008-04-01  Bruno Haible  <bruno@clisp.org>
29071
29072         Fix test to work on IRIX 6.5 with cc.
29073         * tests/test-math.c (numeric_equal): New function.
29074         (main): Use it.
29075
29076 2008-04-01  Bruno Haible  <bruno@clisp.org>
29077
29078         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
29079
29080 2008-04-01  Bruno Haible  <bruno@clisp.org>
29081
29082         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
29083         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29084         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
29085         (Depends-on): Remove math.
29086
29087         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
29088         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29089         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
29090         (Depends-on): Remove math.
29091
29092         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
29093         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29094         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
29095         (Depends-on): Remove math.
29096         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
29097         (Depends-on): Remove math.
29098
29099         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
29100         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29101         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
29102         (Depends-on): Remove math.
29103         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
29104         (Depends-on): Remove math.
29105
29106         * tests/test-round1.c: Include nan.h.
29107         (main): Use NaNd instead of NAN.
29108         * modules/round-tests (Files): Add tests/nan.h.
29109
29110         * tests/test-trunc1.c: Include nan.h.
29111         (main): Use NaNd instead of NAN.
29112         * modules/trunc-tests (Files): Add tests/nan.h.
29113
29114         * tests/test-roundf1.c: Include nan.h.
29115         (main): Use NaNf instead of NAN.
29116         * modules/roundf-tests (Files): Add tests/nan.h.
29117
29118         * tests/test-truncf1.c: Include nan.h.
29119         (main): Use NaNf instead of NAN.
29120         * modules/truncf-tests (Files): Add tests/nan.h.
29121
29122         * tests/test-ceilf1.c: Include nan.h.
29123         (main): Use NaNf instead of NAN.
29124         * modules/ceilf-tests (Files): Add tests/nan.h.
29125
29126         * tests/test-floorf1.c: Include nan.h.
29127         (main): Use NaNf instead of NAN.
29128         * modules/floorf-tests (Files): Add tests/nan.h.
29129
29130         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
29131         (main): Use NaNf instead of NAN.
29132         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
29133
29134         * tests/test-isnand.c: Include nan.h instead of <math.h>.
29135         (main): Use NaNd instead of NAN.
29136         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
29137
29138         * tests/test-frexp.c: Include nan.h.
29139         (main): Use NaNd instead of NAN.
29140         * modules/frexp-tests (Files): Add tests/nan.h.
29141
29142         * lib/isnan.c: Don't include <math.h>.
29143         (FUNC): Don't use NAN macro.
29144         * modules/isnand-nolibm (Depends-on): Remove math.
29145         * modules/isnanf-nolibm (Depends-on): Remove math.
29146         * modules/isnanl (Depends-on): Remove math.
29147         * modules/isnanl-nolibm (Depends-on): Remove math.
29148
29149         * tests/nan.h: New file.
29150
29151 2008-04-01  Eric Blake  <ebb9@byu.net>
29152
29153         Fix typos.
29154         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
29155         values to be the right type.
29156
29157         For now, cater to gnulib strtod inaccuracies.
29158         * tests/test-strtod.c (main): Allow 1-ulp error on expected
29159         fractional results.  While not as nice from a QoI perspective, it
29160         is a quicker patch than correctly implementing decimal to binary
29161         rounding.
29162
29163 2008-03-31  Eric Blake  <ebb9@byu.net>
29164
29165         Guarantee a definition of NAN.
29166         * lib/math.in.h (NAN): Define if missing.
29167         * tests/test-math.c (main): Test it.
29168         * doc/posix-headers/math.texi (math.h): Document this.
29169         * lib/isnan.c (rpl_isnand): Use it.
29170         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
29171         * tests/test-floorf1.c (NaN): Likewise.
29172         * tests/test-frexp.c (NaN): Likewise.
29173         * tests/test-isnand.c (NaN): Likewise.
29174         * tests/test-isnanf.c (NaN): Likewise.
29175         * tests/test-round1.c (NaN): Likewise.
29176         * tests/test-roundf1.c (NaN): Likewise.
29177         * tests/test-snprintf-posix.h (NaN): Likewise.
29178         * tests/test-sprintf-posix.h (NaN): Likewise.
29179         * tests/test-trunc1.c (NaN): Likewise.
29180         * tests/test-truncf1.c (NaN): Likewise.
29181         * tests/test-vasnprintf-posix.c (NaN): Likewise.
29182         * tests/test-vasprintf-posix.c (NaN): Likewise.
29183         * modules/isnand-nolibm (Depends-on): Add math.
29184         * modules/isnanf-nolibm (Depends-on): Likewise.
29185         * modules/isnanl (Depends-on): Likewise.
29186         * modules/isnanl-nolibm (Depends-on): Likewise.
29187         * modules/snprintf-posix-tests (Depends-on): Likewise.
29188         * modules/sprintf-posix-tests (Depends-on): Likewise.
29189         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
29190         * modules/vsprintf-posix-tests (Depends-on): Likewise.
29191         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
29192         * modules/vasprintf-posix-tests (Depends-on): Likewise.
29193
29194 2008-03-31  Bruno Haible  <bruno@clisp.org>
29195
29196         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
29197         * doc/posix-functions/strtod.texi: Likewise.
29198
29199 2008-03-31  Bruno Haible  <bruno@clisp.org>
29200
29201         * tests/test-strtod.c (main): Don't use C99 syntax.
29202
29203 2008-03-31  Bruno Haible  <bruno@clisp.org>
29204
29205         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
29206         Reported by Eric Blake.
29207
29208 2008-03-31  Jim Meyering  <meyering@redhat.com>
29209
29210         Don't compare actual signbit return values.
29211         * tests/test-strtod.c (main): Rather, compare only their
29212         zero/non-zero nature.
29213
29214 2008-03-31  Eric Blake  <ebb9@byu.net>
29215
29216         More strtod documentation.
29217         * doc/posix-functions/strtod.texi (strtod): Interpret more test
29218         failures as distinct bugs.
29219
29220 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
29221
29222         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
29223         Problem reported by Erik Benada in
29224         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
29225
29226 2008-03-30  Bruno Haible  <bruno@clisp.org>
29227
29228         * tests/test-strtod.c: Add comments about which assertion fails on which
29229         platform.
29230         * doc/posix-functions/strtod.texi: Add info about many more platforms.
29231
29232 2008-03-30  Eric Blake  <ebb9@byu.net>
29233
29234         Test signbit behavior on zeros.
29235         * tests/test-signbit.c (test_signbitf): Add tests for zero.
29236         (test_signbitd, test_signbitl): Likewise.
29237
29238         More strtod touchups.
29239         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
29240         sign of negative underflow, for now.  Use .5, not .1.
29241         * doc/posix-functions/strtod.texi (strtod): Mention these
29242         limitations.
29243         Reported by Jim Meyering.
29244
29245 2008-03-30  Bruno Haible  <bruno@clisp.org>
29246
29247         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
29248         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
29249
29250 2008-03-30  Bruno Haible  <bruno@clisp.org>
29251
29252         Avoid failure when attempting to return empty iconv results on some
29253         platforms.
29254         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
29255         allocation, don't report ENOMEM when the resulting string is empty.
29256
29257 2008-03-30  Bruno Haible  <bruno@clisp.org>
29258
29259         Fix buffer overrun.
29260         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
29261         Don't consider the width for tmp_length. Check count against tmp_length
29262         before doing the padding. Ensure enough allocation during padding.
29263
29264 2008-03-30  Eric Blake  <ebb9@byu.net>
29265
29266         strtod touchups.
29267         * lib/strtod.c (strtod): Avoid compiler warnings.
29268         Reported by Jim Meyering.
29269
29270 2008-03-30  Bruno Haible  <bruno@clisp.org>
29271
29272         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
29273         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
29274         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
29275         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
29276         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
29277         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
29278         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
29279         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
29280
29281         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
29282         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
29283         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
29284         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
29285         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
29286         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
29287         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
29288         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
29289
29290         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
29291         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
29292         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
29293         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
29294         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
29295         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
29296         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
29297         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
29298
29299         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
29300         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
29301
29302         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
29303         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
29304
29305         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
29306         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
29307
29308         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
29309         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
29310         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
29311
29312         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
29313         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
29314         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
29315
29316         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
29317         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
29318         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
29319
29320         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
29321         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
29322         * modules/vasprintf (Depends-on): Add EOVERFLOW.
29323
29324         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
29325         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
29326         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
29327         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
29328         (Depends-on): Add EOVERFLOW.
29329         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
29330         (Depends-on): Add EOVERFLOW.
29331         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29332         (Depends-on): Add EOVERFLOW.
29333         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29334         (Depends-on): Add EOVERFLOW.
29335         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29336         (Depends-on): Add EOVERFLOW.
29337         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29338         (Depends-on): Add EOVERFLOW.
29339         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29340         (Depends-on): Add EOVERFLOW.
29341         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29342         (Depends-on): Add EOVERFLOW.
29343
29344         * lib/sprintf.c (EOVERFLOW): Remove fallback.
29345         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
29346         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
29347
29348         * lib/snprintf.c (EOVERFLOW): Remove fallback.
29349         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
29350         * modules/snprintf (Depends-on): Add EOVERFLOW.
29351
29352         * lib/poll.c (EOVERFLOW): Remove fallback.
29353         * modules/poll (Depends-on): Add EOVERFLOW.
29354
29355         * lib/getugroups.c (EOVERFLOW): Remove fallback.
29356         * modules/getugroups (Depends-on): Add EOVERFLOW.
29357
29358         * lib/getdelim.c (EOVERFLOW): Remove fallback.
29359         * modules/getdelim (Depends-on): Add EOVERFLOW.
29360
29361         * lib/ftell.c (EOVERFLOW): Remove fallback.
29362         * modules/ftell (Depends-on): Add EOVERFLOW.
29363
29364         * lib/fprintf.c (EOVERFLOW): Remove fallback.
29365         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
29366         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
29367
29368         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
29369
29370         * modules/EOVERFLOW-tests: New file.
29371         * tests/test-EOVERFLOW.c: New file.
29372
29373         * modules/EOVERFLOW: New file.
29374         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
29375
29376 2008-03-30  Bruno Haible  <bruno@clisp.org>
29377
29378         Fix bug introduced on 2007-06-10.
29379         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
29380         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
29381
29382 2008-03-30  Bruno Haible  <bruno@clisp.org>
29383
29384         Improve freadseek's efficiency after ungetc.
29385         * lib/freadseek.c: Include freadahead.h.
29386         (freadptrinc): New function, extracted from freadseek.
29387         (freadseek): Use it in a loop. Use freadahead to determine the number
29388         of loop iterations.
29389         * modules/freadseek (Depends-on): Add freadahead.
29390         (configure.ac): Require AC_C_INLINE.
29391
29392 2008-03-30  Bruno Haible  <bruno@clisp.org>
29393
29394         * lib/freadseek.c (freadseek): Don't ignore the return value of
29395         freadptr.
29396
29397 2008-03-29  Eric Blake  <ebb9@byu.net>
29398
29399         Add hex float support.
29400         * modules/strtod (Depends-on): Add c-ctype.
29401         (Link): Mention POW_LIB.
29402         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
29403         whitespace between 'e' and exponent.
29404         * tests/test-strtod.c (main): Enable hex float tests.
29405         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
29406         now provides.
29407
29408         Document various strtod bugs, with some fixes.
29409         * doc/posix-functions/strtod.texi (strtod): Document bugs with
29410         "-0x", "inf", "nan", and hex constants.
29411         * doc/posix-functions/atof.texi (atof): Likewise.
29412         * modules/stdlib (Makefile.am): Support strtod.
29413         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
29414         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
29415         detect additional strtod bugs.
29416         * lib/stdlib.in.h (rpl_strtod): Add declarations.
29417         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
29418         bool where appropriate.  Parse 'inf' and 'nan'.
29419         * tests/test-strtod.c: New file.
29420         * modules/strtod (Depends-on): Add stdbool, stdlib.
29421         (configure.ac): Turn on module indicator.
29422         * modules/strtod-tests: New module.
29423
29424 2008-03-29  Eric Blake  <ebb9@byu.net>
29425
29426         Fix ftell on mingw.
29427         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
29428         * modules/ftell-tests (Depends-on): Add binary-io.
29429         * modules/ftello-tests (Depends-on): Likewise.
29430         * tests/test-ftell.c (main): Enhance test to cover behavior after
29431         ungetc.  Enforce binary mode.
29432         * tests/test-ftello.c (main): Likewise.
29433
29434         Pass test-freadseek on cygwin.
29435         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
29436         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
29437         ungetc buffer.
29438
29439         * tests/test-fflush2.c (main): Fix typo.
29440
29441 2008-03-29  Bruno Haible  <bruno@clisp.org>
29442
29443         * tests/test-fflush2.c (main): Temporarily disable the contents of
29444         this test.
29445         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
29446         Reported by Eric Blake.
29447
29448 2008-03-28  Simon Josefsson  <simon@josefsson.org>
29449
29450         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
29451         (GC_SHA224_DIGEST_SIZE): Add.
29452
29453         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
29454         (gc_hash_digest_length): Likewise.
29455         (gc_hash_buffer): Likewise.
29456
29457 2008-03-25  Bruno Haible  <bruno@clisp.org>
29458
29459         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
29460         detail which gettext release to use.
29461         Reported by Simon Josefsson.
29462
29463 2008-03-26  Jim Meyering  <meyering@redhat.com>
29464
29465         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
29466         * modules/gnumakefile (clean-GNUmakefile): Also, use
29467         test ... && ... || : syntax rather than if-then ... fi.
29468
29469         gnumakefile: Don't double-quote-expand $(VPATH) value.
29470         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
29471
29472 2008-03-24  Eric Blake  <ebb9@byu.net>
29473
29474         Alter GNUmakefile to install into top directory.
29475         * modules/maintainer-makefile: Split, and add dependency...
29476         * modules/gnumakefile: to this new module.
29477         * build-aux/GNUmakefile: Move...
29478         * top/GNUmakefile: ...here.
29479         * build-aux/maint.mk: Move...
29480         * top/maint.mk: ...here.
29481         * MODULES.html.sh (Support for maintaining...): Document new
29482         module.
29483
29484 2008-03-23  Bruno Haible  <bruno@clisp.org>
29485
29486         * gnulib-tool: New options --vc-files, --no-vc-files.
29487         (func_usage): Document them.
29488         (vc_files): New variable.
29489         (func_import): Consider vc_files.
29490         (func_create_testdir): Set vc_files to empty.
29491         Suggested by Jim Meyering and Karl Berry.
29492
29493 2008-03-23  Bruno Haible  <bruno@clisp.org>
29494
29495         Fix regex compilation error on HP-UX 11.
29496         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
29497         * modules/regex (Files): Add m4/mbstate_t.m4.
29498         Reported by Ton Voon <ton.voon@altinity.com>.
29499
29500 2008-03-23  Bruno Haible  <bruno@clisp.org>
29501
29502         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
29503
29504 2008-03-23  Eric Blake  <ebb9@byu.net>
29505             Bruno Haible  <bruno@clisp.org>
29506
29507         Install files from top/ in the destination directory.
29508         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29509         augmentation also for the files from top/.
29510         (func_import, func_create_testdir): Rewrite file names:
29511         top/filename -> filename.
29512
29513 2008-03-23  Bruno Haible  <bruno@clisp.org>
29514
29515         Tweak "gnulib --version" output.
29516         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
29517
29518 2008-03-23  Bruno Haible  <bruno@clisp.org>
29519
29520         Tweak "gnulib --version" output.
29521         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
29522         rather than contents of ChangeLog, when possible.
29523
29524 2008-03-21  Eric Blake  <ebb9@byu.net>
29525
29526         More --version tweaks.
29527         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
29528         date of last ChangeLog entry.
29529
29530 2008-03-21  Jim Meyering  <meyering@redhat.com>
29531
29532         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
29533
29534 2008-03-20  Eric Blake  <ebb9@byu.net>
29535
29536         VPATH fix.
29537         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
29538
29539 2008-03-20  Simon Josefsson  <simon@josefsson.org>
29540
29541         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
29542         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
29543
29544 2008-03-20  Eric Blake  <ebb9@byu.net>
29545
29546         Sync GNUmakefile with coreutils.
29547         * build-aux/GNUmakefile (have-Makefile): Rename...
29548         (_have-Makefile): ...to this, for namespace consideration.
29549         (GNUmakefile.cfg): Include, if present.
29550         (_autoreconf): Define a default.
29551         (_is-dist-target): New rule for rebuilds to pick up intra-release
29552         version.
29553         (maint-cfg.mk): Rename...
29554         (cfg.mk): ...to this.
29555
29556 2008-03-18  Jim Meyering  <meyering@redhat.com>
29557
29558         New script and module: mktempd
29559         * MODULES.html.sh (maint+release support): Add mktempd.
29560         * build-aux/mktempd: New file.
29561         * modules/mktempd: New file.
29562
29563 2008-03-15  Jim Meyering  <meyering@redhat.com>
29564
29565         Undo last change.
29566         * lib/sha1.c, lib/md5.c: 63 != ~63.
29567         Reported by Andreas Schwab.
29568
29569         sha1.c, md5.c: Hoist a redundant expression.
29570         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
29571         "ctx->buflen" only once, before calling *_process_block.
29572         * lib/md5.c (md5_process_bytes): Likewise.
29573
29574 2008-03-14  Eric Blake  <ebb9@byu.net>
29575
29576         Bump copyright year in files generated by gnulib-tool.
29577         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
29578         gnulib-tool, rather than hard-coding it.
29579
29580         Fix 'gnulib-tool --version' output to work with git.
29581         * gnulib-tool (func_gnulib_dir): New function, extracted from...
29582         (startup): ...here.
29583         (func_version): Use it to invoke git-version-gen, rather than
29584         relying on CVS keyword expansion.  Modernize wording.
29585         (cvsdatestamp, last_checkin_date, version): Kill unused
29586         variables.
29587
29588 2008-03-12  Jim Meyering  <meyering@redhat.com>
29589
29590         Recognize optional cast of the argument to free.
29591         * build-aux/useless-if-before-free: Update regexps.
29592
29593         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
29594
29595 2008-03-11  Bruno Haible  <bruno@clisp.org>
29596
29597         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
29598         by a single package.
29599         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
29600         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
29601         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
29602         Reported by Sam Steingold <sds@gnu.org>.
29603
29604 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
29605
29606         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
29607         repositories.
29608
29609 2008-03-11  Bruno Haible  <bruno@clisp.org>
29610
29611         Avoid conflicts between local macro definitions.
29612         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29613         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
29614
29615 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
29616             Bruno Haible  <bruno@clisp.org>
29617
29618         Make va_copy work with some version of xlc on AIX 5.1.
29619         * lib/stdarg.in.h: New file.
29620         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
29621         On AIX, use a <stdarg.h> file substitute.
29622         * modules/stdarg (Files): Add lib/stdarg.in.h.
29623         (Depends-on): Add include_next.
29624         (Makefile.am): Build a stdarg.h substitute if requested.
29625         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
29626
29627 2008-03-10  Bruno Haible  <bruno@clisp.org>
29628
29629         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
29630         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29631         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
29632
29633 2008-03-10  Bruno Haible  <bruno@clisp.org>
29634
29635         * modules/stdlib (Depends-on): Add include_next, remove
29636         absolute-header.
29637
29638 2008-03-09  Bruno Haible  <bruno@clisp.org>
29639
29640         * lib/freadahead.h (freadahead): Document more precisely.
29641         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
29642         the sum of both buffer sizes.
29643         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
29644         * NEWS: Document the change.
29645
29646 2008-03-09  Bruno Haible  <bruno@clisp.org>
29647
29648         Extend freadptr to return also the buffer size.
29649         * lib/freadptr.h (freadptr): Add sizep argument.
29650         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
29651         (freadptr): Add sizep argument. Determine buffer size like freadahead
29652         does.
29653         * tests/test-freadptr.c: Don't include freadahead.h.
29654         (main): Adapt for new calling convention of freadptr.
29655         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
29656         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
29657         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
29658         tests/test-freadptr2.sh.
29659         (Depends): Remove freadahead.
29660         (TESTS): Add test-freadptr2.sh.
29661         (check_PROGRAMS): Add test-freadptr2.
29662
29663 2008-03-09  Bruno Haible  <bruno@clisp.org>
29664
29665         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
29666         Report and solution by Simon Josefsson.
29667
29668 2008-03-06  Bruno Haible  <bruno@clisp.org>
29669
29670         Make fflush after ungetc work on BSD platforms.
29671         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
29672         * tests/test-fflush2.c: New file.
29673         * tests/test-fflush2.sh: New file.
29674         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
29675         tests/test-fflush2.c.
29676         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
29677         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
29678
29679 2008-03-06  Eric Blake  <ebb9@byu.net>
29680
29681         Likewise for ftello.
29682         * modules/ftello (Dependencies): Add extensions.
29683         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
29684
29685 2008-03-06  Bruno Haible  <bruno@clisp.org>
29686
29687         * modules/fseeko (Dependencies): Add extensions.
29688         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
29689         Needed on glibc systems.
29690
29691 2008-03-06  Bruno Haible  <bruno@clisp.org>
29692
29693         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
29694         email address.
29695         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29696
29697 2008-03-06  Bruno Haible  <bruno@clisp.org>
29698
29699         * users.txt: Add libgnupdf.
29700
29701 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29702
29703         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
29704         (Header File Substitutes, Function Substitutes,
29705         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
29706         (Build robot for gnulib): Fix typo.
29707
29708 2008-03-06  Bruno Haible  <bruno@clisp.org>
29709
29710         * doc/gnulib-tool.texi (VCS Issues): Small updates.
29711         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29712
29713 2008-03-06  Bruno Haible  <bruno@clisp.org>
29714
29715         * doc/func.texi: New file, extracted from doc/gnulib.texi.
29716         * doc/gnulib.texi: Include it.
29717
29718 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29719
29720         * modules/func (License): Change license to unlimited; there was
29721         no LGPL parts in the module anyway.
29722
29723 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29724
29725         * modules/__func__: Renamed to modules/func.
29726         * modules/__func__-tests: Renamed to modules/func-tests.
29727         * tests/test-__func__.c: Renamed to tests/test-func.c.
29728         * m4/__func__.m4: Renamed to m4/func.m4.
29729         * doc/gnulib.texi (__func__): Section renamed to func.
29730         Suggested by Eric Blake <ebb9@byu.net>.
29731
29732 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29733
29734         * doc/gnulib.texi (__func__): Use C99 terminology when talking
29735         about __func__.  Make example self-contained.  Suggested by Eric
29736         Blake <ebb9@byu.net>.
29737
29738         * tests/test-__func__.c (main): Avoid extraneous () around __func.
29739         Suggested by Eric Blake <ebb9@byu.net>.
29740
29741 2008-03-06  Simon Josefsson  <simon@josefsson.org>
29742
29743         * modules/__func__: New file.
29744         * modules/__func__-tests: New file.
29745         * tests/test-__func__.c: New file.
29746         * m4/__func__.m4: New file.
29747         * doc/gnulib.texi (__func__): Document __func__ module.
29748
29749 2008-03-05  Simon Josefsson  <simon@josefsson.org>
29750
29751         * modules/byteswap (License): Re-license as LGPLv2+.
29752
29753 2008-03-05  Simon Josefsson  <simon@josefsson.org>
29754
29755         * doc/Makefile: Add pdf target.
29756
29757 2008-03-05  Simon Josefsson  <simon@josefsson.org>
29758
29759         * modules/inline (License): Use 'unlimited', since there are only
29760         *.m4 files in this module.
29761
29762 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
29763             Bruno Haible  <bruno@clisp.org>
29764
29765         Add support for HP C 7.1 on OpenVMS 8.3.
29766         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
29767
29768 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
29769
29770         Update VMS specifics.
29771         * lib/getopt.c [VMS]: Remove include of unixlib.h.
29772
29773 2008-03-02  Jim Meyering  <meyering@redhat.com>
29774
29775         Remove the last dependency on the "free" module.
29776         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
29777         Reported by Bob Proulx.
29778
29779         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
29780
29781         Remove useless "if" tests before free.  Deprecate "free" module.
29782         * doc/posix-functions/free.texi: Mention that this
29783         module is no longer useful.
29784         * modules/free (Notice): Say this module is obsolete.
29785         * modules/readutmp (Depends-on): Remove free.
29786         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
29787         * lib/putenv.c (putenv): Likewise.
29788         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
29789         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
29790         * tests/test-c-strcasestr.c (main): Likewise.
29791         * tests/test-c-strstr.c (main): Likewise.
29792         * tests/test-mbscasestr1.c (main): Likewise.
29793         * tests/test-mbscasestr2.c (main): Likewise.
29794         * tests/test-mbsstr1.c (main): Likewise.
29795         * tests/test-mbsstr2.c (main): Likewise.
29796         * tests/test-memmem.c (main): Likewise.
29797         * tests/test-strcasestr.c (main): Likewise.
29798         * tests/test-striconv.c (main): Likewise.
29799         * tests/test-striconveh.c (main): Likewise.
29800         * tests/test-striconveha.c (main): Likewise.
29801         * tests/test-strstr.c (main): Likewise.
29802
29803         * build-aux/git-version-gen: Adjust a comment and the Usage string.
29804
29805         bootstrap: sync from coreutils again
29806         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
29807
29808 2008-03-01  Jim Meyering  <meyering@redhat.com>
29809
29810         bootstrap: sync from coreutils
29811         * build-aux/bootstrap (update_po_files): Copy a .po file into place
29812         also when the target doesn't exist.
29813
29814 2008-03-01  Eric Blake  <ebb9@byu.net>
29815
29816         Fix bugs in last patch.
29817         * lib/memchr2.c (memchr2): Fix typo.
29818         * tests/test-memchr2.c: Test previous bug, and don't use GNU
29819         extension.
29820         Reported by Bruce Korb.
29821
29822         New module 'memchr2'.
29823         * modules/memchr2: New file.
29824         * modules/memchr2-tests: Likewise.
29825         * lib/memchr2.h: Likewise.
29826         * lib/memchr2.c: Likewise, based on memchr.c.
29827         * tests/test-memchr2.c: New test.
29828         * MODULES.html.sh (String handling): Add memchr2.
29829
29830 2008-02-29  Bruno Haible  <bruno@clisp.org>
29831
29832         * modules/freadseek-tests: New file.
29833         * tests/test-freadseek.sh: New file.
29834         * tests/test-freadseek.c: New file.
29835
29836         New module 'freadseek'.
29837         * modules/freadseek: New file.
29838         * lib/freadseek.h: New file.
29839         * lib/freadseek.c: New file.
29840         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
29841
29842 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
29843
29844         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
29845         wydawca.
29846
29847         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
29848         program_invocation_name and program_invocation_short_name are
29849         present.
29850
29851 2008-02-28  Bruno Haible  <bruno@clisp.org>
29852
29853         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
29854         * tests/test-freadptr.sh: Also test non-seekable stdin.
29855
29856 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
29857
29858         * build-aux/bootstrap (source_base, m4_base)
29859         (doc_base, tests_base): New variables.
29860         (gnulib_tool_options): Do not hardcode base directories, use
29861         the above variables instead.
29862
29863 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
29864
29865         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
29866
29867 2008-02-28  Bruno Haible  <bruno@clisp.org>
29868
29869         * modules/freadptr-tests: New file.
29870         * tests/test-freadptr.sh: New file.
29871         * tests/test-freadptr.c: New file.
29872
29873         New module 'freadptr'.
29874         * modules/freadptr: New file.
29875         * lib/freadptr.h: New file.
29876         * lib/freadptr.c: New file.
29877         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
29878
29879 2008-02-26  Karl Berry  <karl@freefriends.org>
29880
29881         Sync from Libtool:
29882         * libltdl/argz.c (argz_add, argz_count): New functions.
29883         * libltdl/argz.in.h: Declare them.
29884         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
29885
29886 2008-02-22  Bruno Haible  <bruno@clisp.org>
29887
29888         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
29889         is a pointer type.  Needed for HP-UX 10.
29890         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
29891         * doc/posix-functions/gmtime_r.texi: Likewise.
29892         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
29893
29894 2008-02-24  Bruno Haible  <bruno@clisp.org>
29895
29896         * modules/environ-tests: New file.
29897         * tests/test-environ.c: New file.
29898
29899         New module 'environ'.
29900         * modules/environ: New file.
29901         * lib/unistd.in.h (environ): New declaration.
29902         * m4/environ.m4: New file.
29903         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
29904         after use.
29905         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
29906         HAVE_DECL_ENVIRON.
29907         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
29908         HAVE_DECL_ENVIRON.
29909         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
29910         wrong claim that 'environ' is missing on some systems.
29911         * modules/execute (Depends-on): Add environ.
29912         * lib/execute.c (environ): Remove fallback declaration.
29913         * modules/pipe (Depends-on): Add environ.
29914         * lib/pipe.c (environ): Remove fallback declaration.
29915         * modules/setenv (Depends-on): Add environ.
29916         * lib/setenv.c (environ): Remove fallback declaration.
29917         * modules/unsetenv (Depends-on): Add environ.
29918         * lib/unsetenv.c (environ): Remove fallback declaration.
29919         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
29920         m4/environ.m4.
29921         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
29922         (gl_PREREQ_UNSETENV): Likewise.
29923
29924 2008-02-24  Bruno Haible  <bruno@clisp.org>
29925
29926         * doc/posix-functions/environ.texi: Document the MacOS X problem.
29927
29928 2008-02-20  Bob Proulx  <bob@proulx.com>
29929
29930         Enable use of older two part flavor 'git describe'.
29931         * build-aux/git-version-gen: If using the older two part flavor of
29932         git version then recreate the third part now present in the
29933         newer three part flavor of git describe.
29934
29935 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
29936
29937         * lib/fts.c (fts_build): Typo correction to comment.
29938
29939 2008-02-17  Bruno Haible  <bruno@clisp.org>
29940
29941         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
29942         generating no-op conflicts.
29943
29944 2008-02-17  Bruno Haible  <bruno@clisp.org>
29945
29946         Speed up by 10%.
29947         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
29948         result_entries, rather than an index-based loop.
29949
29950 2008-02-17  Bruno Haible  <bruno@clisp.org>
29951
29952         Speed up by 25%.
29953         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
29954         'hashcode_cached'.
29955         (entry_create): New function.
29956         (entry_hashcode): Use the cached hashcode if possible.
29957         (read_changelog_file, try_split_merged_entry): Use entry_create.
29958
29959 2008-02-17  Bruno Haible  <bruno@clisp.org>
29960
29961         Speed up from O(n^2) to O(n) for long ChangeLog files.
29962         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
29963         (read_changelog_file): Change implementation of entries_reversed list
29964         to rbtreehash.
29965         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
29966
29967 2008-02-17  Bruno Haible  <bruno@clisp.org>
29968
29969         New option --split-merged-entry.
29970         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
29971         (find_paragraph_end, try_split_merged_entry): New functions.
29972         (long_options): Add option --split-merged-entry.
29973         (usage): Document option --split-merged-entry.
29974         (main): Implement option --split-merged-entry.
29975         Reported by Eric Blake.
29976
29977 2008-02-17  Bruno Haible  <bruno@clisp.org>
29978
29979         * lib/git-merge-changelog.c: Include c-strstr.h.
29980         (main): Support the "git pull --rebase" situation.
29981         * modules/git-merge-changelog (Depends-on): Add c-strstr.
29982         Reported by Eric Blake.
29983
29984 2008-02-16  Eric Blake  <ebb9@byu.net>
29985
29986         Avoid doubling \ in common case of "c-maybe" quoting style.
29987         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
29988         eliding outer quotes.
29989         * lib/quotearg.h: Document this.
29990         * tests/test-quotearg.c (result_strings, inputs, results_g)
29991         (flag_results, locale_results): Test it by adding a new string to
29992         each test group.
29993         (compare_strings): Test new string.
29994
29995 2008-02-13  Eric Blake  <ebb9@byu.net>
29996
29997         Avoid trigraph quoting in default output.
29998         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
29999         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
30000         unless explicitly requested.
30001         * tests/test-quotearg.c (flag_results, main): Add additional tests.
30002
30003 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
30004
30005         Don't rely on signed integer overflowing to negative value.
30006         * lib/getugroups.c (getugroups): Include <limits.h>.
30007         Instead, compare against INT_MAX, and increment only if the test passes.
30008
30009 2008-02-13  Jim Meyering  <meyering@redhat.com>
30010         and Eric Blake  <ebb9@byu.net>
30011
30012         Avoid shadowing warning and compile errors on Linux.
30013         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
30014         forwarding macros on Linux.
30015         (dcgettext): Define a stub, for Linux.
30016         (results_g, main): Avoid warnings.
30017
30018 2008-02-12  Eric Blake  <ebb9@byu.net>
30019
30020         Silence warning in last patch.
30021         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
30022
30023         Quotearg part 4: add tests, fix c-maybe colon quoting.
30024         * lib/quotearg.h: Improve documentation.
30025         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
30026         escapes when adding outer quotes.  When quoting trigraphs, use
30027         valid C notation.  When quoting NUL, omit extra characters if next
30028         character is not digit.  Alter prototype.
30029         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
30030         callers.
30031         * modules/quotearg-tests: New module.
30032         * tests/test-quotearg.c: New test.
30033
30034 2008-02-07  Eric Blake  <ebb9@byu.net>
30035
30036         Quotearg part 3: add flag to control outer quote elision.
30037         * lib/quotearg.h (c_maybe_quoting_style): New style.
30038         (enum quoting_flags): Better documentation of flags.
30039         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
30040         c-maybe style.
30041         (quotearg_buffer_restyled): Handle new flag to elide outer
30042         quotes.
30043
30044         Quotearg part 2: add flag that can control NUL elision.
30045         * lib/quotearg.h (set_quoting_flags): New prototype.
30046         * lib/quotearg.c (struct quoting_options): Add flag field.
30047         (set_quoting_flags): New function.
30048         (quotearg_buffer_restyled): Add flags parameter.
30049         (quotearg_alloc_mem): Set the flag if length cannot be returned.
30050         (quotearg_n_options): Set the flag, since length cannot be
30051         returned.
30052         (quoting_options_from_style): Default flags correctly.
30053
30054         Quotearg part 1: more wrappers, restore quotearg_char state.
30055         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
30056         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
30057         (quotearg_colon_mem): New wrappers.
30058         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
30059         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
30060         functions.
30061         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
30062         (quotearg_colon_mem): New functions.
30063
30064 2008-02-11  Bruno Haible  <bruno@clisp.org>
30065
30066         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
30067         library in the current directory: it does not work with parallel make.
30068         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30069
30070 2008-02-11  Bruno Haible  <bruno@clisp.org>
30071
30072         * .gitattributes: New file.
30073
30074 2008-02-11  Jim Meyering  <meyering@redhat.com>
30075
30076         useless-if-before-free: Fix reversed exit values.
30077         * build-aux/useless-if-before-free: Use correct values
30078         for EXIT_MATCH and EXIT_NO_MATCH.
30079
30080         * build-aux/useless-if-before-free: Close stdout carefully.
30081
30082 2008-02-10  Bruno Haible  <bruno@clisp.org>
30083
30084         New module 'git-merge-changelog'.
30085         * modules/git-merge-changelog: New file.
30086         * lib/git-merge-changelog.c: New file.
30087
30088 2008-02-10  Jim Meyering  <meyering@redhat.com>
30089
30090         useless-if-before-free: New option: --list (-l).
30091
30092         useless-if-before-free: Don't exit immediately upon open failure.
30093         * build-aux/useless-if-before-free: Exit 2 for errors.
30094         Upon failure to open a file, don't exit immediately.
30095         Rather, just warn and continue with any remaining files.
30096
30097 2008-02-10  Bruno Haible  <bruno@clisp.org>
30098
30099         New abstract list operation 'node_set_value'.
30100         * lib/gl_list.h (gl_list_node_set_value): New function.
30101         (struct gl_list_implementation): New field node_set_value.
30102         * lib/gl_list.c (gl_list_node_set_value): New function.
30103         * lib/gl_array_list.c (gl_array_node_set_value): New function.
30104         (gl_array_list_implementation): Update.
30105         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
30106         (gl_carray_list_implementation): Update.
30107         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
30108         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
30109         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
30110         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
30111         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
30112         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
30113         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
30114         Update.
30115         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
30116         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
30117         (gl_sublist_list_implementation): Update.
30118
30119 2008-02-10  Bruno Haible  <bruno@clisp.org>
30120
30121         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
30122         Needed when ELEMENT is #defined to 'some_type *'.
30123
30124 2008-02-10  Jim Meyering  <meyering@redhat.com>
30125
30126         New script and module: useless-if-before-free
30127         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
30128         * build-aux/useless-if-before-free: New file.
30129         * modules/useless-if-before-free: New file.
30130
30131         * build-aux/gitlog-to-changelog: Use committer date, not author date.
30132
30133         xstrtol_error: Fix typo.
30134         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
30135         s/exit_failure/exit_status/.
30136
30137 2008-02-09  Jim Meyering  <meyering@redhat.com>
30138
30139         New script and module: gitlog-to-changelog
30140         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
30141         * modules/gitlog-to-changelog: New file.
30142         * build-aux/gitlog-to-changelog: New file.
30143
30144 2008-02-08  Jim Meyering  <meyering@redhat.com>
30145
30146         Avoid two "parameter unused" warnings.
30147         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
30148         Mark "st" as used.
30149
30150         Use "git COMMAND", not "git-COMMAND".
30151         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
30152         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
30153         * build-aux/git-version-gen: Use "git status", not "git-status".
30154
30155 2008-02-07  Bruno Haible  <bruno@clisp.org>
30156
30157         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
30158         Avoids a crash on Windows Vista.
30159         Reported by Adam Strzelecki <ono@java.pl> via
30160         Simon Josefsson <simon@josefsson.org>.
30161
30162 2008-02-06  Bruno Haible  <bruno@clisp.org>
30163
30164         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
30165         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
30166         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
30167         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
30168         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30169         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30170         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
30171         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
30172         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30173         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30174         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30175         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30176         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30177         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30178         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30179         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
30180         left-adjust flag.
30181         * tests/test-snprintf-posix.h (test_function): Likewise.
30182         * tests/test-sprintf-posix.h (test_function): Likewise.
30183         * tests/test-vasprintf-posix.c (test_function): Likewise.
30184         * doc/posix-functions/fprintf.texi: Update.
30185         * doc/posix-functions/printf.texi: Update.
30186         * doc/posix-functions/snprintf.texi: Update.
30187         * doc/posix-functions/sprintf.texi: Update.
30188         * doc/posix-functions/vfprintf.texi: Update.
30189         * doc/posix-functions/vprintf.texi: Update.
30190         * doc/posix-functions/vsnprintf.texi: Update.
30191         * doc/posix-functions/vsprintf.texi: Update.
30192         Reported by Peter Fales <psfales@alcatel-lucent.com>.
30193
30194 2008-02-06  Bruno Haible  <bruno@clisp.org>
30195
30196         Fix bug introduced on 2008-01-26.
30197         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
30198
30199 2008-02-06  Bruno Haible  <bruno@clisp.org>
30200
30201         Fix bug introduced on 2007-06-10.
30202         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
30203         !NEED_PRINTF_FLAG_ZERO.
30204
30205 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
30206
30207         getloadavg: use libperfstat on AIX5
30208         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
30209
30210 2008-02-03  Bruno Haible  <bruno@clisp.org>
30211
30212         * lib/diffseq.h: Add comments about required #includes.
30213         Reported by Michael Biggs <gnulib@doubleplum.net>.
30214
30215 2008-02-01  Bruno Haible  <bruno@clisp.org>
30216
30217         * users.txt: Add gnuit.
30218
30219 2008-01-31  Bruno Haible  <bruno@clisp.org>
30220
30221         * lib/md4.c (set_uint32): Mark as inline.
30222         * lib/md5.c (set_uint32): Likewise.
30223         * lib/sha1.c (set_uint32): Likewise.
30224         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
30225         * m4/md5.m4 (gl_MD5): Likewise.
30226         * m4/sha1.m4 (gl_SHA1): Likewise.
30227
30228 2008-01-31  Jim Meyering  <meyering@redhat.com>
30229
30230         Use "sizeof VAR", rather than a literal "4".
30231         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
30232         * lib/md4.c (md4_read_ctx): Likewise.
30233         * lib/sha1.c (sha1_read_ctx): Likewise.
30234
30235 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30236
30237         * tests/test-sha1.c: New file, based on test-md5.c.
30238
30239         * modules/crypto/sha1-tests: New file.
30240
30241 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30242
30243         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
30244
30245 2008-01-31  Jim Meyering  <meyering@redhat.com>
30246
30247         Prefer "sizeof v" over the equivalent "4".
30248         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
30249         * lib/md5.c (set_uint32): Likewise.
30250         * lib/sha1.c (set_uint32): Likewise.
30251
30252 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30253
30254         * lib/sha1.c (set_uint32): Mark function as static.
30255
30256 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30257
30258         md2: clarify comments to say that alignment is not required.
30259         * lib/md2.h: Remove warning about alignment in comment.
30260         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
30261         never been required.
30262
30263 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30264
30265         md4: adapt alignment constraint fix from sha1.
30266         * lib/md4.c (set_uint32): New function, from sha1.c
30267         (md4_read_ctx): Use it.
30268         (md4_finish_ctx): Doc fix.
30269         * lib/md4.h: Doc fix.
30270
30271 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30272
30273         md5: adapt alignment constraint fix from sha1.
30274         * lib/md5.c (set_uint32): New function, from sha1.c
30275         (md5_read_ctx): Use it.
30276         (md5_finish_ctx): Doc fix.
30277         * lib/md5.h: Doc fix.
30278
30279 2008-01-30  Peter Palfrader  <weasel@debian.org>
30280
30281         sha1: remove the result buffer alignment constraint
30282         * lib/sha1.c (set_uint32): New function.
30283         (sha1_read_ctx): Rewrite to remove the result buffer alignment
30284         constraint.
30285         (sha1_finish_ctx): Remove comment warning about alignment constraint.
30286         * lib/sha1.h: Likewise.
30287
30288 2008-01-30  Andreas Schwab  <schwab@suse.de>
30289             Bruno Haible  <bruno@clisp.org>
30290
30291         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
30292         correct definition of LDBL_MIN_EXP.
30293
30294 2008-01-30  Karl Berry  <karl@gnu.org>
30295
30296         * config/srclist-update: try to preserve x bit on updates.
30297         * config/srclistvars.sh: update for karl.
30298
30299 2008-01-29  Jim Meyering  <meyering@redhat.com>
30300
30301         vasnprintf.c: Avoid warning about unused label
30302         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
30303         "overflow" label definition and associated code with the
30304         same cpp condition that guards the sole use of that label.
30305
30306 2008-01-26  Bruno Haible  <bruno@clisp.org>
30307
30308         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
30309         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
30310         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
30311         * lib/isnanl-nolibm.h (isnanl): Likewise.
30312         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30313
30314 2008-01-26  Bruno Haible  <bruno@clisp.org>
30315
30316         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
30317         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
30318
30319 2008-01-26  Bruno Haible  <bruno@clisp.org>
30320
30321         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
30322         GCC >= 4.0 built-in.
30323         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
30324
30325 2008-01-26  Bruno Haible  <bruno@clisp.org>
30326
30327         Rename isnan, applicable to 'double' only, to isnand.
30328         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
30329         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
30330         (configure.ac): Update.
30331         (Include): Replace "isnan.h" with "isnand.h".
30332         * m4/isnand.m4: Renamed from m4/isnan.m4.
30333         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
30334         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
30335         instead of isnan.c.
30336         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
30337         instead of HAVE_ISNAN_IN_LIBC.
30338         (isnand): Renamed from isnan.
30339         * lib/isnand.c: New file.
30340         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
30341         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
30342         (Makefile.am): Update.
30343         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
30344         Include isnand.h instead of isnan.h.
30345         (main): Test isnand instead of isnan.
30346         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
30347         isnan-nolibm.
30348         * modules/frexp (Depends-on): Likewise.
30349         * modules/frexp-tests (Depends-on): Likewise.
30350         * modules/frexp-nolibm (Depends-on): Likewise.
30351         * modules/frexp-nolibm-tests (Depends-on): Likewise.
30352         * modules/isfinite (Depends-on): Likewise.
30353         * modules/round-tests (Depends-on): Likewise.
30354         * modules/signbit (Depends-on): Likewise.
30355         * modules/signbit-tests (Depends-on): Likewise.
30356         * modules/snprintf-posix (Depends-on): Likewise.
30357         * modules/sprintf-posix (Depends-on): Likewise.
30358         * modules/trunc-tests (Depends-on): Likewise.
30359         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30360         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30361         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30362         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30363         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30364         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30365         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30366         * modules/vasnprintf-posix (Depends-on): Likewise.
30367         * modules/vasprintf-posix (Depends-on): Likewise.
30368         * modules/vfprintf-posix (Depends-on): Likewise.
30369         * modules/vsnprintf-posix (Depends-on): Likewise.
30370         * modules/vsprintf-posix (Depends-on): Likewise.
30371         * lib/frexp.c: Include isnand.h instead of isnan.h.
30372         (ISNAN): Set to isnand instead of isnan.
30373         * lib/isfinite.c: Include isnand.h instead of isnan.h.
30374         (gl_isfinited): Use isnand instead of isnan.
30375         * lib/signbitd.c: Include isnand.h instead of isnan.h.
30376         (gl_signbitd): Use isnand instead of isnan.
30377         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
30378         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
30379         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
30380         (main): Use isnand instead of isnan.
30381         * tests/test-round1.c: Include isnand.h.
30382         (main): Use isnand instead of isnan.
30383         * tests/test-round2.c: Include isnand.h instead of isnan.h.
30384         (ISNAN): Set to isnand instead of isnan.
30385         * tests/test-trunc1.c: Include isnand.h.
30386         (main): Use isnand instead of isnan.
30387         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
30388         (equal): Use isnand instead of isnan.
30389         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
30390         isnand-nolibm.
30391         * NEWS: Mention the change.
30392
30393 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
30394             Bruno Haible  <bruno@clisp.org>
30395
30396         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
30397         the GCC builtins for signbits are present and set
30398         REPLACE_SIGNBIT_USING_GCC if so.
30399         * lib/math.in.h (signbit): Define using GCC builtins if
30400         REPLACE_SIGNBIT_USING_GCC is set.
30401         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
30402         REPLACE_SIGNBIT_USING_GCC.
30403         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
30404
30405 2008-01-25  Jim Meyering  <meyering@redhat.com>
30406
30407         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
30408         * lib/poll.c: Include <config.h>, not "config.h".
30409         * tests/test-getaddrinfo.c: Likewise.
30410
30411 2008-01-25  Simon Josefsson  <simon@josefsson.org>
30412
30413         * modules/sockets-tests: New file.
30414
30415 2008-01-24  Simon Josefsson  <simon@josefsson.org>
30416
30417         * modules/sockets: New module, can be used to call WSA_Startup and
30418         WSA_Cleanup when needed.
30419
30420         * lib/sockets.h, lib/sockets.c: New files.
30421
30422         * m4/sockets.m4: New file.
30423
30424         * tests/test-sockets.c: New file.
30425
30426 2008-01-19  Bruno Haible  <bruno@clisp.org>
30427
30428         * doc/posix-headers: Renamed from doc/headers.
30429         * doc/posix-functions: Renamed from doc/functions.
30430         * doc/gnulib.texi: Update.
30431
30432 2008-01-19  Bruno Haible  <bruno@clisp.org>
30433
30434         * doc/glibc-functions/strcasestr.texi: Include contents of
30435         doc/functions/strcasestr.texi, fixing the list of platforms.
30436         * doc/functions/strcasestr.texi: Remove file.
30437
30438 2008-01-19  Bruno Haible  <bruno@clisp.org>
30439
30440         * doc/glibc-functions/memmem.texi: Include contents of
30441         doc/functions/memmem.texi.
30442         * doc/functions/memmem.texi: Remove file.
30443
30444 2008-01-18  Bruno Haible  <bruno@clisp.org>
30445
30446         * doc/glibc-functions/*.texi: New files.
30447         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
30448         to use the new files.
30449
30450 2008-01-17  Bruno Haible  <bruno@clisp.org>
30451
30452         * tests/test-gethostname.c (main): Fix printf statement.
30453
30454 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30455
30456         * modules/gethostname-tests: New file.
30457
30458         * tests/test-gethostname.c: New file.
30459
30460 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30461
30462         * lib/gethostname.c: Include string.h unconditionally, strncpy is
30463         used by the UNAME case.  Reported by Bruno Haible
30464         <bruno@clisp.org>.
30465
30466 2008-01-17  Eric Blake  <ebb9@byu.net>
30467
30468         Convert c-strcasestr to be more efficient.
30469         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
30470         (Depends-on): Add c-strcase, remove malloca, strnlen.
30471         * tests/test-c-strcasestr.c (main): Enhance test.
30472         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
30473
30474 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
30475
30476         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
30477         Use it in creating po/Makevars.
30478
30479 2008-01-15  Simon Josefsson  <simon@josefsson.org>
30480
30481         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
30482         Applications that requires it should initialize libgcrypt
30483         manually.
30484
30485 2008-01-16  Simon Josefsson  <simon@josefsson.org>
30486
30487         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
30488
30489 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
30490
30491         Fix problem with getdate on mingw32 reported by Simon Josefsson
30492         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
30493         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
30494         tzname", when deciding whether to declare tzname.
30495         * lib/strftime.c (tzname): Likewise.
30496
30497 2008-01-15  Bruno Haible  <bruno@clisp.org>
30498
30499         Work around a MacOS X 10.5 bug in frexpl().
30500         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
30501         * doc/functions/frexpl.texi: Document the bug.
30502         Reported by Elias Pipping <pipping@gentoo.org>.
30503
30504 2008-01-14  Eric Blake  <ebb9@byu.net>
30505
30506         Touch up previous patch.
30507         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
30508         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
30509
30510         Convert strcasestr module to use Two-Way algorithm.
30511         * modules/strcasestr-simple: New module, based on the old
30512         strcasestr, but with Two-Way rather than KMP.
30513         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
30514         * lib/string.in.h (rpl_strcasestr): Declare.
30515         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
30516         performance.
30517         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
30518         * modules/string (Makefile.am): Support strcasestr.
30519         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
30520         * modules/strcasestr-tests (Depends-on): Check for alarm.
30521         * tests/test-strcasestr.c: Augment test.
30522         * lib/str-two-way.h: Clean up stray macro.
30523         * NEWS: Document new module.
30524         * MODULES.html.sh (string handling): Likewise.
30525         * doc/functions/strcasestr.texi: New file.
30526         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
30527         here, since it is not a POSIX function.
30528
30529 2008-01-14  Colin Watson  <cjwatson@debian.org>
30530             Bruno Haible  <bruno@clisp.org>
30531
30532         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
30533         works fine; if not, set REPLACE_STRSIGNAL.
30534         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
30535         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30536         REPLACE_STRSIGNAL.
30537         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
30538         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
30539         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
30540
30541 2008-01-14  Bruno Haible  <bruno@clisp.org>
30542
30543         * modules/strsignal (Include): Change to <string.h>.
30544
30545 2008-01-14  Colin Watson  <cjwatson@debian.org>
30546
30547         * modules/argp (Notice): Add a notice recommending to change
30548         XGETTEXT_OPTIONS.
30549         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
30550
30551 2008-01-13  Colin Watson  <cjwatson@debian.org>
30552
30553         * modules/strsignal-tests: New file.
30554         * tests/test-strsignal.c: New file.
30555
30556         * lib/strsignal.c: New file, from glibc with modifications.
30557         * lib/siglist.h: New file, from glibc with modifications.
30558         * lib/string.in.h (strsignal): New declaration.
30559         * m4/strsignal.m4: New file.
30560         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30561         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
30562         * modules/strsignal: New file.
30563         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
30564         HAVE_DECL_STRSIGNAL.
30565
30566 2008-01-13  Bruno Haible  <bruno@clisp.org>
30567
30568         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
30569         locale encoding is not ASCII. Needed for OpenBSD 4.0.
30570         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
30571         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30572
30573 2008-01-13  Bruno Haible  <bruno@clisp.org>
30574
30575         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
30576         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
30577         * lib/argp.h (__attribute__): Likewise.
30578         * lib/c-stack.c (__attribute__): Likewise.
30579         * lib/error.h (__attribute__): Likewise.
30580         * lib/fts.c (__attribute__): Likewise.
30581         * lib/openat.h (__attribute__): Likewise.
30582         * lib/stdio.in.h (__attribute__): Likewise.
30583         * lib/string.in.h (__attribute__): Likewise.
30584         * lib/utimens.c (__attribute__): Likewise.
30585         * lib/vasnprintf.h (__attribute__): Likewise.
30586         * lib/xalloc.h (__attribute__): Likewise.
30587         * lib/xprintf.h (__attribute__): Likewise.
30588         * lib/xstrtol.h (__attribute__): Likewise.
30589         * lib/xvasprintf.h (__attribute__): Likewise.
30590
30591 2008-01-12  Bruno Haible  <bruno@clisp.org>
30592
30593         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
30594         * doc/glibc-headers/a.out.texi: New file.
30595         * doc/glibc-headers/aliases.texi: New file.
30596         * doc/glibc-headers/alloca.texi: New file.
30597         * doc/glibc-headers/ar.texi: New file.
30598         * doc/glibc-headers/argp.texi: New file.
30599         * doc/glibc-headers/argz.texi: New file.
30600         * doc/glibc-headers/byteswap.texi: New file.
30601         * doc/glibc-headers/crypt.texi: New file.
30602         * doc/glibc-headers/endian.texi: New file.
30603         * doc/glibc-headers/envz.texi: New file.
30604         * doc/glibc-headers/err.texi: New file.
30605         * doc/glibc-headers/error.texi: New file.
30606         * doc/glibc-headers/execinfo.texi: New file.
30607         * doc/glibc-headers/fpu_control.texi: New file.
30608         * doc/glibc-headers/fstab.texi: New file.
30609         * doc/glibc-headers/fts.texi: New file.
30610         * doc/glibc-headers/getopt.texi: New file.
30611         * doc/glibc-headers/ieee754.texi: New file.
30612         * doc/glibc-headers/ifaddrs.texi: New file.
30613         * doc/glibc-headers/libintl.texi: New file.
30614         * doc/glibc-headers/mcheck.texi: New file.
30615         * doc/glibc-headers/mntent.texi: New file.
30616         * doc/glibc-headers/obstack.texi: New file.
30617         * doc/glibc-headers/paths.texi: New file.
30618         * doc/glibc-headers/printf.texi: New file.
30619         * doc/glibc-headers/pty.texi: New file.
30620         * doc/glibc-headers/resolv.texi: New file.
30621         * doc/glibc-headers/shadow.texi: New file.
30622         * doc/glibc-headers/sysexits.texi: New file.
30623         * doc/glibc-headers/ttyent.texi: New file.
30624
30625 2008-01-12  Jim Meyering  <meyering@redhat.com>
30626
30627         announce-gen: emit Gnulib's git-based version string.
30628         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
30629         New option --gnulib-version=V, where V is expected to be
30630         the output of running git describe in the gnulib directory.
30631         (get_tool_versions): Request feedback on xdelta.  I suspect it's
30632         not useful, and plan to stop publishing an xdelta file with each
30633         coreutils release.
30634
30635         * build-aux/announce-gen: Also check for lzma-compressed files.
30636
30637 2008-01-11  Bruno Haible  <bruno@clisp.org>
30638
30639         * tests/test-memmem.c (main): Increase maximum allowed time.
30640         * tests/test-strstr.c (main): Likewise.
30641
30642 2008-01-11  Bruno Haible  <bruno@clisp.org>
30643
30644         * doc/functions/memmem.texi: Add more precisions about platforms.
30645         * doc/functions/strstr.texi: Likewise.
30646
30647 2008-01-10  Eric Blake  <ebb9@byu.net>
30648
30649         * m4/strstr.m4: Delete cruft from copy-n-paste.
30650         Reported by Bruno Haible.
30651
30652 2008-01-10  Bruno Haible  <bruno@clisp.org>
30653
30654         Make c-strstr rely on strstr.
30655         * lib/c-strstr.c: Don't include str-kmp.h.
30656         (c_strstr): Define in terms of strstr.
30657         * modules/c-strstr (Files): Remove lib/str-kmp.h.
30658         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
30659
30660 2008-01-10  Bruno Haible  <bruno@clisp.org>
30661
30662         * doc/gnulib.texi (String Functions in C Locale): New section.
30663         * doc/c-ctype.texi: New file.
30664         * doc/c-strcase.texi: New file.
30665         * doc/c-strcaseeq.texi: New file.
30666         * doc/c-strcasestr.texi: New file.
30667         * doc/c-strstr.texi: New file.
30668         * doc/c-strtod.texi: New file.
30669         * doc/c-strtold.texi: New file.
30670
30671 2008-01-10  Eric Blake  <ebb9@byu.net>
30672
30673         * lib/relocatable.h: Fix a comment.
30674
30675 2008-01-10  Eric Blake  <ebb9@byu.net>
30676
30677         Share two-way algorithm.
30678         * lib/str-two-way.h: New file, merged from...
30679         * lib/memmem.c: ...here...
30680         * lib/strstr.c: ...and here.
30681         * modules/memmem (Files): Use it.
30682         * modules/strstr (Files): Likewise.
30683
30684         Avoid quadratic strstr implementations.
30685         * lib/strstr.c: New file.
30686         * m4/strstr.m4: Likewise.
30687         * modules/strstr: Likewise.
30688         * modules/strstr-tests: Likewise.
30689         * tests/test-strstr.c: Likewise.
30690         * lib/string.in.h (rpl_strstr): Declare.
30691         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
30692         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
30693         * modules/string (Makefile.am): Likewise.
30694         * MODULES.html.sh (string handling): Mention new module.
30695         * doc/functions/strstr.texi (strstr): Document the bug.
30696
30697 2008-01-10  Bruno Haible  <bruno@clisp.org>
30698
30699         * lib/relocatable.h (relocate): State whether result is freshly
30700         allocated or not.
30701         * lib/relocatable.c (relocate): Return a freshly allocated string
30702         instead of a pointer to a privately held string.
30703         Reported by Sylvain Beucler <beuc@gnu.org>.
30704
30705 2008-01-10  Colin Watson  <cjwatson@debian.org>
30706
30707         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
30708         s/S_ISNLK/S_ISLNK/.
30709
30710 2008-01-09  Bruno Haible  <bruno@clisp.org>
30711
30712         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
30713         and other files.
30714         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
30715         if it's only a guess.
30716         * modules/memmem: Simplify by depending on memmem-simple.
30717
30718 2008-01-09  Bruno Haible  <bruno@clisp.org>
30719
30720         Work around OpenBSD 4.0 tdelete() bug.
30721         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
30722         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
30723         macros and don't redefine the enum values.
30724         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
30725         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
30726         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
30727
30728 2008-01-09  Bruno Haible  <bruno@clisp.org>
30729
30730         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
30731         (main): Don't perform the tests if setlocale did not install a UTF-8
30732         locale. Needed on OpenBSD 4.0.
30733         * modules/wcwidth-tests (Depends-on): Add localcharset.
30734
30735 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
30736
30737         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
30738         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
30739         * NEWS: announce this.
30740         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
30741
30742 2008-01-09  Simon Josefsson  <simon@josefsson.org>
30743         and Eric Blake  <ebb9@byu.net>
30744
30745         Add memmem-simple module.
30746         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
30747         (gl_FUNC_MEMMEM): Separate performance from presence checks.
30748         * modules/memmem-simple: New file.
30749         * modules/memmem (Description): Tweak.
30750         * MODULES.html.sh (string handling): Mention new module.
30751         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
30752         addressed by memmem-simple.
30753         * NEWS: Document the difference.
30754
30755 2008-01-09  Eric Blake  <ebb9@byu.net>
30756
30757         Give gcc some memmem optimization hints.
30758         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
30759         (strcasestr): Declare as pure.
30760         * modules/memmem (Maintainer): Claim my implementation.
30761
30762 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30763
30764         Support AIX 6.1 and higher.
30765         * build-aux/config.libpath: Likewise.
30766         * build-aux/config.rpath: Likewise.
30767
30768 2008-01-08  Jim Meyering  <meyering@redhat.com>
30769             Bruno Haible  <bruno@clisp.org>
30770
30771         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
30772         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
30773         Reported by Peter Fales in
30774         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
30775
30776 2008-01-08  Bruno Haible  <bruno@clisp.org>
30777
30778         * modules/unictype/category-of (Depends-on): Add
30779         unictype/category-none.
30780         * modules/unictype/category-and-tests (Depends-on): Add
30781         unictype/category-{L,N,Lu,Nd}.
30782         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
30783         * modules/unictype/category-or-tests (Depends-on): Add
30784         unictype/category-{L,N}.
30785         * modules/unictype/category-name-tests (Depends-on): Add
30786         unictype/category-{Z,Nl}.
30787         Reported by Simon Josefsson.
30788
30789 2008-01-08  Bruno Haible  <bruno@clisp.org>
30790
30791         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
30792         convention better.
30793         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
30794         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
30795         Reported by Peter Miller <millerp@canb.auug.org.au>.
30796
30797 2008-01-08  Eric Blake  <ebb9@byu.net>
30798
30799         Rewrite memmem to guarantee linear complexity without malloc.
30800         * lib/memmem.c (memmem): Use Two-Way rather than
30801         Knuth-Morris-Pratt, to allow O(1) space usage.
30802         (critical_factorization, two_way_short_needle)
30803         (two_way_long_needle): New functions.
30804         (knuth_morris_pratt): Delete.
30805         * modules/memmem (Depends-on): No longer need malloca or stdbool.
30806         Add stdint.
30807         * tests/test-memmem.c (main): Add tests for periodic needle and
30808         sublinear performance.
30809         * doc/functions/memmem.texi (memmem): Document other deficiencies
30810         in cygwin and older glibc.
30811
30812 2008-01-08  Bruno Haible  <bruno@clisp.org>
30813
30814         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
30815         augmentation.
30816
30817 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
30818
30819         Add a configure time option: --disable-acl.
30820         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
30821         AC_ARG_ENABLE(acl).
30822
30823 2008-01-06  Simon Josefsson  <simon@josefsson.org>
30824
30825         * tests/test-localename.c: Don't include obsolete "setenv.h".
30826
30827         * modules/localename-tests (Depends-on): Need unsetenv.
30828
30829 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30830
30831         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
30832
30833 2008-01-06  Colin Watson  <cjwatson@debian.org>
30834
30835         * users.txt: Add man-db.
30836
30837 2008-01-07  Bruno Haible  <bruno@clisp.org>
30838
30839         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
30840         previous section name.
30841
30842 2008-01-07  Bruno Haible  <bruno@clisp.org>
30843
30844         * lib/progname.c (set_program_name): Don't strip off a leading
30845         "lt-" prefix outside a .libs directory.
30846         Suggested by Paul Eggert.
30847
30848 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
30849             Bruno Haible  <bruno@clisp.org>
30850
30851         Improve memory cleanup in 'relocatable' module.
30852         * lib/relocatable.h (compute_curr_prefix): Change return type to
30853         'char *'.
30854         * lib/relocatable.c (compute_curr_prefix): Change return type to
30855         'char *'. Free curr_installdir after use.
30856         (relocate): Free curr_prefix_better after use.
30857         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
30858
30859 2008-01-01  Bruno Haible  <bruno@clisp.org>
30860
30861         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
30862         failure on older glibc systems.
30863         Reported by Peter Fales <psfales@alcatel-lucent.com>.
30864
30865 2008-01-05  Eric Blake  <ebb9@byu.net>
30866
30867         Avoid quadratic system memmem.
30868         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
30869         Reported by Ralf Wildenhues.
30870
30871         Fix memmem test for mingw.
30872         * modules/memmem-tests (configure.ac): Check for alarm.
30873         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
30874         it.
30875         * doc/functions/memmem.texi: New file.
30876         * doc/gnulib.texi (Function Substitutes): Add memmem.
30877         Reported by Bruno Haible.
30878
30879 2008-01-04  Bruno Haible  <bruno@clisp.org>
30880
30881         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
30882         Require gl_HEADER_STRINGS_H_DEFAULTS, not
30883         gl_HEADER_STRING_H_DEFAULTS.
30884
30885 2008-01-04  Eric Blake  <ebb9@byu.net>
30886
30887         Shorten duration of memmem test.
30888         * tests/test-memmem.c (main): Use alarm to declare failure if test
30889         is taking too long.
30890         Reported by Ralf Wildenhues.
30891
30892 2007-12-21  Simon Josefsson  <simon@josefsson.org>
30893
30894         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
30895         string, needed by strerror.
30896
30897 2008-01-03  Colin Watson  <cjwatson@debian.org>
30898             Bruno Haible  <bruno@clisp.org>
30899
30900         * doc/gnulib-tool.texi (Localization): New section.
30901
30902 2008-01-02  Bruno Haible  <bruno@clisp.org>
30903
30904         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
30905         variables to 'unsigned char *' type.
30906         Reported by Paul Eggert.
30907
30908 2008-01-02  Jim Meyering  <jim@meyering.net>
30909
30910         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
30911
30912 2007-12-31  Jim Meyering  <jim@meyering.net>
30913
30914         Avoid use of private FTS type name.
30915         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
30916
30917 2007-12-30  Karl Berry  <karl@gnu.org>
30918
30919         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
30920         work around defect in Texinfo and/or the standalone Info browser.
30921
30922 2007-12-30  Bruno Haible  <bruno@clisp.org>
30923
30924         Unify 5 copies of the KMP code.
30925         * lib/str-kmp.h: New file.
30926         * lib/c-strcasestr.c: Include str-kmp.h.
30927         (knuth_morris_pratt): Remove function.
30928         (c_strcasestr): Update.
30929         * lib/c-strstr.c: Include str-kmp.h.
30930         (knuth_morris_pratt): Remove function.
30931         (c_strcasestr): Update.
30932         * lib/mbscasestr.c: Include str-kmp.h.
30933         (knuth_morris_pratt_unibyte): Remove function.
30934         * lib/mbsstr.c: Include str-kmp.h.
30935         (knuth_morris_pratt_unibyte): Remove function.
30936         * lib/strcasestr.c: Include str-kmp.h.
30937         (knuth_morris_pratt): Remove function.
30938         (strcasestr): Update.
30939         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
30940         * modules/c-strstr (Files): Likewise.
30941         * modules/mbscasestr (Files): Likewise.
30942         * modules/mbsstr (Files): Likewise.
30943         * modules/strcasestr (Files): Likewise.
30944         Suggested by Paul Eggert.
30945
30946 2007-12-30  Bruno Haible  <bruno@clisp.org>
30947
30948         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
30949         defined.
30950
30951 2007-12-30  Bruno Haible  <bruno@clisp.org>
30952
30953         * lib/xmalloca.h: Include xalloc.h.
30954         (xnmalloca): New macro.
30955
30956 2007-12-30  Bruno Haible  <bruno@clisp.org>
30957
30958         * lib/malloca.h (nmalloca): New macro.
30959         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
30960         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
30961         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
30962         knuth_morris_pratt_multibyte): Likewise.
30963         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
30964         knuth_morris_pratt_multibyte): Likewise.
30965         * lib/memmem.c (knuth_morris_pratt): Likewise.
30966         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
30967
30968 2007-12-25  Bruno Haible  <bruno@clisp.org>
30969
30970         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
30971         * lib/glob.c: Don't include openat.h.
30972         (link_exists2_p): Add back the code that deals with the
30973         !GLOB_ALTDIRFUNC case.
30974         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
30975         let it do the filename concatenation.
30976         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
30977         * modules/glob (Depends-on): Remove openat.
30978
30979 2007-12-31  Bruno Haible  <bruno@clisp.org>
30980
30981         * modules/dirfd (License): Change to LGPLv2+.
30982         Approved by Jim Meyering.
30983
30984 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
30985
30986         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
30987         when multiplying M by sizeof (size_t).
30988
30989 2007-12-10  Martin Lambers  <marlam@marlam.de>
30990
30991         Override getpagesize on mingw.
30992         * lib/getpagesize.c: New file.
30993         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
30994         * modules/getpagesize (Files): Add lib/getpagesize.c.
30995         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
30996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30997         REPLACE_GETPAGESIZE.
30998         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
30999
31000 2007-12-25  Bruno Haible  <bruno@clisp.org>
31001
31002         * modules/localcharset (Notice): New field.
31003         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
31004         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
31005
31006 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31007             Bruno Haible  <bruno@clisp.org>
31008
31009         Avoid using the syntax symbol() in formatted documentation.
31010         * MODULES.html.sh (func_module): When replacing symbol() with a
31011         hyperlink, remove the parentheses. Show an error if some remain.
31012         Recognize and render the '...' syntax.
31013         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
31014         Rework. Add paragraph about GCC's inlining.
31015         * doc/alloca.texi: Likewise.
31016         * doc/error.texi: Remove parentheses from symbol reference.
31017         * doc/gnulib-intro.texi: Likewise.
31018         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
31019         * modules/fnmatch (Description): Reword to say "the ... function".
31020         * modules/full-read (Description): Likewise.
31021         * modules/full-write (Description): Likewise.
31022         * modules/safe-read (Description): Likewise.
31023         * modules/safe-write (Description): Likewise.
31024         * modules/strchrnul (Description): Likewise.
31025         * modules/trim (Description): Likewise.
31026         * modules/error (Description): Remove parentheses from symbol
31027         references.
31028         * modules/verror (Description): Likewise.
31029         Reported by Karl Berry.
31030
31031 2007-12-25  Bruno Haible  <bruno@clisp.org>
31032
31033         Fixup after 2007-10-16 commit.
31034         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
31035
31036 2007-12-24  Bruno Haible  <bruno@clisp.org>
31037
31038         Make --enable-relocatable work with DESTDIR.
31039         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
31040         to compute installdir from destprog.
31041         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
31042         also set the RELOC_DESTDIR variable.
31043         Reported by Đ›ĐµĐ²Đ°ÑˆĐµĐ² Đ˜Đ²Đ°Đ½ <octagram@bluebottle.com>.
31044
31045 2007-12-24  Bruno Haible  <bruno@clisp.org>
31046
31047         Fix link error due to xalloc_die().
31048         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
31049         of xreadlink.
31050         * lib/relocwrapper.c: Update comments.
31051         * build-aux/install-reloc: Remove xreadlink.c from file list.
31052         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
31053         xreadlink.c.
31054         Reported by Đ›ĐµĐ²Đ°ÑˆĐµĐ² Đ˜Đ²Đ°Đ½ <octagram@bluebottle.com>.
31055
31056 2007-12-24  Bruno Haible  <bruno@clisp.org>
31057
31058         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
31059         * lib/setenv.h: Remove file.
31060         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
31061         lib/setenv.h.
31062         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
31063         (Depends-on): Add stdlib.
31064         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
31065         gl_FUNC_UNSETENV.
31066         (Include): Replace setenv.h with <stdlib.h>.
31067         * modules/unsetenv: New file.
31068         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
31069         * lib/unsetenv.c: Include <stdlib.h> first.
31070         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
31071         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
31072         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
31073         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
31074         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
31075         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
31077         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31078         * doc/functions/unsetenv.texi: Update.
31079         * modules/xsetenv (Depends-on): Add unsetenv.
31080         * modules/getdate (Depends-on): Likewise.
31081         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
31082         * lib/xsetenv.c: Don't include setenv.h.
31083         * lib/getdate.y: Likewise.
31084         * lib/relocwrapper.c: Likewise.
31085         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
31086         (Depends-on): Add stdlib.
31087         * NEWS: Mention the changes.
31088         Reported by Đ›ĐµĐ²Đ°ÑˆĐµĐ² Đ˜Đ²Đ°Đ½ <octagram@bluebottle.com>.
31089
31090 2007-12-23  Bruno Haible  <bruno@clisp.org>
31091
31092         * lib/memmem.c (memmem): Use lowercase variable names. Tab
31093         indentation.
31094
31095 2007-12-23  Bruno Haible  <bruno@clisp.org>
31096
31097         * lib/c-strcasestr.c: Add more comments.
31098         * lib/c-strstr.c: Likewise.
31099         * lib/mbscasestr.c: Likewise.
31100         * lib/mbsstr.c: Likewise.
31101         * lib/strcasestr.c: Likewise.
31102         * lib/memmem.c: Likewise.
31103
31104 2007-12-23  Bruno Haible  <bruno@clisp.org>
31105
31106         * tests/test-memmem.c: Include <string.h> first.
31107
31108 2007-12-22  Bruno Haible  <bruno@clisp.org>
31109
31110         * gnulib-tool (func_create_testdir): Change $auxdir while generating
31111         the contents of $testsbase.
31112         Reported by Ralf Wildenhues.
31113
31114 2007-12-22  Bruno Haible  <bruno@clisp.org>
31115
31116         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
31117         two variables local_ldadd_before, local_ldadd_last.
31118
31119 2007-12-20  Eric Blake  <ebb9@byu.net>
31120
31121         Work around circular library issue when cross-compiling.
31122         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
31123         that progname.o does not need to pull in rpl_memcmp.
31124
31125 2007-12-19  Eric Blake  <ebb9@byu.net>
31126
31127         Fix memmem to avoid O(n^2) worst-case complexity.
31128         * lib/memmem.c (knuth_morris_pratt): New function.
31129         (memmem): Use it if first few naive iterations fail.
31130         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
31131         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
31132         * modules/memchr (License): Likewise.
31133         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
31134         malloca.
31135         * tests/test-memmem.c: Rewrite, borrowing ideas from
31136         test-mbsstr1.c; the old version wouldn't even compile!
31137         * modules/memmem-tests: New file.
31138         * lib/string.in.h (rpl_memmem): Add declaration.
31139         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
31140         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
31141         REPLACE_MEMMEM.
31142
31143 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
31144
31145         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
31146         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
31147         before any system include files, and undef after them all.  This
31148         should fix a problem on VMS reported by John E. Malmberg in
31149         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
31150
31151 2007-12-17  Eric Blake  <ebb9@byu.net>
31152
31153         Revert addition of verify, for BSD/OS.
31154         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
31155         can't handle large files, for the sake of obsolete platforms.
31156         * modules/fseeko (Depends-on): Remove verify.
31157         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
31158         * doc/functions/ftello.texi (ftello): Likewise.
31159         * doc/functions/fgetpos.texi (fgetpos): Likewise.
31160         Reported by Larry Jones.
31161
31162 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
31163
31164         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
31165         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
31166
31167 2007-12-17  Jim Meyering  <meyering@redhat.com>
31168
31169         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
31170         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
31171         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
31172         * modules/getcwd (Depends-on): Add openat.
31173         Reported by Petr Salinger.
31174
31175 2007-12-17  Bruno Haible  <bruno@clisp.org>
31176
31177         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
31178         avoid a segmentation fault of the configure test on x86_64 systems.
31179
31180 2007-12-15  Jim Meyering  <meyering@redhat.com>
31181
31182         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
31183
31184 2007-12-13  Eric Blake  <ebb9@byu.net>
31185
31186         Another fseek test.
31187         * tests/test-fseek.c (main): Also test ungetc handling.
31188         * tests/test-fseeko.c (main): Likewise.
31189         * modules/fseeko (Depends-on): Add verify.
31190         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
31191         large.
31192         Reported by Larry Jones.
31193
31194         Fix fseeko on mingw.
31195         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
31196         seek.
31197
31198         Beef up fseek tests.
31199         * tests/test-fseek.c (main): Also test eof handling.
31200         * tests/test-fseeko.c (main): Likewise.
31201         Reported by Larry Jones.
31202
31203 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
31204
31205         Fix fseeko on BSD-based platforms.
31206         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
31207         successful seek.
31208
31209 2007-12-12  Eric Blake  <ebb9@byu.net>
31210
31211         Allow circular dependency of separate libtests.a
31212         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
31213         when use_libtests.
31214
31215 2007-12-11  Eric Blake  <ebb9@byu.net>
31216
31217         Fix bug with -0.0L in previous patch.
31218         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
31219         * tests/test-isnan.c (main): Also test on zeroes.
31220         * tests/test-isnanf.c (main): Likewise.
31221         * tests/test-isnanl.h (main): Likewise.
31222
31223         Detect pseudo-denormals on x86 even when cross-compiling.
31224         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
31225         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
31226         invalid bit patterns that happen to satisfy ==.
31227
31228         Avoid link failures with separate libtests.a.
31229         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
31230         last, to satisfy circular dependencies.
31231
31232 2007-12-11  Eric Blake  <ebb9@byu.net>
31233         and Bruno Haible  <bruno@clisp.org>
31234
31235         Fix OpenBSD 4.0 <float.h> handling of long double.
31236         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
31237         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
31238         * doc/headers/float.texi (float.h): Document OpenBSD bug.
31239
31240 2007-12-11  Jim Meyering  <meyering@redhat.com>
31241
31242         * users.txt: Add libvirt.
31243
31244         Support versions of autoconf prior to 2.59c.
31245         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
31246         if it is not already defined.
31247
31248 2007-12-09  Bruno Haible  <bruno@clisp.org>
31249
31250         Let 'gnulib-tool --import' collect sources needed for the tests in
31251         tests/ rather than in lib/.
31252         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
31253         argument. If true, add rules to generate libtests.a, and put libtests.a
31254         into $(LDADD). Consider source files in subdirectories and set
31255         uses_subdirs.
31256         (func_emit_initmacro_start, func_emit_initmacro_end,
31257         func_emit_initmacro_done): Pass all arguments explicitly.
31258         (func_import): Determine two module lists main_modules,
31259         testsrelated_modules. Determine use_libtests. Determine two variables
31260         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
31261         instead of just sed_transform_lib_file. Determine two variables
31262         main_files and testsrelated_files. Compute 'files' as the union of
31263         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
31264         func_add_or_update. In the generated gnulib-comp.m4, collect the
31265         object files for tests/ in different variables than those for lib/.
31266         Substitute LIBTESTS_LIBDEPS.
31267         (func_create_testdir): Combine the uses_subdirs results from
31268         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
31269
31270 2007-12-09  Bruno Haible  <bruno@clisp.org>
31271
31272         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
31273         the build-aux directory.
31274
31275 2007-12-09  Bruno Haible  <bruno@clisp.org>
31276
31277         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
31278         introduced on 2006-09-09.
31279
31280 2007-12-07  Jim Meyering  <meyering@redhat.com>
31281
31282         Let these macros work also with autoconf-2.59.
31283         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
31284         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
31285         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
31286
31287 2007-12-06  Jim Meyering  <meyering@redhat.com>
31288
31289         Avoid a configure-time syntax error in gl_FUNC_ACL.
31290         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
31291         function in each branch, before testing the cache variable.
31292
31293 2007-12-04  Eric Blake  <ebb9@byu.net>
31294
31295         Make scripts executable.
31296         * build-aux/config.guess: Add execute permissions.
31297         * build-aux/config.sub: Likewise.
31298         * build-aux/gendocs.sh: Likewise.
31299
31300         Fix frexp on mingw.
31301         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
31302         cross-compiling.
31303         * doc/functions/frexp.texi (frexp): Document the bug.
31304
31305         Make cygwin fseeko check more reliable.
31306         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
31307         version numbers, rather than unrelated feature check.
31308         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
31309         * doc/functions/ftello.texi (ftello): Likewise.
31310         Reported by Bruno Haible.
31311
31312         * m4/strerror.m4: Bump version number.
31313
31314 2007-12-03  Bruno Haible  <bruno@clisp.org>
31315
31316         * doc/functions/mprotect.texi: Mention the mingw problem.
31317
31318 2007-12-03  Eric Blake  <ebb9@byu.net>
31319
31320         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
31321         REPLACE_STRERROR is initialized before this macro.
31322
31323 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
31324
31325         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
31326         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
31327         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
31328         put -lsec in even for programs other than 'ls'.  This fixes a problem
31329         for gettext reported by Bruno Haible in
31330         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
31331         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
31332         Add support for Solaris 10.  This isn't efficient, but should get the
31333         job done for now.
31334
31335 2007-12-03  James Youngman  <jay@gnu.org>
31336
31337         * doc/regexprops-generic.texi: change "an close-group" to "a
31338         close-group" and "illegal" to "not allowed".
31339
31340 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31341
31342         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
31343         pr_byname.h. Needed for the rare case when the maintainer has done
31344         "make maintainer-clean" in the source directory and then attempts a
31345         build outside the source directory.
31346         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
31347         scripts_byname.h.
31348
31349 2007-12-02  Martin Lambers <marlam@marlam.de>
31350             Bruno Haible  <bruno@clisp.org>
31351
31352         * lib/getpagesize.h: Remove file.
31353         * lib/unistd.in.h: Include declaration of getpagesize here.
31354         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
31355         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
31356         HAVE_SYS_PARAM_H.
31357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
31358         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31359         * modules/getpagesize (Files): Remove lib/getpagesize.h.
31360         (Depends-on): Add unistd.
31361         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31362         (Include): Use <unistd.h> instead of getpagesize.h.
31363         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
31364         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31365         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
31366         gl_GETPAGESIZE invocation, already handled by module dependency.
31367         * lib/pagealign_alloc.c: Don't include getpagesize.h.
31368
31369 2007-12-02  Bruno Haible  <bruno@clisp.org>
31370
31371         * modules/strings-tests: New file.
31372         * tests/test-strings.c: New file.
31373
31374         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
31375         * lib/strings.in.h: New file.
31376         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
31377         * m4/strings_h.m4: New file.
31378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
31379         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
31380         * modules/strings: New file.
31381         * modules/string (Makefile.am): Update.
31382         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
31383         Reported by Karl Berry.
31384
31385 2007-12-01  Eric Blake  <ebb9@byu.net>
31386
31387         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
31388         accomodate fix in cygwin 1.5.25.
31389
31390 2007-12-01  Jim Meyering  <meyering@redhat.com>
31391
31392         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
31393         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
31394         that would inhibit utf8-optimization of a regexp containing line-
31395         or buffer-anchors, e.g., `^', `$'.
31396
31397 2007-11-30  Bruno Haible  <bruno@clisp.org>
31398
31399         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
31400         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
31401         glthread_recursive_lock_init.
31402         * lib/lock.c (glthread_recursive_lock_init)
31403         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
31404         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31405
31406 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
31407
31408         New function qset_acl, like set_acl but with syscall semantics.
31409         * lib/acl.h (qset_acl): New decl.
31410         * lib/acl.c (qset_acl): New function.
31411         (set_acl): Use new function.  Use more-consistent diagnostics.
31412
31413 2007-11-28  Jim Meyering  <meyering@redhat.com>
31414
31415         * modules/physmem (License): Change from GPL to LGPLv2+.
31416
31417 2007-11-26  Bruno Haible  <bruno@clisp.org>
31418
31419         * lib/vasnprintf.c (decode_long_double): Don't abort if the
31420         'long double' type has excess precision.
31421         Reported by Jim Meyering in
31422         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
31423
31424 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31425
31426         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
31427         Sync from <http://gnu.org/licenses>.
31428         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
31429         with license text from same location.
31430         * doc/maintain.texi, doc/standards.texi:  Sync from
31431         <http://savannah.gnu.org/projects/gnustandards>.
31432
31433 2007-11-22  OndÅ™ej VaÅ¡Ă­k  <ovasik@redhat.com>
31434         and Jim Meyering  <meyering@redhat.com>
31435
31436         Adjust getdate' grammar to accept a slightly more regular language.
31437         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
31438         Before, the former was rejected.
31439         * lib/getdate.y (digits_to_date_time): New function, factored
31440         out of ...
31441         (number): ...here.  Just call digits_to_date_time.
31442         (hybrid): New non-terminal to handle an <unsigned number,
31443         signed relative offset> sequence consistently.
31444
31445 2007-11-18  Jim Meyering  <meyering@redhat.com>
31446
31447         Pull my changes from coreutils:
31448         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
31449         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
31450         use of $gnulib_tool_option_extras, so that it's separated from the
31451         preceding argument.
31452
31453         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
31454         * build-aux/bootstrap (cp_mark_as_generated): Create any required
31455         parent destination directories before copying a file into place.
31456
31457 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
31458
31459         bootstrap: work also with 4-argument variant of AC_INIT
31460         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
31461
31462 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
31463
31464         Port test-getaddrinfo to Solaris.
31465         Problem reported by Bruno Haible in
31466         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
31467         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
31468         explanation of setting 'hints'.
31469         Don't reject an implementation merely because it returns EAI_SERVICE.
31470         (EAI_SERVICE): Define to 0 if not defined.
31471
31472 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
31473
31474         The license of gnu-make and posix-shell is now "GPLed build tool".
31475         * modules/gnu-make (License): Likewise.
31476         * modules/posix-shell (License): Likewise.
31477
31478         New module posix-shell, for determining a POSIX shell
31479         or perhaps something that is close enough to a POSIX shell.
31480         * m4/posix-shell.m4: New file.
31481         * modules/posix-shell: New file.
31482
31483         * MODULES.html.sh: Mention new module.
31484
31485         New module gnu-make, for determining whether we're using GNU Make.
31486         * m4/gnu-make.m4: New file.
31487         * modules/gnu-make: New file.
31488         * MODULES.html.sh: Mention new module.
31489
31490 2007-11-14  Jim Meyering  <meyering@redhat.com>
31491
31492         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
31493         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
31494         use this macro to create a function _definition_.
31495         Remove useless "#undef ARGMATCH_DIE".
31496
31497 2007-11-14  Bruno Haible  <bruno@clisp.org>
31498
31499         * lib/config.charset: Update for OpenBSD 4.1.
31500         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
31501
31502 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
31503
31504         Document 64-bit #if problems in stdint.texi.
31505         * doc/headers/stdint.texi (stdint.h): Mention problems with
31506         64-bit-#if, and how to work around them.
31507
31508         Don't insist on 'long long int' support in the preprocessor.  It
31509         breaks too many things.  For example, PRIdMAX still uses a 'long
31510         long int' format with the latest Sun compiler, even though
31511         HAVE_LONG_LONG_INT isn't defined due to that compiler's
31512         preprocessor problem.  This causes the latest coreutils to dump
31513         core on Solaris 10 sparc with the Sun C compiler.
31514         Instead, fix the 2007-10-16 problem in a different way, by evaluating
31515         the troublesome expressions at configure-time, not at #if-time.
31516         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
31517         preprocessor.
31518         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
31519         compile-time C checks, done at 'configure'-time.
31520         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
31521         * modules/inttypes (Makefile): Substitute the new symbols that
31522         gl_INTTYPES_H now generates.
31523         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
31524
31525 2007-11-12  Bruno Haible  <bruno@clisp.org>
31526
31527         Tests for Unicode character classification functions.
31528
31529         * modules/unictype/bidicategory-byname-tests: New file.
31530         * modules/unictype/bidicategory-name-tests: New file.
31531         * modules/unictype/bidicategory-of-tests: New file.
31532         * modules/unictype/bidicategory-test-tests: New file.
31533         * modules/unictype/block-list-tests: New file.
31534         * modules/unictype/block-of-tests: New file.
31535         * modules/unictype/block-test-tests: New file.
31536         * modules/unictype/category-C-tests: New file.
31537         * modules/unictype/category-Cc-tests: New file.
31538         * modules/unictype/category-Cf-tests: New file.
31539         * modules/unictype/category-Cn-tests: New file.
31540         * modules/unictype/category-Co-tests: New file.
31541         * modules/unictype/category-Cs-tests: New file.
31542         * modules/unictype/category-L-tests: New file.
31543         * modules/unictype/category-Ll-tests: New file.
31544         * modules/unictype/category-Lm-tests: New file.
31545         * modules/unictype/category-Lo-tests: New file.
31546         * modules/unictype/category-Lt-tests: New file.
31547         * modules/unictype/category-Lu-tests: New file.
31548         * modules/unictype/category-M-tests: New file.
31549         * modules/unictype/category-Mc-tests: New file.
31550         * modules/unictype/category-Me-tests: New file.
31551         * modules/unictype/category-Mn-tests: New file.
31552         * modules/unictype/category-N-tests: New file.
31553         * modules/unictype/category-Nd-tests: New file.
31554         * modules/unictype/category-Nl-tests: New file.
31555         * modules/unictype/category-No-tests: New file.
31556         * modules/unictype/category-P-tests: New file.
31557         * modules/unictype/category-Pc-tests: New file.
31558         * modules/unictype/category-Pd-tests: New file.
31559         * modules/unictype/category-Pe-tests: New file.
31560         * modules/unictype/category-Pf-tests: New file.
31561         * modules/unictype/category-Pi-tests: New file.
31562         * modules/unictype/category-Po-tests: New file.
31563         * modules/unictype/category-Ps-tests: New file.
31564         * modules/unictype/category-S-tests: New file.
31565         * modules/unictype/category-Sc-tests: New file.
31566         * modules/unictype/category-Sk-tests: New file.
31567         * modules/unictype/category-Sm-tests: New file.
31568         * modules/unictype/category-So-tests: New file.
31569         * modules/unictype/category-Z-tests: New file.
31570         * modules/unictype/category-Zl-tests: New file.
31571         * modules/unictype/category-Zp-tests: New file.
31572         * modules/unictype/category-Zs-tests: New file.
31573         * modules/unictype/category-and-not-tests: New file.
31574         * modules/unictype/category-and-tests: New file.
31575         * modules/unictype/category-byname-tests: New file.
31576         * modules/unictype/category-name-tests: New file.
31577         * modules/unictype/category-none-tests: New file.
31578         * modules/unictype/category-of-tests: New file.
31579         * modules/unictype/category-or-tests: New file.
31580         * modules/unictype/category-test-withtable-tests: New file.
31581         * modules/unictype/combining-class-tests: New file.
31582         * modules/unictype/ctype-alnum-tests: New file.
31583         * modules/unictype/ctype-alpha-tests: New file.
31584         * modules/unictype/ctype-blank-tests: New file.
31585         * modules/unictype/ctype-cntrl-tests: New file.
31586         * modules/unictype/ctype-digit-tests: New file.
31587         * modules/unictype/ctype-graph-tests: New file.
31588         * modules/unictype/ctype-lower-tests: New file.
31589         * modules/unictype/ctype-print-tests: New file.
31590         * modules/unictype/ctype-punct-tests: New file.
31591         * modules/unictype/ctype-space-tests: New file.
31592         * modules/unictype/ctype-upper-tests: New file.
31593         * modules/unictype/ctype-xdigit-tests: New file.
31594         * modules/unictype/decimal-digit-tests: New file.
31595         * modules/unictype/digit-tests: New file.
31596         * modules/unictype/mirror-tests: New file.
31597         * modules/unictype/numeric-tests: New file.
31598         * modules/unictype/property-alphabetic-tests: New file.
31599         * modules/unictype/property-ascii-hex-digit-tests: New file.
31600         * modules/unictype/property-bidi-arabic-digit-tests: New file.
31601         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
31602         * modules/unictype/property-bidi-block-separator-tests: New file.
31603         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
31604         * modules/unictype/property-bidi-common-separator-tests: New file.
31605         * modules/unictype/property-bidi-control-tests: New file.
31606         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
31607         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
31608         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
31609         * modules/unictype/property-bidi-european-digit-tests: New file.
31610         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
31611         * modules/unictype/property-bidi-left-to-right-tests: New file.
31612         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
31613         * modules/unictype/property-bidi-other-neutral-tests: New file.
31614         * modules/unictype/property-bidi-pdf-tests: New file.
31615         * modules/unictype/property-bidi-segment-separator-tests: New file.
31616         * modules/unictype/property-bidi-whitespace-tests: New file.
31617         * modules/unictype/property-byname-tests: New file.
31618         * modules/unictype/property-combining-tests: New file.
31619         * modules/unictype/property-composite-tests: New file.
31620         * modules/unictype/property-currency-symbol-tests: New file.
31621         * modules/unictype/property-dash-tests: New file.
31622         * modules/unictype/property-decimal-digit-tests: New file.
31623         * modules/unictype/property-default-ignorable-code-point-tests: New file.
31624         * modules/unictype/property-deprecated-tests: New file.
31625         * modules/unictype/property-diacritic-tests: New file.
31626         * modules/unictype/property-extender-tests: New file.
31627         * modules/unictype/property-format-control-tests: New file.
31628         * modules/unictype/property-grapheme-base-tests: New file.
31629         * modules/unictype/property-grapheme-extend-tests: New file.
31630         * modules/unictype/property-grapheme-link-tests: New file.
31631         * modules/unictype/property-hex-digit-tests: New file.
31632         * modules/unictype/property-hyphen-tests: New file.
31633         * modules/unictype/property-id-continue-tests: New file.
31634         * modules/unictype/property-id-start-tests: New file.
31635         * modules/unictype/property-ideographic-tests: New file.
31636         * modules/unictype/property-ids-binary-operator-tests: New file.
31637         * modules/unictype/property-ids-trinary-operator-tests: New file.
31638         * modules/unictype/property-ignorable-control-tests: New file.
31639         * modules/unictype/property-iso-control-tests: New file.
31640         * modules/unictype/property-join-control-tests: New file.
31641         * modules/unictype/property-left-of-pair-tests: New file.
31642         * modules/unictype/property-line-separator-tests: New file.
31643         * modules/unictype/property-logical-order-exception-tests: New file.
31644         * modules/unictype/property-lowercase-tests: New file.
31645         * modules/unictype/property-math-tests: New file.
31646         * modules/unictype/property-non-break-tests: New file.
31647         * modules/unictype/property-not-a-character-tests: New file.
31648         * modules/unictype/property-numeric-tests: New file.
31649         * modules/unictype/property-other-alphabetic-tests: New file.
31650         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
31651         * modules/unictype/property-other-grapheme-extend-tests: New file.
31652         * modules/unictype/property-other-id-continue-tests: New file.
31653         * modules/unictype/property-other-id-start-tests: New file.
31654         * modules/unictype/property-other-lowercase-tests: New file.
31655         * modules/unictype/property-other-math-tests: New file.
31656         * modules/unictype/property-other-uppercase-tests: New file.
31657         * modules/unictype/property-paired-punctuation-tests: New file.
31658         * modules/unictype/property-paragraph-separator-tests: New file.
31659         * modules/unictype/property-pattern-syntax-tests: New file.
31660         * modules/unictype/property-pattern-white-space-tests: New file.
31661         * modules/unictype/property-private-use-tests: New file.
31662         * modules/unictype/property-punctuation-tests: New file.
31663         * modules/unictype/property-quotation-mark-tests: New file.
31664         * modules/unictype/property-radical-tests: New file.
31665         * modules/unictype/property-sentence-terminal-tests: New file.
31666         * modules/unictype/property-soft-dotted-tests: New file.
31667         * modules/unictype/property-space-tests: New file.
31668         * modules/unictype/property-terminal-punctuation-tests: New file.
31669         * modules/unictype/property-test-tests: New file.
31670         * modules/unictype/property-titlecase-tests: New file.
31671         * modules/unictype/property-unassigned-code-value-tests: New file.
31672         * modules/unictype/property-unified-ideograph-tests: New file.
31673         * modules/unictype/property-uppercase-tests: New file.
31674         * modules/unictype/property-variation-selector-tests: New file.
31675         * modules/unictype/property-white-space-tests: New file.
31676         * modules/unictype/property-xid-continue-tests: New file.
31677         * modules/unictype/property-xid-start-tests: New file.
31678         * modules/unictype/property-zero-width-tests: New file.
31679         * modules/unictype/scripts-tests: New file.
31680         * modules/unictype/syntax-c-ident-tests: New file.
31681         * modules/unictype/syntax-c-whitespace-tests: New file.
31682         * modules/unictype/syntax-java-ident-tests: New file.
31683         * modules/unictype/syntax-java-whitespace-tests: New file.
31684         * tests/unictype/test-bidi_byname.c: New file.
31685         * tests/unictype/test-bidi_name.c: New file.
31686         * tests/unictype/test-bidi_of.c: New file.
31687         * tests/unictype/test-bidi_test.c: New file.
31688         * tests/unictype/test-block_list.c: New file.
31689         * tests/unictype/test-block_of.c: New file.
31690         * tests/unictype/test-block_test.c: New file.
31691         * tests/unictype/test-categ_and.c: New file.
31692         * tests/unictype/test-categ_and_not.c: New file.
31693         * tests/unictype/test-categ_byname.c: New file.
31694         * tests/unictype/test-categ_name.c: New file.
31695         * tests/unictype/test-categ_none.c: New file.
31696         * tests/unictype/test-categ_of.c: New file.
31697         * tests/unictype/test-categ_or.c: New file.
31698         * tests/unictype/test-categ_test_withtable.c: New file.
31699         * tests/unictype/test-combining.c: New file.
31700         * tests/unictype/test-decdigit.c: New file.
31701         * tests/unictype/test-digit.c: New file.
31702         * tests/unictype/test-mirror.c: New file.
31703         * tests/unictype/test-numeric.c: New file.
31704         * tests/unictype/test-pr_byname.c: New file.
31705         * tests/unictype/test-pr_test.c: New file.
31706         * tests/unictype/test-predicate-part1.h: New file.
31707         * tests/unictype/test-predicate-part2.h: New file.
31708         * tests/unictype/test-scripts.c: New file.
31709         * tests/unictype/test-sy_c_ident.c: New file.
31710         * tests/unictype/test-sy_java_ident.c: New file.
31711
31712         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
31713         for Unicode 5.0.0.
31714         * tests/unictype/test-categ_Cc.c: Likewise.
31715         * tests/unictype/test-categ_Cf.c: Likewise.
31716         * tests/unictype/test-categ_Cn.c: Likewise.
31717         * tests/unictype/test-categ_Co.c: Likewise.
31718         * tests/unictype/test-categ_Cs.c: Likewise.
31719         * tests/unictype/test-categ_L.c: Likewise.
31720         * tests/unictype/test-categ_Ll.c: Likewise.
31721         * tests/unictype/test-categ_Lm.c: Likewise.
31722         * tests/unictype/test-categ_Lo.c: Likewise.
31723         * tests/unictype/test-categ_Lt.c: Likewise.
31724         * tests/unictype/test-categ_Lu.c: Likewise.
31725         * tests/unictype/test-categ_M.c: Likewise.
31726         * tests/unictype/test-categ_Mc.c: Likewise.
31727         * tests/unictype/test-categ_Me.c: Likewise.
31728         * tests/unictype/test-categ_Mn.c: Likewise.
31729         * tests/unictype/test-categ_N.c: Likewise.
31730         * tests/unictype/test-categ_Nd.c: Likewise.
31731         * tests/unictype/test-categ_Nl.c: Likewise.
31732         * tests/unictype/test-categ_No.c: Likewise.
31733         * tests/unictype/test-categ_P.c: Likewise.
31734         * tests/unictype/test-categ_Pc.c: Likewise.
31735         * tests/unictype/test-categ_Pd.c: Likewise.
31736         * tests/unictype/test-categ_Pe.c: Likewise.
31737         * tests/unictype/test-categ_Pf.c: Likewise.
31738         * tests/unictype/test-categ_Pi.c: Likewise.
31739         * tests/unictype/test-categ_Po.c: Likewise.
31740         * tests/unictype/test-categ_Ps.c: Likewise.
31741         * tests/unictype/test-categ_S.c: Likewise.
31742         * tests/unictype/test-categ_Sc.c: Likewise.
31743         * tests/unictype/test-categ_Sk.c: Likewise.
31744         * tests/unictype/test-categ_Sm.c: Likewise.
31745         * tests/unictype/test-categ_So.c: Likewise.
31746         * tests/unictype/test-categ_Z.c: Likewise.
31747         * tests/unictype/test-categ_Zl.c: Likewise.
31748         * tests/unictype/test-categ_Zp.c: Likewise.
31749         * tests/unictype/test-categ_Zs.c: Likewise.
31750         * tests/unictype/test-ctype_alnum.c: Likewise.
31751         * tests/unictype/test-ctype_alpha.c: Likewise.
31752         * tests/unictype/test-ctype_blank.c: Likewise.
31753         * tests/unictype/test-ctype_cntrl.c: Likewise.
31754         * tests/unictype/test-ctype_digit.c: Likewise.
31755         * tests/unictype/test-ctype_graph.c: Likewise.
31756         * tests/unictype/test-ctype_lower.c: Likewise.
31757         * tests/unictype/test-ctype_print.c: Likewise.
31758         * tests/unictype/test-ctype_punct.c: Likewise.
31759         * tests/unictype/test-ctype_space.c: Likewise.
31760         * tests/unictype/test-ctype_upper.c: Likewise.
31761         * tests/unictype/test-ctype_xdigit.c: Likewise.
31762         * tests/unictype/test-decdigit.h: Likewise.
31763         * tests/unictype/test-digit.h: Likewise.
31764         * tests/unictype/test-numeric.h: Likewise.
31765         * tests/unictype/test-pr_alphabetic.c: Likewise.
31766         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
31767         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
31768         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
31769         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
31770         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
31771         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
31772         * tests/unictype/test-pr_bidi_control.c: Likewise.
31773         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
31774         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
31775         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
31776         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
31777         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
31778         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
31779         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
31780         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
31781         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
31782         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
31783         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
31784         * tests/unictype/test-pr_combining.c: Likewise.
31785         * tests/unictype/test-pr_composite.c: Likewise.
31786         * tests/unictype/test-pr_currency_symbol.c: Likewise.
31787         * tests/unictype/test-pr_dash.c: Likewise.
31788         * tests/unictype/test-pr_decimal_digit.c: Likewise.
31789         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
31790         * tests/unictype/test-pr_deprecated.c: Likewise.
31791         * tests/unictype/test-pr_diacritic.c: Likewise.
31792         * tests/unictype/test-pr_extender.c: Likewise.
31793         * tests/unictype/test-pr_format_control.c: Likewise.
31794         * tests/unictype/test-pr_grapheme_base.c: Likewise.
31795         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
31796         * tests/unictype/test-pr_grapheme_link.c: Likewise.
31797         * tests/unictype/test-pr_hex_digit.c: Likewise.
31798         * tests/unictype/test-pr_hyphen.c: Likewise.
31799         * tests/unictype/test-pr_id_continue.c: Likewise.
31800         * tests/unictype/test-pr_id_start.c: Likewise.
31801         * tests/unictype/test-pr_ideographic.c: Likewise.
31802         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
31803         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
31804         * tests/unictype/test-pr_ignorable_control.c: Likewise.
31805         * tests/unictype/test-pr_iso_control.c: Likewise.
31806         * tests/unictype/test-pr_join_control.c: Likewise.
31807         * tests/unictype/test-pr_left_of_pair.c: Likewise.
31808         * tests/unictype/test-pr_line_separator.c: Likewise.
31809         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
31810         * tests/unictype/test-pr_lowercase.c: Likewise.
31811         * tests/unictype/test-pr_math.c: Likewise.
31812         * tests/unictype/test-pr_non_break.c: Likewise.
31813         * tests/unictype/test-pr_not_a_character.c: Likewise.
31814         * tests/unictype/test-pr_numeric.c: Likewise.
31815         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
31816         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
31817         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
31818         * tests/unictype/test-pr_other_id_continue.c: Likewise.
31819         * tests/unictype/test-pr_other_id_start.c: Likewise.
31820         * tests/unictype/test-pr_other_lowercase.c: Likewise.
31821         * tests/unictype/test-pr_other_math.c: Likewise.
31822         * tests/unictype/test-pr_other_uppercase.c: Likewise.
31823         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
31824         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
31825         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
31826         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
31827         * tests/unictype/test-pr_private_use.c: Likewise.
31828         * tests/unictype/test-pr_punctuation.c: Likewise.
31829         * tests/unictype/test-pr_quotation_mark.c: Likewise.
31830         * tests/unictype/test-pr_radical.c: Likewise.
31831         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
31832         * tests/unictype/test-pr_soft_dotted.c: Likewise.
31833         * tests/unictype/test-pr_space.c: Likewise.
31834         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
31835         * tests/unictype/test-pr_titlecase.c: Likewise.
31836         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
31837         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
31838         * tests/unictype/test-pr_uppercase.c: Likewise.
31839         * tests/unictype/test-pr_variation_selector.c: Likewise.
31840         * tests/unictype/test-pr_white_space.c: Likewise.
31841         * tests/unictype/test-pr_xid_continue.c: Likewise.
31842         * tests/unictype/test-pr_xid_start.c: Likewise.
31843         * tests/unictype/test-pr_zero_width.c: Likewise.
31844         * tests/unictype/test-sy_c_whitespace.c: Likewise.
31845         * tests/unictype/test-sy_java_whitespace.c: Likewise.
31846
31847 2007-11-12  Bruno Haible  <bruno@clisp.org>
31848
31849         Unicode character classification functions.
31850         * lib/unictype.h: New file.
31851         * modules/unictype/base: New file.
31852         * modules/unictype/category-L: New file.
31853         * modules/unictype/category-Lu: New file.
31854         * modules/unictype/category-Ll: New file.
31855         * modules/unictype/category-Lt: New file.
31856         * modules/unictype/category-Lm: New file.
31857         * modules/unictype/category-Lo: New file.
31858         * modules/unictype/category-M: New file.
31859         * modules/unictype/category-Mn: New file.
31860         * modules/unictype/category-Mc: New file.
31861         * modules/unictype/category-Me: New file.
31862         * modules/unictype/category-N: New file.
31863         * modules/unictype/category-Nd: New file.
31864         * modules/unictype/category-Nl: New file.
31865         * modules/unictype/category-No: New file.
31866         * modules/unictype/category-P: New file.
31867         * modules/unictype/category-Pc: New file.
31868         * modules/unictype/category-Pd: New file.
31869         * modules/unictype/category-Ps: New file.
31870         * modules/unictype/category-Pe: New file.
31871         * modules/unictype/category-Pi: New file.
31872         * modules/unictype/category-Pf: New file.
31873         * modules/unictype/category-Po: New file.
31874         * modules/unictype/category-S: New file.
31875         * modules/unictype/category-Sm: New file.
31876         * modules/unictype/category-Sc: New file.
31877         * modules/unictype/category-Sk: New file.
31878         * modules/unictype/category-So: New file.
31879         * modules/unictype/category-Z: New file.
31880         * modules/unictype/category-Zs: New file.
31881         * modules/unictype/category-Zl: New file.
31882         * modules/unictype/category-Zp: New file.
31883         * modules/unictype/category-C: New file.
31884         * modules/unictype/category-Cc: New file.
31885         * modules/unictype/category-Cf: New file.
31886         * modules/unictype/category-Cs: New file.
31887         * modules/unictype/category-Co: New file.
31888         * modules/unictype/category-Cn: New file.
31889         * modules/unictype/category-or: New file.
31890         * modules/unictype/category-of: New file.
31891         * modules/unictype/category-test: New file.
31892         * modules/unictype/category-test-withtable: New file.
31893         * modules/unictype/category-byname: New file.
31894         * modules/unictype/category-none: New file.
31895         * modules/unictype/category-and: New file.
31896         * modules/unictype/category-and-not: New file.
31897         * modules/unictype/category-name: New file.
31898         * modules/unictype/combining-class: New file.
31899         * modules/unictype/category-all: New file.
31900         * modules/unictype/bidicategory-all: New file.
31901         * modules/unictype/bidicategory-byname: New file.
31902         * modules/unictype/bidicategory-name: New file.
31903         * modules/unictype/bidicategory-of: New file.
31904         * modules/unictype/bidicategory-test: New file.
31905         * modules/unictype/decimal-digit: New file.
31906         * modules/unictype/digit: New file.
31907         * modules/unictype/numeric: New file.
31908         * modules/unictype/mirror: New file.
31909         * modules/unictype/property-white-space: New file.
31910         * modules/unictype/property-alphabetic: New file.
31911         * modules/unictype/property-other-alphabetic: New file.
31912         * modules/unictype/property-not-a-character: New file.
31913         * modules/unictype/property-default-ignorable-code-point: New file.
31914         * modules/unictype/property-other-default-ignorable-code-point: New
31915         file.
31916         * modules/unictype/property-deprecated: New file.
31917         * modules/unictype/property-logical-order-exception: New file.
31918         * modules/unictype/property-variation-selector: New file.
31919         * modules/unictype/property-private-use: New file.
31920         * modules/unictype/property-unassigned-code-value: New file.
31921         * modules/unictype/property-uppercase: New file.
31922         * modules/unictype/property-other-uppercase: New file.
31923         * modules/unictype/property-lowercase: New file.
31924         * modules/unictype/property-other-lowercase: New file.
31925         * modules/unictype/property-titlecase: New file.
31926         * modules/unictype/property-soft-dotted: New file.
31927         * modules/unictype/property-id-start: New file.
31928         * modules/unictype/property-other-id-start: New file.
31929         * modules/unictype/property-id-continue: New file.
31930         * modules/unictype/property-other-id-continue: New file.
31931         * modules/unictype/property-xid-start: New file.
31932         * modules/unictype/property-xid-continue: New file.
31933         * modules/unictype/property-pattern-white-space: New file.
31934         * modules/unictype/property-pattern-syntax: New file.
31935         * modules/unictype/property-join-control: New file.
31936         * modules/unictype/property-grapheme-base: New file.
31937         * modules/unictype/property-grapheme-extend: New file.
31938         * modules/unictype/property-other-grapheme-extend: New file.
31939         * modules/unictype/property-grapheme-link: New file.
31940         * modules/unictype/property-bidi-control: New file.
31941         * modules/unictype/property-bidi-left-to-right: New file.
31942         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
31943         * modules/unictype/property-bidi-arabic-right-to-left: New file.
31944         * modules/unictype/property-bidi-european-digit: New file.
31945         * modules/unictype/property-bidi-eur-num-separator: New file.
31946         * modules/unictype/property-bidi-eur-num-terminator: New file.
31947         * modules/unictype/property-bidi-arabic-digit: New file.
31948         * modules/unictype/property-bidi-common-separator: New file.
31949         * modules/unictype/property-bidi-block-separator: New file.
31950         * modules/unictype/property-bidi-segment-separator: New file.
31951         * modules/unictype/property-bidi-whitespace: New file.
31952         * modules/unictype/property-bidi-non-spacing-mark: New file.
31953         * modules/unictype/property-bidi-boundary-neutral: New file.
31954         * modules/unictype/property-bidi-pdf: New file.
31955         * modules/unictype/property-bidi-embedding-or-override: New file.
31956         * modules/unictype/property-bidi-other-neutral: New file.
31957         * modules/unictype/property-hex-digit: New file.
31958         * modules/unictype/property-ascii-hex-digit: New file.
31959         * modules/unictype/property-ideographic: New file.
31960         * modules/unictype/property-unified-ideograph: New file.
31961         * modules/unictype/property-radical: New file.
31962         * modules/unictype/property-ids-binary-operator: New file.
31963         * modules/unictype/property-ids-trinary-operator: New file.
31964         * modules/unictype/property-zero-width: New file.
31965         * modules/unictype/property-space: New file.
31966         * modules/unictype/property-non-break: New file.
31967         * modules/unictype/property-iso-control: New file.
31968         * modules/unictype/property-format-control: New file.
31969         * modules/unictype/property-dash: New file.
31970         * modules/unictype/property-hyphen: New file.
31971         * modules/unictype/property-punctuation: New file.
31972         * modules/unictype/property-line-separator: New file.
31973         * modules/unictype/property-paragraph-separator: New file.
31974         * modules/unictype/property-quotation-mark: New file.
31975         * modules/unictype/property-sentence-terminal: New file.
31976         * modules/unictype/property-terminal-punctuation: New file.
31977         * modules/unictype/property-currency-symbol: New file.
31978         * modules/unictype/property-math: New file.
31979         * modules/unictype/property-other-math: New file.
31980         * modules/unictype/property-paired-punctuation: New file.
31981         * modules/unictype/property-left-of-pair: New file.
31982         * modules/unictype/property-combining: New file.
31983         * modules/unictype/property-composite: New file.
31984         * modules/unictype/property-decimal-digit: New file.
31985         * modules/unictype/property-numeric: New file.
31986         * modules/unictype/property-diacritic: New file.
31987         * modules/unictype/property-extender: New file.
31988         * modules/unictype/property-ignorable-control: New file.
31989         * modules/unictype/property-test: New file.
31990         * modules/unictype/property-byname: New file.
31991         * modules/unictype/property-all: New file.
31992         * modules/unictype/scripts: New file.
31993         * modules/unictype/scripts-all: New file.
31994         * modules/unictype/block-of: New file.
31995         * modules/unictype/block-test: New file.
31996         * modules/unictype/block-list: New file.
31997         * modules/unictype/block-all: New file.
31998         * modules/unictype/syntax-c-whitespace: New file.
31999         * modules/unictype/syntax-java-whitespace: New file.
32000         * modules/unictype/syntax-c-ident: New file.
32001         * modules/unictype/syntax-java-ident: New file.
32002         * modules/unictype/ctype-alnum: New file.
32003         * modules/unictype/ctype-alpha: New file.
32004         * modules/unictype/ctype-cntrl: New file.
32005         * modules/unictype/ctype-digit: New file.
32006         * modules/unictype/ctype-graph: New file.
32007         * modules/unictype/ctype-lower: New file.
32008         * modules/unictype/ctype-print: New file.
32009         * modules/unictype/ctype-punct: New file.
32010         * modules/unictype/ctype-space: New file.
32011         * modules/unictype/ctype-upper: New file.
32012         * modules/unictype/ctype-xdigit: New file.
32013         * modules/unictype/ctype-blank: New file.
32014         * lib/unictype/bidi_byname.c: New file.
32015         * lib/unictype/bidi_name.c: New file.
32016         * lib/unictype/bidi_of.c: New file.
32017         * lib/unictype/bidi_test.c: New file.
32018         * lib/unictype/bitmap.h: New file.
32019         * lib/unictype/block_test.c: New file.
32020         * lib/unictype/blocks.c: New file.
32021         * lib/unictype/categ_C.c: New file.
32022         * lib/unictype/categ_Cc.c: New file.
32023         * lib/unictype/categ_Cf.c: New file.
32024         * lib/unictype/categ_Cn.c: New file.
32025         * lib/unictype/categ_Co.c: New file.
32026         * lib/unictype/categ_Cs.c: New file.
32027         * lib/unictype/categ_L.c: New file.
32028         * lib/unictype/categ_Ll.c: New file.
32029         * lib/unictype/categ_Lm.c: New file.
32030         * lib/unictype/categ_Lo.c: New file.
32031         * lib/unictype/categ_Lt.c: New file.
32032         * lib/unictype/categ_Lu.c: New file.
32033         * lib/unictype/categ_M.c: New file.
32034         * lib/unictype/categ_Mc.c: New file.
32035         * lib/unictype/categ_Me.c: New file.
32036         * lib/unictype/categ_Mn.c: New file.
32037         * lib/unictype/categ_N.c: New file.
32038         * lib/unictype/categ_Nd.c: New file.
32039         * lib/unictype/categ_Nl.c: New file.
32040         * lib/unictype/categ_No.c: New file.
32041         * lib/unictype/categ_P.c: New file.
32042         * lib/unictype/categ_Pc.c: New file.
32043         * lib/unictype/categ_Pd.c: New file.
32044         * lib/unictype/categ_Pe.c: New file.
32045         * lib/unictype/categ_Pf.c: New file.
32046         * lib/unictype/categ_Pi.c: New file.
32047         * lib/unictype/categ_Po.c: New file.
32048         * lib/unictype/categ_Ps.c: New file.
32049         * lib/unictype/categ_S.c: New file.
32050         * lib/unictype/categ_Sc.c: New file.
32051         * lib/unictype/categ_Sk.c: New file.
32052         * lib/unictype/categ_Sm.c: New file.
32053         * lib/unictype/categ_So.c: New file.
32054         * lib/unictype/categ_Z.c: New file.
32055         * lib/unictype/categ_Zl.c: New file.
32056         * lib/unictype/categ_Zp.c: New file.
32057         * lib/unictype/categ_Zs.c: New file.
32058         * lib/unictype/categ_and.c: New file.
32059         * lib/unictype/categ_and_not.c: New file.
32060         * lib/unictype/categ_byname.c: New file.
32061         * lib/unictype/categ_name.c: New file.
32062         * lib/unictype/categ_none.c: New file.
32063         * lib/unictype/categ_of.c: New file.
32064         * lib/unictype/categ_or.c: New file.
32065         * lib/unictype/categ_test.c: New file.
32066         * lib/unictype/combining.c: New file.
32067         * lib/unictype/ctype_alnum.c: New file.
32068         * lib/unictype/ctype_alpha.c: New file.
32069         * lib/unictype/ctype_blank.c: New file.
32070         * lib/unictype/ctype_cntrl.c: New file.
32071         * lib/unictype/ctype_digit.c: New file.
32072         * lib/unictype/ctype_graph.c: New file.
32073         * lib/unictype/ctype_lower.c: New file.
32074         * lib/unictype/ctype_print.c: New file.
32075         * lib/unictype/ctype_punct.c: New file.
32076         * lib/unictype/ctype_space.c: New file.
32077         * lib/unictype/ctype_upper.c: New file.
32078         * lib/unictype/ctype_xdigit.c: New file.
32079         * lib/unictype/decdigit.c: New file.
32080         * lib/unictype/digit.c: New file.
32081         * lib/unictype/identsyntaxmap.h: New file.
32082         * lib/unictype/mirror.c: New file.
32083         * lib/unictype/numeric.c: New file.
32084         * lib/unictype/pr_alphabetic.c: New file.
32085         * lib/unictype/pr_ascii_hex_digit.c: New file.
32086         * lib/unictype/pr_bidi_arabic_digit.c: New file.
32087         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
32088         * lib/unictype/pr_bidi_block_separator.c: New file.
32089         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
32090         * lib/unictype/pr_bidi_common_separator.c: New file.
32091         * lib/unictype/pr_bidi_control.c: New file.
32092         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
32093         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
32094         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
32095         * lib/unictype/pr_bidi_european_digit.c: New file.
32096         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
32097         * lib/unictype/pr_bidi_left_to_right.c: New file.
32098         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
32099         * lib/unictype/pr_bidi_other_neutral.c: New file.
32100         * lib/unictype/pr_bidi_pdf.c: New file.
32101         * lib/unictype/pr_bidi_segment_separator.c: New file.
32102         * lib/unictype/pr_bidi_whitespace.c: New file.
32103         * lib/unictype/pr_byname.c: New file.
32104         * lib/unictype/pr_byname.gperf: New file.
32105         * lib/unictype/pr_combining.c: New file.
32106         * lib/unictype/pr_composite.c: New file.
32107         * lib/unictype/pr_currency_symbol.c: New file.
32108         * lib/unictype/pr_dash.c: New file.
32109         * lib/unictype/pr_decimal_digit.c: New file.
32110         * lib/unictype/pr_default_ignorable_code_point.c: New file.
32111         * lib/unictype/pr_deprecated.c: New file.
32112         * lib/unictype/pr_diacritic.c: New file.
32113         * lib/unictype/pr_extender.c: New file.
32114         * lib/unictype/pr_format_control.c: New file.
32115         * lib/unictype/pr_grapheme_base.c: New file.
32116         * lib/unictype/pr_grapheme_extend.c: New file.
32117         * lib/unictype/pr_grapheme_link.c: New file.
32118         * lib/unictype/pr_hex_digit.c: New file.
32119         * lib/unictype/pr_hyphen.c: New file.
32120         * lib/unictype/pr_id_continue.c: New file.
32121         * lib/unictype/pr_id_start.c: New file.
32122         * lib/unictype/pr_ideographic.c: New file.
32123         * lib/unictype/pr_ids_binary_operator.c: New file.
32124         * lib/unictype/pr_ids_trinary_operator.c: New file.
32125         * lib/unictype/pr_ignorable_control.c: New file.
32126         * lib/unictype/pr_iso_control.c: New file.
32127         * lib/unictype/pr_join_control.c: New file.
32128         * lib/unictype/pr_left_of_pair.c: New file.
32129         * lib/unictype/pr_line_separator.c: New file.
32130         * lib/unictype/pr_logical_order_exception.c: New file.
32131         * lib/unictype/pr_lowercase.c: New file.
32132         * lib/unictype/pr_math.c: New file.
32133         * lib/unictype/pr_non_break.c: New file.
32134         * lib/unictype/pr_not_a_character.c: New file.
32135         * lib/unictype/pr_numeric.c: New file.
32136         * lib/unictype/pr_other_alphabetic.c: New file.
32137         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
32138         * lib/unictype/pr_other_grapheme_extend.c: New file.
32139         * lib/unictype/pr_other_id_continue.c: New file.
32140         * lib/unictype/pr_other_id_start.c: New file.
32141         * lib/unictype/pr_other_lowercase.c: New file.
32142         * lib/unictype/pr_other_math.c: New file.
32143         * lib/unictype/pr_other_uppercase.c: New file.
32144         * lib/unictype/pr_paired_punctuation.c: New file.
32145         * lib/unictype/pr_paragraph_separator.c: New file.
32146         * lib/unictype/pr_pattern_syntax.c: New file.
32147         * lib/unictype/pr_pattern_white_space.c: New file.
32148         * lib/unictype/pr_private_use.c: New file.
32149         * lib/unictype/pr_punctuation.c: New file.
32150         * lib/unictype/pr_quotation_mark.c: New file.
32151         * lib/unictype/pr_radical.c: New file.
32152         * lib/unictype/pr_sentence_terminal.c: New file.
32153         * lib/unictype/pr_soft_dotted.c: New file.
32154         * lib/unictype/pr_space.c: New file.
32155         * lib/unictype/pr_terminal_punctuation.c: New file.
32156         * lib/unictype/pr_test.c: New file.
32157         * lib/unictype/pr_titlecase.c: New file.
32158         * lib/unictype/pr_unassigned_code_value.c: New file.
32159         * lib/unictype/pr_unified_ideograph.c: New file.
32160         * lib/unictype/pr_uppercase.c: New file.
32161         * lib/unictype/pr_variation_selector.c: New file.
32162         * lib/unictype/pr_white_space.c: New file.
32163         * lib/unictype/pr_xid_continue.c: New file.
32164         * lib/unictype/pr_xid_start.c: New file.
32165         * lib/unictype/pr_zero_width.c: New file.
32166         * lib/unictype/scripts.c: New file.
32167         * lib/unictype/sy_c_ident.c: New file.
32168         * lib/unictype/sy_c_whitespace.c: New file.
32169         * lib/unictype/sy_java_ident.c: New file.
32170         * lib/unictype/sy_java_whitespace.c: New file.
32171
32172         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
32173         Unicode 5.0.0.
32174         * lib/unictype/blocks.h: Likewise.
32175         * lib/unictype/categ_C.h: Likewise.
32176         * lib/unictype/categ_Cc.h: Likewise.
32177         * lib/unictype/categ_Cf.h: Likewise.
32178         * lib/unictype/categ_Cn.h: Likewise.
32179         * lib/unictype/categ_Co.h: Likewise.
32180         * lib/unictype/categ_Cs.h: Likewise.
32181         * lib/unictype/categ_L.h: Likewise.
32182         * lib/unictype/categ_Ll.h: Likewise.
32183         * lib/unictype/categ_Lm.h: Likewise.
32184         * lib/unictype/categ_Lo.h: Likewise.
32185         * lib/unictype/categ_Lt.h: Likewise.
32186         * lib/unictype/categ_Lu.h: Likewise.
32187         * lib/unictype/categ_M.h: Likewise.
32188         * lib/unictype/categ_Mc.h: Likewise.
32189         * lib/unictype/categ_Me.h: Likewise.
32190         * lib/unictype/categ_Mn.h: Likewise.
32191         * lib/unictype/categ_N.h: Likewise.
32192         * lib/unictype/categ_Nd.h: Likewise.
32193         * lib/unictype/categ_Nl.h: Likewise.
32194         * lib/unictype/categ_No.h: Likewise.
32195         * lib/unictype/categ_P.h: Likewise.
32196         * lib/unictype/categ_Pc.h: Likewise.
32197         * lib/unictype/categ_Pd.h: Likewise.
32198         * lib/unictype/categ_Pe.h: Likewise.
32199         * lib/unictype/categ_Pf.h: Likewise.
32200         * lib/unictype/categ_Pi.h: Likewise.
32201         * lib/unictype/categ_Po.h: Likewise.
32202         * lib/unictype/categ_Ps.h: Likewise.
32203         * lib/unictype/categ_S.h: Likewise.
32204         * lib/unictype/categ_Sc.h: Likewise.
32205         * lib/unictype/categ_Sk.h: Likewise.
32206         * lib/unictype/categ_Sm.h: Likewise.
32207         * lib/unictype/categ_So.h: Likewise.
32208         * lib/unictype/categ_Z.h: Likewise.
32209         * lib/unictype/categ_Zl.h: Likewise.
32210         * lib/unictype/categ_Zp.h: Likewise.
32211         * lib/unictype/categ_Zs.h: Likewise.
32212         * lib/unictype/categ_of.h: Likewise.
32213         * lib/unictype/combining.h: Likewise.
32214         * lib/unictype/ctype_alnum.h: Likewise.
32215         * lib/unictype/ctype_alpha.h: Likewise.
32216         * lib/unictype/ctype_blank.h: Likewise.
32217         * lib/unictype/ctype_cntrl.h: Likewise.
32218         * lib/unictype/ctype_digit.h: Likewise.
32219         * lib/unictype/ctype_graph.h: Likewise.
32220         * lib/unictype/ctype_lower.h: Likewise.
32221         * lib/unictype/ctype_print.h: Likewise.
32222         * lib/unictype/ctype_punct.h: Likewise.
32223         * lib/unictype/ctype_space.h: Likewise.
32224         * lib/unictype/ctype_upper.h: Likewise.
32225         * lib/unictype/ctype_xdigit.h: Likewise.
32226         * lib/unictype/decdigit.h: Likewise.
32227         * lib/unictype/digit.h: Likewise.
32228         * lib/unictype/mirror.h: Likewise.
32229         * lib/unictype/numeric.h: Likewise.
32230         * lib/unictype/pr_alphabetic.h: Likewise.
32231         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
32232         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
32233         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
32234         * lib/unictype/pr_bidi_block_separator.h: Likewise.
32235         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
32236         * lib/unictype/pr_bidi_common_separator.h: Likewise.
32237         * lib/unictype/pr_bidi_control.h: Likewise.
32238         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
32239         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
32240         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
32241         * lib/unictype/pr_bidi_european_digit.h: Likewise.
32242         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
32243         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
32244         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
32245         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
32246         * lib/unictype/pr_bidi_pdf.h: Likewise.
32247         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
32248         * lib/unictype/pr_bidi_whitespace.h: Likewise.
32249         * lib/unictype/pr_combining.h: Likewise.
32250         * lib/unictype/pr_composite.h: Likewise.
32251         * lib/unictype/pr_currency_symbol.h: Likewise.
32252         * lib/unictype/pr_dash.h: Likewise.
32253         * lib/unictype/pr_decimal_digit.h: Likewise.
32254         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
32255         * lib/unictype/pr_deprecated.h: Likewise.
32256         * lib/unictype/pr_diacritic.h: Likewise.
32257         * lib/unictype/pr_extender.h: Likewise.
32258         * lib/unictype/pr_format_control.h: Likewise.
32259         * lib/unictype/pr_grapheme_base.h: Likewise.
32260         * lib/unictype/pr_grapheme_extend.h: Likewise.
32261         * lib/unictype/pr_grapheme_link.h: Likewise.
32262         * lib/unictype/pr_hex_digit.h: Likewise.
32263         * lib/unictype/pr_hyphen.h: Likewise.
32264         * lib/unictype/pr_id_continue.h: Likewise.
32265         * lib/unictype/pr_id_start.h: Likewise.
32266         * lib/unictype/pr_ideographic.h: Likewise.
32267         * lib/unictype/pr_ids_binary_operator.h: Likewise.
32268         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
32269         * lib/unictype/pr_ignorable_control.h: Likewise.
32270         * lib/unictype/pr_iso_control.h: Likewise.
32271         * lib/unictype/pr_join_control.h: Likewise.
32272         * lib/unictype/pr_left_of_pair.h: Likewise.
32273         * lib/unictype/pr_line_separator.h: Likewise.
32274         * lib/unictype/pr_logical_order_exception.h: Likewise.
32275         * lib/unictype/pr_lowercase.h: Likewise.
32276         * lib/unictype/pr_math.h: Likewise.
32277         * lib/unictype/pr_non_break.h: Likewise.
32278         * lib/unictype/pr_not_a_character.h: Likewise.
32279         * lib/unictype/pr_numeric.h: Likewise.
32280         * lib/unictype/pr_other_alphabetic.h: Likewise.
32281         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
32282         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
32283         * lib/unictype/pr_other_id_continue.h: Likewise.
32284         * lib/unictype/pr_other_id_start.h: Likewise.
32285         * lib/unictype/pr_other_lowercase.h: Likewise.
32286         * lib/unictype/pr_other_math.h: Likewise.
32287         * lib/unictype/pr_other_uppercase.h: Likewise.
32288         * lib/unictype/pr_paired_punctuation.h: Likewise.
32289         * lib/unictype/pr_paragraph_separator.h: Likewise.
32290         * lib/unictype/pr_pattern_syntax.h: Likewise.
32291         * lib/unictype/pr_pattern_white_space.h: Likewise.
32292         * lib/unictype/pr_private_use.h: Likewise.
32293         * lib/unictype/pr_punctuation.h: Likewise.
32294         * lib/unictype/pr_quotation_mark.h: Likewise.
32295         * lib/unictype/pr_radical.h: Likewise.
32296         * lib/unictype/pr_sentence_terminal.h: Likewise.
32297         * lib/unictype/pr_soft_dotted.h: Likewise.
32298         * lib/unictype/pr_space.h: Likewise.
32299         * lib/unictype/pr_terminal_punctuation.h: Likewise.
32300         * lib/unictype/pr_titlecase.h: Likewise.
32301         * lib/unictype/pr_unassigned_code_value.h: Likewise.
32302         * lib/unictype/pr_unified_ideograph.h: Likewise.
32303         * lib/unictype/pr_uppercase.h: Likewise.
32304         * lib/unictype/pr_variation_selector.h: Likewise.
32305         * lib/unictype/pr_white_space.h: Likewise.
32306         * lib/unictype/pr_xid_continue.h: Likewise.
32307         * lib/unictype/pr_xid_start.h: Likewise.
32308         * lib/unictype/pr_zero_width.h: Likewise.
32309         * lib/unictype/scripts.h: Likewise.
32310         * lib/unictype/scripts_byname.gperf: Likewise.
32311         * lib/unictype/sy_c_ident.h: Likewise.
32312         * lib/unictype/sy_c_whitespace.h: Likewise.
32313         * lib/unictype/sy_java_ident.h: Likewise.
32314         * lib/unictype/sy_java_whitespace.h: Likewise.
32315
32316         * lib/unictype/Makefile: New file.
32317         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
32318         glibc.
32319         * lib/unictype/3level.h: New file, copied from glibc.
32320         * lib/unictype/3levelbit.h: New file.
32321
32322 2007-11-11  Bruno Haible  <bruno@clisp.org>
32323
32324         * modules/gperf: New file.
32325         * modules/iconv_open (Depends-on): Add it.
32326         (Makefile.am): Remove the GPERF definition.
32327
32328 2007-11-11  Bruno Haible  <bruno@clisp.org>
32329
32330         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
32331         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
32332
32333 2007-11-11  Bruno Haible  <bruno@clisp.org>
32334
32335         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
32336         (usage): Remove function.
32337
32338 2007-11-11  Bruno Haible  <bruno@clisp.org>
32339
32340         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
32341         gl_FUNC_CEILF_LIBS.
32342         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
32343         gl_FUNC_CEIL_LIBS.
32344         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
32345         gl_FUNC_CEILL_LIBS.
32346         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
32347         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
32348         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
32349
32350 2007-11-11  Bruno Haible  <bruno@clisp.org>
32351
32352         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
32353         roundf were declared but do not exist on functions.
32354         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
32355         roundl were declared but do not exist on functions.
32356         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
32357         HAVE_FLOORL_AND_CEILL, respectively.
32358         Needed for Sun C on Solaris 10.
32359
32360 2007-11-11  Bruno Haible  <bruno@clisp.org>
32361
32362         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
32363         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
32364         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
32365         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
32366         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
32367         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
32368         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
32369         HAVE_DECL_ROUNDF.
32370         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
32371         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
32372         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
32373         of HAVE_DECL_ROUND*.
32374         * modules/math (Makefile.am): Update.
32375
32376 2007-11-10  Bruno Haible  <bruno@clisp.org>
32377
32378         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
32379         ptrdiff_t as m4/intl.m4.
32380
32381 2007-11-10  Jim Meyering  <meyering@redhat.com>
32382
32383         Avoid link failure for the argmatch test.
32384         * tests/test-argmatch.c (usage): Define function to avoid a link
32385         failure: argmatch_die requires a usage function.
32386
32387 2007-11-09  Bruno Haible  <bruno@clisp.org>
32388
32389         * doc/functions/snprintf.texi: Mention BeOS deficiency.
32390         * doc/functions/vsnprintf.texi: Likewise.
32391         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
32392         with a size argument < 2.
32393
32394 2007-11-09  Bruno Haible  <bruno@clisp.org>
32395
32396         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
32397         buffer. Fixes an inefficiency introduced on 2007-11-03.
32398
32399 2007-11-09  Bruno Haible  <bruno@clisp.org>
32400
32401         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
32402         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
32403
32404 2007-11-08  Jim Meyering  <meyering@redhat.com>
32405
32406         Change cache variable name prefix "jm_" to "gl_" everywhere.
32407         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
32408         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
32409         * m4/uptime.m4: s/gl_/jm_/
32410
32411 2007-11-07  Bruno Haible  <bruno@clisp.org>
32412
32413         Update to GNU gettext 0.17.
32414         * m4/intl.m4: Update to GNU gettext 0.17.
32415         * m4/po.m4: Likewise.
32416         * modules/gettext (Files): Remove m4/ulonglong.m4.
32417         (configure.ac): Require gettext infrastructure from version 0.17.
32418
32419 2007-11-06  Bruno Haible  <bruno@clisp.org>
32420
32421         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
32422         symbolic values are not defined in a public header.
32423         * lib/freadable.c (freadable) [QNX]: Likewise.
32424         * lib/freadahead.c (freadahead) [QNX]: Likewise.
32425         * lib/freading.c (freading) [QNX]: Likewise.
32426         * lib/fseterr.c (fseterr) [QNX]: Likewise.
32427         * lib/fwritable.c (fwritable) [QNX]: Likewise.
32428         * lib/fwriting.c (fwriting) [QNX]: Likewise.
32429         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
32430         Reported by Alain Magloire.
32431
32432         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
32433
32434 2007-11-05  Bruno Haible  <bruno@clisp.org>
32435
32436         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
32437         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
32438         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
32439         Reported by Eric Blake.
32440
32441 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32442             Bruno Haible  <bruno@clisp.org>
32443
32444         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
32445         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
32446         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
32447         (malloc): Undefine also before including <stdlib.h>.
32448         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
32449         Needed on OSF/1 4.0.
32450
32451 2007-11-05  Jim Meyering  <meyering@redhat.com>
32452
32453         git-version-gen: sync from coreutils.
32454         * build-aux/git-version-gen: Add comments.
32455         Change the first '-' to '.' in the snapshot version string,
32456         e.g., 6.9-377-08144 -> 6.9.377-08144
32457         Remove first parameter.
32458         Don't declare a version "-dirty" merely because a time
32459         stamp has changed.
32460
32461 2007-11-04  Bruno Haible  <bruno@clisp.org>
32462
32463         * lib/lock.h: Protect all macro definitions containing an 'if'
32464         statement through a "do { ... } while (0)".
32465         * lib/tls.h: Likewise.
32466
32467 2007-11-04  Bruno Haible  <bruno@clisp.org>
32468
32469         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
32470
32471 2007-11-04  Bruno Haible  <bruno@clisp.org>
32472
32473         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
32474         * modules/fprintf-posix (Depends-on): Add nocrash.
32475         * modules/snprintf-posix (Depends-on): Likewise.
32476         * modules/sprintf-posix (Depends-on): Likewise.
32477         * modules/vasnprintf-posix (Depends-on): Likewise.
32478         * modules/vasprintf-posix (Depends-on): Likewise.
32479         * modules/vfprintf-posix (Depends-on): Likewise.
32480         * modules/vsnprintf-posix (Depends-on): Likewise.
32481         * modules/vsprintf-posix (Depends-on): Likewise.
32482         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32483         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32484         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32485         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32486         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32487         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32488         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32489
32490 2007-11-04  Bruno Haible  <bruno@clisp.org>
32491
32492         * modules/nocrash: New file.
32493         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
32494         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
32495
32496 2007-11-04  Bruno Haible  <bruno@clisp.org>
32497
32498         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
32499         precision handling.
32500         * tests/test-vasprintf-posix.c (test_function): Likewise.
32501         * tests/test-snprintf-posix.h (test_function): Likewise.
32502         * tests/test-sprintf-posix.h (test_function): Likewise.
32503
32504         Fix *printf behaviour for large precisions on mingw and BeOS.
32505         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
32506         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
32507         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
32508         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32509         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32510         gl_PRINTF_PRECISION and test its result. Invoke
32511         gl_PREREQ_VASNPRINTF_PRECISION.
32512         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32513         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32514         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32515         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32516         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32517         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32518         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32519         * doc/functions/fprintf.texi: Update.
32520         * doc/functions/printf.texi: Update.
32521         * doc/functions/snprintf.texi: Update.
32522         * doc/functions/sprintf.texi: Update.
32523         * doc/functions/vfprintf.texi: Update.
32524         * doc/functions/vprintf.texi: Update.
32525         * doc/functions/vsnprintf.texi: Update.
32526         * doc/functions/vsprintf.texi: Update.
32527
32528 2007-11-04  Bruno Haible  <bruno@clisp.org>
32529
32530         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
32531
32532 2007-11-04  Bruno Haible  <bruno@clisp.org>
32533
32534         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
32535         Reported by Sylvain Beucler <beuc@gnu.org>.
32536
32537 2007-11-03  Bruno Haible  <bruno@clisp.org>
32538
32539         * tests/test-fprintf-posix2.sh: New file.
32540         * tests/test-fprintf-posix2.c: New file.
32541         * modules/fprintf-posix-tests (Files): Add them.
32542         (TESTS): Add test-fprintf-posix2.sh.
32543         (configure.ac): Check for getrlimit and setrlimit.
32544         (check_PROGRAMS): Add test-fprintf-posix2.
32545
32546         * tests/test-printf-posix2.sh: New file.
32547         * tests/test-printf-posix2.c: New file.
32548         * modules/printf-posix-tests (Files): Add them.
32549         (TESTS): Add test-printf-posix2.sh.
32550         (configure.ac): Check for getrlimit and setrlimit.
32551         (check_PROGRAMS): Add test-printf-posix2.
32552
32553         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
32554         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
32555         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
32556         (decode_double): New function, copied from decode_long_double.
32557         (scale10_round_decimal_decoded): New function, extracted from
32558         scale10_round_decimal_long_double.
32559         (scale10_round_decimal_long_double): Use it.
32560         (scale10_round_decimal_double): New function.
32561         (floorlog10): New function.
32562         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
32563         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
32564         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32565         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
32566         gl_PRINTF_ENOMEM and test its result. Invoke
32567         gl_PREREQ_VASNPRINTF_ENOMEM.
32568         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
32569         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
32570         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
32571         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
32572         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
32573         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
32574         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
32575         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
32576         * modules/snprintf-posix (Depends-on): Likewise.
32577         * modules/sprintf-posix (Depends-on): Likewise.
32578         * modules/vasnprintf-posix (Depends-on): Likewise.
32579         * modules/vasprintf-posix (Depends-on): Likewise.
32580         * modules/vfprintf-posix (Depends-on): Likewise.
32581         * modules/vsnprintf-posix (Depends-on): Likewise.
32582         * modules/vsprintf-posix (Depends-on): Likewise.
32583         * doc/functions/fprintf.texi: Update.
32584         * doc/functions/printf.texi: Update.
32585         * doc/functions/snprintf.texi: Update.
32586         * doc/functions/sprintf.texi: Update.
32587         * doc/functions/vfprintf.texi: Update.
32588         * doc/functions/vprintf.texi: Update.
32589         * doc/functions/vsnprintf.texi: Update.
32590         * doc/functions/vsprintf.texi: Update.
32591
32592 2007-11-03  Bruno Haible  <bruno@clisp.org>
32593
32594         * modules/frexp-nolibm-tests: New file.
32595
32596         * modules/frexp-nolibm: New file.
32597         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
32598
32599 2007-11-03  Bruno Haible  <bruno@clisp.org>
32600
32601         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
32602         value is C99 compliant.
32603         Needed for OSF/1 5.1.
32604
32605 2007-11-03  Bruno Haible  <bruno@clisp.org>
32606
32607         Fix out-of-memory handling of vasnprintf.
32608         * lib/printf-parse.c: Include <errno.h>.
32609         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
32610         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
32611         is already set.
32612
32613 2007-11-02  Eric Blake  <ebb9@byu.net>
32614
32615         Fix tests on cygwin.
32616         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
32617
32618 2007-11-01  Bruno Haible  <bruno@clisp.org>
32619
32620         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
32621         warning.
32622         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
32623         needed for POSIX compatibility.
32624
32625 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
32626
32627         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
32628         for compatibility with GNU.
32629
32630 2007-11-01  Bruno Haible  <bruno@clisp.org>
32631
32632         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
32633         (putenv): Renamed from rpl_putenv. Change argument type from
32634         'const char *' to 'char *'.
32635         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
32636         of defining putenv in config.h, just set REPLACE_PUTENV.
32637         * modules/putenv (Depends-on): Add stdlib.
32638         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32639         (Include): Use <stdlib.h>.
32640         * lib/stdlib.in.h (putenv): New declaration.
32641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
32642         REPLACE_PUTENV.
32643         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
32644         REPLACE_PUTENV.
32645         Needed for MacOS X 10.5.0.
32646         Reported by Peter O'Gorman <peter@pogma.com>.
32647
32648 2007-11-01  Jim Meyering  <meyering@redhat.com>
32649
32650         Treat an empty date string exactly like "0".
32651         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
32652         if the remaining date string (to be parsed) is empty, use "0".
32653         Reported by Mischa Molhoek and discussed in this thread:
32654         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
32655
32656 2007-10-31  Bruno Haible  <bruno@clisp.org>
32657
32658         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
32659         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
32660         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
32661         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
32662         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
32663         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
32664
32665 2007-10-31  Bruno Haible  <bruno@clisp.org>
32666
32667         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
32668         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
32669         (AC_TYPE_LONG_LONG_INT): Use it.
32670         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
32671         it as well.
32672         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
32673         to m4/longlong.m4.
32674         * modules/stdint (Files): Remove m4/ulonglong.m4.
32675         * modules/strtoull (Files): Use m4/longlong.m4 instead of
32676         m4/ulonglong.m4.
32677         * modules/strtoumax (Files): Likewise.
32678
32679 2007-10-30  Bruno Haible  <bruno@clisp.org>
32680
32681         * modules/xvasprintf-posix: New file.
32682         Suggested by Eric Blake.
32683
32684 2007-10-30  Bruno Haible  <bruno@clisp.org>
32685
32686         * modules/xprintf-posix-tests: New file.
32687         * tests/test-xprintf-posix.sh: New file.
32688         * tests/test-xprintf-posix.c: New file.
32689         * tests/test-xfprintf-posix.c: New file.
32690
32691         * modules/xprintf-posix: New file.
32692
32693 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32694
32695         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
32696         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
32697         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
32698
32699 2007-10-29  Bruno Haible  <bruno@clisp.org>
32700
32701         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
32702         contain the special marker '_cv_'.
32703         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
32704         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
32705         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
32706         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
32707         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
32708         Reported by Ralf Wildenhues.
32709
32710 2007-10-29  Bruno Haible  <bruno@clisp.org>
32711
32712         * gnulib-tool (func_import): When --lgpl is not specified, set
32713         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
32714         GPLv3.
32715         Reported by Simon Josefsson.
32716
32717 2007-10-28  Bruno Haible  <bruno@clisp.org>
32718
32719         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
32720         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
32721         HAVE_DECL_ISFINITE.
32722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
32723         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
32724         HAVE_DECL_ISFINITE.
32725
32726 2007-10-28  Bruno Haible  <bruno@clisp.org>
32727
32728         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
32729         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
32730
32731 2007-10-28  Bruno Haible  <bruno@clisp.org>
32732
32733         Fix link errors with Sun C 5.0 on Solaris 10.
32734         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
32735         function is declared but not present in the compiler's libm.
32736         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32737         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
32738         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
32739         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
32740         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
32741         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
32742         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
32743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
32744         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
32745         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
32746         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
32747         HAVE_DECL_FLOORL.
32748
32749 2007-10-28  Bruno Haible  <bruno@clisp.org>
32750
32751         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
32752         gl_FUNC_FLOORL. Cache the result.
32753         (gl_FUNC_FLOORL): Use it.
32754         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
32755         gl_FUNC_CEILL. Cache the result.
32756         (gl_FUNC_CEILL): Use it.
32757
32758         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
32759         gl_FUNC_FLOOR. Cache the result.
32760         (gl_FUNC_FLOOR): Use it.
32761         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
32762         gl_FUNC_CEIL. Cache the result.
32763         (gl_FUNC_CEIL): Use it.
32764
32765         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
32766         gl_FUNC_FLOORF. Cache the result.
32767         (gl_FUNC_FLOORF): Use it.
32768         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
32769         gl_FUNC_CEILF. Cache the result.
32770         (gl_FUNC_CEILF): Use it.
32771
32772 2007-10-28  Bruno Haible  <bruno@clisp.org>
32773
32774         * gnulib-tool: Allow specifying the LGPL version number through
32775         --lgpl=2 or --lgpl=3.
32776         (func_usage): Document --lgpl with argument.
32777         Handle --lgpl=... arguments.
32778         (func_import): Recognize also gl_LGPL calls with an argument. When
32779         --lgpl=2 is used and the module's license is just LGPL, report an
32780         error. Set sed_transform_lib_file according to the lgpl variable. In
32781         the generated files, use --lgpl or gl_LGPL invocations with argument,
32782         if necessary.
32783         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
32784         an LGPv2+ license.
32785         * doc/gnulib-tool.texi (Modified imports): Update explanation of
32786         gl_LGPL macro.
32787
32788 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32789             Bruno Haible  <bruno@clisp.org>
32790
32791         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
32792         (u16_uctomb_aux): Likewise.
32793         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
32794         !HAVE_INLINE.
32795         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
32796
32797 2007-10-28  Bruno Haible  <bruno@clisp.org>
32798
32799         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
32800         Invoke AM_GETTEXT_OPTION if it exists.
32801         * modules/vasprintf: Likewise.
32802         * modules/verror: Likewise.
32803         * modules/xprintf: Likewise.
32804         * modules/xvasprintf: Likewise.
32805
32806 2007-10-27  Ben Pfaff  <blp@gnu.org>
32807
32808         * lib/math.in.h: Define isfinite macro and prototypes for
32809         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
32810         implementations.
32811         * m4/math_h.m4: New substitutions for isfinite module.
32812         * lib/isfinite.c: New file.
32813         * m4/isfinite.m4: New file.
32814         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
32815         * modules/isfinite: New file.
32816         * modules/isfinite-tests: New file.
32817         * tests/tests-isfinite.c: New file.
32818         * doc/functions/isfinite.texi: Mention isfinite module.
32819         * MODULES.html.sh: Mention new module.
32820
32821 2007-10-27  Ben Pfaff  <blp@gnu.org>
32822
32823         Ralf Wildenhues reported that Tru64 4.0D declares the round
32824         functions but does not have definitions.
32825         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
32826         cannot be found in any library, set the output variable to
32827         "missing" instead of "".
32828         * m4/round.m4: Also use our substitute if we cannot find round in
32829         any library, even if it is declared.
32830         * m4/roundf.m4: Likewise for roundf.
32831         * m4/roundl.m4: Likewise for roundl.
32832         * lib/math.in.h: Undefine roundf, round, roundl before defining
32833         their replacements, to allow for hypothetical systems where these
32834         may be defined as macros but not available in libraries.
32835
32836 2007-10-27  Bruno Haible  <bruno@clisp.org>
32837
32838         * doc/gnulib.texi: Invoke @firstparagraphindent.
32839         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
32840         changes in gnulib.
32841         (Source changes): New section.
32842
32843 2007-10-26  Bruno Haible  <bruno@clisp.org>
32844
32845         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
32846         borrowed from autoconf.
32847
32848 2007-10-26  Bruno Haible  <bruno@clisp.org>
32849
32850         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
32851         strerror returned the empty string. Needed on HP-UX 11.00.
32852
32853 2007-10-24  Micah Cowan  <micah@cowan.name>
32854
32855         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
32856         * build-aux/bootstrap: Remove support for now-unnecessary option,
32857         --cvs-user, and envvars CVS_USER, CVS_RSH.
32858
32859 2007-10-24  Jim Meyering  <meyering@redhat.com>
32860
32861         Avoid diagnostics from sha1sum when there is no cached checksum.
32862         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
32863         if the po.s1 file hasn't been created yet.
32864
32865         * build-aux/bootstrap: Sync from coreutils:
32866         2007-10-24  Jim Meyering  <meyering@redhat.com>
32867         Get gnulib from the git repository, not from an obsolete cvs one.
32868         * build-aux/bootstrap: Suggestion from Micah Cowan.
32869         2007-10-04  Jim Meyering  <jim@meyering.net>
32870         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
32871         (update_po_files): Work also when there are no .po files in po/.
32872
32873 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
32874
32875         * README: Append ".git" to git and cg examples.
32876         Problem reported by Benoit Sigoure.
32877
32878 2007-10-23  Micah Cowan  <micah@cowan.name>
32879
32880         * users.txt: Add wget.
32881
32882 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32883
32884         Fix linking of some unistdio tests on FreeBSD.
32885         * modules/unistdio/u16-vsnprintf-tests
32886         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
32887         * modules/unistdio/u16-vsprintf-tests
32888         (test_u16_vsnprintf1_LDADD): Likewise.
32889         * modules/unistdio/u32-vsnprintf-tests
32890         (test_u32_vsnprintf1_LDADD): Likewise.
32891         * modules/unistdio/u32-vsprintf-tests
32892         (test_u32_vsprintf1_LDADD): Likewise.
32893         * modules/unistdio/u8-vsnprintf-tests
32894         (test_u8_vsnprintf1_LDADD): Likewise.
32895         * modules/unistdio/u8-vsprintf-tests
32896         (test_u8_vsprintf1_LDADD): Likewise.
32897         * modules/unistdio/ulc-vsnprintf-tests
32898         (test_ulc_vsnprintf1_LDADD): Likewise.
32899         * modules/unistdio/ulc-vsprintf-tests
32900         (test_ulc_vsprintf1_LDADD): Likewise.
32901
32902         Fix linking of some uniconv tests on FreeBSD.
32903         * modules/uniconv/u16-conv-from-enc-tests
32904         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
32905         * modules/uniconv/u16-conv-to-enc-tests
32906         (test_u16_conv_to_enc_LDADD): Likewise.
32907         * modules/uniconv/u16-strconv-from-enc-tests
32908         (test_u16_strconv_from_enc_LDADD): Likewise.
32909         * modules/uniconv/u16-strconv-to-enc-tests
32910         (test_u16_strconv_to_enc_LDADD): Likewise.
32911         * modules/uniconv/u32-conv-from-enc-tests
32912         (test_u32_conv_from_enc_LDADD): Likewise.
32913         * modules/uniconv/u32-conv-to-enc-tests
32914         (test_u32_conv_to_enc_LDADD): Likewise.
32915         * modules/uniconv/u32-strconv-from-enc-tests
32916         (test_u32_strconv_from_enc_LDADD): Likewise.
32917         * modules/uniconv/u32-strconv-to-enc-tests
32918         (test_u32_strconv_to_enc_LDADD): Likewise.
32919         * modules/uniconv/u8-conv-from-enc-tests
32920         (test_u8_conv_from_enc_LDADD): Likewise.
32921         * modules/uniconv/u8-conv-to-enc-tests
32922         (test_u8_conv_to_enc_LDADD): Likewise.
32923         * modules/uniconv/u8-strconv-from-enc-tests
32924         (test_u8_strconv_from_enc_LDADD): Likewise.
32925         * modules/uniconv/u8-strconv-to-enc-tests
32926         (test_u8_strconv_to_enc_LDADD): Likewise.
32927
32928 2007-10-22  Bruno Haible  <bruno@clisp.org>
32929
32930         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
32931         size.
32932
32933 2007-10-22  Eric Blake  <ebb9@byu.net>
32934
32935         Tweak x*printf documentation.
32936         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
32937         variable name and comments.
32938         Suggested by Bruno Haible.
32939
32940 2007-10-22  Bruno Haible  <bruno@clisp.org>
32941
32942         * lib/acl.c (copy_acl): Fix file name in comment.
32943
32944 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
32945
32946         Fix Tru64 problem with stdbool.h.
32947         * lib/stdbool.in.h (false, true):
32948         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
32949         Don't declare as an enum in this situation; it runs afoul of Tru64.
32950         Problem reported by Steven M. Schweda in
32951         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
32952
32953 2007-10-22  Eric Blake  <ebb9@byu.net>
32954
32955         Also wrap vf?printf.
32956         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
32957         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
32958         (xvprintf, xvfprintf): New functions.
32959
32960 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32961
32962         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
32963         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
32964
32965         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
32966         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
32967
32968 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
32969
32970         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
32971         by Bruno Haible.
32972
32973 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32974
32975         * lib/getloadavg.c
32976         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
32977         Undef `sys' after including sys/table.h, for Tru64 4.0D.
32978
32979         * tests/test-i-ring.c: Work for C89.
32980
32981 2007-10-22  Bruno Haible  <bruno@clisp.org>
32982
32983         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
32984         -1u, in preprocessor expression, so that we don't test for the bug
32985         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
32986         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
32987
32988 2007-10-22  Eric Blake  <ebb9@byu.net>
32989
32990         * tests/test-yesno.sh: Silence stderr during test.
32991
32992 2007-10-22  Simon Josefsson  <simon@josefsson.org>
32993
32994         * modules/crypto/gc-camellia: New file.
32995
32996         * m4/gc-camellia.m4: New file.
32997
32998         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
32999
33000         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
33001
33002 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33003
33004         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
33005         --help to stdout.  Reported by sms@antinode.org (Steven
33006         M. Schweda).
33007
33008 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33009
33010         * users.txt: Fix link to libksba.
33011
33012 2007-10-21  Ben Pfaff  <blp@gnu.org>
33013
33014         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
33015         round.c roundf implementation that depends on floorf and ceilf to
33016         be tested unconditionally.
33017
33018 2007-10-21  Ben Pfaff  <blp@gnu.org>
33019
33020         * m4/check-libm-func.m4: Removed.
33021         * m4/check-math-lib.m4: New file.
33022         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
33023         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
33024         definition and lack of AC_LIBOBJ([roundf]).
33025         * m4/roundl.m4: Ditto, and similarly for roundl.
33026         * modules/round: Reference new m4 file.
33027         * modules/roundf: Ditto.
33028         * modules/roundl: Ditto.
33029         * tests/test-round2.c (main): Use ROUND instead of round.
33030         Bug report from Bruno Haible.
33031
33032 2007-10-21  Bruno Haible  <bruno@clisp.org>
33033
33034         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
33035         context.
33036
33037 2007-10-21  Bruno Haible  <bruno@clisp.org>
33038
33039         * tests/test-wcwidth.c (main): Allow negative result for some control
33040         characters.
33041
33042         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
33043         Needed on OSF/1 5.1.
33044
33045 2007-10-21  Bruno Haible  <bruno@clisp.org>
33046
33047         * tests/test-floorf1.c: Include isnanf.h.
33048         (main): Use isnanf() instead of isnan().
33049         * tests/test-ceilf1.c: Include isnanf.h.
33050         (main): Use isnanf() instead of isnan().
33051         * tests/test-truncf1.c: Include isnanf.h.
33052         (main): Use isnanf() instead of isnan().
33053         * tests/test-roundf1.c: Include isnanf.h.
33054         (main): Use isnanf() instead of isnan().
33055
33056 2007-10-21  Eric Blake  <ebb9@byu.net>
33057
33058         * users.txt: Update URL for m4.
33059
33060 2007-10-21  Bruno Haible  <bruno@clisp.org>
33061
33062         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
33063
33064 2007-10-21  Bruno Haible  <bruno@clisp.org>
33065
33066         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
33067         Git's management files if the CVS files are not present.
33068
33069 2007-10-20  Bruno Haible  <bruno@clisp.org>
33070
33071         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
33072         gcc-3.4.x.
33073
33074 2007-10-20  Ben Pfaff  <blp@gnu.org>
33075
33076         * lib/math.in.h: Declare round, roundf, roundl if we are providing
33077         implementations.
33078         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
33079         * lib/round.c: New file.
33080         * lib/roundf.c: New file.
33081         * lib/roundl.c: New file.
33082         * m4/round.m4: New file.
33083         * m4/roundf.m4: New file.
33084         * m4/roundl.m4: New file.
33085         * m4/check-libm-func-m4: New file.
33086         * modules/math: Replace round, roundf, roundl related @VARS@ in
33087         math.in.h.
33088         * modules/round: New file.
33089         * modules/round-tests: New file.
33090         * modules/roundf: New file.
33091         * modules/roundf-tests: New file.
33092         * modules/roundl: New file.
33093         * modules/roundl-tests: New file.
33094         * tests/test-round1.c: New file.
33095         * tests/test-round2.c: New file.
33096         * tests/test-roundf1.c: New file.
33097         * tests/test-roundf2.c: New file.
33098         * tests/test-roundl.c: New file.
33099         * doc/functions/round.texi: Mention round module.
33100         * doc/functions/roundf.texi: Mention roundf module.
33101         * doc/functions/roundl.texi: Mention roundl module.
33102         * MODULES.html.sh: Mention new modules.
33103         Thanks to Bruno Haible for suggestions.
33104
33105 2007-10-20  Jim Meyering  <meyering@redhat.com>
33106
33107         * lib/xprintf.c: Include <config.h> unconditionally.
33108
33109         Change xprintf's license to GPL.
33110         * modules/xprintf (License): s/LGPL/GPL/, since this module
33111         depends on modules (exit and exitfail) which are GPL.
33112         Suggestion from Bruno Haible.
33113
33114         xprintf fixes.
33115         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
33116         Use a clearer diagnostic.
33117         Patch from Bruno Haible.
33118
33119 2007-10-20  Bruno Haible  <bruno@clisp.org>
33120
33121         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
33122         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
33123         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33124
33125 2007-10-20  Bruno Haible  <bruno@clisp.org>
33126
33127         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
33128         precision in the comparison result > x - 1 or similar.
33129         * tests/test-ceilf2.c (correct_result_p): Likewise.
33130         * tests/test-truncf2.c (correct_result_p): Likewise.
33131         * tests/test-trunc2.c (correct_result_p): Likewise.
33132         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33133
33134 2007-10-20  Bruno Haible  <bruno@clisp.org>
33135
33136         * modules/ceil: New file.
33137         * m4/ceil.m4: New file.
33138         * doc/functions/ceil.texi: Mention the 'ceil' module.
33139
33140 2007-10-20  Bruno Haible  <bruno@clisp.org>
33141
33142         * modules/floor: New file.
33143         * m4/floor.m4: New file.
33144         * doc/functions/floor.texi: Mention the 'floor' module.
33145
33146 2007-10-20  Bruno Haible  <bruno@clisp.org>
33147
33148         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
33149         of %a.
33150         * modules/floorf-tests (Depends-on): Likewise.
33151         * modules/truncf-tests (Depends-on): Likewise.
33152         * modules/trunc-tests (Depends-on): Likewise.
33153         Reported by Ben Pfaff.
33154
33155 2007-10-19  Jim Meyering  <meyering@redhat.com>
33156
33157         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
33158         Don't bother testing specific errno values.  Just test ferror.
33159
33160         New module: xprintf
33161         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
33162
33163 2007-10-19  Bruno Haible  <bruno@clisp.org>
33164
33165         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
33166         syntax.
33167         * modules/javaexec (Makefile.am): Likewise.
33168         * modules/relocatable-prog (Makefile.am): Likewise.
33169         Suggested by Jim Meyering.
33170
33171 2007-10-18  Bruno Haible  <bruno@clisp.org>
33172
33173         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
33174         Reported by Jim Meyering.
33175
33176 2007-10-18  Eric Blake  <ebb9@byu.net>
33177
33178         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
33179
33180 2007-10-18  Bruno Haible  <bruno@clisp.org>
33181
33182         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
33183         the format string into writable memory. Needed in Fortify conditions.
33184
33185 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
33186             Bruno Haible  <bruno@clisp.org>
33187
33188         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
33189         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
33190         * modules/trim (Depends-on): Add mbchar.
33191         (configure.ac): Add gl_FUNC_MBRTOWC.
33192         (Makefile.am): Augment lib_SOURCES.
33193
33194 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
33195
33196         Modify glob.c to use fstatat and dirfd, to simplify it.
33197         Suggested by Eric Blake.
33198         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
33199         Don't include <stdbool.h>; not used.
33200         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
33201         (link_exists_p): Simplify implementation, since we can now assume
33202         dirfd and fstatat.
33203         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
33204
33205 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33206
33207         * gnulib-tool (func_get_dependencies): Fix sed script to
33208         match only tests.
33209
33210 2007-10-17  Bruno Haible  <bruno@clisp.org>
33211
33212         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
33213         allow locale names without encoding suffix.
33214         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
33215         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33216
33217 2007-10-16  Bruno Haible  <bruno@clisp.org>
33218
33219         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
33220         * lib/getgroups.c (getgroups): Likewise.
33221         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
33222
33223 2007-10-16  Bruno Haible  <bruno@clisp.org>
33224
33225         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
33226         * modules/malloc-posix (License): Likewise.
33227         * modules/realloc-posix (License): Likewise.
33228         * modules/calloc-posix (License): Likewise.
33229         * modules/intprops (License): Change from GPL to LGPL, with
33230         Paul Eggert's approval.
33231
33232 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33233
33234         Merge glibc changes into lib/glob.c.
33235
33236         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
33237         2007-10-15 04:59:03 UTC.  Here are the changes:
33238
33239         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
33240
33241         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
33242
33243         * lib/glob.c: Add some branch prediction throughout.
33244
33245         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
33246
33247         [BZ #5103]
33248         * lib/glob.c (glob): Recognize patterns starting \/.
33249
33250         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
33251
33252         [BZ #3996]
33253         * lib/glob.c (attribute_hidden): Define if not defined.
33254         (glob): Unescape dirname, filename or username when needed and not
33255         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
33256         is NULL.  Handle unescaped [ in pattern without closing ].
33257         Don't pass GLOB_CHECK down to recursive glob for directories.
33258         (__glob_pattern_type): New function.
33259         (__glob_pattern_p): Implement using __glob_pattern_type.
33260         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
33261         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
33262         Remove unreachable code.
33263
33264         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
33265
33266         * lib/glob.c (glob_in_dir): Add some comments and asserts to
33267         explain why there are no leaks.
33268
33269         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
33270
33271         [BZ #3253]
33272         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
33273         time, rather allocate increasingly bigger arrays of pointers, if
33274         possible with alloca, if too large with malloc.
33275
33276 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33277
33278         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
33279         Problem reported by H.Merijn Brand in
33280         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
33281         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
33282         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
33283
33284 2007-10-15  Bruno Haible  <bruno@clisp.org>
33285
33286         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
33287         with explicit rpl_ prefix.
33288         * lib/fopen.c (fopen): Likewise.
33289         * lib/freopen.c (freopen): Likewise.
33290         * lib/iconv.c (iconv): Likewise.
33291         * lib/iconv_close.c (iconv_close): Likewise.
33292
33293 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33294
33295         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
33296
33297 2007-10-15  Bruno Haible  <bruno@clisp.org>
33298
33299         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
33300         <stddef.h> instead of <stdlib.h> since we only need NULL.
33301         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33302
33303 2007-10-15  Bruno Haible  <bruno@clisp.org>
33304
33305         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
33306         Replace paragraph talking about LIBOBJS.
33307         Reported by Colin Watson <cjwatson@debian.org>.
33308
33309 2007-10-15  Bruno Haible  <bruno@clisp.org>
33310
33311         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
33312         <stdlib.h> before using NULL.
33313
33314 2007-10-15  Simon Josefsson  <simon@josefsson.org>
33315
33316         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
33317         Reported by Albert Chin <china@thewrittenword.com>.
33318
33319 2007-10-14  Bruno Haible  <bruno@clisp.org>
33320
33321         * modules/iconv_open-utf-tests: New file.
33322         * tests/test-iconv-utf.c: New file.
33323
33324         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
33325         * modules/iconv_open-utf: New file.
33326         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
33327         (iconv, iconv_close): New declarations.
33328         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
33329         be defined.
33330         (iconv_open): Add special handling of conversion between UTF-8 and
33331         UTF-{16,32}{BE,LE}.
33332         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
33333         * lib/iconv_close.c: New file.
33334         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
33335         gl_FUNC_ICONV_OPEN.
33336         (gl_FUNC_ICONV_OPEN): Use it.
33337         (gl_FUNC_ICONV_OPEN_UTF): New macro.
33338         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
33339         and REPLACE_ICONV_UTF.
33340         * modules/iconv_open (Depends-on): Add c-strcase.
33341         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
33342         ICONV_CONST.
33343         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
33344
33345 2007-10-13  Albert Chin  <china@thewrittenword.com>
33346             Bruno Haible  <bruno@clisp.org>
33347
33348         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
33349         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
33350
33351 2007-10-13  Bruno Haible  <bruno@clisp.org>
33352
33353         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
33354         defined, use the ISO C99 inline semantics.
33355         * lib/argp.h (ARGP_EI): Likewise.
33356
33357 2007-10-13  Bruno Haible  <bruno@clisp.org>
33358
33359         Handle 'inline' change in gcc 4.3.0.
33360         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
33361         argp_fmtstream_write, argp_fmtstream_set_lmargin,
33362         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
33363         argp_fmtstream_point): Disable 'extern' declaration if the function
33364         definition is going to be provided inline.
33365         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
33366         semantics, not the ISO C99 inline semantics.
33367         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
33368         'extern' declaration if the function definition is going to be provided
33369         inline.
33370         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
33371         the GNU C inline semantics, not the ISO C99 inline semantics. With
33372         GCC 4.2, avoid a warning.
33373
33374 2007-10-13  Bruno Haible  <bruno@clisp.org>
33375
33376         * lib/freading.h (freading): Enable the use of __freading for
33377         glibc >= 2.7.
33378         * lib/freading.c (freading): Likewise.
33379
33380 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33381
33382         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
33383         "warning: C99 inline functions are not supported; using GNU89".
33384
33385 2007-10-12  Bruno Haible  <bruno@clisp.org>
33386
33387         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
33388         of 2.
33389         * tests/test-ceilf2.c: New file.
33390         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
33391
33392         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
33393         * modules/ceilf-tests: Update.
33394
33395 2007-10-12  Bruno Haible  <bruno@clisp.org>
33396
33397         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
33398         of 2.
33399         * tests/test-floorf2.c: New file.
33400         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
33401
33402         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
33403         * modules/floorf-tests: Update.
33404
33405 2007-10-12  Bruno Haible  <bruno@clisp.org>
33406
33407         * tests/test-trunc2.c: New file.
33408         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
33409
33410         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
33411         * modules/trunc-tests: Update.
33412
33413 2007-10-12  Bruno Haible  <bruno@clisp.org>
33414
33415         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
33416         of 2.
33417         * tests/test-truncf2.c: New file.
33418         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
33419
33420         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
33421         * modules/truncf-tests: Update.
33422
33423 2007-10-11  Eric Blake  <ebb9@byu.net>
33424
33425         Don't claim strerror is broken on Interix.
33426         * doc/functions/strerror.texi (strerror): Known broken systems are
33427         now Solaris 8, and not Interix.
33428         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
33429         Interix on cross-compile.
33430         Reported by Martin Koeppe in
33431         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
33432
33433 2007-10-11  Bruno Haible  <bruno@clisp.org>
33434
33435         * modules/i-ring-tests: New file.
33436         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
33437         instead of assert.
33438
33439 2007-10-11  Bruno Haible  <bruno@clisp.org>
33440
33441         * modules/filenamecat-tests: New file.
33442         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
33443         * lib/filenamecat.c: Remove test code.
33444
33445 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
33446
33447         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
33448
33449         * lib/strerror.c: Include <string.h> always, to test interface,
33450         and to remove the need for the dummy.
33451         Include intprops.h to compute width instead of doing it ourselves
33452         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
33453         (strerror): Define it to return NULL if there's no system strerror.
33454         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
33455         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
33456         ancient pre-strerror Unix systems well any more.  Saying "unknown
33457         system error" is enough.
33458         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
33459         simpler strerror.c implementation.
33460         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
33461         Simplify the tests to reflect the simpler strerror implementation.
33462         * modules/strerror (Depends-on): Add intprops.
33463
33464 2007-10-09  Eric Blake  <ebb9@byu.net>
33465
33466         Silence test-fpending.
33467         * modules/fpending-tests (Files): Add wrapper script.
33468         * tests/test-fpending.sh: New file.
33469
33470 2007-10-09  Bruno Haible  <bruno@clisp.org>
33471
33472         * MODULES.html.sh (func_module): Don't create a hyperlink for
33473         function names like 'printf_frexp'.
33474         (Misc): Add crc, memxor.
33475         (Characteristics of floating types): New section.
33476         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
33477         isnanf-nolibm, signbit, trunc, truncf, truncl.
33478         (Enhancements for ISO C 99 functions): New subsection Input/output.
33479         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
33480         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
33481         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
33482         (Compatibility checks for POSIX:2001 functions): Add clock-time.
33483         (Enhancements for POSIX:2001 functions): Add chdir-long.
33484         (File system functions): Add areadlink, chdir-safer, read-file.
33485         Remove cycle-check.
33486         (File system as inode set): New section.
33487         (Date and time): Add gethrxtime.
33488         (Multithreading): Add openmp.
33489         (Internationalization functions): Add localename.
33490         (Unicode string functions): Add unistr/u*-mbsnlen.
33491         (Support for maintaining and releasing projects): Add git-version-gen.
33492         (Lone files): Remove directories.
33493
33494 2007-10-08  Ben Pfaff  <blp@gnu.org>
33495
33496         * lib/xmalloca.h: Fix typo in comment.
33497
33498 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
33499
33500         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
33501         when avoiding problems with integer overflow.  Use a portable test
33502         instead.
33503
33504 2007-10-08  Simon Josefsson  <simon@josefsson.org>
33505
33506         * modules/dummy (License): Change to LGPLv2+.
33507         * modules/float (License): Likewise
33508         * modules/realloc (License): Likewise
33509         * modules/stdlib (License): Likewise
33510
33511 2007-10-07  Bruno Haible  <bruno@clisp.org>
33512
33513         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
33514         * floor.c (TWO_MANT_DIG): Likewise.
33515         * ceil.c (TWO_MANT_DIG): Likewise.
33516         Reported by Ben Pfaff.
33517
33518 2007-10-07  Bruno Haible  <bruno@clisp.org>
33519
33520         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
33521         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
33522         * lib/frexp.c (FUNC): Likewise.
33523         * lib/printf-frexp.h (printf_frexp): Likewise.
33524         * lib/printf-frexpl.h (printf_frexpl): Likewise.
33525         * lib/printf-frexp.c (FUNC): Likewise.
33526         Suggested by Jim Meyering.
33527
33528 2007-10-07  Jim Meyering  <meyering@redhat.com>
33529
33530         Make xnanosleep's integer overflow test more robust.
33531         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
33532         so that gcc-4.3.0 doesn't optimize away this test for overflow.
33533
33534 2007-10-07  Bruno Haible  <bruno@clisp.org>
33535
33536         * NEWS: Mention the license change.
33537
33538         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
33539         abbreviations in the modules files.
33540
33541         Change copyright notice from GPLv2+ to GPLv3+.
33542         * README: Change copyright notice.
33543         * MODULES.html.sh: Likewise.
33544         * build-aux/bootstrap.conf: Likewise.
33545         * build-aux/config.libpath: Likewise.
33546         * build-aux/csharpcomp.sh.in: Likewise.
33547         * build-aux/csharpexec.sh.in: Likewise.
33548         * build-aux/install-reloc: Likewise.
33549         * build-aux/javacomp.sh.in: Likewise.
33550         * build-aux/javaexec.sh.in: Likewise.
33551         * build-aux/ldd.sh.in: Likewise.
33552         * build-aux/reloc-ldflags: Likewise.
33553         * build-aux/relocatable.sh.in: Likewise.
33554         * build-aux/x-to-1.in: Likewise.
33555         * check-module: Likewise.
33556         * config/srclistvars.sh: Likewise.
33557         * gnulib-tool: Likewise.
33558         * lib/acl-internal.h: Likewise.
33559         * lib/acl.c: Likewise.
33560         * lib/acl.h: Likewise.
33561         * lib/acl_entries.c: Likewise.
33562         * lib/areadlink-with-size.c: Likewise.
33563         * lib/areadlink.c: Likewise.
33564         * lib/areadlink.h: Likewise.
33565         * lib/argmatch.c: Likewise.
33566         * lib/argmatch.h: Likewise.
33567         * lib/argp-ba.c: Likewise.
33568         * lib/argp-eexst.c: Likewise.
33569         * lib/argp-fmtstream.c: Likewise.
33570         * lib/argp-fmtstream.h: Likewise.
33571         * lib/argp-fs-xinl.c: Likewise.
33572         * lib/argp-help.c: Likewise.
33573         * lib/argp-namefrob.h: Likewise.
33574         * lib/argp-parse.c: Likewise.
33575         * lib/argp-pin.c: Likewise.
33576         * lib/argp-pv.c: Likewise.
33577         * lib/argp-pvh.c: Likewise.
33578         * lib/argp-xinl.c: Likewise.
33579         * lib/argp.h: Likewise.
33580         * lib/at-func.c: Likewise.
33581         * lib/atanl.c: Likewise.
33582         * lib/backupfile.c: Likewise.
33583         * lib/backupfile.h: Likewise.
33584         * lib/basename.c: Likewise.
33585         * lib/binary-io.h: Likewise.
33586         * lib/byteswap.in.h: Likewise.
33587         * lib/c-stack.c: Likewise.
33588         * lib/c-stack.h: Likewise.
33589         * lib/c-strcasestr.c: Likewise.
33590         * lib/c-strcasestr.h: Likewise.
33591         * lib/c-strstr.c: Likewise.
33592         * lib/c-strstr.h: Likewise.
33593         * lib/c-strtod.c: Likewise.
33594         * lib/calloc.c: Likewise.
33595         * lib/canon-host.c: Likewise.
33596         * lib/canon-host.h: Likewise.
33597         * lib/canonicalize-lgpl.c: Likewise.
33598         * lib/canonicalize.c: Likewise.
33599         * lib/canonicalize.h: Likewise.
33600         * lib/ceil.c: Likewise.
33601         * lib/ceilf.c: Likewise.
33602         * lib/ceill.c: Likewise.
33603         * lib/chdir-long.c: Likewise.
33604         * lib/chdir-long.h: Likewise.
33605         * lib/chdir-safer.c: Likewise.
33606         * lib/chdir-safer.h: Likewise.
33607         * lib/chown.c: Likewise.
33608         * lib/classpath.c: Likewise.
33609         * lib/classpath.h: Likewise.
33610         * lib/clean-temp.c: Likewise.
33611         * lib/clean-temp.h: Likewise.
33612         * lib/cloexec.c: Likewise.
33613         * lib/close-stream.c: Likewise.
33614         * lib/closein.c: Likewise.
33615         * lib/closein.h: Likewise.
33616         * lib/closeout.c: Likewise.
33617         * lib/closeout.h: Likewise.
33618         * lib/concat-filename.c: Likewise.
33619         * lib/copy-file.c: Likewise.
33620         * lib/copy-file.h: Likewise.
33621         * lib/count-one-bits.h: Likewise.
33622         * lib/crc.c: Likewise.
33623         * lib/crc.h: Likewise.
33624         * lib/creat-safer.c: Likewise.
33625         * lib/csharpcomp.c: Likewise.
33626         * lib/csharpcomp.h: Likewise.
33627         * lib/csharpexec.c: Likewise.
33628         * lib/csharpexec.h: Likewise.
33629         * lib/cycle-check.c: Likewise.
33630         * lib/cycle-check.h: Likewise.
33631         * lib/diacrit.c: Likewise.
33632         * lib/diacrit.h: Likewise.
33633         * lib/diffseq.h: Likewise.
33634         * lib/dirchownmod.c: Likewise.
33635         * lib/dirent.in.h: Likewise.
33636         * lib/dirfd.c: Likewise.
33637         * lib/dirfd.h: Likewise.
33638         * lib/dirname.c: Likewise.
33639         * lib/dirname.h: Likewise.
33640         * lib/dummy.c: Likewise.
33641         * lib/dup-safer.c: Likewise.
33642         * lib/dup2.c: Likewise.
33643         * lib/eealloc.h: Likewise.
33644         * lib/error.c: Likewise.
33645         * lib/error.h: Likewise.
33646         * lib/euidaccess.c: Likewise.
33647         * lib/exclude.c: Likewise.
33648         * lib/exclude.h: Likewise.
33649         * lib/execute.c: Likewise.
33650         * lib/execute.h: Likewise.
33651         * lib/exitfail.c: Likewise.
33652         * lib/exitfail.h: Likewise.
33653         * lib/expl.c: Likewise.
33654         * lib/fatal-signal.c: Likewise.
33655         * lib/fatal-signal.h: Likewise.
33656         * lib/fbufmode.c: Likewise.
33657         * lib/fbufmode.h: Likewise.
33658         * lib/fchdir.c: Likewise.
33659         * lib/fchmodat.c: Likewise.
33660         * lib/fchownat.c: Likewise.
33661         * lib/fcntl--.h: Likewise.
33662         * lib/fcntl-safer.h: Likewise.
33663         * lib/fcntl.in.h: Likewise.
33664         * lib/fd-safer.c: Likewise.
33665         * lib/fflush.c: Likewise.
33666         * lib/file-has-acl.c: Likewise.
33667         * lib/file-set.c: Likewise.
33668         * lib/file-type.c: Likewise.
33669         * lib/file-type.h: Likewise.
33670         * lib/fileblocks.c: Likewise.
33671         * lib/filemode.c: Likewise.
33672         * lib/filemode.h: Likewise.
33673         * lib/filename.h: Likewise.
33674         * lib/filenamecat.c: Likewise.
33675         * lib/filenamecat.h: Likewise.
33676         * lib/findprog.c: Likewise.
33677         * lib/findprog.h: Likewise.
33678         * lib/float.in.h: Likewise.
33679         * lib/floor.c: Likewise.
33680         * lib/floorf.c: Likewise.
33681         * lib/floorl.c: Likewise.
33682         * lib/fopen-safer.c: Likewise.
33683         * lib/fopen.c: Likewise.
33684         * lib/fpending.c: Likewise.
33685         * lib/fpending.h: Likewise.
33686         * lib/fprintf.c: Likewise.
33687         * lib/fprintftime.h: Likewise.
33688         * lib/fpucw.h: Likewise.
33689         * lib/fpurge.c: Likewise.
33690         * lib/fpurge.h: Likewise.
33691         * lib/freadable.c: Likewise.
33692         * lib/freadable.h: Likewise.
33693         * lib/freadahead.c: Likewise.
33694         * lib/freadahead.h: Likewise.
33695         * lib/freading.c: Likewise.
33696         * lib/freading.h: Likewise.
33697         * lib/free.c: Likewise.
33698         * lib/freopen.c: Likewise.
33699         * lib/frexp.c: Likewise.
33700         * lib/frexpl.c: Likewise.
33701         * lib/fseek.c: Likewise.
33702         * lib/fseterr.c: Likewise.
33703         * lib/fseterr.h: Likewise.
33704         * lib/fstatat.c: Likewise.
33705         * lib/fstrcmp.c: Likewise.
33706         * lib/fstrcmp.h: Likewise.
33707         * lib/fsusage.c: Likewise.
33708         * lib/fsusage.h: Likewise.
33709         * lib/ftell.c: Likewise.
33710         * lib/ftello.c: Likewise.
33711         * lib/fts-cycle.c: Likewise.
33712         * lib/fts.c: Likewise.
33713         * lib/fts_.h: Likewise.
33714         * lib/full-read.c: Likewise.
33715         * lib/full-read.h: Likewise.
33716         * lib/full-write.c: Likewise.
33717         * lib/full-write.h: Likewise.
33718         * lib/fwritable.c: Likewise.
33719         * lib/fwritable.h: Likewise.
33720         * lib/fwriteerror.c: Likewise.
33721         * lib/fwriteerror.h: Likewise.
33722         * lib/fwriting.c: Likewise.
33723         * lib/fwriting.h: Likewise.
33724         * lib/gcd.c: Likewise.
33725         * lib/gcd.h: Likewise.
33726         * lib/getcwd.c: Likewise.
33727         * lib/getdate.h: Likewise.
33728         * lib/getdate.y: Likewise.
33729         * lib/getdomainname.c: Likewise.
33730         * lib/getdomainname.h: Likewise.
33731         * lib/getgroups.c: Likewise.
33732         * lib/gethostname.c: Likewise.
33733         * lib/gethrxtime.c: Likewise.
33734         * lib/gethrxtime.h: Likewise.
33735         * lib/getloadavg.c: Likewise.
33736         * lib/getndelim2.c: Likewise.
33737         * lib/getndelim2.h: Likewise.
33738         * lib/getnline.c: Likewise.
33739         * lib/getnline.h: Likewise.
33740         * lib/getopt.c: Likewise.
33741         * lib/getopt.in.h: Likewise.
33742         * lib/getopt1.c: Likewise.
33743         * lib/getopt_int.h: Likewise.
33744         * lib/getpagesize.h: Likewise.
33745         * lib/getsubopt.c: Likewise.
33746         * lib/gettime.c: Likewise.
33747         * lib/getugroups.c: Likewise.
33748         * lib/getugroups.h: Likewise.
33749         * lib/getusershell.c: Likewise.
33750         * lib/gl_anyavltree_list1.h: Likewise.
33751         * lib/gl_anyavltree_list2.h: Likewise.
33752         * lib/gl_anyhash_list1.h: Likewise.
33753         * lib/gl_anyhash_list2.h: Likewise.
33754         * lib/gl_anylinked_list1.h: Likewise.
33755         * lib/gl_anylinked_list2.h: Likewise.
33756         * lib/gl_anyrbtree_list1.h: Likewise.
33757         * lib/gl_anyrbtree_list2.h: Likewise.
33758         * lib/gl_anytree_list1.h: Likewise.
33759         * lib/gl_anytree_list2.h: Likewise.
33760         * lib/gl_anytree_oset.h: Likewise.
33761         * lib/gl_anytreehash_list1.h: Likewise.
33762         * lib/gl_anytreehash_list2.h: Likewise.
33763         * lib/gl_array_list.c: Likewise.
33764         * lib/gl_array_list.h: Likewise.
33765         * lib/gl_array_oset.c: Likewise.
33766         * lib/gl_array_oset.h: Likewise.
33767         * lib/gl_avltree_list.c: Likewise.
33768         * lib/gl_avltree_list.h: Likewise.
33769         * lib/gl_avltree_oset.c: Likewise.
33770         * lib/gl_avltree_oset.h: Likewise.
33771         * lib/gl_avltreehash_list.c: Likewise.
33772         * lib/gl_avltreehash_list.h: Likewise.
33773         * lib/gl_carray_list.c: Likewise.
33774         * lib/gl_carray_list.h: Likewise.
33775         * lib/gl_linked_list.c: Likewise.
33776         * lib/gl_linked_list.h: Likewise.
33777         * lib/gl_linkedhash_list.c: Likewise.
33778         * lib/gl_linkedhash_list.h: Likewise.
33779         * lib/gl_list.c: Likewise.
33780         * lib/gl_list.h: Likewise.
33781         * lib/gl_oset.c: Likewise.
33782         * lib/gl_oset.h: Likewise.
33783         * lib/gl_rbtree_list.c: Likewise.
33784         * lib/gl_rbtree_list.h: Likewise.
33785         * lib/gl_rbtree_oset.c: Likewise.
33786         * lib/gl_rbtree_oset.h: Likewise.
33787         * lib/gl_rbtreehash_list.c: Likewise.
33788         * lib/gl_rbtreehash_list.h: Likewise.
33789         * lib/gl_sublist.c: Likewise.
33790         * lib/gl_sublist.h: Likewise.
33791         * lib/group-member.c: Likewise.
33792         * lib/group-member.h: Likewise.
33793         * lib/hard-locale.c: Likewise.
33794         * lib/hard-locale.h: Likewise.
33795         * lib/hash-pjw.c: Likewise.
33796         * lib/hash-pjw.h: Likewise.
33797         * lib/hash-triple.c: Likewise.
33798         * lib/hash.c: Likewise.
33799         * lib/hash.h: Likewise.
33800         * lib/human.c: Likewise.
33801         * lib/human.h: Likewise.
33802         * lib/i-ring.c: Likewise.
33803         * lib/i-ring.h: Likewise.
33804         * lib/idcache.c: Likewise.
33805         * lib/imaxabs.c: Likewise.
33806         * lib/imaxdiv.c: Likewise.
33807         * lib/inet_pton.c: Likewise.
33808         * lib/inet_pton.h: Likewise.
33809         * lib/intprops.h: Likewise.
33810         * lib/inttostr.c: Likewise.
33811         * lib/inttostr.h: Likewise.
33812         * lib/inttypes.in.h: Likewise.
33813         * lib/isapipe.c: Likewise.
33814         * lib/isdir.c: Likewise.
33815         * lib/isnan.c: Likewise.
33816         * lib/isnan.h: Likewise.
33817         * lib/isnanf.c: Likewise.
33818         * lib/isnanf.h: Likewise.
33819         * lib/isnanl-nolibm.h: Likewise.
33820         * lib/isnanl.c: Likewise.
33821         * lib/isnanl.h: Likewise.
33822         * lib/javacomp.c: Likewise.
33823         * lib/javacomp.h: Likewise.
33824         * lib/javaexec.c: Likewise.
33825         * lib/javaexec.h: Likewise.
33826         * lib/javaversion.c: Likewise.
33827         * lib/javaversion.h: Likewise.
33828         * lib/javaversion.java: Likewise.
33829         * lib/lbrkprop.h: Likewise.
33830         * lib/lchmod.h: Likewise.
33831         * lib/lchown.c: Likewise.
33832         * lib/ldexpl.c: Likewise.
33833         * lib/linebreak.c: Likewise.
33834         * lib/linebreak.h: Likewise.
33835         * lib/linebuffer.c: Likewise.
33836         * lib/linebuffer.h: Likewise.
33837         * lib/locale.in.h: Likewise.
33838         * lib/logl.c: Likewise.
33839         * lib/long-options.c: Likewise.
33840         * lib/long-options.h: Likewise.
33841         * lib/lstat.c: Likewise.
33842         * lib/lstat.h: Likewise.
33843         * lib/math.in.h: Likewise.
33844         * lib/mbchar.c: Likewise.
33845         * lib/mbchar.h: Likewise.
33846         * lib/mbfile.h: Likewise.
33847         * lib/mbiter.h: Likewise.
33848         * lib/mbscasecmp.c: Likewise.
33849         * lib/mbscasestr.c: Likewise.
33850         * lib/mbschr.c: Likewise.
33851         * lib/mbscspn.c: Likewise.
33852         * lib/mbslen.c: Likewise.
33853         * lib/mbsncasecmp.c: Likewise.
33854         * lib/mbsnlen.c: Likewise.
33855         * lib/mbspbrk.c: Likewise.
33856         * lib/mbspcasecmp.c: Likewise.
33857         * lib/mbsrchr.c: Likewise.
33858         * lib/mbssep.c: Likewise.
33859         * lib/mbsspn.c: Likewise.
33860         * lib/mbsstr.c: Likewise.
33861         * lib/mbstok_r.c: Likewise.
33862         * lib/mbswidth.c: Likewise.
33863         * lib/mbswidth.h: Likewise.
33864         * lib/mbuiter.h: Likewise.
33865         * lib/memcasecmp.c: Likewise.
33866         * lib/memcasecmp.h: Likewise.
33867         * lib/memchr.c: Likewise.
33868         * lib/memcmp.c: Likewise.
33869         * lib/memcoll.c: Likewise.
33870         * lib/memcoll.h: Likewise.
33871         * lib/memcpy.c: Likewise.
33872         * lib/memrchr.c: Likewise.
33873         * lib/mkancesdirs.c: Likewise.
33874         * lib/mkdir-p.c: Likewise.
33875         * lib/mkdir-p.h: Likewise.
33876         * lib/mkdir.c: Likewise.
33877         * lib/mkdirat.c: Likewise.
33878         * lib/mkdtemp.c: Likewise.
33879         * lib/mkstemp-safer.c: Likewise.
33880         * lib/mkstemp.c: Likewise.
33881         * lib/modechange.c: Likewise.
33882         * lib/modechange.h: Likewise.
33883         * lib/mountlist.c: Likewise.
33884         * lib/mountlist.h: Likewise.
33885         * lib/mpsort.c: Likewise.
33886         * lib/nanosleep.c: Likewise.
33887         * lib/obstack.c: Likewise.
33888         * lib/obstack.h: Likewise.
33889         * lib/open-safer.c: Likewise.
33890         * lib/open.c: Likewise.
33891         * lib/openat-die.c: Likewise.
33892         * lib/openat-priv.h: Likewise.
33893         * lib/openat-proc.c: Likewise.
33894         * lib/openat.c: Likewise.
33895         * lib/openat.h: Likewise.
33896         * lib/pagealign_alloc.c: Likewise.
33897         * lib/pagealign_alloc.h: Likewise.
33898         * lib/physmem.c: Likewise.
33899         * lib/physmem.h: Likewise.
33900         * lib/pipe-safer.c: Likewise.
33901         * lib/pipe.c: Likewise.
33902         * lib/pipe.h: Likewise.
33903         * lib/posixtm.c: Likewise.
33904         * lib/posixtm.h: Likewise.
33905         * lib/posixver.c: Likewise.
33906         * lib/printf-frexp.c: Likewise.
33907         * lib/printf-frexp.h: Likewise.
33908         * lib/printf-frexpl.c: Likewise.
33909         * lib/printf-frexpl.h: Likewise.
33910         * lib/printf.c: Likewise.
33911         * lib/progname.c: Likewise.
33912         * lib/progname.h: Likewise.
33913         * lib/progreloc.c: Likewise.
33914         * lib/putenv.c: Likewise.
33915         * lib/quote.c: Likewise.
33916         * lib/quote.h: Likewise.
33917         * lib/quotearg.c: Likewise.
33918         * lib/quotearg.h: Likewise.
33919         * lib/raise.c: Likewise.
33920         * lib/readline.c: Likewise.
33921         * lib/readline.h: Likewise.
33922         * lib/readlink.c: Likewise.
33923         * lib/readtokens.c: Likewise.
33924         * lib/readtokens.h: Likewise.
33925         * lib/readtokens0.c: Likewise.
33926         * lib/readtokens0.h: Likewise.
33927         * lib/readutmp.c: Likewise.
33928         * lib/readutmp.h: Likewise.
33929         * lib/realloc.c: Likewise.
33930         * lib/relocwrapper.c: Likewise.
33931         * lib/rename-dest-slash.c: Likewise.
33932         * lib/rename.c: Likewise.
33933         * lib/rmdir.c: Likewise.
33934         * lib/rpmatch.c: Likewise.
33935         * lib/safe-read.c: Likewise.
33936         * lib/safe-read.h: Likewise.
33937         * lib/safe-write.c: Likewise.
33938         * lib/safe-write.h: Likewise.
33939         * lib/same-inode.h: Likewise.
33940         * lib/same.c: Likewise.
33941         * lib/same.h: Likewise.
33942         * lib/save-cwd.c: Likewise.
33943         * lib/save-cwd.h: Likewise.
33944         * lib/savedir.c: Likewise.
33945         * lib/savedir.h: Likewise.
33946         * lib/savewd.c: Likewise.
33947         * lib/savewd.h: Likewise.
33948         * lib/search.in.h: Likewise.
33949         * lib/setenv.c: Likewise.
33950         * lib/setenv.h: Likewise.
33951         * lib/settime.c: Likewise.
33952         * lib/sh-quote.c: Likewise.
33953         * lib/sh-quote.h: Likewise.
33954         * lib/sig2str.c: Likewise.
33955         * lib/sig2str.h: Likewise.
33956         * lib/signal.in.h: Likewise.
33957         * lib/signbitd.c: Likewise.
33958         * lib/signbitf.c: Likewise.
33959         * lib/signbitl.c: Likewise.
33960         * lib/sigprocmask.c: Likewise.
33961         * lib/sincosl.c: Likewise.
33962         * lib/sleep.c: Likewise.
33963         * lib/sprintf.c: Likewise.
33964         * lib/sqrtl.c: Likewise.
33965         * lib/stat-time.h: Likewise.
33966         * lib/stdio--.h: Likewise.
33967         * lib/stdio-safer.h: Likewise.
33968         * lib/stdlib--.h: Likewise.
33969         * lib/stdlib-safer.h: Likewise.
33970         * lib/stdlib.in.h: Likewise.
33971         * lib/stpcpy.c: Likewise.
33972         * lib/stpncpy.c: Likewise.
33973         * lib/strchrnul.c: Likewise.
33974         * lib/strcspn.c: Likewise.
33975         * lib/strerror.c: Likewise.
33976         * lib/strftime.c: Likewise.
33977         * lib/strftime.h: Likewise.
33978         * lib/striconveh.c: Likewise.
33979         * lib/striconveh.h: Likewise.
33980         * lib/striconveha.c: Likewise.
33981         * lib/striconveha.h: Likewise.
33982         * lib/stripslash.c: Likewise.
33983         * lib/strnlen1.c: Likewise.
33984         * lib/strnlen1.h: Likewise.
33985         * lib/strtod.c: Likewise.
33986         * lib/strtoimax.c: Likewise.
33987         * lib/strtok_r.c: Likewise.
33988         * lib/strtol.c: Likewise.
33989         * lib/strtoll.c: Likewise.
33990         * lib/strtoul.c: Likewise.
33991         * lib/strtoull.c: Likewise.
33992         * lib/sysexits.in.h: Likewise.
33993         * lib/tempname.c: Likewise.
33994         * lib/tempname.h: Likewise.
33995         * lib/timespec.h: Likewise.
33996         * lib/tls.c: Likewise.
33997         * lib/tls.h: Likewise.
33998         * lib/tmpdir.c: Likewise.
33999         * lib/tmpdir.h: Likewise.
34000         * lib/tmpfile-safer.c: Likewise.
34001         * lib/tmpfile.c: Likewise.
34002         * lib/trigl.c: Likewise.
34003         * lib/trigl.h: Likewise.
34004         * lib/trim.c: Likewise.
34005         * lib/trim.h: Likewise.
34006         * lib/trunc.c: Likewise.
34007         * lib/truncf.c: Likewise.
34008         * lib/truncl.c: Likewise.
34009         * lib/tsearch.c: Likewise.
34010         * lib/unicodeio.c: Likewise.
34011         * lib/unicodeio.h: Likewise.
34012         * lib/unistd--.h: Likewise.
34013         * lib/unistd-safer.h: Likewise.
34014         * lib/unistdio/ulc-fprintf.c: Likewise.
34015         * lib/unistdio/ulc-vfprintf.c: Likewise.
34016         * lib/unlinkdir.c: Likewise.
34017         * lib/unlinkdir.h: Likewise.
34018         * lib/unlocked-io.h: Likewise.
34019         * lib/unsetenv.c: Likewise.
34020         * lib/userspec.c: Likewise.
34021         * lib/utime.c: Likewise.
34022         * lib/utimecmp.c: Likewise.
34023         * lib/utimecmp.h: Likewise.
34024         * lib/utimens.c: Likewise.
34025         * lib/verify.h: Likewise.
34026         * lib/verror.c: Likewise.
34027         * lib/verror.h: Likewise.
34028         * lib/version-etc-fsf.c: Likewise.
34029         * lib/version-etc.c: Likewise.
34030         * lib/version-etc.h: Likewise.
34031         * lib/vfprintf.c: Likewise.
34032         * lib/vprintf.c: Likewise.
34033         * lib/vsprintf.c: Likewise.
34034         * lib/w32spawn.h: Likewise.
34035         * lib/wait-process.c: Likewise.
34036         * lib/wait-process.h: Likewise.
34037         * lib/wcwidth.c: Likewise.
34038         * lib/write-any-file.c: Likewise.
34039         * lib/xalloc-die.c: Likewise.
34040         * lib/xalloc.h: Likewise.
34041         * lib/xasprintf.c: Likewise.
34042         * lib/xgetcwd.c: Likewise.
34043         * lib/xgetcwd.h: Likewise.
34044         * lib/xgetdomainname.c: Likewise.
34045         * lib/xgetdomainname.h: Likewise.
34046         * lib/xgethostname.c: Likewise.
34047         * lib/xmalloc.c: Likewise.
34048         * lib/xmalloca.c: Likewise.
34049         * lib/xmalloca.h: Likewise.
34050         * lib/xmemcoll.c: Likewise.
34051         * lib/xnanosleep.c: Likewise.
34052         * lib/xreadlink.c: Likewise.
34053         * lib/xreadlink.h: Likewise.
34054         * lib/xsetenv.c: Likewise.
34055         * lib/xsetenv.h: Likewise.
34056         * lib/xstriconv.c: Likewise.
34057         * lib/xstriconv.h: Likewise.
34058         * lib/xstrndup.c: Likewise.
34059         * lib/xstrndup.h: Likewise.
34060         * lib/xstrtod.c: Likewise.
34061         * lib/xstrtod.h: Likewise.
34062         * lib/xstrtol-error.c: Likewise.
34063         * lib/xstrtol.c: Likewise.
34064         * lib/xstrtol.h: Likewise.
34065         * lib/xtime.h: Likewise.
34066         * lib/xvasprintf.c: Likewise.
34067         * lib/xvasprintf.h: Likewise.
34068         * lib/yesno.c: Likewise.
34069         * lib/yesno.h: Likewise.
34070         * posix-modules: Likewise.
34071         * tests/test-alloca-opt.c: Likewise.
34072         * tests/test-arcfour.c: Likewise.
34073         * tests/test-arctwo.c: Likewise.
34074         * tests/test-argmatch.c: Likewise.
34075         * tests/test-argp-2.sh: Likewise.
34076         * tests/test-argp.c: Likewise.
34077         * tests/test-arpa_inet.c: Likewise.
34078         * tests/test-array_list.c: Likewise.
34079         * tests/test-array_oset.c: Likewise.
34080         * tests/test-atexit.c: Likewise.
34081         * tests/test-avltree_list.c: Likewise.
34082         * tests/test-avltree_oset.c: Likewise.
34083         * tests/test-avltreehash_list.c: Likewise.
34084         * tests/test-base64.c: Likewise.
34085         * tests/test-binary-io.c: Likewise.
34086         * tests/test-byteswap.c: Likewise.
34087         * tests/test-c-ctype.c: Likewise.
34088         * tests/test-c-strcasecmp.c: Likewise.
34089         * tests/test-c-strcasestr.c: Likewise.
34090         * tests/test-c-strncasecmp.c: Likewise.
34091         * tests/test-c-strstr.c: Likewise.
34092         * tests/test-canonicalize-lgpl.c: Likewise.
34093         * tests/test-canonicalize.c: Likewise.
34094         * tests/test-carray_list.c: Likewise.
34095         * tests/test-ceilf.c: Likewise.
34096         * tests/test-ceill.c: Likewise.
34097         * tests/test-count-one-bits.c: Likewise.
34098         * tests/test-crc.c: Likewise.
34099         * tests/test-dirname.c: Likewise.
34100         * tests/test-fbufmode.c: Likewise.
34101         * tests/test-fcntl.c: Likewise.
34102         * tests/test-fflush.c: Likewise.
34103         * tests/test-floorf.c: Likewise.
34104         * tests/test-floorl.c: Likewise.
34105         * tests/test-fopen.c: Likewise.
34106         * tests/test-fprintf-posix.c: Likewise.
34107         * tests/test-fprintf-posix.h: Likewise.
34108         * tests/test-fpurge.c: Likewise.
34109         * tests/test-freadable.c: Likewise.
34110         * tests/test-freadahead.c: Likewise.
34111         * tests/test-freading.c: Likewise.
34112         * tests/test-freopen.c: Likewise.
34113         * tests/test-frexp.c: Likewise.
34114         * tests/test-frexpl.c: Likewise.
34115         * tests/test-fseek.c: Likewise.
34116         * tests/test-fseeko.c: Likewise.
34117         * tests/test-fseterr.c: Likewise.
34118         * tests/test-fstrcmp.c: Likewise.
34119         * tests/test-ftell.c: Likewise.
34120         * tests/test-ftello.c: Likewise.
34121         * tests/test-fwritable.c: Likewise.
34122         * tests/test-fwriting.c: Likewise.
34123         * tests/test-getaddrinfo.c: Likewise.
34124         * tests/test-getpass.c: Likewise.
34125         * tests/test-gettimeofday.c: Likewise.
34126         * tests/test-hmac-md5.c: Likewise.
34127         * tests/test-hmac-sha1.c: Likewise.
34128         * tests/test-iconv.c: Likewise.
34129         * tests/test-iconvme.c: Likewise.
34130         * tests/test-inttypes.c: Likewise.
34131         * tests/test-isnan.c: Likewise.
34132         * tests/test-isnanf.c: Likewise.
34133         * tests/test-isnanl-nolibm.c: Likewise.
34134         * tests/test-isnanl.c: Likewise.
34135         * tests/test-isnanl.h: Likewise.
34136         * tests/test-ldexpl.c: Likewise.
34137         * tests/test-linked_list.c: Likewise.
34138         * tests/test-linkedhash_list.c: Likewise.
34139         * tests/test-locale.c: Likewise.
34140         * tests/test-localename.c: Likewise.
34141         * tests/test-lock.c: Likewise.
34142         * tests/test-lseek.c: Likewise.
34143         * tests/test-malloca.c: Likewise.
34144         * tests/test-math.c: Likewise.
34145         * tests/test-mbscasecmp.c: Likewise.
34146         * tests/test-mbscasestr1.c: Likewise.
34147         * tests/test-mbscasestr2.c: Likewise.
34148         * tests/test-mbscasestr3.c: Likewise.
34149         * tests/test-mbscasestr4.c: Likewise.
34150         * tests/test-mbschr.c: Likewise.
34151         * tests/test-mbscspn.c: Likewise.
34152         * tests/test-mbsncasecmp.c: Likewise.
34153         * tests/test-mbspbrk.c: Likewise.
34154         * tests/test-mbspcasecmp.c: Likewise.
34155         * tests/test-mbsrchr.c: Likewise.
34156         * tests/test-mbsspn.c: Likewise.
34157         * tests/test-mbsstr1.c: Likewise.
34158         * tests/test-mbsstr2.c: Likewise.
34159         * tests/test-mbsstr3.c: Likewise.
34160         * tests/test-md5.c: Likewise.
34161         * tests/test-memmem.c: Likewise.
34162         * tests/test-netinet_in.c: Likewise.
34163         * tests/test-open.c: Likewise.
34164         * tests/test-printf-frexp.c: Likewise.
34165         * tests/test-printf-frexpl.c: Likewise.
34166         * tests/test-printf-posix.c: Likewise.
34167         * tests/test-printf-posix.h: Likewise.
34168         * tests/test-rbtree_list.c: Likewise.
34169         * tests/test-rbtree_oset.c: Likewise.
34170         * tests/test-rbtreehash_list.c: Likewise.
34171         * tests/test-read-file.c: Likewise.
34172         * tests/test-rijndael.c: Likewise.
34173         * tests/test-search.c: Likewise.
34174         * tests/test-signbit.c: Likewise.
34175         * tests/test-sleep.c: Likewise.
34176         * tests/test-snprintf-posix.c: Likewise.
34177         * tests/test-snprintf-posix.h: Likewise.
34178         * tests/test-snprintf.c: Likewise.
34179         * tests/test-sprintf-posix.c: Likewise.
34180         * tests/test-sprintf-posix.h: Likewise.
34181         * tests/test-stat-time.c: Likewise.
34182         * tests/test-stdbool.c: Likewise.
34183         * tests/test-stdint.c: Likewise.
34184         * tests/test-stdio.c: Likewise.
34185         * tests/test-stdlib.c: Likewise.
34186         * tests/test-stpncpy.c: Likewise.
34187         * tests/test-strcasestr.c: Likewise.
34188         * tests/test-striconv.c: Likewise.
34189         * tests/test-striconveh.c: Likewise.
34190         * tests/test-striconveha.c: Likewise.
34191         * tests/test-string.c: Likewise.
34192         * tests/test-sys_select.c: Likewise.
34193         * tests/test-sys_socket.c: Likewise.
34194         * tests/test-sys_stat.c: Likewise.
34195         * tests/test-sys_time.c: Likewise.
34196         * tests/test-sysexits.c: Likewise.
34197         * tests/test-time.c: Likewise.
34198         * tests/test-tls.c: Likewise.
34199         * tests/test-trunc.c: Likewise.
34200         * tests/test-truncf.c: Likewise.
34201         * tests/test-truncl.c: Likewise.
34202         * tests/test-unistd.c: Likewise.
34203         * tests/test-vasnprintf-posix.c: Likewise.
34204         * tests/test-vasnprintf-posix2.c: Likewise.
34205         * tests/test-vasnprintf.c: Likewise.
34206         * tests/test-vasprintf-posix.c: Likewise.
34207         * tests/test-vasprintf.c: Likewise.
34208         * tests/test-verify.c: Likewise.
34209         * tests/test-vfprintf-posix.c: Likewise.
34210         * tests/test-vprintf-posix.c: Likewise.
34211         * tests/test-vsnprintf-posix.c: Likewise.
34212         * tests/test-vsnprintf.c: Likewise.
34213         * tests/test-vsprintf-posix.c: Likewise.
34214         * tests/test-wchar.c: Likewise.
34215         * tests/test-wctype.c: Likewise.
34216         * tests/test-wcwidth.c: Likewise.
34217         * tests/test-xstrtol.c: Likewise.
34218         * tests/test-xvasprintf.c: Likewise.
34219         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34220         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34221         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34222         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34223         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34224         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34225         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34226         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34227         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34228         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34229         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34230         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34231         * tests/uniname/test-uninames.c: Likewise.
34232         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34233         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
34234         * tests/unistdio/test-u16-printf1.h: Likewise.
34235         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34236         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34237         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34238         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34239         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34240         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34241         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34242         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
34243         * tests/unistdio/test-u32-printf1.h: Likewise.
34244         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34245         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34246         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34247         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34248         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34249         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34250         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34251         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
34252         * tests/unistdio/test-u8-printf1.h: Likewise.
34253         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34254         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34255         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34256         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34257         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34258         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34259         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34260         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
34261         * tests/unistdio/test-ulc-printf1.h: Likewise.
34262         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34263         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34264         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34265         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34266         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34267         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34268         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34269         * tests/uniwidth/test-u16-width.c: Likewise.
34270         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34271         * tests/uniwidth/test-u32-width.c: Likewise.
34272         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34273         * tests/uniwidth/test-u8-width.c: Likewise.
34274         * tests/uniwidth/test-uc_width.c: Likewise.
34275         * config/srclist-update: Likewise.
34276         (fixlicense): Update to GPLv3+.
34277
34278         Change copyright notice from LGPLv2.1+ to LGPLv3+.
34279         * tests/test-tsearch.c: Change copyright notice.
34280
34281         Change copyright notice from LGPLv2.0+ to LGPLv3+.
34282         * lib/c-strcaseeq.h: Change copyright notice.
34283         * lib/streq.h: Likewise.
34284         * lib/uniconv.h: Likewise.
34285         * lib/uniconv/u-conv-from-enc.h: Likewise.
34286         * lib/uniconv/u-conv-to-enc.h: Likewise.
34287         * lib/uniconv/u-strconv-from-enc.h: Likewise.
34288         * lib/uniconv/u-strconv-to-enc.h: Likewise.
34289         * lib/uniconv/u16-conv-from-enc.c: Likewise.
34290         * lib/uniconv/u16-conv-to-enc.c: Likewise.
34291         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
34292         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
34293         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
34294         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
34295         * lib/uniconv/u32-conv-from-enc.c: Likewise.
34296         * lib/uniconv/u32-conv-to-enc.c: Likewise.
34297         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
34298         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
34299         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
34300         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
34301         * lib/uniconv/u8-conv-from-enc.c: Likewise.
34302         * lib/uniconv/u8-conv-to-enc.c: Likewise.
34303         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
34304         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
34305         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
34306         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
34307         * lib/uniname.h: Likewise.
34308         * lib/uniname/uniname.c: Likewise.
34309         * lib/unistdio.h: Likewise.
34310         * lib/unistdio/u-asnprintf.h: Likewise.
34311         * lib/unistdio/u-asprintf.h: Likewise.
34312         * lib/unistdio/u-printf-args.c: Likewise.
34313         * lib/unistdio/u-printf-args.h: Likewise.
34314         * lib/unistdio/u-printf-parse.h: Likewise.
34315         * lib/unistdio/u-snprintf.h: Likewise.
34316         * lib/unistdio/u-sprintf.h: Likewise.
34317         * lib/unistdio/u-vasprintf.h: Likewise.
34318         * lib/unistdio/u-vsnprintf.h: Likewise.
34319         * lib/unistdio/u-vsprintf.h: Likewise.
34320         * lib/unistdio/u16-asnprintf.c: Likewise.
34321         * lib/unistdio/u16-asprintf.c: Likewise.
34322         * lib/unistdio/u16-printf-parse.c: Likewise.
34323         * lib/unistdio/u16-snprintf.c: Likewise.
34324         * lib/unistdio/u16-sprintf.c: Likewise.
34325         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
34326         * lib/unistdio/u16-u16-asprintf.c: Likewise.
34327         * lib/unistdio/u16-u16-snprintf.c: Likewise.
34328         * lib/unistdio/u16-u16-sprintf.c: Likewise.
34329         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
34330         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
34331         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
34332         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
34333         * lib/unistdio/u16-vasnprintf.c: Likewise.
34334         * lib/unistdio/u16-vasprintf.c: Likewise.
34335         * lib/unistdio/u16-vsnprintf.c: Likewise.
34336         * lib/unistdio/u16-vsprintf.c: Likewise.
34337         * lib/unistdio/u32-asnprintf.c: Likewise.
34338         * lib/unistdio/u32-asprintf.c: Likewise.
34339         * lib/unistdio/u32-printf-parse.c: Likewise.
34340         * lib/unistdio/u32-snprintf.c: Likewise.
34341         * lib/unistdio/u32-sprintf.c: Likewise.
34342         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
34343         * lib/unistdio/u32-u32-asprintf.c: Likewise.
34344         * lib/unistdio/u32-u32-snprintf.c: Likewise.
34345         * lib/unistdio/u32-u32-sprintf.c: Likewise.
34346         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
34347         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
34348         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
34349         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
34350         * lib/unistdio/u32-vasnprintf.c: Likewise.
34351         * lib/unistdio/u32-vasprintf.c: Likewise.
34352         * lib/unistdio/u32-vsnprintf.c: Likewise.
34353         * lib/unistdio/u32-vsprintf.c: Likewise.
34354         * lib/unistdio/u8-asnprintf.c: Likewise.
34355         * lib/unistdio/u8-asprintf.c: Likewise.
34356         * lib/unistdio/u8-printf-parse.c: Likewise.
34357         * lib/unistdio/u8-snprintf.c: Likewise.
34358         * lib/unistdio/u8-sprintf.c: Likewise.
34359         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
34360         * lib/unistdio/u8-u8-asprintf.c: Likewise.
34361         * lib/unistdio/u8-u8-snprintf.c: Likewise.
34362         * lib/unistdio/u8-u8-sprintf.c: Likewise.
34363         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
34364         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
34365         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
34366         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
34367         * lib/unistdio/u8-vasnprintf.c: Likewise.
34368         * lib/unistdio/u8-vasprintf.c: Likewise.
34369         * lib/unistdio/u8-vsnprintf.c: Likewise.
34370         * lib/unistdio/u8-vsprintf.c: Likewise.
34371         * lib/unistdio/ulc-asnprintf.c: Likewise.
34372         * lib/unistdio/ulc-asprintf.c: Likewise.
34373         * lib/unistdio/ulc-printf-parse.c: Likewise.
34374         * lib/unistdio/ulc-snprintf.c: Likewise.
34375         * lib/unistdio/ulc-sprintf.c: Likewise.
34376         * lib/unistdio/ulc-vasnprintf.c: Likewise.
34377         * lib/unistdio/ulc-vasprintf.c: Likewise.
34378         * lib/unistdio/ulc-vsnprintf.c: Likewise.
34379         * lib/unistdio/ulc-vsprintf.c: Likewise.
34380         * lib/unistr.h: Likewise.
34381         * lib/unistr/u-cpy-alloc.h: Likewise.
34382         * lib/unistr/u-cpy.h: Likewise.
34383         * lib/unistr/u-endswith.h: Likewise.
34384         * lib/unistr/u-move.h: Likewise.
34385         * lib/unistr/u-set.h: Likewise.
34386         * lib/unistr/u-startswith.h: Likewise.
34387         * lib/unistr/u-stpcpy.h: Likewise.
34388         * lib/unistr/u-stpncpy.h: Likewise.
34389         * lib/unistr/u-strcat.h: Likewise.
34390         * lib/unistr/u-strcpy.h: Likewise.
34391         * lib/unistr/u-strcspn.h: Likewise.
34392         * lib/unistr/u-strdup.h: Likewise.
34393         * lib/unistr/u-strlen.h: Likewise.
34394         * lib/unistr/u-strncat.h: Likewise.
34395         * lib/unistr/u-strncpy.h: Likewise.
34396         * lib/unistr/u-strnlen.h: Likewise.
34397         * lib/unistr/u-strpbrk.h: Likewise.
34398         * lib/unistr/u-strspn.h: Likewise.
34399         * lib/unistr/u-strstr.h: Likewise.
34400         * lib/unistr/u-strtok.h: Likewise.
34401         * lib/unistr/u16-check.c: Likewise.
34402         * lib/unistr/u16-chr.c: Likewise.
34403         * lib/unistr/u16-cmp.c: Likewise.
34404         * lib/unistr/u16-cpy-alloc.c: Likewise.
34405         * lib/unistr/u16-cpy.c: Likewise.
34406         * lib/unistr/u16-endswith.c: Likewise.
34407         * lib/unistr/u16-mblen.c: Likewise.
34408         * lib/unistr/u16-mbsnlen.c: Likewise.
34409         * lib/unistr/u16-mbtouc-aux.c: Likewise.
34410         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
34411         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
34412         * lib/unistr/u16-mbtouc.c: Likewise.
34413         * lib/unistr/u16-mbtoucr.c: Likewise.
34414         * lib/unistr/u16-move.c: Likewise.
34415         * lib/unistr/u16-next.c: Likewise.
34416         * lib/unistr/u16-prev.c: Likewise.
34417         * lib/unistr/u16-set.c: Likewise.
34418         * lib/unistr/u16-startswith.c: Likewise.
34419         * lib/unistr/u16-stpcpy.c: Likewise.
34420         * lib/unistr/u16-stpncpy.c: Likewise.
34421         * lib/unistr/u16-strcat.c: Likewise.
34422         * lib/unistr/u16-strchr.c: Likewise.
34423         * lib/unistr/u16-strcmp.c: Likewise.
34424         * lib/unistr/u16-strcpy.c: Likewise.
34425         * lib/unistr/u16-strcspn.c: Likewise.
34426         * lib/unistr/u16-strdup.c: Likewise.
34427         * lib/unistr/u16-strlen.c: Likewise.
34428         * lib/unistr/u16-strmblen.c: Likewise.
34429         * lib/unistr/u16-strmbtouc.c: Likewise.
34430         * lib/unistr/u16-strncat.c: Likewise.
34431         * lib/unistr/u16-strncmp.c: Likewise.
34432         * lib/unistr/u16-strncpy.c: Likewise.
34433         * lib/unistr/u16-strnlen.c: Likewise.
34434         * lib/unistr/u16-strpbrk.c: Likewise.
34435         * lib/unistr/u16-strrchr.c: Likewise.
34436         * lib/unistr/u16-strspn.c: Likewise.
34437         * lib/unistr/u16-strstr.c: Likewise.
34438         * lib/unistr/u16-strtok.c: Likewise.
34439         * lib/unistr/u16-to-u32.c: Likewise.
34440         * lib/unistr/u16-to-u8.c: Likewise.
34441         * lib/unistr/u16-uctomb-aux.c: Likewise.
34442         * lib/unistr/u16-uctomb.c: Likewise.
34443         * lib/unistr/u32-check.c: Likewise.
34444         * lib/unistr/u32-chr.c: Likewise.
34445         * lib/unistr/u32-cmp.c: Likewise.
34446         * lib/unistr/u32-cpy-alloc.c: Likewise.
34447         * lib/unistr/u32-cpy.c: Likewise.
34448         * lib/unistr/u32-endswith.c: Likewise.
34449         * lib/unistr/u32-mblen.c: Likewise.
34450         * lib/unistr/u32-mbsnlen.c: Likewise.
34451         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34452         * lib/unistr/u32-mbtouc.c: Likewise.
34453         * lib/unistr/u32-mbtoucr.c: Likewise.
34454         * lib/unistr/u32-move.c: Likewise.
34455         * lib/unistr/u32-next.c: Likewise.
34456         * lib/unistr/u32-prev.c: Likewise.
34457         * lib/unistr/u32-set.c: Likewise.
34458         * lib/unistr/u32-startswith.c: Likewise.
34459         * lib/unistr/u32-stpcpy.c: Likewise.
34460         * lib/unistr/u32-stpncpy.c: Likewise.
34461         * lib/unistr/u32-strcat.c: Likewise.
34462         * lib/unistr/u32-strchr.c: Likewise.
34463         * lib/unistr/u32-strcmp.c: Likewise.
34464         * lib/unistr/u32-strcpy.c: Likewise.
34465         * lib/unistr/u32-strcspn.c: Likewise.
34466         * lib/unistr/u32-strdup.c: Likewise.
34467         * lib/unistr/u32-strlen.c: Likewise.
34468         * lib/unistr/u32-strmblen.c: Likewise.
34469         * lib/unistr/u32-strmbtouc.c: Likewise.
34470         * lib/unistr/u32-strncat.c: Likewise.
34471         * lib/unistr/u32-strncmp.c: Likewise.
34472         * lib/unistr/u32-strncpy.c: Likewise.
34473         * lib/unistr/u32-strnlen.c: Likewise.
34474         * lib/unistr/u32-strpbrk.c: Likewise.
34475         * lib/unistr/u32-strrchr.c: Likewise.
34476         * lib/unistr/u32-strspn.c: Likewise.
34477         * lib/unistr/u32-strstr.c: Likewise.
34478         * lib/unistr/u32-strtok.c: Likewise.
34479         * lib/unistr/u32-to-u16.c: Likewise.
34480         * lib/unistr/u32-to-u8.c: Likewise.
34481         * lib/unistr/u32-uctomb.c: Likewise.
34482         * lib/unistr/u8-check.c: Likewise.
34483         * lib/unistr/u8-chr.c: Likewise.
34484         * lib/unistr/u8-cmp.c: Likewise.
34485         * lib/unistr/u8-cpy-alloc.c: Likewise.
34486         * lib/unistr/u8-cpy.c: Likewise.
34487         * lib/unistr/u8-endswith.c: Likewise.
34488         * lib/unistr/u8-mblen.c: Likewise.
34489         * lib/unistr/u8-mbsnlen.c: Likewise.
34490         * lib/unistr/u8-mbtouc-aux.c: Likewise.
34491         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34492         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34493         * lib/unistr/u8-mbtouc.c: Likewise.
34494         * lib/unistr/u8-mbtoucr.c: Likewise.
34495         * lib/unistr/u8-move.c: Likewise.
34496         * lib/unistr/u8-next.c: Likewise.
34497         * lib/unistr/u8-prev.c: Likewise.
34498         * lib/unistr/u8-set.c: Likewise.
34499         * lib/unistr/u8-startswith.c: Likewise.
34500         * lib/unistr/u8-stpcpy.c: Likewise.
34501         * lib/unistr/u8-stpncpy.c: Likewise.
34502         * lib/unistr/u8-strcat.c: Likewise.
34503         * lib/unistr/u8-strchr.c: Likewise.
34504         * lib/unistr/u8-strcmp.c: Likewise.
34505         * lib/unistr/u8-strcpy.c: Likewise.
34506         * lib/unistr/u8-strcspn.c: Likewise.
34507         * lib/unistr/u8-strdup.c: Likewise.
34508         * lib/unistr/u8-strlen.c: Likewise.
34509         * lib/unistr/u8-strmblen.c: Likewise.
34510         * lib/unistr/u8-strmbtouc.c: Likewise.
34511         * lib/unistr/u8-strncat.c: Likewise.
34512         * lib/unistr/u8-strncmp.c: Likewise.
34513         * lib/unistr/u8-strncpy.c: Likewise.
34514         * lib/unistr/u8-strnlen.c: Likewise.
34515         * lib/unistr/u8-strpbrk.c: Likewise.
34516         * lib/unistr/u8-strrchr.c: Likewise.
34517         * lib/unistr/u8-strspn.c: Likewise.
34518         * lib/unistr/u8-strstr.c: Likewise.
34519         * lib/unistr/u8-strtok.c: Likewise.
34520         * lib/unistr/u8-to-u16.c: Likewise.
34521         * lib/unistr/u8-to-u32.c: Likewise.
34522         * lib/unistr/u8-uctomb-aux.c: Likewise.
34523         * lib/unistr/u8-uctomb.c: Likewise.
34524         * lib/unitypes.h: Likewise.
34525         * lib/uniwidth.h: Likewise.
34526         * lib/uniwidth/cjk.h: Likewise.
34527         * lib/uniwidth/u16-strwidth.c: Likewise.
34528         * lib/uniwidth/u16-width.c: Likewise.
34529         * lib/uniwidth/u32-strwidth.c: Likewise.
34530         * lib/uniwidth/u32-width.c: Likewise.
34531         * lib/uniwidth/u8-strwidth.c: Likewise.
34532         * lib/uniwidth/u8-width.c: Likewise.
34533         * lib/uniwidth/width.c: Likewise.
34534
34535 2007-10-07  Bruno Haible  <bruno@clisp.org>
34536
34537         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
34538         The file is still under LGPL (see modules/inttypes).
34539
34540 2007-10-06  Bruno Haible  <bruno@clisp.org>
34541
34542         * modules/trunc (Dependencies): Add 'extensions'.
34543         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
34544         Reported by Ben Pfaff <blp@gnu.org>.
34545
34546 2007-10-06  Bruno Haible  <bruno@clisp.org>
34547
34548         * modules/freopen-tests: New file.
34549         * tests/test-freopen.c: New file.
34550
34551         * modules/fopen-tests: New file.
34552         * tests/test-fopen.c: New file.
34553
34554         * modules/fopen: New file.
34555         * lib/fopen.c: New file.
34556         * m4/fopen.m4: New file.
34557         * modules/freopen: New file.
34558         * lib/freopen.c: New file.
34559         * m4/freopen.m4: New file.
34560         * lib/stdio.in.h (fopen, freopen): New declarations.
34561         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
34562         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
34563         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
34564         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
34565         * doc/functions/fopen.texi: Mention the 'fopen' module.
34566         * doc/functions/freopen.texi: Mention the 'freopen' module.
34567
34568 2007-10-06  Bruno Haible  <bruno@clisp.org>
34569
34570         * modules/open-tests: New file.
34571         * tests/test-open.c: New file.
34572
34573         * modules/open: New file.
34574         * lib/open.c: New file.
34575         * m4/open.m4: New file.
34576         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
34577         lib/open.c does.
34578         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
34579         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
34580         macros.
34581         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
34582         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
34583         REPLACE_OPEN.
34584         * doc/functions/open.texi: Mention the 'open' module.
34585
34586 2007-10-04  Bruno Haible  <bruno@clisp.org>
34587
34588         * modules/ceill-tests: New file.
34589         * tests/test-ceill.c: New file.
34590
34591         * modules/ceill: New file.
34592         * lib/ceill.c: Replace entire file.
34593         * m4/ceill.m4: New file.
34594         * lib/math.in.h (ceill): Replace declaration.
34595         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
34596         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
34597         * doc/functions/ceill.texi: Mention the 'ceill' module.
34598         * modules/mathl (Files): Remove lib/ceill.c.
34599         (Depends-on): Add ceill.
34600
34601 2007-10-04  Bruno Haible  <bruno@clisp.org>
34602
34603         * modules/ceilf-tests: New file.
34604         * tests/test-ceilf.c: New file.
34605
34606         * modules/ceilf: New file.
34607         * lib/ceil.c: New file.
34608         * lib/ceilf.c: New file.
34609         * m4/ceilf.m4: New file.
34610         * lib/math.in.h (ceilf): New declaration.
34611         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
34612         HAVE_DECL_CEILF.
34613         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
34614         HAVE_DECL_CEILF.
34615         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
34616
34617 2007-10-04  Bruno Haible  <bruno@clisp.org>
34618
34619         * modules/floorl-tests: New file.
34620         * tests/test-floorl.c: New file.
34621
34622         * modules/floorl: New file.
34623         * lib/floorl.c: Replace entire file.
34624         * m4/floorl.m4: New file.
34625         * lib/math.in.h (floorl): Replace declaration.
34626         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
34627         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
34628         * doc/functions/floorl.texi: Mention the 'floorl' module.
34629         * modules/mathl (Files): Remove lib/floorl.c.
34630         (Depends-on): Add floorl.
34631
34632 2007-10-04  Bruno Haible  <bruno@clisp.org>
34633
34634         * modules/floorf-tests: New file.
34635         * tests/test-floorf.c: New file.
34636
34637         * modules/floorf: New file.
34638         * lib/floor.c: New file.
34639         * lib/floorf.c: New file.
34640         * m4/floorf.m4: New file.
34641         * lib/math.in.h (floorf): New declaration.
34642         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
34643         HAVE_DECL_FLOORF.
34644         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
34645         HAVE_DECL_FLOORF.
34646         * doc/functions/floorf.texi: Mention the 'floorf' module.
34647
34648 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
34649             Bruno Haible  <bruno@clisp.org>
34650
34651         Advertise for the Git server instead of the CVS server.
34652         * doc/gnulib-intro.texi (Steady Development): Mention the Git
34653         repository instead of the CVS one.
34654         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
34655         about all VCS systems generically.
34656         * doc/gnulib.texi (Introduction): Capitalize `Git'.
34657
34658 2007-10-04  Bruno Haible  <bruno@clisp.org>
34659
34660         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
34661         means.
34662         Reported by BenoĂ®t Sigoure <tsuna@lrde.epita.fr>.
34663
34664 2007-10-04  Bruno Haible  <bruno@clisp.org>
34665
34666         * modules/truncl-tests: New file.
34667         * tests/test-truncl.c: New file.
34668
34669         * modules/truncl: New file.
34670         * lib/truncl.c: New file.
34671         * m4/truncl.m4: New file.
34672         * lib/math.in.h (truncl): New declaration.
34673         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
34674         HAVE_DECL_TRUNCL.
34675         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
34676         HAVE_DECL_TRUNCL.
34677         * doc/functions/truncl.texi: Mention the 'truncl' module.
34678
34679 2007-10-04  Bruno Haible  <bruno@clisp.org>
34680
34681         * modules/truncf-tests: New file.
34682         * tests/test-truncf.c: New file.
34683
34684         * modules/truncf: New file.
34685         * lib/trunc.c: Make paramerizable through USE_* macros.
34686         * lib/truncf.c: New file.
34687         * m4/truncf.m4: New file.
34688         * lib/math.in.h (truncf): New declaration.
34689         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
34690         HAVE_DECL_TRUNCF.
34691         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
34692         HAVE_DECL_TRUNCF.
34693         * doc/functions/truncf.texi: Mention the 'truncf' module.
34694
34695 2007-10-03  Bruno Haible  <bruno@clisp.org>
34696
34697         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
34698         augmentation also for tests modules.
34699         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
34700         * modules/atexit-tests (Makefile.am): Likewise.
34701         * modules/binary-io-tests (Makefile.am): Likewise.
34702         * modules/c-strcase-tests (Makefile.am): Likewise.
34703         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
34704         * modules/canonicalize-tests (Makefile.am): Likewise.
34705         * modules/closein-tests (Makefile.am): Likewise.
34706         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34707         * modules/freadahead-tests (Makefile.am): Likewise.
34708         * modules/fseek-tests (Makefile.am): Likewise.
34709         * modules/fseeko-tests (Makefile.am): Likewise.
34710         * modules/ftell-tests (Makefile.am): Likewise.
34711         * modules/ftello-tests (Makefile.am): Likewise.
34712         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
34713         * modules/isnanl-tests (Makefile.am): Likewise.
34714         * modules/lseek-tests (Makefile.am): Likewise.
34715         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34716         * modules/mbscasestr-tests (Makefile.am): Likewise.
34717         * modules/mbschr-tests (Makefile.am): Likewise.
34718         * modules/mbscspn-tests (Makefile.am): Likewise.
34719         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34720         * modules/mbspbrk-tests (Makefile.am): Likewise.
34721         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34722         * modules/mbsrchr-tests (Makefile.am): Likewise.
34723         * modules/mbsspn-tests (Makefile.am): Likewise.
34724         * modules/mbsstr-tests (Makefile.am): Likewise.
34725         * modules/printf-posix-tests (Makefile.am): Likewise.
34726         * modules/snprintf-posix-tests (Makefile.am): Likewise.
34727         * modules/sprintf-posix-tests (Makefile.am): Likewise.
34728         * modules/tsearch-tests (Makefile.am): Likewise.
34729         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34730         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34731         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34732         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34733         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34734         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34735         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34736         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34737         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
34738         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
34739         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34740         * modules/xstrtol-tests (Makefile.am): Likewise.
34741         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34742         * modules/yesno-tests (Makefile.am): Likewise.
34743
34744 2007-10-03  Bruno Haible  <bruno@clisp.org>
34745
34746         * modules/trunc-tests: New file.
34747         * tests/test-trunc.c: New file.
34748
34749         * modules/trunc: New file.
34750         * lib/trunc.c: New file.
34751         * m4/trunc.m4: New file.
34752         * lib/math.in.h (trunc): New declaration.
34753         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
34754         HAVE_DECL_TRUNC.
34755         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
34756         HAVE_DECL_TRUNC.
34757         * doc/functions/trunc.texi: Mention the 'trunc' module.
34758
34759 2007-10-03  Bruno Haible  <bruno@clisp.org>
34760
34761         * tests/test-fpending.c: New file, mostly copied
34762         from coreutils/lib/t-fpending.c.
34763         * modules/fpending-tests: New file.
34764
34765 2007-10-03  Bruno Haible  <bruno@clisp.org>
34766
34767         Port the stdio extensions to QNX (untested).
34768         * lib/fseterr.c (fseterr): Add support for QNX.
34769         * lib/fbufmode.c (fbufmode): Likewise.
34770         * lib/freadable.c (freadable): Likewise.
34771         * lib/fwritable.c (fwritable): Likewise.
34772         * lib/freading.c (freading): Likewise.
34773         * lib/fwriting.c (fwriting): Likewise.
34774         * lib/freadahead.c (freadahed): Likewise.
34775         * lib/fpurge.c (fpurge): Likewise.
34776         * lib/fseeko.c (rpl_fseeko): Likewise.
34777
34778 2007-10-03  Bruno Haible  <bruno@clisp.org>
34779             Jim Meyering  <jim@meyering.net>
34780             Eric Blake  <ebb9@byu.net>
34781
34782         * doc/relocatable.texi: Use @command instead of @program.
34783
34784 2007-10-02  Jim Meyering  <jim@meyering.net>
34785
34786         Perform one more "_.h" -> ".in.h" substitution.
34787         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
34788         instead of unistd_.h here, too.
34789
34790 2007-10-01  Bruno Haible  <bruno@clisp.org>
34791
34792         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
34793         Needed for the alloca-opt module.
34794
34795 2007-09-30  Bruno Haible  <bruno@clisp.org>
34796
34797         * lib/alloca.in.h: Renamed from lib/alloca_.h.
34798         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
34799         alloca_.h.
34800         * lib/argz.in.h: Renamed from lib/argz_.h.
34801         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
34802         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
34803         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
34804         byteswap_.h.
34805         * lib/dirent.in.h: Renamed from lib/dirent_.h.
34806         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
34807         dirent_.h.
34808         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
34809         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
34810         fcntl_.h.
34811         * lib/float.in.h: Renamed from lib/float_.h.
34812         * modules/float (Files, Makefile.am): Use float.in.h instead of
34813         float_.h.
34814         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
34815         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
34816         fnmatch_.h.
34817         * lib/getopt.in.h: Renamed from lib/getopt_.h.
34818         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
34819         getopt_.h.
34820         * lib/glob.in.h: Renamed from lib/glob_.h.
34821         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
34822         * lib/iconv.in.h: Renamed from lib/iconv_.h.
34823         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
34824         iconv_.h.
34825         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
34826         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
34827         inttypes_.h.
34828         * lib/locale.in.h: Renamed from lib/locale_.h.
34829         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
34830         locale_.h.
34831         * lib/math.in.h: Renamed from lib/math_.h.
34832         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
34833         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
34834         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
34835         of netinet_in_.h. Add dependency.
34836         * lib/poll.in.h: Renamed from lib/poll_.h.
34837         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
34838         * lib/search.in.h: Renamed from lib/search_.h.
34839         * modules/search (Files, Makefile.am): Use search.in.h instead of
34840         search_.h.
34841         * lib/signal.in.h: Renamed from lib/signal_.h.
34842         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
34843         _signal.h.
34844         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
34845         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
34846         stdbool_.h.
34847         * lib/stdint.in.h: Renamed from lib/stdint_.h.
34848         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
34849         stdint_.h.
34850         * lib/stdio.in.h: Renamed from lib/stdio_.h.
34851         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
34852         stdio_.h.
34853         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
34854         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
34855         stdlib_.h.
34856         * lib/string.in.h: Renamed from lib/string_.h.
34857         * modules/string (Files, Makefile.am): Use string.in.h instead of
34858         string_.h.
34859         * doc/gnulib-tool.texi (Initial import): Update.
34860         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
34861         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
34862         of sys_select_.h. Add dependency.
34863         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
34864         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
34865         of sys_socket_.h.
34866         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
34867         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
34868         sys_stat_.h.
34869         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
34870         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
34871         sys_time_.h.
34872         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
34873         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
34874         sysexits_.h.
34875         * lib/time.in.h: Renamed from lib/time_.h.
34876         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
34877         * lib/unistd.in.h: Renamed from lib/unistd_.h.
34878         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
34879         unistd_.h.
34880         * lib/wchar.in.h: Renamed from lib/wchar_.h.
34881         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
34882         wchar_.h.
34883         * lib/wctype.in.h: Renamed from lib/wctype_.h.
34884         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
34885         wctype_.h.
34886         * build-aux/bootstrap (slurp): Update.
34887         * lib/.cppi-disable: Update.
34888
34889 2007-09-30  Bruno Haible  <bruno@clisp.org>
34890
34891         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
34892         Needed on BeOS.
34893
34894 2007-09-30  Bruno Haible  <bruno@clisp.org>
34895
34896         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
34897
34898 2007-09-29  Bruno Haible  <bruno@clisp.org>
34899
34900         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
34901
34902 2007-09-29  Bruno Haible  <bruno@clisp.org>
34903
34904         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
34905         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
34906         * build-aux/install-reloc: Compile also areadlink.c.
34907         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
34908
34909 2007-09-29  Bruno Haible  <bruno@clisp.org>
34910
34911         * gnulib-tool (func_emit_initmacro_done): Indentation.
34912
34913 2007-09-29  Bruno Haible  <bruno@clisp.org>
34914
34915         * README: Add CVS checkout update instructions.
34916         Info from Bob Proulx <bob@proulx.com>.
34917
34918 2007-09-28  Eric Blake  <ebb9@byu.net>
34919
34920         Provide move-if-change.
34921         * build-aux/move-if-change: New file, based on best practice
34922         rather than any canonical upstream location.
34923
34924 2007-09-28  Jim Meyering  <jim@meyering.net>
34925
34926         Fix canonicalize loop-detection corner case.
34927         Do not attempt to stat the symlink values stored via seen_triple.
34928         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
34929         on linux-2.6.18, (but not 2.6.22).
34930         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
34931         triple_compare.  The former compares dev,ino,filename, while the latter
34932         would actually stat dirname(filename) when dev and ino were equal.
34933         * lib/hash-triple.c: Install <string.h>.
34934         (STREQ): Define.
34935         (triple_compare_ino_str): New function.
34936         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
34937
34938 2007-09-28  Eric Blake  <ebb9@byu.net>
34939
34940         Enforce that AC_REPLACE_FUNCS files exist.
34941         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
34942         override check for typos.
34943
34944         Fix test-closein on Solaris 10.
34945         * tests/test-closein.c (main): Don't assume stdin can be inherited
34946         closed on all systems.
34947         * tests/test-closein.sh: Likewise.
34948         Reported by Piotr Tarnowski.
34949
34950 2007-09-28  Jim Meyering  <jim@meyering.net>
34951
34952         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
34953
34954 2007-09-27  Jim Meyering  <jim@meyering.net>
34955
34956         canonicalize: Avoid a false-positive cycle failure.
34957         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
34958         Sort.  Remove cycle-check.
34959         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
34960         not cycle-check.h.
34961         (seen_triple): New function.
34962         (canonicalize_filename_mode): Use it instead of cycle-check.
34963         * tests/test-canonicalize.c: Add a test for this bug.
34964         * tests/test-canonicalize.sh: Set up and run the test.
34965
34966         New module, file-set, from coreutils.
34967         * modules/file-set: Define it.
34968         * lib/file-set.c, lib/file-set.h: Implement.
34969
34970         New module, hash-triple, from coreutils.
34971         * modules/hash-triple: Define it.
34972         * lib/hash-triple.c, lib/hash-triple.h: Implement.
34973
34974 2007-09-25  Eric Blake  <ebb9@byu.net>
34975
34976         Fix strerror on Interix.
34977         * lib/string_.h (strerror): Declare replacement.
34978         * doc/functions/strerror.texi (strerror): Document the Interix
34979         shortcoming.
34980         * modules/string (Makefile.am): Support new hooks.
34981         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
34982         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
34983         gl_FUNC_STRERROR_SEPARATE.
34984         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
34985         * lib/strerror.c (rpl_strerror): Provide replacement.
34986         * modules/strerror (Depends-on): Add string.
34987         (configure.ac): Detect use of module.
34988         * tests/test-strerror.c: New file.
34989         * modules/strerror-tests: New test module.
34990         * modules/argp (Depends-on): Add strerror.
34991         * modules/error (Depends-on): Likewise.
34992         Reported by Martin Koeppe.
34993
34994 2007-09-24  Bruno Haible  <bruno@clisp.org>
34995
34996         * README: Update git instructions.
34997
34998 2007-09-24  Eric Blake  <ebb9@byu.net>
34999
35000         Revert fpending breakage from 2007-09-08.
35001         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
35002         __fpending.c.
35003
35004 2007-09-24  Jim Meyering  <jim@meyering.net>
35005
35006         filenamecat.c: Add a test.
35007         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
35008         showing how the function works when DIR is the empty string.
35009
35010 2007-09-21  Simon Josefsson  <simon@josefsson.org>
35011
35012         * tests/test-canonicalize.sh: Turn on executable bit.
35013
35014 2007-09-19  Eric Blake  <ebb9@byu.net>
35015
35016         * README: Update CVS instructions.
35017
35018 2007-09-18  Bruno Haible  <bruno@clisp.org>
35019
35020         * modules/areadlink: New file.
35021         * lib/areadlink.h (areadlink): New declaration.
35022         * lib/areadlink.c: New file, based on lib/xreadlink.c.
35023
35024 2007-09-17  Jim Meyering  <jim@meyering.net>
35025
35026         * lib/savewd.c (ESTALE) [!defined]: Define.
35027         Reported to be required on Interix by Martin Koeppe.
35028
35029 2007-09-17  Bruno Haible  <bruno@clisp.org>
35030
35031         * gnulib-tool (func_version): Use $version.
35032
35033 2007-09-16  Bruno Haible  <bruno@clisp.org>
35034
35035         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
35036         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
35037         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
35038         Reported by Greg Schafer <gschafer@zip.com.au>.
35039
35040 2007-09-15  Bruno Haible  <bruno@clisp.org>
35041
35042         * gnulib-tool (sed): Try a little harder to make bash understand the
35043         alias.
35044         Reported by Bruce Korb <bruce.korb@gmail.com>.
35045
35046 2007-09-13  Eric Blake  <ebb9@byu.net>
35047
35048         * ChangeLog: Remove conflict markers.
35049
35050 2007-09-13  Simon Josefsson  <simon@josefsson.org>
35051
35052         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
35053         Reported by Bruno Haible <bruno@clisp.org>.
35054
35055 2007-09-12  Bruno Haible  <bruno@clisp.org>
35056
35057         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
35058         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
35059         is not defined.
35060
35061 2007-09-12  Eric Blake  <ebb9@byu.net>
35062
35063         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
35064         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
35065         Autoconf definition.
35066         * modules/euidaccess (Depends-on): Add extensions, for
35067         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
35068         * modules/fnmatch (Depends-on): Likewise.
35069         * modules/getaddrinfo (Depends-on): Likewise.
35070         * modules/getdelim (Depends-on): Likewise.
35071         * modules/getline (Depends-on): Likewise.
35072         * modules/getsubopt (Depends-on): Likewise.
35073         * modules/gettext (Depends-on): Likewise.
35074         * modules/group-member (Depends-on): Likewise.
35075         * modules/mbchar (Depends-on): Likewise.
35076         * modules/memmem (Depends-on): Likewise.
35077         * modules/mempcpy (Depends-on): Likewise.
35078         * modules/memrchr (Depends-on): Likewise.
35079         * modules/pagealign_alloc (Depends-on): Likewise.
35080         * modules/readutmp (Depends-on): Likewise.
35081         * modules/stpcpy (Depends-on): Likewise.
35082         * modules/stpncpy (Depends-on): Likewise.
35083         * modules/strchrnul (Depends-on): Likewise.
35084         * modules/strndup (Depends-on): Likewise.
35085         * modules/strsep (Depends-on): Likewise.
35086         * modules/strverscmp (Depends-on): Likewise.
35087         * modules/vasprintf (Depends-on): Likewise.
35088         * modules/wcwidth (Depends-on): Likewise.
35089         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
35090         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
35091         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
35092         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
35093         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
35094         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35095         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
35096         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
35097         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
35098         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35099         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
35100         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
35101         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
35102         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
35103         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
35104         * m4/readutmp.m4 (gl_READUTMP): Likewise.
35105         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35106         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
35107         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35108         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
35109         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
35110         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
35111         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
35112         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
35113         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
35114         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35115         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
35116         so that lock.m4 can be used in gettext without extensions module.
35117
35118 2007-09-11  Bruno Haible  <bruno@clisp.org>
35119
35120         * m4/isc-posix.m4: Remove file.
35121         Suggested by Eric Blake.
35122
35123 2007-09-11  Eric Blake  <ebb9@byu.net>
35124
35125         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
35126
35127 2007-09-10  Bruno Haible  <bruno@clisp.org>
35128
35129         * posix-modules: Fix typo in error message.
35130         Reported by Matt <mkraai@beckman.com>.
35131
35132 2007-09-09  Bruno Haible  <bruno@clisp.org>
35133
35134         * doc/functions/getdelim.texi: Update list of platforms lacking the
35135         function.
35136         * doc/functions/getline.texi: Likewise.
35137
35138 2007-09-09  Jim Meyering  <jim@meyering.net>
35139
35140         * lib/hash.c (hash_initialize): Detect calloc failure.
35141         Reported by Bruno Haible.
35142
35143 2007-09-09  Bruno Haible  <bruno@clisp.org>
35144
35145         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
35146         malloc or realloc fails.
35147
35148 2007-09-09  Bruno Haible  <bruno@clisp.org>
35149
35150         * modules/getcwd (Depends-on): Add malloc-posix.
35151         * modules/glob (Depends-on): Likewise.
35152         * modules/putenv (Depends-on): Likewise.
35153         * modules/strdup (Depends-on): Likewise.
35154         * modules/getdelim (Depends-on): Add realloc-posix.
35155         * modules/read-file (Depends-on): Likewise.
35156
35157 2007-09-09  Bruno Haible  <bruno@clisp.org>
35158
35159         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
35160         (gl_FUNC_MALLOC_POSIX): Require it.
35161         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
35162         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
35163         * modules/realloc (Files): Add m4/malloc.m4.
35164         * modules/calloc (Files): Likewise.
35165
35166 2007-09-09  Bruno Haible  <bruno@clisp.org>
35167
35168         * modules/malloc-posix: New file.
35169         * modules/malloc (Depends-on): Add malloc-posix.
35170         * lib/malloc.c: Include errno.h.
35171         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
35172         and a POSIX-compatible malloc into a single function. Set ENOMEM
35173         when returning NULL.
35174         * m4/malloc.m4: New file.
35175         * doc/functions/malloc.texi: Mention the malloc-posix module.
35176         * lib/stdlib_.h (malloc): New declaration.
35177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35178         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
35179         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
35180         and HAVE_MALLOC_POSIX.
35181
35182 2007-09-09  Bruno Haible  <bruno@clisp.org>
35183
35184         * modules/realloc-posix: New file.
35185         * modules/realloc (Depends-on): Add realloc-posix.
35186         * lib/realloc.c: Include errno.h.
35187         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
35188         and a POSIX-compatible realloc into a single function. Set ENOMEM
35189         when returning NULL.
35190         * m4/realloc.m4: New file.
35191         * doc/functions/realloc.texi: Mention the realloc-posix module.
35192         * lib/stdlib_.h (realloc): New declaration.
35193         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35194         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
35195         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
35196         and HAVE_REALLOC_POSIX.
35197
35198 2007-09-09  Bruno Haible  <bruno@clisp.org>
35199
35200         * modules/calloc-posix: New file.
35201         * modules/calloc (Depends-on): Add calloc-posix.
35202         * lib/calloc.c: Include errno.h.
35203         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
35204         and a POSIX-compatible calloc into a single function. Set ENOMEM
35205         when returning NULL.
35206         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
35207         * doc/functions/calloc.texi: Mention the calloc-posix module.
35208         * lib/stdlib_.h (calloc): New declaration.
35209         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35210         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
35211         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
35212         and HAVE_CALLOC_POSIX.
35213
35214 2007-09-09  Bruno Haible  <bruno@clisp.org>
35215
35216         Allow for modules to show an arbitrary notice.
35217         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
35218         * gnulib-tool: New option --extract-notice.
35219         (func_usage): Document it.
35220         (sed_extract_prog): Update.
35221         (func_get_notice): New function.
35222         (func_modules_notice): New function.
35223         (func_import, func_create_testdir): Invoke it.
35224         Suggested by Jim Meyering.
35225
35226 2007-09-09  Bruno Haible  <bruno@clisp.org>
35227
35228         * gnulib-tool: New options --verbose, --quiet.
35229         (func_usage): Document them.
35230         (verbose): New variable.
35231         (func_execute_command): New function.
35232         (func_import): Don't show the module list and the file list if
35233         $verbose < 0.
35234         (func_create_testdir): Likewise. Use func_execute_command.
35235         (func_create_megatestdir): Use func_execute_command.
35236
35237 2007-09-08  Bruno Haible  <bruno@clisp.org>
35238
35239         * gnulib-tool (func_import): Prefer rsync over wget when available,
35240         for fetching the PO files.
35241
35242 2007-09-08  Bruno Haible  <bruno@clisp.org>
35243
35244         * posix-modules: New file. Portions copied from gnulib-tool.
35245         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
35246
35247 2007-09-08  Jim Meyering  <jim@meyering.net>
35248
35249         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
35250         * lib/fpending.h: Rename from __fpending.h.
35251         * lib/fpending.c: Rename from __fpending.c.
35252         Include "fpending.h", not "__fpending.h".
35253         * lib/__fpending.h, lib/__fpending.c: Remove files.
35254         * modules/fpending (Files): Reflect new file names.
35255         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
35256
35257 2007-09-08  Bruno Haible  <bruno@clisp.org>
35258
35259         * m4/inttypes-h.m4: Remove stub file.
35260
35261 2007-09-07  Simon Josefsson  <simon@josefsson.org>
35262
35263         * doc/headers/stdint.texi: Discuss #include_next issue.
35264
35265 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
35266
35267         * build-aux/bootstrap: Remove obsolete comment about wget --help.
35268
35269 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35270
35271         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
35272         in variable name.
35273
35274 2007-09-03  Jim Meyering  <jim@meyering.net>
35275
35276         New module: git-version-gen.
35277         * modules/git-version-gen: New file.
35278
35279         Import changes from coreutils for bootstrap script.
35280
35281         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
35282
35283         bootstrap: uses rsync to download the .po files
35284         * build-aux/bootstrap (po_download_command_format): New global.
35285         (download_po_files): Use rsync.
35286         (update_po_files): Don't remove .po files after download,
35287         so future rsync runs can take advantage of the copies.
35288
35289         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
35290
35291         Solve the unnecessary-.po-file-regeneration problem once and for all.
35292         * build-aux/bootstrap (download_po_files): New function, renamed from
35293         get_translations.  Now, downloads, but doesn't update LINGUAS.
35294         (update_po_files): New function.
35295
35296         bootstrap: Ignore more.
35297         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
35298         uniwidth to e.g., lib/.gitignore.
35299         (slurp): Handle the sys_stat_.h -> sys mapping, too.
35300
35301         * build-aux/bootstrap: New setting: vc_ignore.
35302         (insert_sorted_if_absent): Create $file if absent.
35303         Adapt to new, possibly empty, list: $vc_ignore.
35304
35305         bootstrap: generate more ignorable names
35306         * build-aux/bootstrap (slurp): When generating ignorable names,
35307         also map .sin to .sed, .gperf to .c, and .y to .c.
35308
35309 2007-09-03  Jim Meyering  <jim@meyering.net>
35310
35311         * build-aux/git-version-gen: New file, from coreutils.  For details, see
35312         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
35313
35314 2007-09-02  Bruno Haible  <bruno@clisp.org>
35315
35316         Fix mis-recognition of 'mcs' on QNX 6.
35317         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
35318         output contains the string "Mono".
35319         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
35320         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
35321
35322 2007-09-01  Bruno Haible  <bruno@clisp.org>
35323
35324         Fix collision between uniwidth/* and linebreak modules.
35325         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
35326         u32_width): Remove declarations.
35327         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
35328         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
35329         streq3, streq2, streq1, streq0): Remove functions.
35330         (STREQ): Remove macro.
35331         (is_cjk_encoding): Remove function.
35332         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
35333         (uc_width, u8_width, u16_width, u32_width): Remove functions.
35334         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
35335         * NEWS: Document the change.
35336
35337 2007-09-01  Bruno Haible  <bruno@clisp.org>
35338
35339         * lib/streq.h: Add double-inclusion guard.
35340
35341 2007-09-01  Karl Berry  <karl@gnu.org>
35342
35343         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
35344
35345 2007-08-28  Jim Meyering  <jim@meyering.net>
35346
35347         Rename mreadlink_with_size to areadlink_with_size.
35348         * NEWS: Document the change.
35349         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
35350         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
35351         * lib/mreadlink.h: Rename this to...
35352         * lib/areadlink.h: ...this.
35353         * modules/mreadlink-with-size: Rename this to...
35354         * modules/areadlink-with-size: ...this.
35355         * lib/canonicalize.c: Reflect the renaming.
35356         * modules/canonicalize: Likewise.
35357
35358 2007-08-26  Bruno Haible  <bruno@clisp.org>
35359
35360         * gnulib-tool (func_import): When deciding which files to remove,
35361         consider also dangling symbolic links.
35362         Reported by Eric Blake.
35363
35364 2007-08-26  Bruno Haible  <bruno@clisp.org>
35365
35366         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
35367
35368 2007-08-23  Simon Josefsson  <simon@josefsson.org>
35369
35370         * lib/readline.c: Don't include getline.h, the prototype is now
35371         found in stdio.h.
35372
35373 2007-08-23  Jim Meyering  <jim@meyering.net>
35374
35375         Getdelim touchup.
35376         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
35377         around the funlockfile call, since funlockfile never sets errno.
35378         Don't set errno upon failed realloc.
35379
35380 2007-08-22  Eric Blake  <ebb9@byu.net>
35381
35382         Getline touchups.
35383         * lib/getdelim.c (getdelim): Revert regression that required *n to
35384         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
35385         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
35386         getdelim, rather than whether implementation is missing.
35387         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
35388         * lib/stdio_.h (getline): Also declare if replacement is
35389         required.
35390         * doc/functions/getdelim.texi: New file.
35391         * doc/functions/getline.texi: Likewise.
35392         * doc/gnulib.texi (Function Substitutes): Add new files.
35393         Reported by Bruno Haible.
35394
35395 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
35396
35397         * users.txt: Add Guile.
35398
35399 2007-08-22  Eric Blake  <ebb9@byu.net>
35400
35401         * tests/test-getdelim.c (main): Use remove, not unlink.
35402         * tests/test-getline.c (main): Likewise.
35403
35404         Move getline and getdelim into stdio.h, per POSIX 200x.
35405         * modules/getline (Files): Remove getline.h.
35406         (Depends-on): Add stdio.
35407         (configure.ac): Add module indicator.
35408         * modules/getdelim (Files): Remove getdelim.h.
35409         (Depends-on): Add stdio.
35410         (configure.ac): Add module indicator.
35411         * modules/stdio (Makefile.am): Work with new indicators.
35412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35413         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
35414         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35415         * lib/getdelim.h: Delete.
35416         * lib/getline.h: Delete.
35417         * lib/stdio_.h (getdelim, getline): Declare.
35418         * modules/getdelim-tests: New module.
35419         * modules/getline-tests: Likewise.
35420         * tests/test-getdelim.c: New file.
35421         * tests/test-getline.c: Likewise.
35422         * NEWS: Document the change.
35423         * lib/getline.c: Update choice of header.
35424         * lib/csharpcomp.c: Likewise.
35425         * lib/getpass.c: Likewise.
35426         * lib/javacomp.c: Likewise.
35427         * lib/javaversion.c: Likewise.
35428         * lib/yesno.c: Likewise.
35429         * lib/getdelim.c: Likewise.
35430         (getdelim): Set errno on failure, and avoid memory leak.
35431
35432 2007-08-19  Bruno Haible  <bruno@clisp.org>
35433
35434         * modules/closein (Depends-on): Add freadahead.
35435         * lib/closein.c: Include freadahead.h.
35436         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
35437         is zero.
35438
35439 2007-08-19  Bruno Haible  <bruno@clisp.org>
35440
35441         * modules/freadahead-tests: New file.
35442         * tests/test-freadahead.sh: New file.
35443         * tests/test-freadahead.c: New file.
35444
35445         * modules/freadahead: New file.
35446         * lib/freadahead.h: New file.
35447         * lib/freadahead.c: New file.
35448         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
35449         fbufmode, fpurge, freadable, fwritable.
35450
35451 2007-08-19  Eric Blake  <ebb9@byu.net>
35452
35453         Test yesno in combination with closein.
35454         * lib/yesno.c (yesno): Document use of stdin.
35455         * modules/yesno-tests (Files): New module.
35456         * tests/test-yesno.c (main): New file.
35457         * tests/test-yesno.sh: Likewise.
35458
35459 2007-08-19  Bruno Haible  <bruno@clisp.org>
35460
35461         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
35462         * lib/fseeko.c (rpl_fseeko): Likewise.
35463         * lib/fseterr.c (fseterr): Likewise.
35464
35465 2007-08-19  Bruno Haible  <bruno@clisp.org>
35466
35467         * tests/test-lseek.c (main): Disable a test for BeOS.
35468         * doc/functions/lseek.texi: Document the BeOS bug.
35469
35470 2007-08-19  Bruno Haible  <bruno@clisp.org>
35471             Eric Blake  <ebb9@byu.net>
35472
35473         * lib/lseek.c: Include <sys/stat.h>.
35474         (rpl_lseek): Add workaround code also for Unix platforms.
35475         Needed for BeOS.
35476         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
35477         * doc/functions/lseek.texi: Document BeOS definiency.
35478
35479 2007-08-18  Bruno Haible  <bruno@clisp.org>
35480
35481         * modules/fstrcmp-tests: New file.
35482         * tests/test-fstrcmp.c: New file.
35483
35484 2007-08-18  Bruno Haible  <bruno@clisp.org>
35485
35486         * modules/fstrcmp: New file, from GNU gettext with modifications.
35487         * lib/fstrcmp.h: New file, from GNU gettext.
35488         * lib/fstrcmp.c: New file, from GNU gettext.
35489         * MODULES.html.sh (String handling): Add fstrcmp.
35490
35491 2007-08-18  Bruno Haible  <bruno@clisp.org>
35492
35493         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
35494         'bool'.
35495         (diag, compareseq): Remove const from the ctxt argument.
35496         (USE_HEURISTIC): Undefine at the end.
35497
35498 2007-08-18  Jim Meyering  <jim@meyering.net>
35499
35500         New file: lib/idcache.h
35501         * NEWS: Mention the addition.
35502         * modules/idcache (Files): Add lib/idcache.h
35503         * lib/idcache.c: Include "idcache.h".
35504         Don't include <sys/types.h>.
35505         Add a FIXME comment.
35506         Move file-scoped "static" declarations to the top.
35507         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
35508
35509 2007-08-17  Bruno Haible  <bruno@clisp.org>
35510         and Paul Eggert  <eggert@cs.ucla.edu>
35511
35512         * MODULES.html.sh: Add diffseq.
35513         * modules/diffseq: New file.
35514         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
35515         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
35516
35517 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35518
35519         Import changes from coreutils for bootstrap script.
35520
35521         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
35522
35523         * build-aux/bootstrap (slurp): Work even in environments where
35524         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
35525         current code does not slurp files whose names start with ".", and
35526         this looks like it might be a troublesome area.
35527
35528         2007-07-11  Jim Meyering  <jim@meyering.net>
35529
35530         If there's a GPL vN copyright comment, require that N == 3.
35531
35532         2007-07-08  Jim Meyering  <jim@meyering.net>
35533
35534         Run the coreutils-specific code only if tests/Makefile.am.in exists.
35535         * build-aux/bootstrap (mam_template): Move definition out of loop.
35536
35537         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
35538
35539         * build-aux/bootstrap (symlink_to_dir): Rename function from
35540         symlink_to_gnulib.  Add a directory parameter.  Update all
35541         callers.
35542         (cp_mark_as_generated): Also check for -- and link to -- files in
35543         gl/.
35544
35545         2007-07-08  Jim Meyering  <jim@meyering.net>
35546
35547         Adapt to deeper hierarchy in gnulib.
35548         * build-aux/bootstrap (symlink_to_dir): If the destination
35549         directory doesn't exist, create it. This is required at least for
35550         "lib/uniwidth/cjk.h".
35551
35552         2007-05-15  Jim Meyering  <jim@meyering.net>
35553
35554         * build-aux/bootstrap: Now that generated Makefile.am files
35555         are no longer under version control, they must be created at
35556         bootstrap time.
35557
35558 2007-08-14  Ben Pfaff  <blp@gnu.org>
35559
35560         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
35561
35562 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
35563
35564         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
35565         given the changes below.
35566         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
35567         even on hosts that have padding bits beyond the supported 64.
35568
35569 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
35570
35571         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
35572         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
35573         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
35574         depends on it.
35575         (xstrtol_error): Remove.
35576         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
35577         but with a different signature.
35578         (ATTRIBUTE_NORETURN, __attribute__): New macros.
35579         * lib/xstrtol-error.c: Include exitfail.h.
35580         (xstrtol_fatal): New function, with a different signature from the
35581         old xstrtol_error, so that the caller need not worry about passing
35582         in an exit status, or about storage management of the option argument.
35583         (xstrtol_error): Now a static function.  Redo signature to
35584         implement xstrtol_fatal.  Output the correct number of hyphens in
35585         front of the option so that the caller need not worry about
35586         storage management.
35587         (N_): New macro.
35588         (_): Remove; not used now.
35589         * modules/xstrtol: Depend on getopt.
35590         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
35591         of old STRTOL_FATAL_ERROR macro.
35592         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
35593         of test program.
35594         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
35595         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
35596
35597 2007-08-08  Eric Blake  <ebb9@byu.net>
35598
35599         * lib/xstrtol-error.c: Add missing include.
35600
35601         Move xstrtol messages into gnulib domain, when --pobase is used.
35602         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
35603         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
35604         * modules/xstrtol (Files): Distribute new file.
35605         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
35606         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
35607         * tests/test-xstrtol.c: ...into new file.
35608         * tests/test-xstrtoul.c: Also test xstrtoul.
35609         * tests/test-xstrtoimax.c: Also test xstrtoimax.
35610         * tests/test-xstrtoumax.c: Also test xstrtoumax.
35611         * tests/test-xstrtol.sh: Drive the tests.
35612         * tests/test-xstrtoimax.sh: Likewise.
35613         * tests/test-xstrtoumax.sh: Likewise.
35614         * modules/xstrtol-tests: New module.
35615         * modules/xstrtoimax-tests: Likewise.
35616         * modules/xstrtoumax-tests: Likewise.
35617
35618 2007-08-08  Jim Meyering  <jim@meyering.net>
35619
35620         New function: mfile_name_concat.
35621         * lib/filenamecat.c (mfile_name_concat): New function, just like
35622         file_name_concat, but return NULL upon failure rather than exiting
35623         with a diagnostic.
35624         * lib/filenamecat.h: Declare it.
35625
35626 2007-08-07  Bruno Haible  <bruno@clisp.org>
35627
35628         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
35629         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
35630         warning from gcc.
35631         Reported by Eric Blake.
35632
35633 2007-08-07  Simon Josefsson  <simon@josefsson.org>
35634
35635         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
35636         * modules/crypto/arcfour (License): Likewise.
35637         * modules/crypto/des-tests (License): Likewise.
35638         * modules/crypto/gc-arctwo-tests (License): Likewise.
35639         * modules/crypto/gc-des-tests (License): Likewise.
35640         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
35641         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
35642         * modules/crypto/gc-md2-tests (License): Likewise.
35643         * modules/crypto/gc-md4-tests (License): Likewise.
35644         * modules/crypto/gc-md5-tests (License): Likewise.
35645         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
35646         * modules/crypto/gc-rijndael-tests (License): Likewise.
35647         * modules/crypto/gc-sha1-tests (License): Likewise.
35648         * modules/crypto/gc-tests (License): Likewise.
35649         * modules/crypto/hmac-md5 (License): Likewise.
35650         * modules/crypto/hmac-sha1 (License): Likewise.
35651         * modules/crypto/md2-tests (License): Likewise.
35652         * modules/crypto/md4-tests (License): Likewise.
35653         * modules/crypto/md5 (License): Likewise.
35654         * modules/crypto/rijndael (License): Likewise.
35655         * modules/crypto/sha1 (License): Likewise.
35656         * modules/memxor (License): Likewise.
35657
35658 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
35659         and Bruno Haible  <bruno@clisp.org>
35660
35661         * NEWS: Describe interface changes to human, xstrtol.
35662         * lib/human.h: Include <xstrtol.h>.
35663         (human_options): Return enum strtol_error, not int.  Remove
35664         bool arg; take int * instead.
35665         * lib/human.c: Don't include "gettext.h".
35666         (_): Remove; no longer used.
35667         Don't include <xstrtol.h>, since human.h does it.
35668         (human_options): Adjust to abovementioned interface changes.
35669         Do not report error to stderr; that's now the caller's
35670         responsibility.
35671         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
35672         interface change.
35673         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
35674         Str, Argument_type_string.  All uses changed.  Put " argument"
35675         in diagnostics to make them clearer.  Change wording of suffix
35676         message for clarity.
35677         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
35678         Argument_type_string.
35679         (STRTOL_FATAL_WARN): Remove; no longer used.
35680         * modules/human (Depends-on): Remove gettext-h.
35681
35682 2007-08-06  Simon Josefsson  <simon@josefsson.org>
35683
35684         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
35685
35686 2007-07-31  Bruno Haible  <bruno@clisp.org>
35687
35688         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
35689         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
35690         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
35691
35692 2007-07-31  Bruno Haible  <bruno@clisp.org>
35693
35694         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
35695         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
35696
35697 2007-07-30  Bruno Haible  <bruno@clisp.org>
35698
35699         * modules/base64 (License): Use the synonymous term "LGPLv2+".
35700         * modules/c-ctype (License): Likewise.
35701         * modules/c-strcase (License): Likewise.
35702         * modules/check-version (License): Likewise.
35703         * modules/iconv (License): Likewise.
35704         * modules/iconv_open (License): Likewise.
35705         * modules/read-file (License): Likewise.
35706         * modules/striconv (License): Likewise.
35707         * modules/strverscmp (License): Likewise.
35708         * modules/vasprintf (License): Likewise.
35709         * modules/crypto/des (License): Likewise.
35710         * modules/crypto/gc (License): Likewise.
35711         * modules/crypto/gc-arcfour (License): Likewise.
35712         * modules/crypto/gc-arctwo (License): Likewise.
35713         * modules/crypto/gc-des (License): Likewise.
35714         * modules/crypto/gc-hmac-md5 (License): Likewise.
35715         * modules/crypto/gc-hmac-sha1 (License): Likewise.
35716         * modules/crypto/gc-md2 (License): Likewise.
35717         * modules/crypto/gc-md4 (License): Likewise.
35718         * modules/crypto/gc-md5 (License): Likewise.
35719         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
35720         * modules/crypto/gc-random (License): Likewise.
35721         * modules/crypto/gc-rijndael (License): Likewise.
35722         * modules/crypto/gc-sha1 (License): Likewise.
35723         * modules/crypto/md2 (License): Likewise.
35724         * modules/crypto/md4 (License): Likewise.
35725
35726 2007-07-30  Jim Meyering  <jim@meyering.net>
35727
35728         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
35729         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
35730         it has valid stat data.  This bug would cause du not to count the
35731         sizes of inaccessible directories.
35732         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
35733         in <http://bugzilla.redhat.com/250077>.
35734
35735 2007-07-25  Peter O'Gorman  <peter@pogma.com>
35736             Bruno Haible  <bruno@clisp.org>
35737
35738         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
35739         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
35740         #include_next, gives a diagnostic about it, but reports no error in
35741         the exit code.
35742         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
35743
35744 2007-07-24  Ben Pfaff  <blp@gnu.org>
35745
35746         Improve name: "count-one-bits" is better than "popcount".
35747         * MODULES.html.sh: Update name.
35748         * lib/popcount.h: Renamed lib/count-one-bits.h.
35749         (popcount): Renamed count_one_bits.
35750         (popcountl): Renamed count_one_bits_l.
35751         (popcountll): Renamed count_one_bits_ll.
35752         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
35753         * modules/popcount: Renamed module/count-one-bits.
35754         * modules/popcount-tests: Renamed module/count-one-bits-tests.
35755         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
35756
35757 2007-07-23  Ben Pfaff  <blp@gnu.org>
35758
35759         * lib/popcount.h (popcount32): Reduce size of constants, to allow
35760         better code generation, and add U to large constants to avoid
35761         warnings, in non-GCC case.
35762         Suggested by Bruno Haible.
35763
35764 2007-07-23  Ben Pfaff  <blp@gnu.org>
35765
35766         * lib/popcount.h: Use verify_true instead of if...abort.
35767         * modules/popcount: Depend on verify module.
35768         Suggested by Jim Meyering.
35769
35770 2007-07-23  Bruno Haible  <bruno@clisp.org>
35771
35772         * gnulib-tool (func_import): Create a .cvsignore file also when the
35773         directory is not yet in CVS but the toplevel directory is. When
35774         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
35775         Reported by Karl Berry.
35776
35777 2007-07-22  Ben Pfaff  <blp@gnu.org>
35778
35779         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
35780         case.
35781         Suggested by Eric Blake.
35782
35783 2007-07-22  Ben Pfaff  <blp@gnu.org>
35784
35785         New module: popcount.
35786         * MODULES.html.sh: Add popcount.
35787         * modules/popcount: New file.
35788         * modules/popcount-tests: New file.
35789         * tests/test-popcount.c: New file.
35790         * lib/popcount.h: New file.
35791         * m4/popcount.m4: New file.
35792
35793 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
35794
35795         * build-aux/announce-gen: Update to GPLv3.
35796
35797         * build-aux/config.guess: Update from config.
35798
35799 2007-07-21  Bruno Haible  <bruno@clisp.org>
35800
35801         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
35802         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
35803
35804 2007-07-20  Jim Meyering  <jim@meyering.net>
35805
35806         * check-module: Diagnose a self-dependency.
35807
35808 2007-07-19  Bruno Haible  <bruno@clisp.org>
35809
35810         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
35811         empty.
35812         Reported by Eric Blake.
35813
35814 2007-07-18  Bruno Haible  <bruno@clisp.org>
35815
35816         * gnulib-tool: New options --po-base, --po-domain.
35817         (func_usage): Document them.
35818         (pobase, po_domain): New variables.
35819         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
35820         DEFAULT_TEXT_DOMAIN.
35821         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
35822         (func_import): Consider pobase and po_domain. Create a po/ directory.
35823         (func_create_testdir): Set pobase and po_domain to empty.
35824         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
35825         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
35826
35827 2007-07-18  Bruno Haible  <bruno@clisp.org>
35828
35829         * gnulib-tool (func_get_automake_snippet): Synthesize also an
35830         EXTRA_DIST augmentation for files in build-aux/.
35831
35832 2007-07-16  Bruno Haible  <bruno@clisp.org>
35833
35834         * modules/lseek (License): Use the synonymous term "LGPLv2+".
35835         * modules/getdelim (License): Likewise.
35836
35837 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35838
35839         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
35840         * modules/d-type (License): Likewise.
35841         * modules/extensions (License): Likewise.
35842         * modules/fnmatch (License): Likewise.
35843         * modules/fseeko (License): Likewise.
35844         * modules/getaddrinfo (License): Likewise.
35845         * modules/getline (License): Likewise.
35846         * modules/getlogin_r (License): Likewise.
35847         * modules/getpass (License): Likewise.
35848         * modules/gettimeofday (License): Likewise.
35849         * modules/glob (License): Likewise.
35850         * modules/inet_ntop (License): Likewise.
35851         * modules/malloc (License): Likewise.
35852         * modules/malloca (License): Likewise.
35853         * modules/memmem (License): Likewise.
35854         * modules/mempcpy (License): Likewise.
35855         * modules/memset (License): Likewise.
35856         * modules/minmax (License): Likewise.
35857         * modules/mktime (License): Likewise.
35858         * modules/netinet_in (License): Likewise.
35859         * modules/pathmax (License): Likewise.
35860         * modules/poll (License): Likewise.
35861         * modules/regex (License): Likewise.
35862         * modules/snprintf (License): Likewise.
35863         * modules/stdbool (License): Likewise.
35864         * modules/stdint (License): Likewise.
35865         * modules/stdio (License): Likewise.
35866         * modules/strcase (License): Likewise.
35867         * modules/strcasestr (License): Likewise.
35868         * modules/strdup (License): Likewise.
35869         * modules/string (License): Likewise.
35870         * modules/strndup (License): Likewise.
35871         * modules/strnlen (License): Likewise.
35872         * modules/strpbrk (License): Likewise.
35873         * modules/strptime (License): Likewise.
35874         * modules/strsep (License): Likewise.
35875         * modules/sys_select (License): Likewise.
35876         * modules/sys_socket (License): Likewise.
35877         * modules/sys_stat (License): Likewise.
35878         * modules/sys_time (License): Likewise.
35879         * modules/time (License): Likewise.
35880         * modules/time_r (License): Likewise.
35881         * modules/timegm (License): Likewise.
35882         * modules/unistd (License): Likewise.
35883         * modules/vsnprintf (License): Likewise.
35884         * modules/wctype (License): Likewise.
35885
35886 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35887
35888         * modules/argz (License): LGPLv2+.
35889
35890 2007-07-15  Karl Berry  <karl@gnu.org>
35891
35892         * doc/gnulib.texi: revise node structure per new fdl.texi.
35893
35894 2007-07-14  Bruno Haible  <bruno@clisp.org>
35895
35896         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
35897         the output file.
35898         * lib/uniname/uninames.h: Regenerated.
35899
35900 2007-07-14  Karl Berry  <karl@gnu.org>
35901
35902         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
35903         omitting sectioning and index commands.
35904
35905 2007-07-13  Bruno Haible  <bruno@clisp.org>
35906
35907         New gnulib-tool option --more-symlinks.
35908         * gnulib-tool (func_usage): Document --more-symlinks.
35909         (do_copyrights): New variable.
35910         Recognize option --more-symlinks.
35911         (func_import): Don't add a copyright notice transform to
35912         sed_transform_lib_file if do_copyrights is empty.
35913
35914 2007-07-13  Bruno Haible  <bruno@clisp.org>
35915
35916         * lib/vasnprintf.c (decimal_point_char): Define also if
35917         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
35918         && !NEED_PRINTF_DIRECTIVE_A.
35919         Reported by Clemens Koller <clemens.koller@anagramm.de> via
35920         Gary V. Vaughan <gary@gnu.org>.
35921
35922 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
35923
35924         * lib/inttypes_.h: Undo previous change, since it was fixed
35925         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
35926
35927 2007-07-13  Bruno Haible  <bruno@clisp.org>
35928
35929         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
35930         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
35931
35932 2007-07-13  Jim Meyering  <jim@meyering.net>
35933
35934         df: Don't fail for Tru64's "file-on-file mount".
35935         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
35936         so we fall through and use statfs instead.  Details here:
35937         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
35938         Reported by Albert Chin.
35939
35940 2007-07-13  Bruno Haible  <bruno@clisp.org>
35941
35942         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
35943         * modules/configmake (License): Likewise.
35944         * modules/gettext (License): Likewise.
35945         * modules/gettext-h (License): Likewise.
35946         * modules/include_next (License): Likewise.
35947         * modules/link-warning (License): Likewise.
35948         * modules/localcharset (License): Likewise.
35949         * modules/localename (License): Likewise.
35950         * modules/lock (License): Likewise.
35951         * modules/relocatable-lib-lgpl (License): Likewise.
35952         * modules/size_max (License): Likewise.
35953         * modules/vasnprintf (License): Likewise.
35954         * modules/wchar (License): Likewise.
35955         * modules/xsize (License): Likewise.
35956
35957 2007-07-13  Bruno Haible  <bruno@clisp.org>
35958
35959         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
35960         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
35961
35962 2007-07-12  Bruno Haible  <bruno@clisp.org>
35963
35964         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
35965         in the modules files.
35966
35967 2007-07-11  Karl Berry  <karl@gnu.org>
35968
35969         * MODULES.html.sh (func_module): use
35970          sed -e '\|^'"${includefile}"'$|d'
35971          instead of /.../d, to avoid errors on $includefile's containing /.
35972
35973 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
35974
35975         * gnulib-tool (func_import): Avoid duplication of --avoid
35976         statements
35977         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
35978         names to `_' in variable names.
35979
35980 2007-07-10  Eric Blake  <ebb9@byu.net>
35981
35982         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
35983         * NEWS: Document this change.
35984
35985 2007-07-08  Bruno Haible  <bruno@clisp.org>
35986
35987         Update to Unicode 5.0.
35988         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
35989         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
35990         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
35991         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
35992         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
35993         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
35994         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
35995         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
35996         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
35997         U+10A3F, U+1D242..U+1D244.
35998         (nonspacing_table_ind): Update.
35999         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
36000         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
36001
36002 2007-07-08  Bruno Haible  <bruno@clisp.org>
36003
36004         Update to Unicode 5.0.
36005         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
36006         code transform. Extend the name index field of unicode_name_to_code and
36007         unicode_code_to_name from 16 to 24 bits.
36008         * lib/uniname/uniname.c (unicode_character_name,
36009         unicode_name_character): Add the range 0x12xxx to the code transform.
36010         * lib/uniname/uninames.h: Regenerated.
36011         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
36012
36013 2007-07-07  Bruno Haible  <bruno@clisp.org>
36014
36015         * modules/wcwidth-tests: New file.
36016         * tests/test-wcwidth.c: New file.
36017
36018         Work around MacOS X wcwidth() bug.
36019         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
36020         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
36021         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
36022         original wcwidth in non-UTF-8 locales.
36023         * modules/wcwidth (Depends-on): Add localcharset, streq,
36024         uniwidth/width.
36025         * doc/functions/wcwidth.texi: Update.
36026
36027 2007-07-07  Bruno Haible  <bruno@clisp.org>
36028
36029         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
36030         (wcwidth): New declaration.
36031         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
36032         macros.
36033         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
36034         here. Prepare for creating <wchar.h> unconditionally.
36035         * modules/wchar (Depends-on): Add link-warning.
36036         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
36037         REPLACE_WCWIDTH, and GL_LINK_WARNING.
36038         * lib/wcwidth.h: Remove file.
36039         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
36040         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
36041         * modules/wcwidth (Files): Remove lib/wcwidth.h.
36042         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
36043         (Include): Replace wcwidth.h with <wchar.h>.
36044         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
36045         * lib/mbchar.h: Don't include wcwidth.h.
36046         * lib/mbswidth.c: Likewise.
36047         * NEWS: Mention the change.
36048
36049 2007-07-07  Bruno Haible  <bruno@clisp.org>
36050
36051         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
36052         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
36053         definition with an external declaration.
36054         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
36055         defined as a function. Remove AC_C_INLINE requirement.
36056         * modules/wcwidth (Files): Add lib/wcwidth.c.
36057         (Makefile.am): Remove redundant statement.
36058
36059 2007-07-07  Bruno Haible  <bruno@clisp.org>
36060
36061         * MODULES.html.sh (Unicode string functions): Add the new modules.
36062
36063         * tests/uniwidth/test-u32-strwidth.c: New file.
36064         * modules/uniwidth/u32-strwidth-tests: New file.
36065
36066         * lib/uniwidth/u32-strwidth.c: New file.
36067         * modules/uniwidth/u32-strwidth: New file.
36068
36069         * tests/uniwidth/test-u16-strwidth.c: New file.
36070         * modules/uniwidth/u16-strwidth-tests: New file.
36071
36072         * lib/uniwidth/u16-strwidth.c: New file.
36073         * modules/uniwidth/u16-strwidth: New file.
36074
36075         * tests/uniwidth/test-u8-strwidth.c: New file.
36076         * modules/uniwidth/u8-strwidth-tests: New file.
36077
36078         * lib/uniwidth/u8-strwidth.c: New file.
36079         * modules/uniwidth/u8-strwidth: New file.
36080
36081         * tests/uniwidth/test-u32-width.c: New file.
36082         * modules/uniwidth/u32-width-tests: New file.
36083
36084         * lib/uniwidth/u32-width.c: New file.
36085         * modules/uniwidth/u32-width: New file.
36086
36087         * tests/uniwidth/test-u16-width.c: New file.
36088         * modules/uniwidth/u16-width-tests: New file.
36089
36090         * lib/uniwidth/u16-width.c: New file.
36091         * modules/uniwidth/u16-width: New file.
36092
36093         * tests/uniwidth/test-u8-width.c: New file.
36094         * modules/uniwidth/u8-width-tests: New file.
36095
36096         * lib/uniwidth/u8-width.c: New file.
36097         * modules/uniwidth/u8-width: New file.
36098
36099         * tests/uniwidth/test-uc_width.c: New file.
36100         * modules/uniwidth/width-tests: New file.
36101
36102         * lib/uniwidth/width.c: New file, from GNU libiconv.
36103         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
36104         * modules/uniwidth/width: New file.
36105
36106         * lib/uniwidth.h: New file, from GNU libiconv.
36107         * modules/uniwidth/base: New file.
36108
36109 2007-07-07  Bruno Haible  <bruno@clisp.org>
36110
36111         * lib/uniname.h: New file, from GNU gettext.
36112         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
36113         * lib/uniname/uninames.h: New file, from GNU gettext.
36114         * lib/uniname/uniname.c: New file, from GNU gettext.
36115         * tests/uniname/test-uninames.sh: New file.
36116         * tests/uniname/test-uninames.c: New file, from GNU gettext.
36117         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
36118         * modules/uniname/base: New file.
36119         * modules/uniname/uniname: New file.
36120         * modules/uniname/uniname-tests: New file.
36121         * MODULES.html.sh (Unicode string functions): Add the new modules.
36122
36123 2007-07-06  Bruno Haible  <bruno@clisp.org>
36124
36125         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
36126
36127 2007-07-06  Bruno Haible  <bruno@clisp.org>
36128
36129         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
36130         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
36131         includes <cygwin/sys_time.h> which includes <sys/select.h> which
36132         include <sys/time.h>.
36133         Reported by Eric Blake.
36134
36135 2007-07-06  Eric Blake  <ebb9@byu.net>
36136
36137         Fix testing canonicalize on cygwin.
36138         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
36139         Revert patch from 2007-06-19.
36140         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
36141         canonicalize module is also in use.
36142         * tests/test-canonicalize.c: New file.
36143         * tests/test-canonicalize.sh: Likewise.
36144         * modules/canonicalize-tests: Likewise.
36145
36146 2007-07-06  Jim Meyering  <jim@meyering.net>
36147
36148         * lib/getugroups.c (getugroups): Detect getgrent failure.
36149         Adjust comment to reflect reality: this function may return -1.
36150
36151 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36152
36153         * build-aux/bootstrap (TP_URL,get_translations): Update to use
36154         the new TP address.
36155         (usage): Fix typo
36156         (gnulib_mk): New variable.
36157
36158 2007-07-05  Jim Meyering  <jim@meyering.net>
36159
36160         Don't let endgrent clobber errno, no matter how improbable.
36161         * lib/getugroups.c (getugroups): Save and restore errno around
36162         endgrent call.
36163
36164         Close the group DB even when failing with 2^31 or more members.
36165         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
36166
36167 2007-07-04  Jim Meyering  <jim@meyering.net>
36168
36169         * lib/getugroups.h: New file.
36170         * lib/getugroups.c: Include "getugroups.h".
36171         Remove uses of "register" keyword.
36172         Move local variable, "cp", down into scope where used.
36173         Give "username" parameter the "const" attribute.
36174         * modules/getugroups (Files): Add lib/getugroups.h
36175
36176 2007-07-04  Karl Berry  <karl@gnu.org>
36177
36178         * MODULES.html.sh (func_all_modules): Complete rename of
36179         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
36180
36181 2007-07-02  Bruno Haible  <bruno@clisp.org>
36182
36183         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
36184         mode, when inttypes.h comes from gnulib.
36185         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36186
36187 2007-07-02  Simon Josefsson  <simon@josefsson.org>
36188
36189         * NEWS: Mention lgpl module name change.
36190
36191         * modules/lgpl-2.1: Renamed from lgpl.
36192
36193         * NEWS: Mention gpl module name change.
36194
36195         * modules/gpl-3.0: New file, based on gpl-2.0.
36196
36197         * modules/gpl-2.0: Renamed from gpl.
36198
36199         * modules/gpl: Fix filename, doc/gpl.texi is now found at
36200         doc/gpl-2.0.texi.
36201
36202 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36203
36204         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
36205         #define __STDC_LIMIT_MACROS temporarily while including
36206         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
36207         Problem reported by Joel E. Denny in
36208         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
36209
36210 2007-07-01  Bruno Haible  <bruno@clisp.org>
36211
36212         * lib/unistdio.h: New file.
36213         * lib/unistdio/u-asnprintf.h: New file.
36214         * lib/unistdio/u-asprintf.h: New file.
36215         * lib/unistdio/u-printf-args.c: New file.
36216         * lib/unistdio/u-printf-args.h: New file.
36217         * lib/unistdio/u-printf-parse.h: New file.
36218         * lib/unistdio/u-snprintf.h: New file.
36219         * lib/unistdio/u-sprintf.h: New file.
36220         * lib/unistdio/u-vasprintf.h: New file.
36221         * lib/unistdio/u-vsnprintf.h: New file.
36222         * lib/unistdio/u-vsprintf.h: New file.
36223         * lib/unistdio/ulc-asnprintf.c: New file.
36224         * lib/unistdio/ulc-asprintf.c: New file.
36225         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
36226         * lib/unistdio/ulc-printf-parse.c: New file.
36227         * lib/unistdio/ulc-snprintf.c: New file.
36228         * lib/unistdio/ulc-sprintf.c: New file.
36229         * lib/unistdio/ulc-vasnprintf.c: New file.
36230         * lib/unistdio/ulc-vasprintf.c: New file.
36231         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
36232         * lib/unistdio/ulc-vsnprintf.c: New file.
36233         * lib/unistdio/ulc-vsprintf.c: New file.
36234         * lib/unistdio/u8-asnprintf.c: New file.
36235         * lib/unistdio/u8-asprintf.c: New file.
36236         * lib/unistdio/u8-printf-parse.c: New file.
36237         * lib/unistdio/u8-snprintf.c: New file.
36238         * lib/unistdio/u8-sprintf.c: New file.
36239         * lib/unistdio/u8-vasnprintf.c: New file.
36240         * lib/unistdio/u8-vasprintf.c: New file.
36241         * lib/unistdio/u8-vsnprintf.c: New file.
36242         * lib/unistdio/u8-vsprintf.c: New file.
36243         * lib/unistdio/u8-u8-asnprintf.c: New file.
36244         * lib/unistdio/u8-u8-asprintf.c: New file.
36245         * lib/unistdio/u8-u8-snprintf.c: New file.
36246         * lib/unistdio/u8-u8-sprintf.c: New file.
36247         * lib/unistdio/u8-u8-vasnprintf.c: New file.
36248         * lib/unistdio/u8-u8-vasprintf.c: New file.
36249         * lib/unistdio/u8-u8-vsnprintf.c: New file.
36250         * lib/unistdio/u8-u8-vsprintf.c: New file.
36251         * lib/unistdio/u16-asnprintf.c: New file.
36252         * lib/unistdio/u16-asprintf.c: New file.
36253         * lib/unistdio/u16-printf-parse.c: New file.
36254         * lib/unistdio/u16-snprintf.c: New file.
36255         * lib/unistdio/u16-sprintf.c: New file.
36256         * lib/unistdio/u16-vasnprintf.c: New file.
36257         * lib/unistdio/u16-vasprintf.c: New file.
36258         * lib/unistdio/u16-vsnprintf.c: New file.
36259         * lib/unistdio/u16-vsprintf.c: New file.
36260         * lib/unistdio/u16-u16-asnprintf.c: New file.
36261         * lib/unistdio/u16-u16-asprintf.c: New file.
36262         * lib/unistdio/u16-u16-snprintf.c: New file.
36263         * lib/unistdio/u16-u16-sprintf.c: New file.
36264         * lib/unistdio/u16-u16-vasnprintf.c: New file.
36265         * lib/unistdio/u16-u16-vasprintf.c: New file.
36266         * lib/unistdio/u16-u16-vsnprintf.c: New file.
36267         * lib/unistdio/u16-u16-vsprintf.c: New file.
36268         * lib/unistdio/u32-asnprintf.c: New file.
36269         * lib/unistdio/u32-asprintf.c: New file.
36270         * lib/unistdio/u32-printf-parse.c: New file.
36271         * lib/unistdio/u32-snprintf.c: New file.
36272         * lib/unistdio/u32-sprintf.c: New file.
36273         * lib/unistdio/u32-vasnprintf.c: New file.
36274         * lib/unistdio/u32-vasprintf.c: New file.
36275         * lib/unistdio/u32-vsnprintf.c: New file.
36276         * lib/unistdio/u32-vsprintf.c: New file.
36277         * lib/unistdio/u32-u32-asnprintf.c: New file.
36278         * lib/unistdio/u32-u32-asprintf.c: New file.
36279         * lib/unistdio/u32-u32-snprintf.c: New file.
36280         * lib/unistdio/u32-u32-sprintf.c: New file.
36281         * lib/unistdio/u32-u32-vasnprintf.c: New file.
36282         * lib/unistdio/u32-u32-vasprintf.c: New file.
36283         * lib/unistdio/u32-u32-vsnprintf.c: New file.
36284         * lib/unistdio/u32-u32-vsprintf.c: New file.
36285         * tests/unistdio/test-ulc-asnprintf1.c: New file.
36286         * tests/unistdio/test-ulc-asnprintf1.h: New file.
36287         * tests/unistdio/test-ulc-printf1.h: New file.
36288         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
36289         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
36290         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
36291         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
36292         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
36293         * tests/unistdio/test-ulc-vasprintf1.c: New file.
36294         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
36295         * tests/unistdio/test-ulc-vsprintf1.c: New file.
36296         * tests/unistdio/test-u8-asnprintf1.c: New file.
36297         * tests/unistdio/test-u8-asnprintf1.h: New file.
36298         * tests/unistdio/test-u8-printf1.h: New file.
36299         * tests/unistdio/test-u8-vasnprintf1.c: New file.
36300         * tests/unistdio/test-u8-vasnprintf2.c: New file.
36301         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
36302         * tests/unistdio/test-u8-vasnprintf3.c: New file.
36303         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
36304         * tests/unistdio/test-u8-vasprintf1.c: New file.
36305         * tests/unistdio/test-u8-vsnprintf1.c: New file.
36306         * tests/unistdio/test-u8-vsprintf1.c: New file.
36307         * tests/unistdio/test-u16-asnprintf1.c: New file.
36308         * tests/unistdio/test-u16-asnprintf1.h: New file.
36309         * tests/unistdio/test-u16-printf1.h: New file.
36310         * tests/unistdio/test-u16-vasnprintf1.c: New file.
36311         * tests/unistdio/test-u16-vasnprintf2.c: New file.
36312         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
36313         * tests/unistdio/test-u16-vasnprintf3.c: New file.
36314         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
36315         * tests/unistdio/test-u16-vasprintf1.c: New file.
36316         * tests/unistdio/test-u16-vsnprintf1.c: New file.
36317         * tests/unistdio/test-u16-vsprintf1.c: New file.
36318         * tests/unistdio/test-u32-asnprintf1.c: New file.
36319         * tests/unistdio/test-u32-asnprintf1.h: New file.
36320         * tests/unistdio/test-u32-printf1.h: New file.
36321         * tests/unistdio/test-u32-vasnprintf1.c: New file.
36322         * tests/unistdio/test-u32-vasnprintf2.c: New file.
36323         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
36324         * tests/unistdio/test-u32-vasnprintf3.c: New file.
36325         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
36326         * tests/unistdio/test-u32-vasprintf1.c: New file.
36327         * tests/unistdio/test-u32-vsnprintf1.c: New file.
36328         * tests/unistdio/test-u32-vsprintf1.c: New file.
36329         * modules/unistdio/base: New file.
36330         * modules/unistdio/u-printf-args: New file.
36331         * modules/unistdio/ulc-asnprintf: New file.
36332         * modules/unistdio/ulc-asprintf: New file.
36333         * modules/unistdio/ulc-fprintf: New file.
36334         * modules/unistdio/ulc-printf-parse: New file.
36335         * modules/unistdio/ulc-snprintf: New file.
36336         * modules/unistdio/ulc-sprintf: New file.
36337         * modules/unistdio/ulc-vasnprintf: New file.
36338         * modules/unistdio/ulc-vasprintf: New file.
36339         * modules/unistdio/ulc-vfprintf: New file.
36340         * modules/unistdio/ulc-vsnprintf: New file.
36341         * modules/unistdio/ulc-vsprintf: New file.
36342         * modules/unistdio/u8-asnprintf: New file.
36343         * modules/unistdio/u8-asprintf: New file.
36344         * modules/unistdio/u8-printf-parse: New file.
36345         * modules/unistdio/u8-snprintf: New file.
36346         * modules/unistdio/u8-sprintf: New file.
36347         * modules/unistdio/u8-vasnprintf: New file.
36348         * modules/unistdio/u8-vasprintf: New file.
36349         * modules/unistdio/u8-vsnprintf: New file.
36350         * modules/unistdio/u8-vsprintf: New file.
36351         * modules/unistdio/u8-u8-asnprintf: New file.
36352         * modules/unistdio/u8-u8-asprintf: New file.
36353         * modules/unistdio/u8-u8-snprintf: New file.
36354         * modules/unistdio/u8-u8-sprintf: New file.
36355         * modules/unistdio/u8-u8-vasnprintf: New file.
36356         * modules/unistdio/u8-u8-vasprintf: New file.
36357         * modules/unistdio/u8-u8-vsnprintf: New file.
36358         * modules/unistdio/u8-u8-vsprintf: New file.
36359         * modules/unistdio/u16-asnprintf: New file.
36360         * modules/unistdio/u16-asprintf: New file.
36361         * modules/unistdio/u16-printf-parse: New file.
36362         * modules/unistdio/u16-snprintf: New file.
36363         * modules/unistdio/u16-sprintf: New file.
36364         * modules/unistdio/u16-vasnprintf: New file.
36365         * modules/unistdio/u16-vasprintf: New file.
36366         * modules/unistdio/u16-vsnprintf: New file.
36367         * modules/unistdio/u16-vsprintf: New file.
36368         * modules/unistdio/u16-u16-asnprintf: New file.
36369         * modules/unistdio/u16-u16-asprintf: New file.
36370         * modules/unistdio/u16-u16-snprintf: New file.
36371         * modules/unistdio/u16-u16-sprintf: New file.
36372         * modules/unistdio/u16-u16-vasnprintf: New file.
36373         * modules/unistdio/u16-u16-vasprintf: New file.
36374         * modules/unistdio/u16-u16-vsnprintf: New file.
36375         * modules/unistdio/u16-u16-vsprintf: New file.
36376         * modules/unistdio/u32-asnprintf: New file.
36377         * modules/unistdio/u32-asprintf: New file.
36378         * modules/unistdio/u32-printf-parse: New file.
36379         * modules/unistdio/u32-snprintf: New file.
36380         * modules/unistdio/u32-sprintf: New file.
36381         * modules/unistdio/u32-vasnprintf: New file.
36382         * modules/unistdio/u32-vasprintf: New file.
36383         * modules/unistdio/u32-vsnprintf: New file.
36384         * modules/unistdio/u32-vsprintf: New file.
36385         * modules/unistdio/u32-u32-asnprintf: New file.
36386         * modules/unistdio/u32-u32-asprintf: New file.
36387         * modules/unistdio/u32-u32-snprintf: New file.
36388         * modules/unistdio/u32-u32-sprintf: New file.
36389         * modules/unistdio/u32-u32-vasnprintf: New file.
36390         * modules/unistdio/u32-u32-vasprintf: New file.
36391         * modules/unistdio/u32-u32-vsnprintf: New file.
36392         * modules/unistdio/u32-u32-vsprintf: New file.
36393         * modules/unistdio/ulc-asnprintf-tests: New file.
36394         * modules/unistdio/ulc-vasnprintf-tests: New file.
36395         * modules/unistdio/ulc-vasprintf-tests: New file.
36396         * modules/unistdio/ulc-vsnprintf-tests: New file.
36397         * modules/unistdio/ulc-vsprintf-tests: New file.
36398         * modules/unistdio/u8-asnprintf-tests: New file.
36399         * modules/unistdio/u8-vasnprintf-tests: New file.
36400         * modules/unistdio/u8-vasprintf-tests: New file.
36401         * modules/unistdio/u8-vsnprintf-tests: New file.
36402         * modules/unistdio/u8-vsprintf-tests: New file.
36403         * modules/unistdio/u16-asnprintf-tests: New file.
36404         * modules/unistdio/u16-vasnprintf-tests: New file.
36405         * modules/unistdio/u16-vasprintf-tests: New file.
36406         * modules/unistdio/u16-vsnprintf-tests: New file.
36407         * modules/unistdio/u16-vsprintf-tests: New file.
36408         * modules/unistdio/u32-asnprintf-tests: New file.
36409         * modules/unistdio/u32-vasnprintf-tests: New file.
36410         * modules/unistdio/u32-vasprintf-tests: New file.
36411         * modules/unistdio/u32-vsnprintf-tests: New file.
36412         * modules/unistdio/u32-vsprintf-tests: New file.
36413         * MODULES.html.sh (Unicode string functions): Add the new modules.
36414
36415 2007-07-01  Bruno Haible  <bruno@clisp.org>
36416
36417         * lib/sprintf.c (sprintf): Limit the available length estimation,
36418         to avoid address wraparound.
36419         * lib/vsprintf.c (vsprintf): Likewise.
36420         * modules/sprintf-posix (Dependencies): Add stdint.
36421         * modules/vsprintf-posix (Dependencies): Likewise.
36422
36423 2007-07-01  Bruno Haible  <bruno@clisp.org>
36424
36425         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
36426         Windows PATH as well. Conservative double-quoting. Comments.
36427
36428 2007-07-01  Bruno Haible  <bruno@clisp.org>
36429             Eric Blake  <ebb9@byu.net>
36430             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36431
36432         * gnulib-tool (self_abspathname): Fix algorithm to cope with
36433         empty components in $PATH, denoting '.'.
36434
36435 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36436
36437         * gnulib-tool: Fix indentation.
36438         (func_create_megatestdir): Likewise.
36439         Report by Bruno Haible.
36440
36441 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36442
36443         Sync from Automake.
36444         * build-aux/gnupload: Fix shell portability issues with for loops.
36445         Report by Karl Berry.
36446
36447 2007-06-29  Simon Josefsson  <simon@josefsson.org>
36448
36449         * build-aux/maint.mk (POURL): Use translationproject.org.
36450
36451 2007-06-27  Simon Josefsson  <simon@josefsson.org>
36452             Bruno Haible  <bruno@clisp.org>
36453
36454         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
36455         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
36456         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
36457         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
36458         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
36459
36460 2007-06-27  Bruno Haible  <bruno@clisp.org>
36461
36462         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
36463         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
36464
36465 2007-06-26  Karl Berry  <karl@gnu.org>
36466
36467         * MODULES.html.sh: remove xreadlink-with-size.
36468
36469 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36470
36471         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
36472         method that I hope also handles the double-include problem noted
36473         by Bruno Haible in
36474         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
36475
36476 2007-06-23  Bruno Haible  <bruno@clisp.org>
36477
36478         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36479         Don't let the 'mostlyclean' target fail if the last subdirectory could
36480         not be removed.
36481         Reported by Karl Berry.
36482
36483 2007-06-23  Bruno Haible  <bruno@clisp.org>
36484
36485         * gnulib-tool (echo): Add a speedier workaround for ksh.
36486         * tests/test-echo.sh: Likewise.
36487
36488 2007-06-23  Bruno Haible  <bruno@clisp.org>
36489
36490         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
36491         * tests/test-echo.sh: Likewise.
36492
36493 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36494
36495         * gnulib-tool (IFS): Initialize early, so we don't set it to
36496         empty later.
36497         (self_abspathname): Rewrite algorithm to set it, reindent.
36498         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
36499         (func_create_megatestdir): Merge some sed scripts.
36500
36501 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36502
36503         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
36504         exposed by Sun Studio 11 cc on Solaris 8.
36505
36506 2007-06-22  Bruno Haible  <bruno@clisp.org>
36507
36508         * gnulib-tool (echo): Ensure the echo primitive does not interpret
36509         backslashes.
36510         * tests/test-echo.sh: New file.
36511
36512 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36513
36514         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
36515         simplify `sed_replace_build_aux' scripts, they are portable but
36516         echoing them with `echo' is not.
36517         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
36518
36519 2007-06-21  Karl Berry  <karl@gnu.org>
36520
36521         * config/srclist.txt: guess we can't handle the licenses via
36522         srclist at the moment.
36523
36524 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
36525
36526         * MODULES.html.sh: Add include_next.
36527         * modules/include_next: New file.
36528
36529 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
36530
36531         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
36532         INCLUDE_NEXT.
36533         (gl_CHECK_NEXT_HEADERS): New macro.
36534         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
36535         the obsolescent gl_ABSOLUTE_HEADER.
36536         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
36537         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
36538         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36539         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36540         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
36541         * m4/math_h.m4 (gl_MATH_H): Likewise.
36542         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
36543         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36544         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
36545         * m4/stdint.m4 (gl_STDINT_H): Likewise.
36546         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
36547         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
36548         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
36549         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36550         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36551         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
36552         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36553         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
36554         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
36555         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
36556         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36557         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
36558         * m4/inttypes.m4 (gl_INTTYPES_H): Define
36559         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
36560         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
36561         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
36562         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
36563         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
36564         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
36565         * lib/float_.h: Likewise.
36566         * lib/inttypes_.h: Likewise.
36567         * lib/math_.h: Likewise.
36568         * lib/search_.h: Likewise.
36569         * lib/signal_.h: Likewise.
36570         * lib/stdint_.h: Likewise.
36571         * lib/stdio_.h: Likewise.
36572         * lib/stdlib_.h: Likewise.
36573         * lib/string_.h: Likewise.
36574         * lib/sys_stat_.h: Likewise.
36575         * lib/sys_time_.h: Likewise.
36576         * lib/time_.h: Likewise.
36577         * lib/unistd_.h: Likewise.
36578         * lib/wchar_.h: Likewise.
36579         * lib/wctype_.h: Likewise.
36580         * lib/dirent_.h: Likewise.
36581         * lib/iconv_.h: Likewise.
36582         * lib/locale_.h: Likewise.
36583         * lib/netinet_in_.h: Likewise.
36584         * lib/sys_select_.h: Likewise.
36585         * lib/sys_socket_.h: Likewise.
36586         * lib/sysexits_.h: Likewise.
36587         * modules/fcntl (Depends-on): Depend on include_next, not
36588         absolute_header.
36589         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
36590         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
36591         * modules/fchdir: Likewise.
36592         * modules/float: Likewise.
36593         * modules/iconv_open: Likewise.
36594         * modules/inttypes: Likewise.
36595         * modules/locale: Likewise.
36596         * modules/math: Likewise.
36597         * modules/netinet_in: Likewise.
36598         * modules/search: Likewise.
36599         * modules/signal: Likewise.
36600         * modules/stdint: Likewise.
36601         * modules/stdio: Likewise.
36602         * modules/stdlib: Likewise.
36603         * modules/string: Likewise.
36604         * modules/sys_select: Likewise.
36605         * modules/sys_socket: Likewise.
36606         * modules/sys_stat: Likewise.
36607         * modules/sys_time: Likewise.
36608         * modules/sysexits: Likewise.
36609         * modules/time: Likewise.
36610         * modules/unistd: Likewise.
36611         * modules/wchar: Likewise.
36612         * modules/wctype: Likewise.
36613         * modules/sys_stat: Change maintainer to "all".
36614         * modules/unistd: Likewise.
36615
36616 2007-06-20  Karl Berry  <karl@gnu.org>
36617
36618         * config/srclist.txt: track www changes in license files.
36619
36620 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
36621
36622         * build-aux/bootstrap: Remove stray dot.
36623         Make sure build_aux settings are honored when linking
36624         gnulib_extra_files.
36625
36626 2007-06-19  Eric Blake  <ebb9@byu.net>
36627
36628         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
36629         Allow compilation on cygwin.
36630
36631 2007-06-19  Jim Meyering  <jim@meyering.net>
36632
36633         xreadlink-with-size: Remove module.  No longer used.
36634         Ex-callers now use xreadlink or mreadlink-with-size.
36635         * modules/xreadlink-with-size: Remove module.
36636         * lib/xreadlink-with-size.c: Remove file.
36637         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
36638         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
36639         just before the function definition *is* accurate.
36640
36641         Eliminate one way canonicalize_filename_mode could exit.
36642         * lib/canonicalize.c (canonicalize_filename_mode):
36643         Use mreadlink_with_size, not xreadlink_with_size.
36644
36645 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
36646
36647         Detect porting problems to FreeBSD/arm, which has time_t wider than
36648         long int.  Original problem reported for GNU diff by Xin Li in
36649         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
36650         * modules/getdate (Depends-on): Add intprops, verify.
36651         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
36652         is an integer type no wider than long int.
36653
36654 2007-06-18  Jim Meyering  <jim@meyering.net>
36655
36656         New module: mreadlink-with-size.
36657         * MODULES.html.sh: Add mreadlink-with-size.
36658         * modules/mreadlink-with-size: New module
36659         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
36660         not xreadlink-with-size.
36661         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
36662
36663 2007-06-16  Bruno Haible  <bruno@clisp.org>
36664
36665         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
36666         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
36667         Reported by Gary V. Vaughan <gary@gnu.org>.
36668
36669 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
36670
36671         Revamp lchown so that it lives in unistd.h where it belongs.
36672         * lib/lchown.h: Remove.
36673         * lib/dirchownmod.c: Don't include lib/lchown.h.
36674         * lib/fchownat.c: Likewise.
36675         * lib/openat.c: Likewise.
36676         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
36677         does not follow symlinks.
36678         (EOPNOTSUPP): Define if not defined.
36679         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
36680         is defined to 0.
36681         (lchown): New decl.
36682         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
36683         Do not check for lchown decl.
36684         Set REPLACE_LCHOWN.
36685         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
36686         REPLACE_LCHOWN.
36687         * modules/chown: Make it clear it follows symlinks.
36688         * modules/lchown: Make it clear it doesn't follow symlinks.
36689         (Files): Remove lib/lchown.h
36690         (Depends-on): Add unistd.
36691         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
36692         (Include): Include <unistd.h>, not "lchown.h".
36693         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
36694         REPLACE_LCHOWN.
36695
36696 2007-06-15  Jim Meyering  <jim@meyering.net>
36697
36698         Change license (GPL to LGPL) of fsusage and dependents.
36699         * modules/fsusage (License): Change to LGPL.
36700         * modules/full-read (License): Likewise.
36701         * modules/full-write (License): Likewise.
36702         * modules/safe-read (License): Likewise.
36703         * modules/safe-write (License): Likewise.
36704
36705 2007-06-14  Ben Pfaff  <blp@gnu.org>
36706
36707         Missing part of allocsa -> malloca transition.
36708         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
36709         gl_MALLOCA.
36710
36711 2007-06-12  Bruno Haible  <bruno@clisp.org>
36712
36713         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
36714         to ia64, x86_64, i386.
36715         Reported by Eric Blake.
36716
36717 2007-06-12  Bruno Haible  <bruno@clisp.org>
36718
36719         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
36720         cross-compiling to x86_64.
36721
36722 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
36723
36724         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
36725         glitch reported by Ralf Wildenhues in
36726         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
36727
36728         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
36729         Vin Shelton.
36730
36731 2007-06-11  Bruno Haible  <bruno@clisp.org>
36732
36733         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
36734         replacement string.
36735         Reported by Eric Blake.
36736
36737 2007-06-10  Bruno Haible  <bruno@clisp.org>
36738
36739         Prepare vasnprintf code for use with Unicode strings.
36740         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
36741         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
36742         TYPE_U32_STRING.
36743         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
36744         a_u32_string variants.
36745         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
36746         * lib/printf-args.c: Don't include config.h and the specification
36747         header if PRINTF_FETCHARGS is already defined.
36748         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
36749         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
36750         TYPE_U16_STRING, TYPE_U32_STRING.
36751         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
36752         u16_directive, u16_directives, u32_directive, u32_directives): New
36753         types.
36754         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
36755         New declarations.
36756         * lib/printf-parse.c: Don't include config.h and the specification
36757         header if PRINTF_PARSE is already defined. Eliminate the set of
36758         parameters for WIDE_CHAR_VERSION; the user of this file must provide
36759         them now. Include c-ctype.h.
36760         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
36761         directive and CHAR_T_ONLY_ASCII.
36762         * lib/vasnprintf.c: Don't include config.h and the specification header
36763         if VASNPRINTF is already defined.
36764         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
36765         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
36766         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
36767         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
36768         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
36769         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
36770         code accordingly.
36771         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
36772         pad_ourselves also in this case, with the 'c' and 's' directives, and
36773         with a different notion of "width".
36774         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
36775
36776 2007-06-10  Bruno Haible  <bruno@clisp.org>
36777
36778         * modules/unistr/u32-mbsnlen: New file.
36779         * lib/unistr/u32-mbsnlen.c: New file.
36780
36781         * modules/unistr/u16-mbsnlen: New file.
36782         * lib/unistr/u16-mbsnlen.c: New file.
36783
36784         * modules/unistr/u8-mbsnlen: New file.
36785         * lib/unistr/u8-mbsnlen.c: New file.
36786
36787         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
36788         declarations.
36789
36790 2007-06-10  Bruno Haible  <bruno@clisp.org>
36791
36792         * lib/string_.h (mbsnlen): New declaration.
36793         * lib/mbsnlen.c: New file.
36794         * m4/mbsnlen.m4: New file.
36795         * modules/mbsnlen: New file.
36796         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
36797         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
36798         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
36799
36800 2007-06-10  Bruno Haible  <bruno@clisp.org>
36801
36802         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
36803
36804 2007-06-10  Bruno Haible  <bruno@clisp.org>
36805
36806         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
36807         * lib/mbuiter.h: Likewise.
36808
36809 2007-06-10  Bruno Haible  <bruno@clisp.org>
36810
36811         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
36812         declaration.
36813
36814 2007-06-10  Karl Berry  <karl@gnu.org>
36815
36816         * config/srclist.txt: remove gettext entries, Bruno prefers
36817         to update individually.
36818
36819 2007-06-10  Bruno Haible  <bruno@clisp.org>
36820
36821         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
36822         'maxlen'. Ensure only length + width bytes are allocated, not
36823         length + 1 + width.
36824
36825 2007-06-09  Bruno Haible  <bruno@clisp.org>
36826
36827         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
36828         (CHAR_T): Remove macro.
36829         (VASNPRINTF): Update.
36830
36831 2007-06-09  Bruno Haible  <bruno@clisp.org>
36832
36833         * MODULES.html.sh (Unicode string functions): Add the new modules.
36834
36835         * modules/uniconv/u32-conv-to-enc: New file.
36836         * lib/uniconv/u32-conv-to-enc.c: New file.
36837         * modules/uniconv/u32-conv-to-enc-tests: New file.
36838         * tests/uniconv/test-u32-conv-to-enc.c: New file.
36839
36840         * modules/uniconv/u16-conv-to-enc: New file.
36841         * lib/uniconv/u16-conv-to-enc.c: New file.
36842         * lib/uniconv/u-conv-to-enc.h: New file.
36843         * modules/uniconv/u16-conv-to-enc-tests: New file.
36844         * tests/uniconv/test-u16-conv-to-enc.c: New file.
36845
36846         * modules/uniconv/u8-conv-to-enc: New file.
36847         * lib/uniconv/u8-conv-to-enc.c: New file.
36848         * modules/uniconv/u8-conv-to-enc-tests: New file.
36849         * tests/uniconv/test-u8-conv-to-enc.c: New file.
36850
36851         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
36852         u32_conv_to_encoding): New declarations.
36853
36854 2007-06-09  Bruno Haible  <bruno@clisp.org>
36855
36856         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
36857
36858 2007-06-09  Bruno Haible  <bruno@clisp.org>
36859
36860         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
36861         * modules/malloca: Renamed from modules/allocsa, updated.
36862         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
36863         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
36864         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
36865         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
36866         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
36867         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
36868         * modules/xmalloca: Renamed from modules/xallocsa, updated.
36869         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
36870         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
36871         * modules/c-strcasestr (Depends-on): Update.
36872         * lib/c-strcasestr.c: Update.
36873         * modules/c-strstr (Depends-on): Update.
36874         * lib/c-strstr.c: Update.
36875         * modules/canonicalize-lgpl (Depends-on): Update.
36876         * lib/canonicalize-lgpl.c: Update.
36877         * modules/clean-temp (Depends-on): Update.
36878         * lib/clean-temp.c: Update.
36879         * modules/csharpcomp (Depends-on): Update.
36880         * lib/csharpcomp.c: Update.
36881         * modules/csharpexec (Depends-on): Update.
36882         * lib/csharpexec.c: Update.
36883         * modules/javacomp (Depends-on): Update.
36884         * lib/javacomp.c: Update.
36885         * modules/javaexec (Depends-on): Update.
36886         * lib/javaexec.c: Update.
36887         * modules/mbscasestr (Depends-on): Update.
36888         * lib/mbscasestr.c: Update.
36889         * modules/mbsstr (Depends-on): Update.
36890         * lib/mbsstr.c: Update.
36891         * modules/setenv (Depends-on): Update.
36892         * lib/setenv.c: Update.
36893         * modules/strcasestr (Depends-on): Update.
36894         * lib/strcasestr.c: Update.
36895         * modules/striconveha (Depends-on): Update.
36896         * lib/striconveha.c: Update.
36897         * modules/relocatable-prog-wrapper (Files): Update.
36898         * lib/relocwrapper.c: Update.
36899         * build-aux/install-reloc: Update.
36900         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
36901
36902 2007-06-08  Bruno Haible  <bruno@clisp.org>
36903
36904         Port to uClibc.
36905         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
36906         * lib/fpurge.c (fpurge): Likewise.
36907         * lib/freading.c (freading): Likewise.
36908         * lib/fseeko.c (rpl_fseeko): Likewise.
36909         * lib/fseterr.c (fseterr): Likewise.
36910         * lib/fwriting.c (fwriting): Likewise.
36911         * tests/test-fflush.c (main): Avoid a failure on uClibc.
36912
36913 2007-06-08  Bruno Haible  <bruno@clisp.org>
36914
36915         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
36916         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
36917         * modules/gettext (Files): Add m4/intlmacosx.m4.
36918
36919 2007-06-07  Bruno Haible  <bruno@clisp.org>
36920
36921         * modules/localename-tests: New file.
36922         * tests/test-localename.c: New file.
36923
36924         New module 'localename'.
36925         * lib/localename.h: New file.
36926         * lib/localename.c: New file, from GNU gettext.
36927         * m4/localename.m4: New file.
36928         * modules/localename: New file.
36929
36930 2007-06-07  Bruno Haible  <bruno@clisp.org>
36931
36932         Work around the lack of <wchar.h> on some builds of uClibc.
36933         * doc/headers/wchar.texi: Update.
36934         * lib/wchar_.h: Include <wchar.h> only if it exists.
36935         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
36936         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
36937         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
36938         doesn't exist.
36939         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
36940         * modules/mbfile (Depends-on): Add wchar.
36941         * modules/mbiter (Depends-on): Likewise.
36942         * modules/mbuiter (Depends-on): Likewise.
36943         Reported by Simon Josefsson.
36944
36945 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
36946
36947         Work around problem reported by Steven M. Schweda in
36948         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
36949         Tru64 5.1B with the Compaq compiler environment installed declares
36950         an 'isblank' function but does not define it in the C library.
36951         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
36952         * lib/regex_internal.h (isblank): Likewise.
36953         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
36954         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36955
36956 2007-06-05  Bruno Haible  <bruno@clisp.org>
36957
36958         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
36959         ia64.
36960         * modules/printf-safe: New file.
36961         * modules/fprintf-posix (Depends-on): Add printf-safe.
36962         * modules/printf-posix (Depends-on): Likewise.
36963         * modules/snprintf-posix (Depends-on): Likewise.
36964         * modules/sprintf-posix (Depends-on): Likewise.
36965         * modules/vasnprintf-posix (Depends-on): Likewise.
36966         * modules/vasprintf-posix (Depends-on): Likewise.
36967         * modules/vfprintf-posix (Depends-on): Likewise.
36968         * modules/vprintf-posix (Depends-on): Likewise.
36969         * modules/vsnprintf-posix (Depends-on): Likewise.
36970         * modules/vsprintf-posix (Depends-on): Likewise.
36971         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
36972         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
36973         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
36974         "no" on i386, x86_64, ia64.
36975         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
36976         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36977         on i386, x86_64, ia64.
36978         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
36979         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36980         on i386, x86_64, ia64.
36981         * tests/test-vasnprintf-posix.c: Include float.h.
36982         (LDBL80_WORDS): New macro.
36983         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36984         on i386, x86_64, ia64.
36985         * tests/test-vasprintf-posix.c: Include float.h.
36986         (LDBL80_WORDS): New macro.
36987         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
36988         on i386, x86_64, ia64.
36989         * tests/test-snprintf-posix.c: Include float.h.
36990         * tests/test-sprintf-posix.c: Likewise.
36991         * tests/test-vsnprintf-posix.c: Likewise.
36992         * tests/test-vsprintf-posix.c: Likewise.
36993
36994 2007-06-05  Bruno Haible  <bruno@clisp.org>
36995
36996         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
36997         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
36998         non-IEEE numbers on i386, x86_64, ia64.
36999         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
37000         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
37001         * tests/test-isnanl.h: Include float.h.
37002         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
37003
37004 2007-06-05  Bruno Haible  <bruno@clisp.org>
37005
37006         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
37007         also the %a / %A. Handle the %a / %A code before this extra handling.
37008
37009 2007-06-05  Bruno Haible  <bruno@clisp.org>
37010
37011         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
37012         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
37013
37014 2007-06-05  Bruno Haible  <bruno@clisp.org>
37015
37016         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
37017         typo in variable name.
37018
37019 2007-06-05  Eric Blake  <ebb9@byu.net>
37020
37021         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
37022         Reported by Simon Josefsson.
37023
37024 2007-06-04  Bruno Haible  <bruno@clisp.org>
37025
37026         Avoid test failures on some PowerPC platforms.
37027         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
37028         Define differently for PowerPC.
37029         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
37030         Reported by Gary V. Vaughan <gary@gnu.org>.
37031
37032 2007-06-02  Bruno Haible  <bruno@clisp.org>
37033
37034         Fix test-stdint failure on FreeBSD/ia64.
37035         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
37036         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
37037         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
37038         * doc/headers/stdint.texi: Update.
37039
37040 2007-06-01  Bruno Haible  <bruno@clisp.org>
37041
37042         * tests/test-binary-io.c (main): Pass a third argument to open().
37043         Reported by Gary V. Vaughan <gary@gnu.org>.
37044
37045 2007-06-01  Bruno Haible  <bruno@clisp.org>
37046
37047         * doc/functions/frexpl.texi: Update for mingw.
37048
37049 2007-06-01  Bruno Haible  <bruno@clisp.org>
37050
37051         * tests/test-lseek.c (main): Disable test of errno for invalid third
37052         argument.
37053         * doc/functions/lseek.texi: Update.
37054         Reported by Gary V. Vaughan <gary@gnu.org>.
37055
37056 2007-05-28  Bruno Haible  <bruno@clisp.org>
37057
37058         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
37059
37060 2007-05-31  Eric Blake  <ebb9@byu.net>
37061
37062         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
37063         cross compiling.
37064
37065 2007-05-30  Eric Blake  <ebb9@byu.net>
37066         and Bruno Haible  <bruno@clisp.org>
37067
37068         Work around mingw test failures exposed by m4-1.4.9b.
37069         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
37070         * tests/test-unistd.c: Disable uid_t and git_t tests for the
37071         moment.
37072
37073 2007-05-30  Bruno Haible  <bruno@clisp.org>
37074
37075         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
37076         assuming that they are closed. Needed on HP-UX 11.
37077
37078 2007-05-29  Bruno Haible  <bruno@clisp.org>
37079
37080         Fix a problem with #include_next.
37081         * lib/dirent_.h: Split the double-inclusion guard.
37082         * lib/fcntl_.h: Likewise.
37083         * lib/float_.h: Likewise.
37084         * lib/iconv_.h: Likewise.
37085         * lib/inttypes_.h: Likewise.
37086         * lib/locale_.h: Likewise.
37087         * lib/math_.h: Likewise.
37088         * lib/netinet_in_.h: Likewise.
37089         * lib/search_.h: Likewise.
37090         * lib/signal_.h: Likewise.
37091         * lib/stdint_.h: Likewise.
37092         * lib/stdio_.h: Likewise.
37093         * lib/stdlib_.h: Likewise.
37094         * lib/string_.h: Likewise.
37095         * lib/sys_select_.h: Likewise.
37096         * lib/sys_socket_.h: Likewise.
37097         * lib/sys_stat_.h: Likewise.
37098         * lib/sys_time_.h: Likewise.
37099         * lib/sysexits_.h: Likewise.
37100         * lib/time_.h: Likewise.
37101         * lib/unistd_.h: Likewise.
37102         * lib/wchar_.h: Likewise.
37103         * lib/wctype_.h: Likewise.
37104
37105 2007-05-29  Bruno Haible  <bruno@clisp.org>
37106
37107         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
37108         for the moment.
37109
37110 2007-05-29  Bruno Haible  <bruno@clisp.org>
37111
37112         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
37113         invocation.
37114         Reported by Eric Blake.
37115
37116 2007-05-29  Bruno Haible  <bruno@clisp.org>
37117
37118         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
37119         compiling case.
37120
37121 2007-05-29  Eric Blake  <ebb9@byu.net>
37122             Bruno Haible  <bruno@clisp.org>
37123
37124         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
37125         cross compiles.
37126
37127 2007-05-28  Eric Blake  <ebb9@byu.net>
37128
37129         * modules/closein-tests (test_closein_LDADD): Support test on
37130         cygwin with libtool.
37131
37132 2007-05-28  Bruno Haible  <bruno@clisp.org>
37133
37134         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
37135         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37136         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37137         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37138         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37139         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37140         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37141         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37142         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37143
37144 2007-05-28  Eric Blake  <ebb9@byu.net>
37145
37146         Unconditionally include <config.h> in unit tests.
37147         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
37148         * tests/test-allocsa.c, tests/test-arcfour.c,
37149         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
37150         tests/test-array_list.c, tests/test-array_oset.c,
37151         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
37152         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
37153         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
37154         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
37155         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
37156         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
37157         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
37158         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
37159         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
37160         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
37161         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
37162         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
37163         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
37164         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
37165         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
37166         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
37167         test-md5.c, test-memmem.c, test-printf-posix.c,
37168         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
37169         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
37170         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
37171         test-strcasestr.c, test-striconv.c, test-striconveh.c,
37172         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
37173         test-vasnprintf-posix2.c, test-vasnprintf.c,
37174         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
37175         test-vfprintf-posix.c, test-vprintf-posix.c,
37176         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
37177         test-xvasprintf.c: Likewise.
37178
37179 2007-05-28  Bruno Haible  <bruno@clisp.org>
37180
37181         * gnulib-tool (func_import): Remember the --with-tests command-line
37182         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
37183         Reported by Eric Blake.
37184
37185 2007-05-28  Bruno Haible  <bruno@clisp.org>
37186
37187         * modules/ftell-tests: New file.
37188         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
37189         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
37190
37191         * lib/ftell.c: New file.
37192         * modules/ftell: New file.
37193         * m4/ftell.m4: New file.
37194         * doc/functions/ftell.texi: Update.
37195         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
37196         REPLACE_FTELL.
37197         * lib/stdio_.h (rpl_ftell): New declaration.
37198         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
37199         REPLACE_FTELL.
37200
37201 2007-05-28  Eric Blake  <ebb9@byu.net>
37202
37203         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
37204
37205 2007-05-28  Bruno Haible  <bruno@clisp.org>
37206
37207         * modules/fseek-tests: New file.
37208         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
37209         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
37210
37211         * lib/fseek.c: New file.
37212         * modules/fseek: New file.
37213         * m4/fseek.m4: New file.
37214         * doc/functions/fseek.texi: Update.
37215         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
37216         REPLACE_FSEEK.
37217         * lib/stdio_.h (rpl_fseek): New declaration.
37218         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
37219         REPLACE_FSEEK.
37220
37221 2007-05-28  Bruno Haible  <bruno@clisp.org>
37222
37223         * lib/stdio_.h (fflush): More comments.
37224
37225 2007-05-28  Bruno Haible  <bruno@clisp.org>
37226
37227         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
37228         runtime test.
37229
37230 2007-05-28  Eric Blake  <ebb9@byu.net>
37231
37232         Improve lseek module.
37233         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
37234         * lib/unistd_.h (lseek): Scale back link warning message.
37235         * tests/test-lseek.c: Beef up test.
37236         * tests/test-lseek.sh: Exercise more facets of lseek.
37237         Reported by Bruno Haible.
37238
37239 2007-05-28  Bruno Haible  <bruno@clisp.org>
37240
37241         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
37242         to define.
37243
37244 2007-05-27  Bruno Haible  <bruno@clisp.org>
37245
37246         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
37247
37248 2007-05-27  Bruno Haible  <bruno@clisp.org>
37249
37250         * modules/openmp: New file.
37251         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
37252         Noah Misch.
37253
37254 2007-05-26  Bruno Haible  <bruno@clisp.org>
37255
37256         * modules/chdir-long (Depends-on): Add fchdir.
37257         * modules/chdir-safer (Depends-on): Likewise.
37258         * modules/fts (Depends-on): Likewise.
37259         * modules/fts-lgpl (Depends-on): Likewise.
37260         * modules/openat (Depends-on): Likewise.
37261         * modules/savewd (Depends-on): Likewise.
37262
37263 2007-05-24  Eric Blake  <ebb9@byu.net>
37264
37265         Fix lseek on mingw.
37266         * modules/lseek: New module.
37267         * m4/lseek.m4: New file.
37268         * lib/lseek.c: New file.
37269         * modules/lseek-tests: New file.
37270         * tests/test-lseek.c: New file.
37271         * tests/test-lseek.sh: New file.
37272         * MODULES.html.sh: Document lseek module.
37273         * modules/fflush (Depends-on): Add lseek, fseeko.
37274         * modules/fseeko (Depends-on): Likewise.
37275         * modules/ftello (Depends-on): Likewise.
37276         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
37277         broken.
37278         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
37279         broken.
37280         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
37281         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
37282         * lib/ftello.c (rpl_ftello): Likewise.
37283         * tests/test-fseeko.c (main): Test this.
37284         * tests/test-fseeko.sh: Likewise.
37285         * tests/test-ftello.c (main): Likewise.
37286         * tests/test-ftello.sh: Likewise.
37287         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
37288         implies replacing fseek.
37289         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
37290         HAVE_FTELLO.
37291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
37292         * modules/unistd (Makefile.am): Likewise.
37293         * lib/unistd_.h (lseek): Declare a replacement.
37294         * doc/functions/lseek.texi (lseek): Document this fix.
37295         * doc/functions/fseek.texi (fseek): Likewise.
37296         * doc/functions/ftell.texi (ftell): Likewise.
37297
37298 2007-05-24  Bruno Haible  <bruno@clisp.org>
37299
37300         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
37301         in the printed representation of a NaN.
37302         * tests/test-vasprintf-posix.c (test_function): Likewise.
37303         * tests/test-snprintf-posix.h (test_function): Likewise.
37304         * tests/test-sprintf-posix.h (test_function): Likewise.
37305         Reported by Eric Blake.
37306
37307 2007-05-23  Eric Blake  <ebb9@byu.net>
37308
37309         Fix fseeko/ftello on cygwin 1.5.24.
37310         * doc/functions/fseeko.texi (fseeko): Document the fix.
37311         * doc/functions/ftello.texi (ftello): Document the fix.
37312         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
37313         * doc/functions/stdout.text (stdout): New file.
37314         * doc/functions/stderr.text (stderr): New file.
37315         * doc/gnulib.texi (Function Substitutes): Use new files.
37316         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
37317         prior to 1.7.0.
37318         * tests/test-ftello.c (main): Likewise for ftello.
37319         * tests/test-fseeko.sh: New file.
37320         * tests/test-ftello.sh: New file.
37321         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
37322         with seekable stdin.
37323         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
37324         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
37325         (gl_REPLACE_FSEEKO): New macro.
37326         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
37327         * modules/fseeko (Files): Distribute fseeko.c.
37328         * modules/ftello (Files): Distribute ftello.c.
37329         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
37330         mode.
37331         * lib/ftello.c (rpl_ftello): New file.
37332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
37333         fseeko, ftello.
37334         (gl_STDIN_LARGE_OFFSET): New macro.
37335         * modules/stdio (Makefile.am): Perform the replacement.
37336         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
37337
37338 2007-05-23  Bruno Haible  <bruno@clisp.org>
37339
37340         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
37341         GNULIB_POSIXCHECK is defined.
37342
37343 2007-05-21  Bruno Haible  <bruno@clisp.org>
37344
37345         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
37346         Check also the output for NaN arguments. When cross-compiling, guess
37347         no on IRIX.
37348         * lib/vasnprintf.c: Update comments.
37349         * tests/test-vasnprintf-posix.c (strisnan): New function.
37350         (test_function): Use it.
37351         * tests/test-vasprintf-posix.c (strisnan): New function.
37352         (test_function): Use it.
37353         * tests/test-snprintf-posix.h (strisnan): New function.
37354         (test_function): Use it.
37355         * tests/test-sprintf-posix.h (strisnan): New function.
37356         (test_function): Use it.
37357         Reported by Eric Blake.
37358
37359 2007-05-20  Bruno Haible  <bruno@clisp.org>
37360
37361         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
37362         numbers that fails on BeOS.
37363         * doc/functions/frexpl.texi: Update.
37364
37365 2007-05-20  Jim Meyering  <jim@meyering.net>
37366
37367         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
37368         forced upon us by glibc-2.6.
37369
37370 2007-05-20  Bruno Haible  <bruno@clisp.org>
37371
37372         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
37373         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
37374         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
37375         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
37376         NEED_PRINTF_INFINITE.
37377         (is_infinitel): New function.
37378         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
37379         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
37380         gl_PREREQ_VASNPRINTF_INFINITE.
37381         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
37382         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37383         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
37384         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
37385         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
37386         gl_PREREQ_VASNPRINTF_INFINITE.
37387         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37388         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37389         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37390         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37391         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37392         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37393         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37394         * doc/functions/fprintf.texi: Update.
37395         * doc/functions/printf.texi: Update.
37396         * doc/functions/snprintf.texi: Update.
37397         * doc/functions/sprintf.texi: Update.
37398         * doc/functions/vfprintf.texi: Update.
37399         * doc/functions/vprintf.texi: Update.
37400         * doc/functions/vsnprintf.texi: Update.
37401         * doc/functions/vsprintf.texi: Update.
37402
37403 2007-05-20  Bruno Haible  <bruno@clisp.org>
37404
37405         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
37406         was not found in libc.
37407         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
37408
37409 2007-05-20  Bruno Haible  <bruno@clisp.org>
37410
37411         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
37412         printed as "-nan" instead of "nan".
37413         * tests/test-vasprintf-posix.c (test_function): Likewise.
37414         * tests/test-snprintf-posix.h (test_function): Likewise.
37415         * tests/test-sprintf-posix.h (test_function): Likewise.
37416         Needed for HP-UX 11.
37417
37418 2007-05-20  Jim Meyering  <jim@meyering.net>
37419
37420         Fix buggy test for the fchownat-deref bug.
37421         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
37422         symlink required for the run-test.  Without it, this test would
37423         always declare that fchownat doesn't work, and client code would
37424         unnecessarily use the replacement function with fixed libc.
37425         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
37426         Reported by Greg Schafer.
37427
37428 2007-05-19  Bruno Haible  <bruno@clisp.org>
37429
37430         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
37431         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
37432         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
37433         Needed for IRIX 6.5 and Solaris 2.5.1.
37434
37435 2007-05-19  Bruno Haible  <bruno@clisp.org>
37436
37437         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
37438         (test_function): Skip tests involving -0.0 on platforms where
37439         -0.0 = 0.0.
37440         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
37441         (test_function): Skip tests involving -0.0 on platforms where
37442         -0.0 = 0.0.
37443         * tests/test-snprintf-posix.h (have_minus_zero): New function.
37444         (test_function): Skip tests involving -0.0 on platforms where
37445         -0.0 = 0.0.
37446         * tests/test-sprintf-posix.h (have_minus_zero): New function.
37447         (test_function): Skip tests involving -0.0 on platforms where
37448         -0.0 = 0.0.
37449         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
37450         tests.
37451         * tests/test-printf-posix.h (test_function): Likewise.
37452         * tests/test-printf-posix.output: Remove all -0.0 related results.
37453         Needed for IRIX 6.5.
37454
37455 2007-05-19  Bruno Haible  <bruno@clisp.org>
37456
37457         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
37458         printed as "nan0x7fffffff" instead of "nan".
37459         * tests/test-vasprintf-posix.c (test_function): Likewise.
37460         * tests/test-snprintf-posix.h (test_function): Likewise.
37461         * tests/test-sprintf-posix.h (test_function): Likewise.
37462         * tests/test-fprintf-posix.h (NaN): Remove macro.
37463         (test_function): Remove all NaN related tests.
37464         * tests/test-printf-posix.h (NaN): Remove macro.
37465         (test_function): Remove all NaN related tests.
37466         * tests/test-printf-posix.output: Remove all NaN related results.
37467         Needed for IRIX 6.5.
37468
37469 2007-05-19  Bruno Haible  <bruno@clisp.org>
37470
37471         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
37472         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
37473
37474 2007-05-19  Bruno Haible  <bruno@clisp.org>
37475
37476         * lib/float_.h: New file.
37477         * m4/float_h.m4: New file.
37478         * modules/float: New file.
37479         * modules/isnanl (Dependencies): Add float.
37480         * modules/isnanl-nolibm (Dependencies): Likewise.
37481         * modules/mathl (Dependencies): Likewise.
37482         * modules/printf-frexpl (Dependencies): Likewise.
37483         * modules/signbit (Dependencies): Likewise.
37484         * modules/vasnprintf (Dependencies): Likewise.
37485         * doc/headers/float.texi: Update.
37486
37487 2007-05-19  Jim Meyering  <jim@meyering.net>
37488
37489         * lib/utimens.c (gl_futimens): Rename from futimens,
37490         now that glibc-2.6 declares futimens.
37491         * lib/utimens.h: Likewise.
37492
37493 2007-05-19  Bruno Haible  <bruno@clisp.org>
37494
37495         Avoid test failures on mingw.
37496         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
37497         * tests/test-printf-posix.sh: Likewise.
37498         * tests/test-vfprintf-posix.sh: Likewise.
37499         * tests/test-vprintf-posix.sh: Likewise.
37500
37501 2007-05-19  Bruno Haible  <bruno@clisp.org>
37502
37503         Fix *printf result for NaN, Inf, -0.0 on mingw.
37504         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
37505         * lib/vasnprintf.c: Include math.h and isnan.h.
37506         (is_infinite_or_zero): New function.
37507         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
37508         values in the %f, %F, %e, %E, %g, %G directives.
37509         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
37510         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37511         gl_PRINTF_INFINITE and test its result. Invoke
37512         gl_PREREQ_VASNPRINTF_INFINITE.
37513         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37514         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37515         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37516         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37517         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37518         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37519         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37520         * doc/functions/fprintf.texi: Update.
37521         * doc/functions/printf.texi: Update.
37522         * doc/functions/snprintf.texi: Update.
37523         * doc/functions/sprintf.texi: Update.
37524         * doc/functions/vfprintf.texi: Update.
37525         * doc/functions/vprintf.texi: Update.
37526         * doc/functions/vsnprintf.texi: Update.
37527         * doc/functions/vsprintf.texi: Update.
37528
37529 2007-05-19  Bruno Haible  <bruno@clisp.org>
37530
37531         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
37532         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
37533         Instead of multiplying with 10^k, set extra_zeroes to k.
37534         (scale10_round_long_double): Remove function.
37535
37536 2007-05-18  Bruno Haible  <bruno@clisp.org>
37537
37538         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
37539         introduced on 2007-05-06.
37540
37541 2007-05-18  Bruno Haible  <bruno@clisp.org>
37542
37543         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
37544         %g directives.
37545         * tests/test-vasprintf-posix.c (test_function): Likewise.
37546         * tests/test-snprintf-posix.h (test_function): Likewise.
37547         * tests/test-sprintf-posix.h (test_function): Likewise.
37548
37549 2007-05-18  Bruno Haible  <bruno@clisp.org>
37550
37551         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
37552         (strmatch): New function.
37553         (test_function): Test the %f directive on numbers of various exponents.
37554         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
37555         (strmatch): New function.
37556         (test_function): Test the %f directive on numbers of various exponents.
37557         * tests/test-snprintf-posix.h (strmatch): New function.
37558         (test_function): Test the %f directive on numbers of various exponents.
37559         * tests/test-sprintf-posix.h (strmatch): New function.
37560         (test_function): Test the %f directive on numbers of various exponents.
37561         * tests/test-snprintf-posix.c (SIZEOF): New macro.
37562         * tests/test-sprintf-posix.c (SIZEOF): New macro.
37563         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
37564         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
37565
37566 2007-05-18  Bruno Haible  <bruno@clisp.org>
37567
37568         Add support for 'long double' number output.
37569         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
37570         * lib/vasnprintf.c: Include math.h and float+.h.
37571         (mp_limb_t): New type.
37572         (GMP_LIMB_BITS): New macro.
37573         (mp_twolimb_t): New type.
37574         (GMP_TWOLIMB_BITS): New macro.
37575         (mpn_t): New type.
37576         (multiply, divide, convert_to_decimal, decode_long_double,
37577         scale10_round_long_double, scale10_round_decimal_long_double,
37578         floorlog10l): New functions.
37579         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
37580         for the %f, %F, %e, %E, %g, %G directives.
37581         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
37582         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37583         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
37584         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
37585         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37586         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37587         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37588         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37589         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37590         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37591         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37592         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
37593         * modules/snprintf-posix (Depends-on): Likewise.
37594         * modules/sprintf-posix (Depends-on): Likewise.
37595         * modules/vasnprintf-posix (Depends-on): Likewise.
37596         * modules/vasprintf-posix (Depends-on): Likewise.
37597         * modules/vfprintf-posix (Depends-on): Likewise.
37598         * modules/vsnprintf-posix (Depends-on): Likewise.
37599         * modules/vsprintf-posix (Depends-on): Likewise.
37600         * modules/vasnprintf (Files): Add lib/float+.h.
37601         * doc/functions/fprintf.texi: Update.
37602         * doc/functions/printf.texi: Update.
37603         * doc/functions/snprintf.texi: Update.
37604         * doc/functions/sprintf.texi: Update.
37605         * doc/functions/vfprintf.texi: Update.
37606         * doc/functions/vprintf.texi: Update.
37607         * doc/functions/vsnprintf.texi: Update.
37608         * doc/functions/vsprintf.texi: Update.
37609
37610 2007-05-18  Bruno Haible  <bruno@clisp.org>
37611
37612         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
37613
37614 2007-05-18  Bruno Haible  <bruno@clisp.org>
37615
37616         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
37617         for printing 64-bit integers. Needed for mingw.
37618
37619 2007-05-18  Bruno Haible  <bruno@clisp.org>
37620
37621         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
37622         gl_FUNC_FREXPL_WORKS.
37623         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
37624
37625 2007-05-18  Bruno Haible  <bruno@clisp.org>
37626
37627         * modules/frexpl-nolibm-tests: New file.
37628
37629         * modules/frexpl-nolibm: New file.
37630         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
37631
37632 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
37633
37634         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
37635         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
37636         GCC 4.2, which otherwise issues a lot of warnings.
37637         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
37638         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
37639         Likewise.
37640         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
37641         * modules/iconv_open (iconv.h): Likewise.
37642         * modules/locale (locale.h): Likewise.
37643         * modules/netinet_in (netinet/in.h): Likewise.
37644         * modules/sys_select (sys_select.h): Likewise.
37645         * modules/sys_socket (sys/socket.h): Likewise.
37646         * modules/sys_stat (sys/stat.h): Likewise.
37647         * modules/sysexits (sysexits.h): Likewise.
37648         * modules/unistd (unistd.h): Likewise.
37649
37650 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37651
37652         * modules/closein-tests (Makefile.am): Distribute
37653         `test-closein.sh'.
37654
37655 2007-05-17  Bruno Haible  <bruno@clisp.org>
37656
37657         * tests/test-printf-posix.output: Renamed from
37658         tests/test-fprintf-posix.out.
37659         * modules/fprintf-posix-tests: Update.
37660         * modules/printf-posix-tests: Update.
37661         * modules/vfprintf-posix-tests: Update.
37662         * modules/vprintf-posix-tests: Update.
37663         * tests/test-fprintf-posix.sh: Update.
37664         * tests/test-printf-posix.sh: Update.
37665         * tests/test-vfprintf-posix.sh: Update.
37666         * tests/test-vprintf-posix.sh: Update.
37667         Reported by Ralf Wildenhues.
37668
37669 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
37670
37671         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
37672         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
37673         GCC 4.2, which otherwise issues a lot of warnings.
37674         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
37675         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
37676         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
37677         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
37678         it should no longer be needed.
37679         * lib/string_.h: Likewise.
37680         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
37681         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
37682         * modules/inttypes (inttypes.h): Likewise.
37683         * modules/math (math.h): Likewise.
37684         * modules/search (search.h): Likewise.
37685         * modules/signal (signal.h): Likewise.
37686         * modules/stdint (stdint.h): Likewise.
37687         * modules/stdio (stdio.h): Likewise.
37688         * modules/stdlib (stdlib.h): Likewise.
37689         * modules/string (string.h): Likewise.
37690         * modules/sys_time (sys/time.h): Likewise.
37691         * modules/time (time.h): Likewise.
37692         * modules/wchar (wchar.h): Likewise.
37693         * modules/wctype (wtype.h): Likewise.
37694
37695 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
37696
37697         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
37698
37699 2007-05-13  Bruno Haible  <bruno@clisp.org>
37700
37701         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
37702         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
37703         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
37704         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37705         (gl_PREREQ_STRTOK_R): Don't require it here.
37706
37707 2007-05-13  Bruno Haible  <bruno@clisp.org>
37708
37709         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
37710         when used in C++ mode.
37711
37712 2007-05-12  Bruno Haible  <bruno@clisp.org>
37713
37714         * lib/linebuffer.h: Tweak doc.
37715         * lib/linebuffer.c: Likewise.
37716
37717 2007-05-12  James Youngman  <jay@gnu.org>
37718
37719         * lib/linebuffer.c (readlinebuffer_delim): New function,
37720         like readlinebuffer, but use a caller-specified delimiter.
37721         (readlinebuffer): Just call readlinebuffer_delim with '\n'
37722         as the delimiter.
37723         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
37724
37725 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37726
37727         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
37728         * modules/openat (Files): Remove openat-die.c.
37729         (Depends-on): Add openat-die.
37730         * modules/openat-die: New module.
37731
37732 2007-05-06  Bruno Haible  <bruno@clisp.org>
37733
37734         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
37735         Update with info about Cygwin.
37736         * doc/functions/fprintf.texi: Update.
37737         * doc/functions/printf.texi: Update.
37738         * doc/functions/snprintf.texi: Update.
37739         * doc/functions/sprintf.texi: Update.
37740         * doc/functions/vfprintf.texi: Update.
37741         * doc/functions/vprintf.texi: Update.
37742         * doc/functions/vsnprintf.texi: Update.
37743         * doc/functions/vsprintf.texi: Update.
37744         Reported by Eric Blake.
37745
37746 2007-05-06  Bruno Haible  <bruno@clisp.org>
37747
37748         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
37749         padding ourselves for the floating-point directives.
37750         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
37751         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
37752         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37753         gl_PRINTF_FLAG_ZERO and test its result. Invoke
37754         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
37755         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37756         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
37757         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37758         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37759         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37760         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37761         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37762         * tests/test-snprintf-posix.h (test_function): Also check the width
37763         and some flags in the %f directive.
37764         * tests/test-sprintf-posix.h (test_function): Likewise.
37765         * tests/test-vasnprintf-posix.c (test_function): Likewise.
37766         * tests/test-vasprintf-posix.c (test_function): Likewise.
37767         * doc/functions/fprintf.texi: Update.
37768         * doc/functions/printf.texi: Update.
37769         * doc/functions/snprintf.texi: Update.
37770         * doc/functions/sprintf.texi: Update.
37771         * doc/functions/vfprintf.texi: Update.
37772         * doc/functions/vprintf.texi: Update.
37773         * doc/functions/vsnprintf.texi: Update.
37774         * doc/functions/vsprintf.texi: Update.
37775
37776 2007-05-06  Bruno Haible  <bruno@clisp.org>
37777
37778         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
37779         pass the ' flag character to sprintf or snprintf.
37780         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
37781         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
37782         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37783         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
37784         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
37785         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37786         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
37787         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37788         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37789         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37790         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37791         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37792         * tests/test-snprintf-posix.h (test_function): Also check the grouping
37793         flag.
37794         * tests/test-sprintf-posix.h (test_function): Likewise.
37795         * tests/test-vasnprintf-posix.c (test_function): Likewise.
37796         * tests/test-vasprintf-posix.c (test_function): Likewise.
37797         * doc/functions/fprintf.texi: Update.
37798         * doc/functions/printf.texi: Update.
37799         * doc/functions/snprintf.texi: Update.
37800         * doc/functions/sprintf.texi: Update.
37801         * doc/functions/vfprintf.texi: Update.
37802         * doc/functions/vprintf.texi: Update.
37803         * doc/functions/vsnprintf.texi: Update.
37804         * doc/functions/vsprintf.texi: Update.
37805
37806 2007-05-01  Bruno Haible  <bruno@clisp.org>
37807
37808         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
37809
37810 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
37811
37812         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
37813         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
37814
37815 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
37816
37817         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
37818         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
37819         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
37820
37821 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
37822
37823         * lib/argp-help.c (struct hol_entry): New member `ord'.
37824         (HOL_ENTRY_PTRCMP): Use ord for comparison
37825         (hol_sort): Initialize ord.
37826
37827 2007-05-01  Bruno Haible  <bruno@clisp.org>
37828
37829         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
37830         Reported by Eric Blake.
37831         * doc/gnulib.texi (Function Substitutes): Update.
37832
37833 2007-05-01  Bruno Haible  <bruno@clisp.org>
37834
37835         * doc/functions.texi: Remove file, now redundant through
37836         doc/functions/*.texi.
37837
37838 2007-05-01  Bruno Haible  <bruno@clisp.org>
37839
37840         * modules/argp (Depends-on): Add sleep.
37841
37842 2007-05-01  Bruno Haible  <bruno@clisp.org>
37843
37844         * modules/sleep-tests: New file.
37845         * tests/test-sleep.c: New file.
37846
37847         * modules/sleep: New file.
37848         * lib/sleep.c: New file.
37849         * m4/sleep.m4: New file.
37850         * lib/unistd_.h (sleep): New declaration.
37851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
37852         HAVE_SLEEP.
37853         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
37854         * doc/functions/sleep.texi: Document the sleep module.
37855
37856 2007-05-01  Bruno Haible  <bruno@clisp.org>
37857
37858         * lib/sigprocmask.h: Remove file.
37859         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
37860         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
37861         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
37862         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
37863         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
37864         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
37865         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
37866         HAVE_SIGSET_T as a shell variable.
37867         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
37868         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
37869         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
37870         (Depends-on): Add signal. Remove verify.
37871         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
37872         (Include): Mention <signal.h> instead of sigprocmask.h.
37873         * NEWS: Mention the change.
37874         * lib/fatal-signal.c: Don't include sigprocmask.h.
37875
37876 2007-05-01  Bruno Haible  <bruno@clisp.org>
37877
37878         * modules/signal: New file.
37879         * lib/signal_.h: New file.
37880         * m4/signal_h.m4: New file.
37881
37882 2007-05-01  Bruno Haible  <bruno@clisp.org>
37883
37884         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
37885         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
37886         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
37887         HAVE_WCTYPE_CTMP_BUG into wctype.h.
37888
37889 2007-05-01  Bruno Haible  <bruno@clisp.org>
37890
37891         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
37892         configure time.
37893         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
37894         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
37895         * modules/sys_stat (Makefile.am): Substitute their values into
37896         sys/stat.h.
37897
37898 2007-05-01  Bruno Haible  <bruno@clisp.org>
37899
37900         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
37901         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
37902         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
37903
37904 2007-05-01  Bruno Haible  <bruno@clisp.org>
37905
37906         * doc/header/assert.texi: Undo last change: don't mention the gnulib
37907         'assert' module here.
37908
37909 2007-05-01  Bruno Haible  <bruno@clisp.org>
37910
37911         * doc/functions/*.texi: New files.
37912         * doc/functions/google-ranking.txt: New file.
37913         * doc/gnulib.texi (Function Substitutes): New chapter.
37914         (ctime, inet_ntoa): Remove sections.
37915         * doc/ctime.texi: Remove file.
37916         * doc/inet_ntoa.texi: Remove file.
37917         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
37918         dependencies.
37919         (%.info): New rule, specifying a --reference-limit.
37920
37921 2007-05-01  Bruno Haible  <bruno@clisp.org>
37922
37923         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
37924
37925 2007-05-01  Bruno Haible  <bruno@clisp.org>
37926
37927         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
37928         the portability of 'mkdir' to mingw systems.
37929
37930 2007-05-01  Bruno Haible  <bruno@clisp.org>
37931
37932         * doc/headers/google-ranking.txt: New file.
37933
37934 2007-04-30  Eric Blake  <ebb9@byu.net>
37935
37936         Prefer fseeko to fseek.
37937         * modules/getpass (Depends-on): Add fseeko.
37938         * lib/getpass.c (getpass): Use fseeko, not fseek.
37939
37940 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
37941
37942         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
37943         assumes the sorting is stable, while most qsort implementations
37944         are not.  Use argument addresses to ensure they never compare as
37945         equal.
37946
37947         * tests/test-argp-2.sh (usage-indent test): Fix output
37948         (func_compare): Restore diff options
37949         * tests/test-argp.c: Restore #include "progname.h"
37950
37951 2007-04-29  Bruno Haible  <bruno@clisp.org>
37952
37953         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
37954         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
37955         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
37956         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37957         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
37958         (configure.ac): Define CHECK_SNPRINTF_POSIX.
37959         (TESTS, check_PROGRAMS): Add test-snprintf.
37960         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
37961         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
37962         (TESTS, check_PROGRAMS): Add test-vsnprintf.
37963         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
37964         assertions that fail on HP-UX, OSF/1, or IRIX.
37965         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
37966
37967 2007-04-29  Bruno Haible  <bruno@clisp.org>
37968
37969         * MODULES.html.sh (posix_functions): Remove 'contents'.
37970
37971 2007-04-29  Karl Berry  <karl@gnu.org>
37972
37973         * config/srclist.txt (gendocs_template_min): new entry.
37974
37975 2007-04-29  Bruno Haible  <bruno@clisp.org>
37976
37977         Work around fpurge bug on BSD systems.
37978         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
37979         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
37980         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
37981         fpurge to rpl_fpurge if the system already has this function.
37982         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
37983         the case where the system already has this function. Correct invariants
37984         on BSD systems.
37985         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
37986         BSD systems.
37987
37988 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
37989
37990         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
37991         proposed by Sven Verdoolaege.
37992
37993         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
37994         options.
37995         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
37996         (usage and help tests): Update
37997
37998 2007-04-29  Bruno Haible  <bruno@clisp.org>
37999
38000         * tests/test-fflush.c (main): Use a file of size 17, not 10.
38001         Print more information in case of failure. Disable a test on BeOS.
38002
38003 2007-04-29  Bruno Haible  <bruno@clisp.org>
38004
38005         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
38006         This helps debugging on systems on which no gdb is available.
38007
38008 2007-04-29  Bruno Haible  <bruno@clisp.org>
38009
38010         * lib/freading.h: Improve comments.
38011         * lib/fwriting.h: Likewise.
38012         * tests/test-freading.c (main): Don't check freading immediately after
38013         repositioning. Needed for glibc.
38014
38015 2007-04-29  Bruno Haible  <bruno@clisp.org>
38016
38017         * lib/freading.c (freading): Trivial simplification.
38018
38019 2007-04-28  Bruno Haible  <bruno@clisp.org>
38020
38021         * tests/test-fwriting.c (main): Also test the interaction between
38022         fflush and fwriting.
38023         * modules/fwriting-tests (Depends-on): Add fflush.
38024
38025         * tests/test-freading.c (main): Also test the interaction between
38026         fflush and freading.
38027         * modules/freading-tests (Depends-on): Add fflush.
38028
38029 2007-04-28  Bruno Haible  <bruno@clisp.org>
38030
38031         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
38032         fseeko and ftello.
38033         Suggested by Eric Blake.
38034
38035 2007-04-28  Jim Meyering  <jim@meyering.net>
38036
38037         Avoid false-negative in gl_STDINT_H's C99 conformance test.
38038         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
38039         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
38040
38041 2007-04-27  Eric Blake  <ebb9@byu.net>
38042
38043         * doc/headers/assert.texi (assert.h): Document assert module use.
38044
38045 2007-04-27  Bruno Haible  <bruno@clisp.org>
38046
38047         * doc/headers/*.texi: New files.
38048         * doc/gnulib.texi (Header File Substitutes): New chapter.
38049         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
38050         dependencies.
38051         (standards.info ,standards.html, standards.dvi): Update dependencies.
38052         (mostlyclean, clean): New targets.
38053
38054 2007-04-27  Bruno Haible  <bruno@clisp.org>
38055
38056         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
38057         * modules/sysexits (Files, Makefile.am): Update.
38058
38059         * lib/sys_socket_.h: Renamed from lib/socket_.h.
38060         * modules/sys_socket (Files, Makefile.am): Update.
38061
38062         * lib/sys_stat_.h: Renamed from lib/stat_.h.
38063         * modules/sys_stat (Files, Makefile.am): Update.
38064
38065 2007-04-27  Eric Blake  <ebb9@byu.net>
38066
38067         * lib/freading.h: Improve comments.
38068         * lib/fwriting.h: Likewise.
38069         * lib/fflush.c: Likewise.
38070
38071         Fix closein for mingw.
38072         * modules/closein-tests: Add tests for closein.
38073         * tests/test-closein.c: New file.
38074         * tests/test-closein.sh: Likewise.
38075         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
38076         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
38077
38078 2007-04-27  Bruno Haible  <bruno@clisp.org>
38079
38080         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
38081         version is < 6.
38082         * lib/math_.h [__DECC]: Likewise.
38083         * lib/stdio_.h [__DECC]: Likewise.
38084         * lib/stdlib_.h [__DECC]: Likewise.
38085         * lib/string_.h [__DECC]: Likewise.
38086         * lib/time_.h [__DECC]: Likewise.
38087         * lib/wchar_.h [__DECC]: Likewise.
38088         * lib/wctype_.h [__DECC]: Likewise.
38089
38090 2007-04-27  Bruno Haible  <bruno@clisp.org>
38091
38092         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
38093
38094 2007-04-27  Bruno Haible  <bruno@clisp.org>
38095
38096         * lib/fflush.c: Add comments.
38097         * modules/fpurge-tests (Depends-on): Add fflush.
38098         * modules/freadable-tests (Depends-on): Likewise.
38099         * modules/fwritable-tests (Depends-on): Likewise.
38100
38101 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
38102
38103         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
38104         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
38105         Report by Bruno Haible <bruno@clisp.org>.
38106
38107 2007-04-26  Eric Blake  <ebb9@byu.net>
38108
38109         Fix fflush on mingw.
38110         * modules/fflush (Depends-on): Add freading.
38111         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
38112         but unread data.
38113
38114 2007-04-26  Eric Blake  <ebb9@byu.net>
38115         and Bruno Haible  <bruno@clisp.org>
38116
38117         Implement freading and fwriting.
38118         * lib/freading.c: New file.
38119         * lib/freading.h: Likewise.
38120         * m4/freading.m4: Likewise.
38121         * modules/freading: Likewise.
38122         * modules/freading-tests: Likewise.
38123         * tests/test-freading.c: Likewise.
38124         * lib/fwriting.c: New file.
38125         * lib/fwriting.h: Likewise.
38126         * m4/fwriting.m4: Likewise.
38127         * modules/fwriting: Likewise.
38128         * modules/fwriting-tests: Likewise.
38129         * tests/test-fwriting.c: Likewise.
38130         * MODULES.html.sh (File stream based Input/Output): Mention them.
38131
38132 2007-04-26  Bruno Haible  <bruno@clisp.org>
38133
38134         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
38135         'long' when we assume it.
38136         Suggested by Eric Blake.
38137
38138 2007-04-26  Bruno Haible  <bruno@clisp.org>
38139
38140         Ensure fseeko, ftello are declared on glibc systems.
38141         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
38142         * modules/fseeko (configure.ac-early): Likewise.
38143         * modules/ftello (configure.ac-early): Likewise.
38144         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
38145         AC_FUNC_FSEEKO for this.
38146         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
38147         (gl_CHECK_FSEEKO): Remove macro.
38148
38149 2007-04-26  Bruno Haible  <bruno@clisp.org>
38150
38151         * tests/test-fflush.c (main): Also check the ftell result after
38152         fflush and fseek/fseeko.
38153         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
38154         file descriptor position cache in the stream.
38155         * lib/fseeko.c (rpl_fseeko): Likewise.
38156
38157 2007-04-26  Bruno Haible  <bruno@clisp.org>
38158
38159         * modules/fflush-tests (Depends-on): Add fseeko.
38160
38161 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
38162             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38163
38164         * lib/argz_.h: ensure error_t definition is obtained in same
38165         mechanism system argz.h would have.
38166         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
38167         argz facilities are known bad.  Err on the side of caution if
38168         cross-compiling.
38169
38170 2007-04-25  Eric Blake  <ebb9@byu.net>
38171
38172         * lib/fpurge.c (includes): Use stdlib.h for free.
38173         * tests/test-fflush.c (main): Also test fflush-fseeko.
38174
38175 2007-04-25  Bruno Haible  <bruno@clisp.org>
38176
38177         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
38178         * lib/fseeko.c: New file.
38179         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
38180         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
38181         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
38182         gl_FUNC_FSEEKO.
38183         (gl_FUNC_FSEEKO): Invoke it.
38184         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
38185         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
38186         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
38187
38188 2007-04-25  Bruno Haible  <bruno@clisp.org>
38189
38190         * modules/fflush (Depends-on): Add ftello.
38191
38192 2007-04-25  Bruno Haible  <bruno@clisp.org>
38193
38194         * modules/ftello-tests: New file.
38195         * tests/test-ftello.c: New file.
38196
38197         * modules/ftello: New file.
38198         * m4/ftello.m4: New file.
38199         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
38200         HAVE_FTELLO.
38201         * lib/stdio_.h (ftello): New declaration.
38202         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
38203         HAVE_FTELLO.
38204
38205 2007-04-25  Bruno Haible  <bruno@clisp.org>
38206
38207         * modules/fseeko-tests: New file.
38208         * tests/test-fseeko.c: New file.
38209
38210         * modules/fseeko: New file.
38211         * m4/fseeko.m4: New file.
38212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
38213         HAVE_FSEEKO.
38214         * lib/stdio_.h (fseeko): New declaration.
38215         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
38216         HAVE_FSEEKO.
38217
38218 2007-04-25  Bruno Haible  <bruno@clisp.org>
38219
38220         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
38221
38222 2007-04-25  Bruno Haible  <bruno@clisp.org>
38223
38224         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
38225         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
38226         * tests/test-unistd.c: Likewise.
38227         * tests/test-fcntl.c: Likewise.
38228
38229 2007-04-23  Eric Blake  <ebb9@byu.net>
38230
38231         * lib/fflush.c: Fix missing include.
38232         Reported by Bruno Haible.
38233
38234 2007-04-23  Bruno Haible  <bruno@clisp.org>
38235
38236         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
38237         Reported by Eric Blake.
38238
38239 2007-04-23  Bruno Haible  <bruno@clisp.org>
38240
38241         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
38242
38243 2007-04-23  Bruno Haible  <bruno@clisp.org>
38244
38245         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
38246
38247 2007-04-23  Bruno Haible  <bruno@clisp.org>
38248
38249         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
38250         Needed on HP-UX 11.
38251
38252 2007-04-16  Eric Blake  <ebb9@byu.net>
38253
38254         Make fflush rely on fpurge.
38255         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
38256         open coding all variants.
38257         * modules/fflush (Depends-on): Add fpurge and unistd.
38258         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
38259         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
38260
38261         Fix --with-tests compilation on cygwin.
38262         * modules/argmatch-tests (Makefile.am): List gnulib library first
38263         in LDADD.
38264         * modules/argp-tests (Makefile.am): Likewise.
38265         * modules/array-list-tests (Makefile.am): Likewise.
38266         * modules/array-oset-tests (Makefile.am): Likewise.
38267         * modules/avltree-list-tests (Makefile.am): Likewise.
38268         * modules/avltree-oset-tests (Makefile.am): Likewise.
38269         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38270         * modules/carray-list-tests (Makefile.am): Likewise.
38271         * modules/dirname-tests (Makefile.am): Likewise.
38272         * modules/frexp-tests (Makefile.am): Likewise.
38273         * modules/isnanl-tests (Makefile.am): Likewise.
38274         * modules/linked-list-tests (Makefile.am): Likewise.
38275         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38276         * modules/lock-tests (Makefile.am): Likewise.
38277         * modules/rbtree-list-tests (Makefile.am): Likewise.
38278         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38279         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38280         * modules/tls-tests (Makefile.am): Likewise.
38281         * modules/tsearch-tests (Makefile.am): Likewise.
38282         * modules/xvasprintf-tests (Makefile.am): Likewise.
38283
38284         Fix fpurge for cygwin.
38285         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
38286         value.
38287         * modules/fpurge-tests (Depends-on): Clean up trash.
38288
38289 2007-04-16  Simon Josefsson  <simon@josefsson.org>
38290
38291         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
38292
38293         * m4/autobuild.m4: Re-indent.
38294
38295 2007-04-13  Bruno Haible  <bruno@clisp.org>
38296
38297         * modules/fpurge-tests: New file.
38298         * tests/test-fpurge.c: New file.
38299
38300         * modules/fpurge: New file.
38301         * lib/fpurge.h: New file.
38302         * lib/fpurge.c: New file.
38303         * m4/fpurge.m4: New file.
38304
38305 2007-04-13  Bruno Haible  <bruno@clisp.org>
38306
38307         * modules/fbufmode-tests: New file.
38308         * tests/test-fbufmode.c: New file.
38309
38310         * modules/fbufmode: New file.
38311         * lib/fbufmode.h: New file.
38312         * lib/fbufmode.c: New file.
38313         * m4/fbufmode.m4: New file.
38314
38315 2007-04-13  Bruno Haible  <bruno@clisp.org>
38316
38317         * modules/fwritable-tests: New file.
38318         * tests/test-fwritable.c: New file.
38319
38320         * modules/fwritable: New file.
38321         * lib/fwritable.h: New file.
38322         * lib/fwritable.c: New file.
38323         * m4/fwritable.m4: New file.
38324
38325 2007-04-13  Bruno Haible  <bruno@clisp.org>
38326
38327         * modules/freadable-tests: New file.
38328         * tests/test-freadable.c: New file.
38329
38330         * modules/freadable: New file.
38331         * lib/freadable.h: New file.
38332         * lib/freadable.c: New file.
38333         * m4/freadable.m4: New file.
38334
38335 2007-04-13  Bruno Haible  <bruno@clisp.org>
38336
38337         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
38338         MOSTLYCLEANFILES.
38339
38340 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
38341
38342         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
38343         gzip bootstrap.conf to avoid dragging in i18n machinery.
38344         (gnulib_tool_option): Use it.
38345
38346 2007-04-13  Bruno Haible  <bruno@clisp.org>
38347
38348         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
38349         %F directives.
38350         * tests/test-vasprintf-posix.c (test_function): Likewise.
38351         * tests/test-snprintf-posix.h (test_function): Likewise.
38352         * tests/test-sprintf-posix.h (test_function): Likewise.
38353         * tests/test-fprintf-posix.h (test_function): Likewise.
38354         * tests/test-printf-posix.h (test_function): Likewise.
38355         * tests/test-fprintf-posix.out: Likewise.
38356
38357 2007-04-13  Bruno Haible  <bruno@clisp.org>
38358
38359         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
38360         * modules/tls-tests (configure.ac): Likewise.
38361         Reported by Arto C. Nirkko <anirkko@insel.ch>.
38362
38363 2007-04-13  Bruno Haible  <bruno@clisp.org>
38364
38365         * lib/tls.c (glthread_tls_get): Fix return type.
38366         Patch by Arto C. Nirkko <anirkko@insel.ch>.
38367
38368 2007-04-12  Eric Blake  <ebb9@byu.net>
38369
38370         * modules/gettime (Depends-on): Remove gettime.
38371         Reported by Dmitry V. Levin.
38372
38373 2007-04-12  Bruno Haible  <bruno@clisp.org>
38374
38375         * modules/fflush (Include): Mention <stdio.h>.
38376         * modules/strtoimax (Include): Mention <inttypes.h>.
38377         * modules/strtoumax (Include): Likewise.
38378
38379 2007-04-12  Eric Blake  <ebb9@byu.net>
38380
38381         * .cvsignore: New file.
38382         * .gitignore: Likewise.
38383
38384 2007-04-12  Bruno Haible  <bruno@clisp.org>
38385
38386         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
38387         not before, since $(LDADD) often contains libgnu.a.
38388         * modules/striconv-tests (test_striconv_LDADD): Likewise.
38389         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
38390         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
38391         Needed on Cygwin.
38392
38393 2007-04-12  Eric Blake  <ebb9@byu.net>
38394
38395         Work around glibc's failure to flush stdin on fclose.
38396         * lib/closein.c (close_stdin): Flush stdin before closing.
38397
38398         Work around glibc's failure to reset seekable stdin on exit.
38399         * modules/closein: New module.
38400         * lib/closein.c: New file.
38401         * lib/closein.h: Likewise.
38402         * m4/closein.m4: Likewise.
38403         * MODULES.html.sh (File stream based Input/Output): Document it.
38404
38405 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38406
38407         * gnulib-tool: Rename generated 'autobuild' script to
38408         'do-autobuild' in --create-megatestdir output.
38409
38410         * doc/gnulib.texi (Build robot for gnulib): Fix.
38411
38412 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38413
38414         * modules/sysexits (Depends-on): Add absolute-header.
38415
38416 2007-04-12  Eric Blake  <ebb9@byu.net>
38417
38418         No need to preserve errno on success.
38419         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
38420         Reported by Bruno Haible.
38421
38422 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38423
38424         * MODULES.html.sh (Support for maintaining and releasing
38425         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
38426
38427 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38428
38429         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
38430
38431 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38432
38433         * modules/autobuild: New module.
38434
38435         * m4/autobuild.m4: New file.
38436
38437 2007-04-11  Bruno Haible  <bruno@clisp.org>
38438
38439         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
38440         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
38441         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
38442         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
38443         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38444         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38445         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38446         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38447         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38448         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38449         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
38450         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38451         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38452         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
38453         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38454         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38455         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
38456         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38457         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38458         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
38459         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38460         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
38462         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38463         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38464         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
38465         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38466         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38467         Reported by Eric Blake.
38468
38469 2007-04-11  Bruno Haible  <bruno@clisp.org>
38470
38471         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
38472
38473 2007-04-10  Bruno Haible  <bruno@clisp.org>
38474
38475         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
38476         for NaN and Infinity. Needed on FreeBSD 6.1.
38477         * tests/test-vasnprintf-posix.c (test_function): Undo last change
38478         regarding results for "%010a" of Infinity and NaN.
38479         * tests/test-vasprintf-posix.c (test_function): Likewise.
38480         * tests/test-snprintf-posix.h (test_function): Likewise.
38481         * tests/test-sprintf-posix.h (test_function): Likewise.
38482         * tests/test-fprintf-posix.h (test_function): Likewise.
38483         * tests/test-printf-posix.h (test_function): Likewise.
38484         * tests/test-fprintf-posix.out: Likewise.
38485
38486 2007-04-10  Bruno Haible  <bruno@clisp.org>
38487
38488         * modules/locale-tests: New file.
38489         * tests/test-locale.c: New file.
38490
38491         * modules/locale: New file.
38492         * lib/locale_.h: New file.
38493         * m4/locale_h.m4: New file.
38494
38495 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
38496             Bruno Haible  <bruno@clisp.org>
38497
38498         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
38499         be determined, test for availability of the copysignf, copysign,
38500         copysignl functions.
38501         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
38502         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
38503         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
38504
38505 2007-04-09  Eric Blake  <ebb9@byu.net>
38506
38507         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
38508         * modules/stdio (Makefile.am): Support fflush.
38509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38510         * modules/fflush: New file.
38511         * lib/fflush.c: Likewise.
38512         * m4/fflush.m4: Likewise.
38513         * modules/fflush-tests: New test.
38514         * tests/test-fflush.c: Likewise.
38515         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
38516
38517 2007-04-06  Bruno Haible  <bruno@clisp.org>
38518
38519         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
38520         (VASNPRINTF): Use signbit for faster determination whether to print a
38521         minus sign.
38522         * modules/vasnprintf (Files): Remove lib/float+.h.
38523         * modules/fprintf-posix (Depends-on): Add signbit.
38524         * modules/snprintf-posix (Depends-on): Likewise.
38525         * modules/sprintf-posix (Depends-on): Likewise.
38526         * modules/vasnprintf-posix (Depends-on): Likewise.
38527         * modules/vasprintf-posix (Depends-on): Likewise.
38528         * modules/vfprintf-posix (Depends-on): Likewise.
38529         * modules/vsnprintf-posix (Depends-on): Likewise.
38530         * modules/vsprintf-posix (Depends-on): Likewise.
38531
38532 2007-04-06  Bruno Haible  <bruno@clisp.org>
38533
38534         * tests/test-frexp.c (main): Test also the sign bit of zero results.
38535         * tests/test-frexpl.c (main): Likewise.
38536         * tests/test-ldexpl.c (main): Likewise.
38537         * modules/frexp-tests (Depends-on): Add signbit.
38538         * modules/frexpl-tests (Depdends-on): Likewise.
38539         * modules/ldexpl-tests (Depdends-on): Likewise.
38540
38541 2007-04-06  Bruno Haible  <bruno@clisp.org>
38542
38543         * modules/signbit-tests: New file.
38544         * tests/test-signbit.c: New file.
38545
38546         * modules/signbit: New file.
38547         * lib/signbitf.c: New file.
38548         * lib/signbitd.c: New file.
38549         * lib/signbitl.c: New file.
38550         * m4/signbit.m4: New file.
38551         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
38552         (signbit): New macro.
38553         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
38554         REPLACE_SIGNBIT.
38555         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
38556         REPLACE_FREXPL into math.h.
38557
38558 2007-04-06  Bruno Haible  <bruno@clisp.org>
38559
38560         * modules/isnanf-nolibm-tests: New file.
38561         * tests/test-isnanf.c: New file.
38562
38563         * modules/isnanf-nolibm: New file.
38564         * lib/isnanf.h: New file.
38565         * lib/isnanf.c: New file.
38566         * lib/isnan.c: Consider the USE_FLOAT macro.
38567         * m4/isnanf.m4: New file.
38568
38569 2007-04-06  Bruno Haible  <bruno@clisp.org>
38570
38571         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
38572         (Link): New section.
38573
38574         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
38575
38576 2007-04-06  Bruno Haible  <bruno@clisp.org>
38577
38578         Assume the 'long double' type.
38579         * m4/longdouble.m4: Remove file.
38580         * config/srclist.txt: Don't mention longdouble.m4.
38581         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
38582         * lib/float+.h: Likewise.
38583         * lib/frexp.c: Likewise.
38584         * lib/printf-args.h: Likewise.
38585         * lib/printf-args.c: Likewise.
38586         * lib/printf-frexp.c: Likewise.
38587         * lib/printf-parse.c: Likewise.
38588         * lib/vasnprintf.c: Likewise.
38589         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
38590         * m4/intl.m4: Likewise.
38591         * m4/isnanl.m4: Likewise.
38592         * m4/printf.m4: Likewise.
38593         * m4/printf-frexpl.m4: Likewise.
38594         * m4/vasnprintf.m4: Likewise.
38595         * modules/allocsa (Files): Remove m4/longdouble.m4.
38596         * modules/gettext (Files): Likewise.
38597         * modules/relocatable-prog-wrapper (Files): Likewise.
38598         * modules/vasnprintf (Files): Likewise.
38599         * modules/isnanl (Files): Likewise.
38600         (Include): Simplify.
38601         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
38602         (Include): Simplify.
38603         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
38604         (Include): Simplify.
38605         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
38606         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38607         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
38608         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38609         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
38610         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38611         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
38612         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38613         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
38614         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38615         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
38616         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
38617         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
38618         * tests/test-isnanl.c: Likewise.
38619         * tests/test-snprintf-posix.h: Likewise.
38620         * tests/test-sprintf-posix.h: Likewise.
38621         * tests/test-vasnprintf-posix.c: Likewise.
38622         * tests/test-vasnprintf-posix2.c: Likewise.
38623         * tests/test-vasprintf-posix.c: Likewise.
38624
38625 2007-04-06  Bruno Haible  <bruno@clisp.org>
38626
38627         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
38628         * lib/math_.h [__DECC]: Include the overridden include file through
38629         #include_next, outside the double-inclusion guard.
38630         * lib/stdio_.h [__DECC]: Likewise.
38631         * lib/stdlib_.h [__DECC]: Likewise.
38632         * lib/string_.h [__DECC]: Likewise.
38633         * lib/time_.h [__DECC]: Likewise.
38634         * lib/wchar_.h [__DECC]: Likewise.
38635         * lib/wctype_.h [__DECC]: Likewise.
38636         * lib/inttypes_.h [__DECC]: Likewise.
38637         Reported by Albert Chin <china@thewrittenword.com> in
38638         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
38639
38640 2007-04-04  Eric Blake  <ebb9@byu.net>
38641
38642         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
38643         1.5.x.
38644
38645 2007-04-04  Bruno Haible  <bruno@clisp.org>
38646
38647         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
38648         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
38649
38650 2007-04-04  Bruno Haible  <bruno@clisp.org>
38651
38652         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
38653         results for "%010a" of Infinity and NaN.
38654         * tests/test-vasprintf-posix.c (test_function): Likewise.
38655         * tests/test-snprintf-posix.h (test_function): Likewise.
38656         * tests/test-sprintf-posix.h (test_function): Likewise.
38657         * tests/test-fprintf-posix.h (test_function): Remove these tests.
38658         * tests/test-printf-posix.h (test_function): Likewise.
38659         * tests/test-fprintf-posix.out: Update.
38660         Needed for FreeBSD 6.1.
38661
38662 2007-04-04  Bruno Haible  <bruno@clisp.org>
38663
38664         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
38665         directly used by the gnulib modules nor by gnulib-tool.
38666
38667 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
38668
38669         * DEPENDENCIES: Give overall description of version dependency
38670         desirability.  Use more-typical names for apps.
38671         Add shell, coreutils, diffutils, grep, tar, gzip.
38672
38673 2007-04-04  Simon Josefsson  <simon@josefsson.org>
38674
38675         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
38676
38677 2007-04-04  Karl Berry  <karl@gnu.org>
38678
38679         * MODULES.html.sh (func_module): missing '.
38680
38681 2007-04-03  Bruno Haible  <bruno@clisp.org>
38682
38683         * modules/argmatch-tests (Makefile.am): New variable
38684         test_argmatch_LDADD.
38685         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
38686         * modules/array-list-tests (Makefile.am): New variable
38687         test_array_list_LDADD.
38688         * modules/array-oset-tests (Makefile.am): New variable
38689         test_array_oset_LDADD.
38690         * modules/avltree-list-tests (Makefile.am): New variable
38691         test_avltree_list_LDADD.
38692         * modules/avltree-oset-tests (Makefile.am): New variable
38693         test_avltree_oset_LDADD.
38694         * modules/avltreehash-list-tests (Makefile.am): New variable
38695         test_avltreehash_list_LDADD.
38696         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
38697         test_canonicalize_lgpl_LDADD.
38698         * modules/carray-list-tests (Makefile.am): New variable
38699         test_carray_list_LDADD.
38700         * modules/dirname-tests (Makefile.am): New variable
38701         test_dirname_LDADD.
38702         * modules/linked-list-tests (Makefile.am): New variable
38703         test_linked_list_LDADD.
38704         * modules/linkedhash-list-tests (Makefile.am): New variable
38705         test_linkedhash_list_LDADD.
38706         * modules/rbtree-list-tests (Makefile.am): New variable
38707         test_rbtree_list_LDADD.
38708         * modules/rbtree-oset-tests (Makefile.am): New variable
38709         test_rbtree_oset_LDADD.
38710         * modules/rbtreehash-list-tests (Makefile.am): New variable
38711         test_rbtreehash_list_LDADD.
38712         * modules/xvasprintf-tests (Makefile.am): New variable
38713         test_xvasprintf_LDADD.
38714         Reported by Eric Blake.
38715
38716 2007-04-03  Eric Blake  <ebb9@byu.net>
38717
38718         * DEPENDENCIES: Weaken m4 requirements.
38719
38720 2007-04-03  Bruno Haible  <bruno@clisp.org>
38721
38722         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
38723         * modules/isnanl-tests (configure.ac): Likewise.
38724
38725 2007-04-03  Ben Pfaff  <blp@gnu.org>
38726
38727         * modules/iconv_open: Add $(srcdir)/ to source directory
38728         references in Makefile fragments that call gperf, to fix VPATH
38729         builds.
38730
38731 2007-04-03  Bruno Haible  <bruno@clisp.org>
38732
38733         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
38734         * lib/ldexpl.c: Undo last change.
38735
38736 2007-04-03  Bruno Haible  <bruno@clisp.org>
38737
38738         * modules/printf-frexpl (Depends-on): Undo last change.
38739         (Files): Add m4/ldexpl.m4.
38740
38741 2007-04-03  Bruno Haible  <bruno@clisp.org>
38742
38743         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
38744         * modules/isnanl (Link): New section.
38745
38746         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
38747         * modules/frexp (Link): New section.
38748
38749         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
38750         * modules/frexpl (Link): New section.
38751
38752         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
38753         * modules/ldexpl (Link): New section.
38754
38755 2007-04-03  Bruno Haible  <bruno@clisp.org>
38756
38757         * modules/TEMPLATE-EXTENDED: New file.
38758         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
38759
38760 2007-04-03  Bruno Haible  <bruno@clisp.org>
38761
38762         * DEPENDENCIES: New file.
38763         Suggested by Simon Josefsson.
38764
38765 2007-04-03  Bruno Haible  <bruno@clisp.org>
38766
38767         * doc/gnulib.texi: Escape @.
38768
38769 2007-04-03  James Youngman  <jay@gnu.org>
38770         and Paul Eggert  <eggert@cs.ucla.edu>
38771
38772         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
38773         birthtime on all systems that have birthtime, not just those which
38774         use st_birthtimensec rather than st_birthtim.  Putting zero in
38775         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
38776         that the birth time is not available for files on an NFS mount.
38777
38778 2007-04-03  Simon Josefsson  <simon@josefsson.org>
38779
38780         * modules/memxor: Move back from crypto/, suggested by Bruno.
38781         * modules/crypto/hmac-sha1: Fix memxor dependency.
38782
38783         * modules/crypto/gc: Moved from ../.
38784
38785 2007-04-02  Eric Blake  <ebb9@byu.net>
38786
38787         * lib/ldexpl.c (includes): Avoid libm.
38788
38789         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
38790
38791 2007-04-02  Bruno Haible  <bruno@clisp.org>
38792
38793         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
38794         on IRIX.
38795
38796 2007-04-02  Bruno Haible  <bruno@clisp.org>
38797
38798         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
38799         x86 or x86_64 platforms running MacOS X.
38800         Reported by Ryan Schmidt <@ryandesign.com>.
38801
38802 2007-04-02  Bruno Haible  <bruno@clisp.org>
38803
38804         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
38805         i386.
38806
38807 2007-04-01  Simon Josefsson  <simon@josefsson.org>
38808
38809         * modules/crypto/arcfour: Moved from ../.
38810         * modules/crypto/arcfour-tests: Moved from ../.
38811         * modules/crypto/arctwo: Moved from ../.
38812         * modules/crypto/arctwo-tests: Moved from ../.
38813         * modules/crypto/des: Moved from ../.
38814         * modules/crypto/des-tests: Moved from ../.
38815         * modules/crypto/gc-arcfour: Moved from ../.
38816         * modules/crypto/gc-arcfour-tests: Moved from ../.
38817         * modules/crypto/gc-arctwo: Moved from ../.
38818         * modules/crypto/gc-arctwo-tests: Moved from ../.
38819         * modules/crypto/gc-des: Moved from ../.
38820         * modules/crypto/gc-des-tests: Moved from ../.
38821         * modules/crypto/gc-hmac-md5: Moved from ../.
38822         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
38823         * modules/crypto/gc-hmac-sha1: Moved from ../.
38824         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
38825         * modules/crypto/gc-md2: Moved from ../.
38826         * modules/crypto/gc-md2-tests: Moved from ../.
38827         * modules/crypto/gc-md4: Moved from ../.
38828         * modules/crypto/gc-md4-tests: Moved from ../.
38829         * modules/crypto/gc-md5: Moved from ../.
38830         * modules/crypto/gc-md5-tests: Moved from ../.
38831         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
38832         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
38833         * modules/crypto/gc-random: Moved from ../.
38834         * modules/crypto/gc-rijndael: Moved from ../.
38835         * modules/crypto/gc-rijndael-tests: Moved from ../.
38836         * modules/crypto/gc-sha1: Moved from ../.
38837         * modules/crypto/gc-sha1-tests: Moved from ../.
38838         * modules/crypto/gc-tests: Moved from ../.
38839         * modules/crypto/hmac-md5: Moved from ../.
38840         * modules/crypto/hmac-md5-tests: Moved from ../.
38841         * modules/crypto/hmac-sha1: Moved from ../.
38842         * modules/crypto/hmac-sha1-tests: Moved from ../.
38843         * modules/crypto/md2: Moved from ../.
38844         * modules/crypto/md2-tests: Moved from ../.
38845         * modules/crypto/md4: Moved from ../.
38846         * modules/crypto/md4-tests: Moved from ../.
38847         * modules/crypto/md5: Moved from ../.
38848         * modules/crypto/md5-tests: Moved from ../.
38849         * modules/crypto/memxor: Moved from ../.
38850         * modules/crypto/rijndael: Moved from ../.
38851         * modules/crypto/rijndael-tests: Moved from ../.
38852         * modules/crypto/sha1: Moved from ../.
38853
38854 2007-03-30  James Youngman  <jay@gnu.org>
38855
38856         * tests/test-stat-time.c (prepare_test): use chmod() rather than
38857         rename() to change the ctime of a file (because ctime is unaffected
38858         by rename on jfs2 on AIX 5.1).
38859         (main): Start by doing cleanup, in case a previous run failed leaving
38860         test files behind.
38861
38862 2007-03-31  Bruno Haible  <bruno@clisp.org>
38863
38864         Support old proprietary implementations of iconv.
38865         * modules/iconv_open: New file.
38866         * lib/iconv_.h: New file.
38867         * m4/iconv_h.m4: New file.
38868         * lib/iconv_open.c: New file.
38869         * lib/iconv_open-aix.gperf: New file.
38870         * lib/iconv_open-hpux.gperf: New file.
38871         * lib/iconv_open-irix.gperf: New file.
38872         * lib/iconv_open-osf.gperf: New file.
38873         * m4/iconv_open.m4: New file.
38874         * modules/linebreak (Depends-on): Add iconv_open.
38875         * modules/striconv (Depends-on): Likewise.
38876         * modules/striconveh (Depends-on): Likewise.
38877         * modules/unicodeio (Depends-on): Likewise.
38878         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
38879         (iconv_t)(-1).
38880         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
38881         conversion if cd is (iconv_t)(-1).
38882         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
38883         is not possible.
38884
38885 2007-03-31  Bruno Haible  <bruno@clisp.org>
38886
38887         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
38888         work on Solaris either. Protect also second use of "autodetect_jp".
38889
38890 2007-03-31  Bruno Haible  <bruno@clisp.org>
38891
38892         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
38893         the function is not present.
38894
38895 2007-03-31  Bruno Haible  <bruno@clisp.org>
38896
38897         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
38898         the function is not present.
38899
38900 2007-03-31  Bruno Haible  <bruno@clisp.org>
38901
38902         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
38903         a bug in HP-UX iconv_open().
38904
38905 2007-03-31  Bruno Haible  <bruno@clisp.org>
38906
38907         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
38908         (Mathematics <math.h>): New section, add fpieee.
38909         (Input/output <stdio.h>): Add fseterr.
38910         (Mathematics <math.h>): New section, add printf-frexp.
38911         (Container data structures): Add sublist.
38912         (Core language properties): Add fpucw, inline.
38913         (Functions for greatest-width integer types <inttypes.h>): Add
38914         imaxabs, imaxdiv, inttypes.
38915         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
38916         isnanl-nolibm, ldexp.
38917         (Mathematics <math.h>): New section, add printf-frexpl.
38918         (Support for systems lacking POSIX:2001): Add fprintf-posix,
38919         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
38920         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
38921         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
38922         (Unicode string functions): Add unistr/u*-mbtoucr.
38923         (Java): Add javacomp-script, javaexec-script.
38924         (C#): Add csharpcomp-script, csharpexec-script.
38925         (Support for building libraries and executables): Add havelib,
38926         relocatable-*.
38927         (Support for maintaining and releasing projects): Renamed from
38928         'Support for maintaining and release projects'. Add announce-gen.
38929
38930 2007-03-31  Bruno Haible  <bruno@clisp.org>
38931
38932         * README: Talk primarily about git.
38933         (git and CVS): Renamed from CVS.
38934         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
38935         gnulib is available through git.
38936         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
38937
38938 2007-03-30  Bruno Haible  <bruno@clisp.org>
38939
38940         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
38941         * lib/poll_.h: Likewise.
38942         * lib/stat_.h: Likewise.
38943         * lib/sys_time_.h: Likewise.
38944         * lib/sysexit_.h: Likewise.
38945         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
38946         * lib/stdbool_.h: Likewise.
38947         * lib/byteswap_.h: Add double-inclusion guard.
38948
38949 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
38950
38951         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
38952
38953 2007-03-30  Karl Berry  <karl@gnu.org>
38954
38955         * config/srclist-update: double space after USA in the license
38956         substitution, since that's how it's usually (?) written.
38957
38958 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38959
38960         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
38961         reported by Bruno Haible.
38962
38963 2007-03-29  Bruno Haible  <bruno@clisp.org>
38964
38965         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
38966         a bug in AIX iconv().
38967
38968 2007-03-29  Bruno Haible  <bruno@clisp.org>
38969
38970         * modules/ldexpl-tests: New file.
38971         * tests/test-ldexpl.c: New file.
38972
38973 2007-03-29  Bruno Haible  <bruno@clisp.org>
38974
38975         * lib/ldexpl.c: Include fpucw.h.
38976         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
38977         multiplication.
38978         * modules/ldexpl (Depends-on): Add fpucw.
38979
38980 2007-03-29  Bruno Haible  <bruno@clisp.org>
38981
38982         * modules/ldexpl: New file.
38983         * m4/ldexpl.m4: New file.
38984         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
38985         set.
38986         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
38987         REPLACE_LDEXPL.
38988         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
38989         REPLACE_LDEXPL.
38990         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
38991         gl_FUNC_LDEXPL_WORKS.
38992         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
38993         * modules/mathl (Files): Remove lib/ldexpl.c.
38994         (Depends-on): Add ldexpl.
38995
38996 2007-03-29  Bruno Haible  <bruno@clisp.org>
38997
38998         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
38999
39000 2007-03-29  Bruno Haible  <bruno@clisp.org>
39001
39002         * tests/test-striconveh.c (main): Don't assume that a direct conversion
39003         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
39004         and possibly also HP-UX.
39005         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39006         work on AIX, IRIX, HP-UX, OSF/1.
39007         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39008         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39009         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39010         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39011         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
39012         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39013
39014 2007-03-29  Bruno Haible  <bruno@clisp.org>
39015
39016         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
39017
39018 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39019
39020         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
39021         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
39022
39023 2007-03-29  Eric Blake  <ebb9@byu.net>
39024
39025         * lib/acl-internal.h: Remove redundant include.
39026         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
39027         Cygwin when a file is locked.
39028
39029 2007-03-29  Bruno Haible  <bruno@clisp.org>
39030
39031         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
39032         file.
39033         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
39034
39035 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39036
39037         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
39038         try to remove a parent directory if the child couldn't be removed
39039         (except for the first rmdir, which could fail because the child
39040         doesn't exist).  Problem reported by Jeff Blaine in
39041         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
39042
39043 2007-03-28  Bruno Haible  <bruno@clisp.org>
39044
39045         * lib/striconveh.c (utf8conv_carefully): New function.
39046         (mem_cd_iconveh_internal): Invoke it.
39047
39048 2007-03-28  Bruno Haible  <bruno@clisp.org>
39049
39050         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
39051         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
39052         input.
39053         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
39054         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
39055         unistr/u8-uctomb.
39056
39057 2007-03-28  Bruno Haible  <bruno@clisp.org>
39058
39059         * modules/unistr/u8-mbtoucr: New file.
39060         * lib/unistr/u8-mbtoucr.c: New file.
39061         * modules/unistr/u16-mbtoucr: New file.
39062         * lib/unistr/u16-mbtoucr.c: New file.
39063         * modules/unistr/u16-mbtoucr: New file.
39064         * lib/unistr/u16-mbtoucr.c: New file.
39065         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
39066
39067 2007-03-27  Simon Josefsson  <simon@josefsson.org>
39068             Bruno Haible  <bruno@clisp.org>
39069
39070         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
39071         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
39072         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
39073
39074         * m4/stdio_h.m4: Add stubs for vasprintf too.
39075
39076         * modules/stdio: Support vasprintf in sed command.
39077
39078         * modules/vasprintf: Depend on stdio for prototypes.  Remove
39079         vasprintf.h.  Add stdio module indicator.
39080
39081         * lib/stdio_.h: Declare asprintf and vasprintf, based on
39082         vasprintf.h.
39083
39084         * lib/vasprintf.h: File removed.
39085
39086         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
39087         * lib/vasprintf.c: Ditto.
39088         * lib/xvasprintf.c: Ditto.
39089         * tests/test-vasprintf-posix.c: Ditto.
39090         * tests/test-vasprintf.c: Ditto.
39091
39092 2007-03-27  Bruno Haible  <bruno@clisp.org>
39093
39094         Make vasnprintf multithread-safe.
39095         * lib/vasnprintf.c (decimal_point_char): New function.
39096         (VASNPRINTF): Use it.
39097         Suggested by Simon Josefsson.
39098
39099 2007-03-27  Eric Blake  <ebb9@byu.net>
39100
39101         Support sub-second birthtime on cygwin.
39102         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
39103         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
39104         (get_stat_birthtime): Also work with st_birthtim.
39105
39106 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
39107
39108         * lib/stat-time.h (USE_BIRTHTIME): Remove.
39109         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
39110         (get_stat_birthtime_ns): Do not try to use "spare" fields.
39111         (get_stat_birthtime_ns): Simplify compile-time tests.
39112         (get_stat_birthtime): Change the API to look like
39113         get_stat_mtime etc., except return a negative tv_nsec on error.
39114         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
39115         Don't check for "spare" fields.
39116         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
39117         or for struct stat.st_birthtime, as these tests aren't used.
39118         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
39119
39120 2007-03-27  Bruno Haible  <bruno@clisp.org>
39121
39122         * lib/stat-time.h: Include <sys/stat.h>.
39123
39124 2007-03-27  James Youngman  <jay@gnu.org>
39125
39126         * lib/stat-time.h (get_stat_birthtime): New function for
39127           retrieving st_birthtime as provided by UFS2 (hence *BSD).
39128         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
39129           and its variants.
39130         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
39131         * modules/stat-time-test: New file.
39132         * tests/test-stat-time.c: New test, devised by Bruno Haible.
39133
39134 2007-03-26  Bruno Haible  <bruno@clisp.org>
39135
39136         Better support of signalling NaNs.
39137         * lib/atanl.c: Include isnanl.h.
39138         (atanl): Perform test for NaN at the beginning of the function and
39139         through a call to isnanl.
39140         * lib/cosl.c: Include isnanl.h.
39141         (cosl): Perform test for NaN at the beginning of the function and
39142         through a call to isnanl.
39143         * lib/ldexpl.c: Include isnanl.h.
39144         (ldexpl): Perform test for NaN through a call to isnanl.
39145         * lib/logl.c: Include isnanl.h.
39146         (logl): Perform test for NaN at the beginning of the function and
39147         through a call to isnanl.
39148         * lib/sinl.c: Include isnanl.h.
39149         (sinl): Perform test for NaN at the beginning of the function and
39150         through a call to isnanl.
39151         * lib/sqrtl.c: Include isnanl.h.
39152         (sqrtl): Perform test for NaN at the beginning of the function and
39153         through a call to isnanl.
39154         * lib/tanl.c: Include isnanl.h.
39155         (tanl): Perform test for NaN at the beginning of the function and
39156         through a call to isnanl.
39157         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
39158         * modules/mathl (Depends-on): Add isnanl.
39159
39160 2007-03-26  Eric Blake  <ebb9@byu.net>
39161
39162         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
39163         regression in logic sense of previous patch.
39164
39165 2007-03-26  Bruno Haible  <bruno@clisp.org>
39166
39167         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
39168         unportable shell command "if ! ...".
39169         Reported by Ralf Wildenhues.
39170
39171 2007-03-25  Bruno Haible  <bruno@clisp.org>
39172
39173         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
39174         <sysexits.h> file, and only add EX_CONFIG.
39175         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
39176         absolute file name and whether it is sufficient. Substitute also
39177         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
39178         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
39179         ABSOLUTE_SYSEXITS_H into sysexits.h.
39180
39181 2007-03-25  Bruno Haible  <bruno@clisp.org>
39182
39183         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
39184         hints is NULL.
39185
39186 2007-03-25  Bruno Haible  <bruno@clisp.org>
39187
39188         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
39189         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
39190
39191 2007-03-25  Bruno Haible  <bruno@clisp.org>
39192
39193         * lib/vasnprintf.c: Include langinfo.h.
39194         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
39195         multithread-safe.
39196         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
39197         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
39198         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39199         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39200         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39201         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39202         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39203         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
39204         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39205         Reported by Simon Josefsson.
39206
39207 2007-03-25  Bruno Haible  <bruno@clisp.org>
39208
39209         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
39210         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
39211         * modules/vasnprintf (Depends-on): Add stdint.
39212
39213 2007-03-25  Bruno Haible  <bruno@clisp.org>
39214
39215         * modules/fpieee: New file.
39216         * m4/fpieee.m4: New file.
39217         * modules/isnan-nolibm (Depends-on): Add fpieee.
39218         * modules/isnanl-nolibm (Depends-on): Add fpieee.
39219         * modules/isnanl (Depends-on): Add fpieee.
39220
39221 2007-03-25  Bruno Haible  <bruno@clisp.org>
39222
39223         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
39224
39225 2007-03-25  Bruno Haible  <bruno@clisp.org>
39226
39227         Avoid test failures on IRIX 6.5.
39228         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
39229         (main): Use it.
39230         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
39231         macros.
39232         (main): Use them.
39233
39234 2007-03-25  Bruno Haible  <bruno@clisp.org>
39235
39236         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
39237         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
39238         exists but doesn't work.
39239         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
39240         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
39241         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
39242         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
39243
39244 2007-03-25  Bruno Haible  <bruno@clisp.org>
39245
39246         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
39247         returns inf. Needed on IRIX 6.5.
39248
39249 2007-03-25  Bruno Haible  <bruno@clisp.org>
39250
39251         * tests/test-frexpl.c: Include isnanl-nolibm.h.
39252         (main): Use isnanl instead of x != x idiom.
39253         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
39254
39255         * tests/test-frexp.c: Include isnan.h.
39256         (main): Use isnan instead of x != x idiom.
39257         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
39258
39259 2007-03-25  Bruno Haible  <bruno@clisp.org>
39260
39261         * tests/test-frexp.c (NaN): New function/macro.
39262         (main): Use it instead of 0.0 / 0.0.
39263         * tests/test-isnan.c (NaN): New function/macro.
39264         (main): Use it instead of 0.0 / 0.0.
39265         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
39266         (test_function): Use it instead of 0.0 / 0.0.
39267         * tests/test-vasprintf-posix.c (NaN): New function/macro.
39268         (test_function): Use it instead of 0.0 / 0.0.
39269         * tests/test-snprintf-posix.h (NaN): New function/macro.
39270         (test_function): Use it instead of 0.0 / 0.0.
39271         * tests/test-sprintf-posix.h (NaN): New function/macro.
39272         (test_function): Use it instead of 0.0 / 0.0.
39273         * tests/test-fprintf-posix.h (NaN): New function/macro.
39274         (test_function): Use it instead of 0.0 / 0.0.
39275         * tests/test-printf-posix.h (NaN): New function/macro.
39276         (test_function): Use it instead of 0.0 / 0.0.
39277
39278         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
39279
39280 2007-03-25  Bruno Haible  <bruno@clisp.org>
39281
39282         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
39283
39284 2007-03-25  Bruno Haible  <bruno@clisp.org>
39285
39286         * lib/regexec.c (merge_state_with_log): Make static.
39287
39288 2007-03-25  Bruno Haible  <bruno@clisp.org>
39289
39290         * lib/trigl.c (kernel_rem_pio2): Make static.
39291
39292 2007-03-25  Bruno Haible  <bruno@clisp.org>
39293
39294         * lib/sincosl.c (sincosl_table): Make static.
39295
39296 2007-03-25  Bruno Haible  <bruno@clisp.org>
39297
39298         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
39299         if the compiler does not support C99.
39300
39301 2007-03-25  Bruno Haible  <bruno@clisp.org>
39302
39303         * modules/time (Makefile.am): Ensure all rule action lines start with a
39304         tab.
39305
39306 2007-03-24  Bruno Haible  <bruno@clisp.org>
39307
39308         * modules/tsearch-tests: New file.
39309         * tests/test-tsearch.sh: New file.
39310         * tests/test-tsearch.c: New file, mostly copied from glibc.
39311
39312         * modules/search-tests: New file.
39313         * tests/test-search.c: New file.
39314
39315         * modules/search: New file.
39316         * lib/search_.h: New file, incorporating lib/tsearch.h.
39317         * m4/search_h.m4: New file.
39318         * lib/tsearch.h: Remove file.
39319         * lib/tsearch.c: Include search.h instead of tsearch.h.
39320         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
39321         HAVE_TSEARCH.
39322         * modules/tsearch (Files): Remove lib/tsearch.h.
39323         (Depends-on): Add search.
39324         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
39325         (Include): Change tsearch.h into search.h.
39326
39327 2007-03-24  Bruno Haible  <bruno@clisp.org>
39328
39329         * modules/fpucw: New file.
39330         * lib/fpucw.h: New file.
39331         * lib/frexp.c: Include fpucw.h.
39332         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39333         (FUNC): Use them.
39334         * lib/printf-frexp.c: Include fpucw.h.
39335         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39336         (FUNC): Use them.
39337         * lib/vasnprintf.c: Include fpucw.h.
39338         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
39339         'long double' calculations.
39340         * tests/test-frexpl.c: Include fpucw.h.
39341         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39342         * tests/test-printf-frexpl.c: Include fpucw.h.
39343         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39344         * modules/frexpl (Depends-on): Add fpucw.
39345         * modules/printf-frexpl (Depends-on): Likewise.
39346         * modules/fprintf-posix (Depends-on): Likewise.
39347         * modules/snprintf-posix (Depends-on): Likewise.
39348         * modules/sprintf-posix (Depends-on): Likewise.
39349         * modules/vasnprintf-posix (Depends-on): Likewise.
39350         * modules/vasprintf-posix (Depends-on): Likewise.
39351         * modules/vfprintf-posix (Depends-on): Likewise.
39352         * modules/vsnprintf-posix (Depends-on): Likewise.
39353         * modules/vsprintf-posix (Depends-on): Likewise.
39354         * modules/frexpl-tests (Depends-on): Likewise.
39355         * modules/printf-frexpl-tests (Depends-on): Likewise.
39356
39357 2007-03-24  Bruno Haible  <bruno@clisp.org>
39358
39359         * lib/float+.h: New file.
39360         * lib/isnan.c: Include float+.h.
39361         (SIZE): New macro.
39362         (FUNC): Compare only SIZE bytes of the value.
39363         * lib/vasnprintf.c: Include float+.h.
39364         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
39365         SIZEOF_LDBL or SIZEOF_DBL bytes.
39366         * modules/isnan-nolibm (Files): Add lib/float+.h.
39367         * modules/isnanl-nolibm (Files): Add lib/float+.h.
39368         * modules/isnanl (Files): Add lib/float+.h.
39369         * modules/vasnprintf (Files): Add lib/float+.h.
39370
39371 2007-03-24  Bruno Haible  <bruno@clisp.org>
39372
39373         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
39374         include isnanl-nolibm.h.
39375
39376 2007-03-24  Bruno Haible  <bruno@clisp.org>
39377
39378         * tests/test-read-file.c (main): Don't produce spurious output for
39379         expected situations. Make the test fail if it encountered unexpected
39380         results.
39381
39382 2007-03-24  Bruno Haible  <bruno@clisp.org>
39383
39384         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
39385         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
39386
39387 2007-03-24  Bruno Haible  <bruno@clisp.org>
39388
39389         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
39390
39391 2007-03-24  Bruno Haible  <bruno@clisp.org>
39392
39393         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
39394         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
39395
39396         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
39397         * modules/utf8-ucs4: Turn into a symbolic link to module
39398         unistr/u8-mbtouc.
39399
39400         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
39401         utf8-ucs4-unsafe.
39402         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
39403         unistr/u8-mbtouc-unsafe.
39404
39405         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
39406         * modules/utf16-ucs4: Turn into a symbolic link to module
39407         unistr/u16-mbtouc.
39408
39409         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
39410         utf16-ucs4-unsafe.
39411         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
39412         unistr/u16-mbtouc-unsafe.
39413
39414         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
39415         * modules/ucs4-utf8: Turn into a symbolic link to module
39416         unistr/u8-ubtomb.
39417
39418         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
39419         * modules/ucs4-utf16: Turn into a symbolic link to module
39420         unistr/u16-ubtomb.
39421
39422 2007-03-24  Bruno Haible  <bruno@clisp.org>
39423
39424         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
39425         Enable the function only if HAVE_INLINE.
39426         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
39427         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
39428         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
39429         Enable the function only if HAVE_INLINE.
39430         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
39431         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
39432         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
39433         Enable the function only if HAVE_INLINE.
39434         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
39435         Enable the function only if HAVE_INLINE.
39436         * modules/utf8-ucs4: Update.
39437         * modules/utf8-ucs4-unsafe: Update.
39438         * modules/utf16-ucs4: Update.
39439         * modules/utf16-ucs4-unsafe: Update.
39440         * modules/ucs4-utf8: Update.
39441         * modules/ucs4-utf16: Update.
39442
39443 2007-03-24  Bruno Haible  <bruno@clisp.org>
39444
39445         * lib/utf8-ucs4.h: Remove file.
39446         * lib/utf8-ucs4-unsafe.h: Remove file.
39447         * lib/utf16-ucs4.h: Remove file.
39448         * lib/utf16-ucs4-unsafe.h: Remove file.
39449         * lib/ucs4-utf8.h: Remove file.
39450         * lib/ucs4-utf16.h: Remove file.
39451         * lib/unistr.h: Include their previous contents.
39452         * m4/utf-ucs4.m4: Remove file.
39453         * m4/ucs4-utf.m4: Remove file.
39454         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
39455         (Depends-on): Add unistr/base.
39456         (configure.ac): Remove gl_UTF_UCS4.
39457         (Makefile.am): Update.
39458         (Include): Change to unistr.h.
39459         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
39460         (Depends-on): Add unistr/base.
39461         (configure.ac): Remove gl_UTF_UCS4.
39462         (Makefile.am): Update.
39463         (Include): Change to unistr.h.
39464         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
39465         (Depends-on): Add unistr/base.
39466         (configure.ac): Remove gl_UTF_UCS4.
39467         (Makefile.am): Update.
39468         (Include): Change to unistr.h.
39469         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
39470         (Depends-on): Add unistr/base.
39471         (configure.ac): Remove gl_UTF_UCS4.
39472         (Makefile.am): Update.
39473         (Include): Change to unistr.h.
39474         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
39475         (Depends-on): Add unistr/base.
39476         (configure.ac): Remove gl_UCS4_UTF.
39477         (Makefile.am): Update.
39478         (Include): Change to unistr.h.
39479         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
39480         (Depends-on): Add unistr/base.
39481         (configure.ac): Remove gl_UCS4_UTF.
39482         (Makefile.am): Update.
39483         (Include): Change to unistr.h.
39484         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
39485         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
39486         utf8-ucs4-unsafe.h.
39487         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
39488         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
39489         utf16-ucs4-unsafe.h.
39490         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
39491         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
39492         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
39493         * lib/unistr/u8-strchr.c: Likewise.
39494         * lib/unistr/u8-strrchr.c: Likewise.
39495         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
39496         * lib/unistr/u16-strchr.c: Likewise.
39497         * lib/unistr/u16-strrchr.c: Likewise.
39498         * lib/striconveh.c: Update.
39499         * lib/linebreak.c: Update.
39500
39501 2007-03-24  Bruno Haible  <bruno@clisp.org>
39502
39503         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
39504         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
39505
39506 2007-03-22  Bruno Haible  <bruno@clisp.org>
39507
39508         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
39509
39510 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
39511
39512         * MODULES.html.sh (File system functions): New module write-any-file.
39513         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
39514         * m4/write-any-file.m4: New files.
39515
39516 2007-03-23  Eric Blake  <ebb9@byu.net>
39517
39518         * gnulib-tool: Rearrange space-tab sequences, since some editors
39519         like to eat them.
39520
39521 2007-03-23  Eric Blake  <ebb9@byu.net>
39522
39523         * lib/version-etc.c (version_etc_va): Update license wording to
39524         be more concise.  Recommended by Richard Stallman.
39525
39526 2007-03-22  Bruno Haible  <bruno@clisp.org>
39527
39528         * lib/poll.c (MSG_PEEK): New fallback definition.
39529
39530 2007-03-22  Bruno Haible  <bruno@clisp.org>
39531
39532         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
39533         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
39534         (main): Update.
39535         Fixes a compilation error on BeOS.
39536
39537 2007-03-22  Bruno Haible  <bruno@clisp.org>
39538
39539         * modules/frexpl-tests: New file.
39540         * tests/test-frexpl.c: New file.
39541
39542         * modules/frexpl: New file.
39543         * m4/frexpl.m4: New file.
39544         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
39545         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
39546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
39547         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
39548         (Depends-on): Add frexpl. Remove isnanl-nolibm.
39549         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
39550
39551 2007-03-22  Bruno Haible  <bruno@clisp.org>
39552
39553         * lib/frexpl.c: Share code with lib/frexp.c.
39554         * modules/mathl (Files): Add lib/frexp.c.
39555         (Depends-on): Add isnanl-nolibm.
39556
39557 2007-03-22  Bruno Haible  <bruno@clisp.org>
39558
39559         * modules/printf-frexp (Files): Add m4/frexp.m4.
39560         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
39561         only if the found frexp function actually works.
39562
39563 2007-03-22  Bruno Haible  <bruno@clisp.org>
39564
39565         * lib/frexp.c: Remove older implementation that uses divisions.
39566
39567 2007-03-21  Bruno Haible  <bruno@clisp.org>
39568
39569         * modules/frexp-tests: New file.
39570         * tests/test-frexp.c: New file.
39571
39572         * modules/frexp: New file.
39573         * lib/frexp.c: New file.
39574         * m4/frexp.m4: New file.
39575         * lib/math_.h (frexp): New declaration.
39576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
39577         REPLACE_FREXP.
39578         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
39579
39580 2007-03-21  Bruno Haible  <bruno@clisp.org>
39581
39582         * modules/isnanl-tests: New file.
39583         * tests/test-isnanl.c: New file.
39584
39585         * modules/isnanl: New file.
39586         * lib/isnanl.h: New file.
39587         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
39588         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
39589         gl_FUNC_ISNANL_WORKS.
39590         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
39591         New macros.
39592
39593 2007-03-21  Bruno Haible  <bruno@clisp.org>
39594
39595         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
39596         lib/isnanl.h.
39597         (Include): Update.
39598         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
39599         * lib/vasnprintf.c: Update.
39600         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
39601         tests/test-isnanl.h, remove tests/test-isnanl.c.
39602         (Makefile.am): Update.
39603         * tests/test-isnanl-nolibm.c: New file.
39604         * tests/test-isnanl.h: New file.
39605         * tests/test-isnanl.c: Remove file.
39606
39607 2007-03-21  Jim Meyering  <jim@meyering.net>
39608
39609         When trying to open ".", treat ESTALE like EACCES.
39610         * lib/savewd.c (savewd_save): Resort to forking not just upon
39611         failure with EACCES, but also when errno is ESTALE.
39612
39613 2007-03-20  Bruno Haible  <bruno@clisp.org>
39614
39615         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
39616         Needed on AIX 5.1. Reported by Matthew Woehlke.
39617
39618 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39619
39620         Suggestions by Bruno Haible:
39621         * lib/acl-internal.h: Include "gettext.h" rather than rolling
39622         our own.
39623         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
39624         * modules/acl (Depends-on): Add gettext.
39625
39626 2007-03-19  Bruno Haible  <bruno@clisp.org>
39627
39628         * modules/iconvme: Remove file.
39629         * lib/iconvme.h: Remove file.
39630         * lib/iconvme.c: Remove file.
39631         * m4/iconvme.m4: Remove file.
39632
39633 2007-03-19  Bruno Haible  <bruno@clisp.org>
39634
39635         * doc/relocatable-maint.texi: Break long shell script line.
39636         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
39637
39638 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39639
39640         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
39641         handle file_has_acl.
39642         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
39643         * lib/acl.c: Move header inclusions and related macro defns into
39644         lib/acl-internal.h.
39645         (S_ISLNK): Remove defn, since that's now done for us.
39646         (file_has_acl): Move to lib/file-has-acl.c.
39647         Call acl_trivial if available.  This is the crucial part of the fix.
39648         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
39649         shared within the library.  Rewrite a bit, partly to make it compatible
39650         with the GNU coding style.
39651         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
39652         Remove unnecessary double-quotes.
39653         Don't test for acl_to_text; the build will catch that.
39654         Replace acl_entries if it doesn't exist and it is needed.
39655         Check for -lsec and acl_trivial (as used on Solaris 10).
39656         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
39657         lib/file-has-acl.c.
39658         (Depends-on): Add sys_stat, for S_ISLNK.
39659
39660 2007-03-19  Ben Pfaff  <blp@gnu.org>
39661
39662         * doc/gnulib.texi: Fix typos.
39663         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
39664
39665 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39666
39667         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
39668         If size is zero here, buf must be zero.
39669
39670 2007-03-19  Simon Josefsson  <simon@josefsson.org>
39671
39672         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
39673         <bruno@clisp.org>.
39674
39675 2007-03-18  Bruno Haible  <bruno@clisp.org>
39676
39677         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
39678         Suggested by Eric Blake.
39679
39680 2007-03-18  Ben Pfaff  <blp@gnu.org>
39681
39682         * doc/relocatable.texi: Recommend using as prefix a directory
39683         that does not exist and will never be created.  Based on
39684         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
39685         and others.
39686
39687 2007-03-17  Bruno Haible  <bruno@clisp.org>
39688
39689         * lib/fchownat.c: Include lchown.h.
39690
39691 2007-03-17  Bruno Haible  <bruno@clisp.org>
39692
39693         Fix endless loop when the given allocated size was > INT_MAX.
39694         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
39695         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
39696         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
39697         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
39698         * lib/sprintf.c (sprintf): Likewise.
39699
39700 2007-03-17  Bruno Haible  <bruno@clisp.org>
39701
39702         * tests/test-argp-2.sh (func_compare): Output a context diff.
39703
39704 2007-03-17  Bruno Haible  <bruno@clisp.org>
39705
39706         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
39707         locale's decimal-point character.
39708
39709 2007-03-17  Bruno Haible  <bruno@clisp.org>
39710
39711         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
39712         before comparing it. Needed because on some platforms (e.g. x86) a
39713         'long double' occupies less bytes than sizeof (long double).
39714
39715 2007-03-17  Bruno Haible  <bruno@clisp.org>
39716
39717         * tests/test-crc.c (main): Make printf statements 64-bit clean.
39718         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
39719         * tests/test-getaddrinfo.c (simple): Likewise.
39720         * tests/test-read-file.c (main): Likewise.
39721
39722 2007-03-17  Bruno Haible  <bruno@clisp.org>
39723
39724         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
39725
39726 2007-03-17  Bruno Haible  <bruno@clisp.org>
39727
39728         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
39729         unused variable.
39730
39731 2007-03-17  Bruno Haible  <bruno@clisp.org>
39732
39733         * tests/test-c-strcasecmp.c: Include c-strcase.h.
39734         * tests/test-c-strncasecmp.c: Likewise.
39735
39736 2007-03-17  Bruno Haible  <bruno@clisp.org>
39737
39738         * modules/stdlib (Depends-on): Add unistd.
39739         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
39740         Needed for MacOS X 10.3.
39741
39742 2007-03-17  Bruno Haible  <bruno@clisp.org>
39743
39744         * lib/unistr/u-strdup.h: Include <stdlib.h>.
39745
39746 2007-03-17  Bruno Haible  <bruno@clisp.org>
39747
39748         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
39749
39750 2007-03-17  Bruno Haible  <bruno@clisp.org>
39751
39752         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
39753         to reflect files copied from gnulib (with or without modifications).
39754         Suggested by Jim Meyering.
39755
39756 2007-03-17  Eric Blake  <ebb9@byu.net>
39757
39758         * NEWS: Document stdlib change from 2007-02-18.
39759
39760 2007-03-17  Jim Meyering  <jim@meyering.net>
39761
39762         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
39763         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
39764         someone uses a name containing shell meta-characters.
39765         Reported by Alfred M. Szmidt.
39766
39767         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
39768
39769 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
39770
39771         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
39772         and copy gettext configuration files only if configure.ac contains
39773         a use of AM_GNU_GETTEXT_VERSION.
39774
39775 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
39776
39777         * build-aux/bootstrap (gnulib_name): New variable.
39778         (gnulib_tool_options): Use it.
39779
39780 2007-03-13  Simon Josefsson  <simon@josefsson.org>
39781
39782         * tests/test-des.c: Use new namespace.
39783
39784 2007-03-15  Bruno Haible  <bruno@clisp.org>
39785
39786         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
39787         Reported by James Youngman <jay@gnu.org>.
39788
39789 2007-03-15  Bruno Haible  <bruno@clisp.org>
39790
39791         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
39792         declared prototype. Needed with cc on OSF/1 5.1.
39793
39794 2007-03-15  Bruno Haible  <bruno@clisp.org>
39795
39796         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
39797         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
39798         (struct gl_list_implementation): Add dispose_fn argument to the
39799         'create_empty', 'create' methods.
39800         (struct gl_list_impl_base): Add field 'dispose_fn'.
39801         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
39802         argument.
39803         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
39804         dispose_fn argument.
39805         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
39806         dispose_fn on the dropped values.
39807         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
39808         dispose_fn argument.
39809         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
39810         dropped values.
39811         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
39812         (gl_tree_remove_node): Call dispose_fn on the dropped value.
39813         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
39814         (gl_tree_remove_node): Call dispose_fn on the dropped value.
39815         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
39816         argument.
39817         (gl_tree_list_free): Call dispose_fn on the dropped values.
39818         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
39819         the dropped values.
39820         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
39821         Add dispose_fn argument.
39822         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
39823         Call dispose_fn on the dropped values.
39824         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
39825         Add dispose_fn argument.
39826         (gl_sublist_create): Initialize the 'dispose_fn' field.
39827         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
39828         * tests/test-array_list.c (main): Update.
39829         * tests/test-carray_list.c (main): Update.
39830         * tests/test-avltree_list.c (main): Update.
39831         * tests/test-rbtree_list.c (main): Update.
39832         * tests/test-avltreehash_list.c (main): Update.
39833         * tests/test-rbtreehash_list.c (main): Update.
39834         * tests/test-linked_list.c (main): Update.
39835         * tests/test-linkedhash_list.c (main): Update.
39836         * tests/test-array_oset.c (main): Update.
39837
39838 2007-03-15  Bruno Haible  <bruno@clisp.org>
39839
39840         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
39841         (gl_oset_create_empty): Add dispose_fn argument.
39842         (struct gl_oset_implementation): Add dispose_fn argument to
39843         'create_empty' method.
39844         (struct gl_oset_impl_base): Add dispose_fn field.
39845         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
39846         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
39847         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
39848         values.
39849         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
39850         (gl_tree_oset_free): Call dispose_fn on the dropped values.
39851         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
39852         dropped value.
39853         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
39854         dropped value.
39855         * tests/test-array_oset.c (main): Update.
39856         * tests/test-avltree_oset.c (main): Update.
39857         * tests/test-rbtree_oset.c (main): Update.
39858         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
39859
39860 2007-03-13  Bruno Haible  <bruno@clisp.org>
39861
39862         * tests/test-stdbool.c (i): Update after last patch.
39863
39864 2007-03-12  Bruno Haible  <bruno@clisp.org>
39865
39866         * lib/quotearg.c: Include <wctype.h> early, before the definition of
39867         the iswprint macro. Needed on Solaris 2.5.1.
39868
39869 2007-03-12  Bruno Haible  <bruno@clisp.org>
39870
39871         * tests/test-printf-frexp.c (main): Declare x as volatile.
39872
39873 2007-03-12  Simon Josefsson  <simon@josefsson.org>
39874
39875         * doc/gnulib.texi (Build robot for gnulib): New section.
39876
39877 2007-03-12  Jim Meyering  <jim@meyering.net>
39878
39879         * build-aux/bootstrap: New file.
39880         * build-aux/bootstrap.conf: New file, from coreutils.
39881
39882 2007-03-11  Bruno Haible  <bruno@clisp.org>
39883
39884         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
39885
39886 2007-03-12  Simon Josefsson  <simon@josefsson.org>
39887
39888         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
39889         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
39890         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
39891
39892 2007-03-11  Bruno Haible  <bruno@clisp.org>
39893
39894         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
39895         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
39896
39897 2007-03-11  Bruno Haible  <bruno@clisp.org>
39898
39899         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
39900         formula. Needed for SunPRO C 5.0.
39901
39902 2007-03-11  Bruno Haible  <bruno@clisp.org>
39903
39904         * modules/long-options (Depends-on): Add getopt.
39905
39906 2007-03-11  Bruno Haible  <bruno@clisp.org>
39907
39908         * modules/modechange (Depends-on): Add stdbool.
39909
39910 2007-03-11  Bruno Haible  <bruno@clisp.org>
39911
39912         * modules/i-ring (Depends-on): Add stdbool.
39913
39914 2007-03-11  Bruno Haible  <bruno@clisp.org>
39915
39916         * modules/gc-des (Depends-on): Add stdbool.
39917
39918 2007-03-11  Bruno Haible  <bruno@clisp.org>
39919
39920         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
39921
39922 2007-03-11  Bruno Haible  <bruno@clisp.org>
39923
39924         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
39925
39926 2007-03-11  Bruno Haible  <bruno@clisp.org>
39927
39928         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
39929
39930 2007-03-11  Bruno Haible  <bruno@clisp.org>
39931
39932         * lib/vasnprintf.c (sprintf): Undefine.
39933
39934 2007-03-11  Bruno Haible  <bruno@clisp.org>
39935
39936         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
39937         initializers in SunPRO C and Compaq C compilers.
39938
39939 2007-03-11  Bruno Haible  <bruno@clisp.org>
39940
39941         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
39942         decrementing code ANSI C compliant.
39943
39944 2007-03-11  Bruno Haible  <bruno@clisp.org>
39945
39946         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
39947         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
39948
39949 2007-03-11  Bruno Haible  <bruno@clisp.org>
39950
39951         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
39952         <stdbool.h> substitute doesn't pass.
39953
39954 2007-03-11  Bruno Haible  <bruno@clisp.org>
39955
39956         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
39957
39958 2007-03-11  Bruno Haible  <bruno@clisp.org>
39959
39960         * gnulib-tool (func_create_megatestdir): Create also an autobuild
39961         script, for submission to autobuild.josefsson.org.
39962
39963 2007-03-10  Bruno Haible  <bruno@clisp.org>
39964
39965         * modules/canonicalize-lgpl-tests: New file.
39966         * tests/test-canonicalize-lgpl.sh: New file.
39967         * tests/test-canonicalize-lgpl.c: New file.
39968
39969         * modules/c-strcase-tests: New file.
39970         * tests/test-c-strcase.sh: New file.
39971         * tests/test-c-strcasecmp.c: New file.
39972         * tests/test-c-strncasecmp.c: New file.
39973
39974         * modules/atexit-tests: New file.
39975         * tests/test-atexit.sh: New file.
39976         * tests/test-atexit.c: New file.
39977
39978 2007-03-10  Bruno Haible  <bruno@clisp.org>
39979
39980         * tests/test-binary-io.sh: Use temporary filenames that are not so
39981         likely to clash with those of other tests (in a parallel make).
39982         * tests/test-binary-io.c: Likewise.
39983
39984 2007-03-10  Bruno Haible  <bruno@clisp.org>
39985
39986         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
39987         fallback; use #error instead.
39988         Suggested by Simon Josefsson.
39989
39990 2007-03-10  Bruno Haible  <bruno@clisp.org>
39991
39992         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
39993         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
39994         first and the last.
39995
39996 2007-03-10  Bruno Haible  <bruno@clisp.org>
39997
39998         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
39999
40000 2007-03-10  Bruno Haible  <bruno@clisp.org>
40001
40002         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
40003         "make distcheck".
40004         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
40005         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
40006         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
40007
40008 2007-03-10  Bruno Haible  <bruno@clisp.org>
40009
40010         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
40011         variable.
40012         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
40013         variable.
40014
40015 2007-03-09  Eric Blake  <ebb9@byu.net>
40016         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
40017
40018         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
40019         types are not being provided by gnulib.
40020         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
40021         types are supported.
40022
40023 2007-03-10  Bruno Haible  <bruno@clisp.org>
40024
40025         * lib/stdio_.h (__attribute__): New macro.
40026         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
40027         vsprintf): Specify __attribute__ __format__ for GCC.
40028         Suggested by Eric Blake.
40029
40030 2007-03-09  Bruno Haible  <bruno@clisp.org>
40031
40032         * modules/printf-posix-tests: New file.
40033         * tests/test-printf-posix.sh: New file.
40034         * tests/test-printf-posix.c: New file.
40035
40036         * modules/printf-posix: New file.
40037         * lib/printf.c: New file.
40038         * m4/printf-posix-rpl.m4: New file.
40039         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
40040         REPLACE_PRINTF.
40041         * lib/stdio_.h (printf): New declaration.
40042         (format, __format__, ____printf____, ____scanf____, ____strftime____,
40043         ____strfmon____): New macros.
40044         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
40045         REPLACE_PRINTF.
40046
40047 2007-03-09  Bruno Haible  <bruno@clisp.org>
40048
40049         * tests/test-vasnprintf-posix2.sh: New file.
40050         * tests/test-vasnprintf-posix2.c: New file.
40051         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
40052         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40053         (Makefile.am): Activate test-vasnprintf-posix2.sh.
40054
40055         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
40056         a locale dependent decimal point, rather than always '.'.
40057
40058 2007-03-09  Eric Blake  <ebb9@byu.net>
40059
40060         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
40061         spite of platforms like Tandem/NSK that define it to -1.
40062
40063 2007-03-08  Bruno Haible  <bruno@clisp.org>
40064
40065         * modules/vprintf-posix-tests: New file.
40066         * tests/test-vprintf-posix.sh: New file.
40067         * tests/test-vprintf-posix.c: New file.
40068         * tests/test-printf-posix.h: New file.
40069
40070         * modules/vprintf-posix: New file.
40071         * lib/vprintf.c: New file.
40072         * m4/vprintf-posix.m4: New file.
40073         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
40074         REPLACE_VPRINTF.
40075         * lib/stdio_.h (vprintf): New declaration.
40076         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
40077         REPLACE_VPRINTF.
40078
40079 2007-03-08  Bruno Haible  <bruno@clisp.org>
40080
40081         * modules/fprintf-posix-tests: New file.
40082         * tests/test-fprintf-posix.sh: New file.
40083         * tests/test-fprintf-posix.c: New file.
40084
40085         * modules/fprintf-posix: New file.
40086         * lib/fprintf.c: New file.
40087         * m4/fprintf-posix.m4: New file.
40088         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
40089         REPLACE_FPRINTF.
40090         * lib/stdio_.h (fprintf): New declaration.
40091         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
40092         REPLACE_FPRINTF.
40093
40094 2007-03-08  Bruno Haible  <bruno@clisp.org>
40095
40096         * modules/vfprintf-posix-tests: New file.
40097         * tests/test-vfprintf-posix.sh: New file.
40098         * tests/test-vfprintf-posix.c: New file.
40099         * tests/test-fprintf-posix.h: New file.
40100         * tests/test-fprintf-posix.out: New file.
40101
40102         * modules/vfprintf-posix: New file.
40103         * lib/vfprintf.c: New file.
40104         * m4/vfprintf-posix.m4: New file.
40105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
40106         REPLACE_VFPRINTF.
40107         * lib/stdio_.h (vfprintf): New declaration.
40108         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
40109         REPLACE_VFPRINTF.
40110
40111 2007-03-08  Bruno Haible  <bruno@clisp.org>
40112
40113         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
40114
40115 2007-03-08  Bruno Haible  <bruno@clisp.org>
40116
40117         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
40118         instead of 'expr' invocations.
40119         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40120         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40121         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40122         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40123         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40124         Suggested by Paul Eggert.
40125
40126 2007-03-08  Bruno Haible  <bruno@clisp.org>
40127
40128         * modules/fseterr-tests: New file.
40129         * tests/test-fseterr.c: New file.
40130
40131         * modules/fseterr: New file.
40132         * lib/fseterr.h: New file.
40133         * lib/fseterr.c: New file.
40134
40135 2007-03-08  Bruno Haible  <bruno@clisp.org>
40136
40137         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
40138         * lib/getopt_.h: Likewise.
40139         * lib/mbswidth.h: Likewise.
40140         * lib/setenv.h: Likewise.
40141         * lib/vasnprintf.h: Likewise.
40142         * lib/vasprintf.h: Likewise.
40143         * lib/verror.h: Likewise.
40144         * lib/xsetenv.h: Likewise.
40145         * lib/xvasprintf.h: Likewise.
40146
40147 2007-03-08  Jim Meyering  <jim@meyering.net>
40148
40149         * users.txt: Add parted.
40150
40151         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
40152
40153 2007-03-07  Bruno Haible  <bruno@clisp.org>
40154
40155         * m4/printf.m4: Make the shell script snippets copy&pastable.
40156
40157 2007-03-02  Bruno Haible  <bruno@clisp.org>
40158
40159         * lib/netinet_in_.h: New file.
40160         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
40161         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
40162         * modules/netinet_in (Files): Add lib/netinet_in_.h.
40163         (Depends-on): Add absolute-header.
40164         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
40165         into netinet/in.h.
40166
40167 2007-03-03  Bruno Haible  <bruno@clisp.org>
40168
40169         * lib/sys_select_.h: New file.
40170         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
40171         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
40172         * modules/sys_select (Files): Add lib/sys_select_.h.
40173         (Depends-on): Add absolute-header.
40174         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
40175         into sys/select.h.
40176
40177 2007-03-02  Bruno Haible  <bruno@clisp.org>
40178
40179         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
40180         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
40181         values.
40182         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
40183         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
40184         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
40185         * modules/sys_socket (Depends-on): Add absolute-header.
40186         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
40187         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
40188         (Include): Remove requirement of inclusion of <sys/types.h>.
40189
40190 2007-03-02  Bruno Haible  <bruno@clisp.org>
40191
40192         * lib/byteswap_.h (bswap_32): Fix formula.
40193
40194 2007-03-06  Bruno Haible  <bruno@clisp.org>
40195
40196         * modules/sprintf-posix-tests: New file.
40197         * tests/test-sprintf-posix.c: New file.
40198
40199         * modules/sprintf-posix: New file.
40200         * lib/sprintf.c: New file.
40201         * m4/sprintf-posix.m4: New file.
40202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
40203         REPLACE_SPRINTF.
40204         * lib/stdio_.h (sprintf): New declaration.
40205         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
40206         REPLACE_SPRINTF.
40207
40208 2007-03-06  Bruno Haible  <bruno@clisp.org>
40209
40210         * modules/vsprintf-posix-tests: New file.
40211         * tests/test-vsprintf-posix.c: New file.
40212         * tests/test-sprintf-posix.h: New file.
40213
40214         * modules/vsprintf-posix: New file.
40215         * lib/vsprintf.c: New file.
40216         * m4/vsprintf-posix.m4: New file.
40217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
40218         REPLACE_VSPRINTF.
40219         * lib/stdio_.h (vsprintf): New declaration.
40220         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
40221         REPLACE_VSPRINTF.
40222
40223 2007-03-06  Bruno Haible  <bruno@clisp.org>
40224
40225         * modules/vsnprintf (Depend-on): Remove minmax.
40226
40227 2007-03-06  Bruno Haible  <bruno@clisp.org>
40228
40229         * modules/snprintf-posix-tests: New file.
40230         * tests/test-snprintf-posix.c: New file.
40231
40232         * modules/snprintf-posix: New file.
40233         * m4/snprintf-posix.m4: New file.
40234         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
40235         gl_FUNC_SNPRINTF.
40236         (gl_FUNC_SNPRINTF): Invoke it.
40237         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
40238         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
40239         is set.
40240         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
40241
40242 2007-03-06  Bruno Haible  <bruno@clisp.org>
40243
40244         * modules/vsnprintf-posix-tests: New file.
40245         * tests/test-vsnprintf-posix.c: New file.
40246         * tests/test-snprintf-posix.h: New file.
40247
40248         * modules/vsnprintf-posix: New file.
40249         * m4/vsnprintf-posix.m4: New file.
40250         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
40251         gl_FUNC_VSNPRINTF.
40252         (gl_FUNC_VSNPRINTF): Invoke it.
40253         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
40254         * lib/stdio_.h (vsnprintf): Define as a replacement if
40255         REPLACE_VSNPRINTF is set.
40256         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
40257
40258 2007-03-06  Bruno Haible  <bruno@clisp.org>
40259
40260         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
40261         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
40262
40263 2007-03-06  Bruno Haible  <bruno@clisp.org>
40264
40265         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
40266         (asinl): Declare also if HAVE_DECL_ASINL is set.
40267         (atanl): Declare also if HAVE_DECL_ATANL is set.
40268         (ceill): Declare also if HAVE_DECL_CEILL is set.
40269         (cosl): Declare also if HAVE_DECL_COSL is set.
40270         (expl): Declare also if HAVE_DECL_EXPL is set.
40271         (floorl): Declare also if HAVE_DECL_FLOORL is set.
40272         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
40273         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
40274         (logl): Declare also if HAVE_DECL_LOGL is set.
40275         (sinl): Declare also if HAVE_DECL_SINL is set.
40276         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
40277         (tanl): Declare also if HAVE_DECL_TANL is set.
40278         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
40279         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
40280         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
40281         declaration of frexpl, ldexpl.
40282         * modules/printf-frexpl (Depends-on): Add math.
40283         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
40284
40285 2007-03-05  Bruno Haible  <bruno@clisp.org>
40286
40287         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
40288         frexpl and ldexpl are declared.
40289         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
40290
40291 2007-03-05  Bruno Haible  <bruno@clisp.org>
40292
40293         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
40294         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
40295
40296 2007-03-05  Bruno Haible  <bruno@clisp.org>
40297
40298         * lib/stdio_.h: Include <stddef.h>.
40299
40300 2007-03-05  Bruno Haible  <bruno@clisp.org>
40301
40302         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
40303
40304 2007-03-05  Bruno Haible  <bruno@clisp.org>
40305
40306         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
40307         NetBSD 4, from Ralf Wildenhues.
40308
40309 2007-03-04  Bruno Haible  <bruno@clisp.org>
40310
40311         * lib/vasprintf.h: Update #if logic for the case when the functions
40312         exist but are overridden.
40313
40314 2007-03-04  Bruno Haible  <bruno@clisp.org>
40315
40316         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
40317         implementations: glibc-2.4 and MacOS X 10.3.
40318         * tests/test-vasnprintf-posix.c (test_function): Test also the case
40319         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
40320         * tests/test-vasprintf-posix.c (test_function): Likewise.
40321
40322 2007-03-04  Bruno Haible  <bruno@clisp.org>
40323
40324         * modules/vasprintf-posix-tests: New file.
40325         * tests/test-vasprintf-posix.c: New file.
40326
40327         * modules/vasprintf-posix: New file.
40328         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
40329         defined.
40330         * m4/vasprintf-posix.m4: New file.
40331         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
40332         gl_FUNC_VASPRINTF.
40333         (gl_FUNC_VASPRINTF): Invoke it.
40334         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
40335         here.
40336         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
40337
40338 2007-03-04  Bruno Haible  <bruno@clisp.org>
40339
40340         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
40341         REPLACE_GETTIMEOFDAY.
40342         * modules/sys_time (Makefile.am): Likewise.
40343         * m4/sys_time_h.m4: Likewise.
40344         * m4/gettimeofday.m4: Likewise.
40345
40346 2007-03-04  Bruno Haible  <bruno@clisp.org>
40347
40348         * modules/vasnprintf-posix-tests: New file.
40349         * tests/test-vasnprintf-posix.c: New file.
40350
40351         * modules/vasnprintf-posix: New file.
40352         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
40353         printf-frexpl.h.
40354         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
40355         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
40356         REPLACE_VASNPRINTF is defined.
40357         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
40358         gl_FUNC_VASNPRINTF.
40359         (gl_FUNC_VASNPRINTF): Invoke it.
40360         * m4/vasnprintf-posix.m4: New file.
40361         * m4/printf.m4: New file.
40362
40363 2007-03-04  Bruno Haible  <bruno@clisp.org>
40364
40365         Compile progreloc.c only if --enable-relocatable is specified.
40366         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
40367         if --enable-relocatable was specified.
40368         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
40369         lib_SOURCES.
40370
40371 2007-03-04  Jim Meyering  <jim@meyering.net>
40372
40373         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
40374         Use it consistently, rather than enumerating errno constants.
40375
40376 2007-03-04  Bruno Haible  <bruno@clisp.org>
40377
40378         * modules/xvasprintf-tests: New file.
40379         * tests/test-xvasprintf.c: New file.
40380
40381         * modules/vasprintf-tests: New file.
40382         * tests/test-vasprintf.c: New file.
40383
40384         * modules/vasnprintf-tests: New file.
40385         * tests/test-vasnprintf.c: New file.
40386
40387         * modules/vsnprintf-tests: New file.
40388         * tests/test-vsnprintf.c: New file.
40389
40390         * modules/snprintf-tests: New file.
40391         * tests/test-snprintf.c: New file.
40392
40393 2007-03-04  Bruno Haible  <bruno@clisp.org>
40394
40395         Compile relocatable.c only if --enable-relocatable is specified.
40396         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
40397         gl_RELOCATABLE_LIBRARY.
40398         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
40399         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
40400         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
40401         gl_RELOCATABLE_LIBRARY.
40402         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
40403         (Makefile.am): Remove lib_SOURCES.
40404         * modules/relocatable-lib-lgpl (configure.ac): Invoke
40405         gl_RELOCATABLE_LIBRARY.
40406         (Makefile.am): Remove lib_SOURCES.
40407         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
40408         always.
40409         * modules/relocatable-prog-wrapper (configure.ac): Invoke
40410         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
40411
40412 2007-03-04  Bruno Haible  <bruno@clisp.org>
40413
40414         * modules/argmatch-tests: New file.
40415         * tests/test-argmatch.c: New file.
40416
40417         * tests/test-allocsa.c (main): Halve the number of loop runs.
40418
40419         * modules/alloca-opt-tests: New file.
40420         * tests/test-alloca-opt.c: New file.
40421
40422 2007-03-04  Jim Meyering  <jim@meyering.net>
40423
40424         Work around difference between Linux ACLs and Solaris 10 ZFS.
40425         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
40426         for EINVAL.
40427
40428 2007-03-03  Bruno Haible  <bruno@clisp.org>
40429
40430         * modules/relocatable-prog (Depends-on): Add back progreloc's
40431         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
40432
40433 2007-03-03  Bruno Haible  <bruno@clisp.org>
40434
40435         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
40436         * modules/relocatable-lib: New file.
40437
40438 2007-03-03  Bruno Haible  <bruno@clisp.org>
40439
40440         * modules/relocatable-prog: Renamed from modules/relocatable.
40441         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
40442
40443 2007-03-03  Bruno Haible  <bruno@clisp.org>
40444
40445         * modules/relocatable-script (Files): Add doc/relocatable.texi,
40446         m4/relocatable-lib.m4.
40447         (Depends-on): Remove 'relocatable'.
40448         (configure.ac): Add gl_RELOCATABLE_NOP.
40449
40450 2007-03-03  Bruno Haible  <bruno@clisp.org>
40451
40452         * modules/relocatable-prog-wrapper: New file.
40453         * modules/relocatable (Depends-on): Add it. Remove all other
40454         dependencies except progname.
40455         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
40456
40457         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
40458         (gl_FUNC_STRERROR): Nop.
40459         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
40460
40461         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
40462         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
40463
40464         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
40465         (gl_FUNC_READLINK): Update.
40466
40467         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
40468
40469 2007-03-03  Bruno Haible  <bruno@clisp.org>
40470
40471         * lib/xreadlink.c: Include <unistd.h> unconditionally.
40472         * modules/xreadlink (Depends-on): Add unistd.
40473         * modules/xreadlink-with-size (Depends-on): Likewise.
40474
40475 2007-03-03  Bruno Haible  <bruno@clisp.org>
40476
40477         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
40478         extracted from gt_FUNC_SETENV.
40479         (gt_FUNC_SETENV): Remove macro.
40480         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
40481         remove gt_FUNC_SETENV.
40482
40483 2007-03-03  Bruno Haible  <bruno@clisp.org>
40484
40485         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
40486         ENABLE_RELOCATABLE here.
40487         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
40488
40489 2007-03-03  Bruno Haible  <bruno@clisp.org>
40490
40491         * modules/rbtreehash-list-tests (Depends-on): Add progname.
40492         * tests/test-rbtreehash_list.c: Include progname.h.
40493         (main): Call set_program_name.
40494
40495         * modules/rbtree-oset-tests (Depends-on): Add progname.
40496         * tests/test-rbtree_oset.c: Include progname.h.
40497         (main): Call set_program_name.
40498
40499         * modules/rbtree-list-tests (Depends-on): Add progname.
40500         * tests/test-rbtree_list.c: Include progname.h.
40501         (main): Call set_program_name.
40502
40503         * modules/linked-list-tests (Depends-on): Add progname.
40504         * tests/test-linked_list.c: Include progname.h.
40505         (main): Call set_program_name.
40506
40507 2007-03-03  Bruno Haible  <bruno@clisp.org>
40508
40509         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
40510         All uses of __restrict changed to _Restrict_.
40511         * lib/glob_.h (__restrict): Remove macro.
40512
40513 2007-03-02  Bruno Haible  <bruno@clisp.org>
40514
40515         * modules/gettext (configure.ac): Require gettext infrastructure
40516         from version 0.16.1.
40517
40518 2007-03-02  Bruno Haible  <bruno@clisp.org>
40519
40520         * modules/linkedhash-list-tests (Depends-on): Add progname.
40521         * tests/test-linkedhash_list.c: Include progname.h.
40522         (main): Call set_program_name.
40523
40524         * modules/carray-list-tests (Depends-on): Add progname.
40525         * tests/test-carray_list.c: Include progname.h.
40526         (main): Call set_program_name.
40527
40528         * modules/avltreehash-list-tests (Depends-on): Add progname.
40529         * tests/test-avltreehash_list.c: Include progname.h.
40530         (main): Call set_program_name.
40531
40532         * modules/avltree-oset-tests (Depends-on): Add progname.
40533         * tests/test-avltree_oset.c: Include progname.h.
40534         (main): Call set_program_name.
40535
40536         * modules/avltree-list-tests (Depends-on): Add progname.
40537         * tests/test-avltree_list.c: Include progname.h.
40538         (main): Call set_program_name.
40539
40540         * modules/array-oset-tests (Depends-on): Add progname.
40541         * tests/test-array_oset.c: Include progname.h.
40542         (main): Call set_program_name.
40543
40544         * modules/array-list-tests (Depends-on): Add progname.
40545         * tests/test-array_list.c: Include progname.h.
40546         (main): Call set_program_name.
40547
40548         * modules/argp-tests (Depends-on): Add progname.
40549         * tests/test-argp.c: Include argp.h first. Include progname.h.
40550         (main): Call set_program_name.
40551
40552 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
40553
40554         * doc/gnulib-tool.texi (Initial import): Reword description of
40555         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
40556         limited effect even if defined after the first system include.
40557
40558 2007-03-01  Bruno Haible  <bruno@clisp.org>
40559
40560         * build-aux/config.libpath: Update to libtool-1.5.22.
40561         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40562
40563 2007-03-01  Bruno Haible  <bruno@clisp.org>
40564
40565         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
40566         foo_CFLAGS.
40567         Reported by Ralf Wildenhues.
40568
40569 2007-03-01  Bruno Haible  <bruno@clisp.org>
40570
40571         * build-aux/install-reloc: Remove object files left over by some
40572         compilers.
40573         Reported by Ralf Wildenhues.
40574
40575 2007-03-01  Bruno Haible  <bruno@clisp.org>
40576
40577         * build-aux/install-reloc: Break long lines.
40578
40579 2007-03-01  Bruno Haible  <bruno@clisp.org>
40580
40581         * doc/relocatable.texi: Document that it may not work on OpenBSD.
40582         Reported by Ralf Wildenhues.
40583
40584 2007-03-01  Bruno Haible  <bruno@clisp.org>
40585
40586         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
40587         include ordering constraints.
40588
40589 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40590
40591         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
40592         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
40593         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
40594         as another example.
40595         * lib/time_.h: Fix misspelling.
40596         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
40597         Require gl_HEADER_TIME_H_DEFAULTS.
40598         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
40599         * m4/time_r.m4 (gl_TIME_R): Likewise.
40600         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
40601
40602 2007-03-01  Bruno Haible  <bruno@clisp.org>
40603
40604         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
40605         * m4/utimens.m4 (gl_UTIMENS): Likewise.
40606
40607 2007-03-01  Jim Meyering  <jim@meyering.net>
40608
40609         * modules/xreadlink (Maintainer): Add my name.
40610         * modules/xreadlink-with-size (Depends-on): Alphabetize.
40611
40612 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
40613             Bruno Haible  <bruno@clisp.org>
40614
40615         * build-aux/install-reloc: Compile also c-ctype.c.
40616         * build-aux/relocatable.sh.in: New file.
40617         * doc/relocatable.texi: New file.
40618         * doc/relocatable-maint.texi: New file.
40619         * doc/gnulib.texi: Include relocatable-maint.texi.
40620         * lib/progreloc.c: Include unistd.h unconditionally.
40621         * lib/relocwrapper.c: Include unistd.h unconditionally.
40622         Include c-ctype.h.
40623         (add_dotbin): Use c_tolower.
40624         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
40625         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
40626         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
40627         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
40628         to m4/relocatable-lib.m4.
40629         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
40630         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
40631         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
40632         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
40633         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
40634         * modules/relocatable: New file.
40635         * modules/relocatable-lib: New file.
40636         * modules/relocatable-script: New file.
40637
40638 2007-02-28  Bruno Haible  <bruno@clisp.org>
40639
40640         Import --enable-relocatable infrastructure.
40641         * build-aux/config.libpath: New file, from GNU gettext.
40642         * build-aux/install-reloc: New file, from GNU gettext.
40643         * build-aux/reloc-ldflags: New file, from GNU gettext.
40644         * lib/relocatable.h: New file, from GNU gettext.
40645         * lib/relocatable.c: New file, from GNU gettext.
40646         * lib/relocwrapper.c: New file, from GNU gettext.
40647         * m4/relocatable.m4: New file, from GNU gettext.
40648
40649 2007-02-28  Bruno Haible  <bruno@clisp.org>
40650
40651         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
40652
40653         * modules/xreadlink: New file, from GNU gettext with modifications.
40654         * lib/xreadlink.c: New file, from GNU gettext.
40655         * lib/xreadlink.h: Add comments.
40656         (xreadlink): New declaration.
40657
40658         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
40659         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
40660         lib/xreadlink-with-size.c.
40661         (configure.ac): Remove gl_XREADLINK invocation.
40662         (Makefile.am): Augment lib_SOURCES.
40663         * m4/xreadlink.m4: Remove file.
40664         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
40665         (xreadlink_with_size): Renamed from xreadink.
40666         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
40667         * modules/canonicalize (Depends-on): Replace xreadlink with
40668         xreadlink-with-size.
40669         * lib/canonicalize.c (canonicalize_filename_mode): Update.
40670
40671 2007-02-25  Jim Meyering  <jim@meyering.net>
40672
40673         * build-aux/announce-gen: When complaining about excess arguments,
40674         list them.
40675
40676 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
40677
40678         * README: Document signed integer overflow situation more
40679         accurately.
40680
40681 2007-02-25  Bruno Haible  <bruno@clisp.org>
40682
40683         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
40684         'a' or 'A' conversion.
40685
40686 2007-02-25  Bruno Haible  <bruno@clisp.org>
40687
40688         * modules/filename: Renamed from modules/pathname.
40689         (Files): Replace lib/pathname.h with lib/filename.h. Replace
40690         lib/concatpath.c with lib/concat-filename.c.
40691         (Makefile.am): Update.
40692         (Include): Replace pathname.h with filename.h.
40693         * lib/filename.h: Renamed from lib/pathname.h.
40694         (concatenated_filename): Renamed from concatenated_pathname.
40695         * lib/concat-filename.c: Renamed from lib/concatpath.c.
40696         (concatenated_filename): Renamed from concatenated_pathname.
40697         * lib/findprog.c: Include filename.h instead of pathname.h.
40698         (find_in_path): Update.
40699         * lib/javacomp.c: Include filename.h instead of pathname.h.
40700         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
40701         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
40702         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
40703         is_oldgcj_14_13_usable, is_javac_usable): Update.
40704         * lib/javaexec.c: Include filename.h instead of pathname.h.
40705         (execute_java_class): Update.
40706         * modules/findprog: Update.
40707         * modules/javacomp: Update.
40708         * modules/javaexec: Update.
40709         * MODULES.html.sh (File system functions): Add 'filename', remove
40710         'pathname'.
40711
40712 2007-02-25  Bruno Haible  <bruno@clisp.org>
40713
40714         * modules/printf-frexpl-tests: New file.
40715         * tests/test-printf-frexpl.c: New file.
40716
40717         * modules/printf-frexpl: New file.
40718         * lib/printf-frexpl.h: New file.
40719         * lib/printf-frexpl.c: New file.
40720         * m4/printf-frexpl.m4: New file.
40721
40722 2007-02-25  Bruno Haible  <bruno@clisp.org>
40723
40724         * modules/printf-frexp-tests: New file.
40725         * tests/test-printf-frexp.c: New file.
40726
40727         * modules/printf-frexp: New file.
40728         * lib/printf-frexp.h: New file.
40729         * lib/printf-frexp.c: New file.
40730         * m4/printf-frexp.m4: New file.
40731
40732 2007-02-25  Bruno Haible  <bruno@clisp.org>
40733
40734         Assume automake >= 1.10 for the tests.
40735         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
40736         * modules/arctwo-tests: Likewise.
40737         * modules/argp-tests: Likewise.
40738         * modules/avltree-list-tests: Likewise.
40739         * modules/avltree-oset-tests: Likewise.
40740         * modules/avltreehash-list-tests: Likewise.
40741         * modules/carray-list-tests: Likewise.
40742         * modules/crc-tests: Likewise.
40743         * modules/des-tests: Likewise.
40744         * modules/gc-arcfour-tests: Likewise.
40745         * modules/gc-arctwo-tests: Likewise.
40746         * modules/gc-des-tests: Likewise.
40747         * modules/gc-hmac-md5-tests: Likewise.
40748         * modules/gc-hmac-sha1-tests: Likewise.
40749         * modules/gc-md2-tests: Likewise.
40750         * modules/gc-md4-tests: Likewise.
40751         * modules/gc-md5-tests: Likewise.
40752         * modules/gc-pbkdf2-sha1-tests: Likewise.
40753         * modules/gc-rijndael-tests: Likewise.
40754         * modules/gc-sha1-tests: Likewise.
40755         * modules/gc-tests: Likewise.
40756         * modules/getaddrinfo-tests: Likewise.
40757         * modules/hmac-md5-tests: Likewise.
40758         * modules/hmac-sha1-tests: Likewise.
40759         * modules/linked-list-tests: Likewise.
40760         * modules/linkedhash-list-tests: Likewise.
40761         * modules/lock-tests: Likewise.
40762         * modules/md2-tests: Likewise.
40763         * modules/md4-tests: Likewise.
40764         * modules/md5-tests: Likewise.
40765         * modules/rbtree-list-tests: Likewise.
40766         * modules/rbtree-oset-tests: Likewise.
40767         * modules/rbtreehash-list-tests: Likewise.
40768         * modules/read-file-tests: Likewise.
40769         * modules/rijndael-tests: Likewise.
40770         * modules/stdint-tests: Likewise.
40771         * modules/tls-tests: Likewise.
40772
40773 2007-02-24  Bruno Haible  <bruno@clisp.org>
40774
40775         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
40776         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
40777         function; instead check whether isnan with a double argument links.
40778         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
40779         function; instead check whether isnan with a 'long double' argument
40780         links.
40781         Reported by Eric Blake <ebb9@byu.net>.
40782
40783 2007-02-24  Bruno Haible  <bruno@clisp.org>
40784
40785         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
40786         defined.
40787         * lib/isnanl.c: Remove all code. Just include isnan.c.
40788         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
40789
40790 2007-02-25  Jim Meyering  <jim@meyering.net>
40791
40792         Avoid conflicting types for 'unsetenv' on FreeBSD.
40793         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
40794         conflicting with FreeBSD's (5.0 and 6.1) function declaration
40795         in stdlib.h.
40796
40797 2007-02-24  Bruno Haible  <bruno@clisp.org>
40798
40799         * modules/isnanl-nolibm-tests: New file.
40800         * tests/test-isnanl.c: New file.
40801
40802         * modules/isnanl-nolibm: New file.
40803         * lib/isnanl.h: New file.
40804         * lib/isnanl.c: New file.
40805         * m4/isnanl.m4: New file.
40806
40807 2007-02-24  Bruno Haible  <bruno@clisp.org>
40808
40809         * modules/isnan-nolibm-tests: New file.
40810         * tests/test-isnan.c: New file.
40811
40812         * modules/isnan-nolibm: New file.
40813         * lib/isnan.h: New file.
40814         * lib/isnan.c: New file.
40815         * m4/isnan.m4: New file.
40816
40817 2007-02-24  Bruno Haible  <bruno@clisp.org>
40818
40819         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
40820         assume that an exponent fits in 20 bits.
40821
40822 2007-02-24  Jim Meyering  <jim@meyering.net>
40823
40824         * m4/regex.m4: Update the description of the configure-time option,
40825         --without-included-regex, to state accurately what the defaults are,
40826         and perhaps to give people an idea why using this option is risky.
40827
40828 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
40829
40830         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
40831         loops on small arguments.  This attempts to avoid the problem
40832         Bruno Haible reported for AIX 4.3.2 in
40833         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
40834
40835 2007-02-23  Bruno Haible  <bruno@clisp.org>
40836
40837         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
40838         Needed for help2man.
40839
40840 2007-02-23  Karl Berry  <karl@gnu.org>
40841
40842         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
40843         exists, foo.h should be cvs-ignored, not committed.
40844
40845 2007-02-23  Eric Blake  <ebb9@byu.net>
40846
40847         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
40848         * lib/stat-time.h (includes): Likewise.
40849         * lib/utimecmp.c (includes): Likewise.
40850         * lib/utimens.h (includes): Likewise.
40851         * lib/getdate.y (includes): Also include "timespec.h" for use
40852         internal to the module.
40853         * modules/utimens (Depends-on): Revert yesterday's patch.
40854         * modules/nanosleep (Depends-on): Add missing dependency.
40855
40856 2007-02-22  Bruno Haible  <bruno@clisp.org>
40857
40858         * lib/glob.c: Don't include getlogin_r.h.
40859
40860 2007-02-22  Jim Meyering  <jim@meyering.net>
40861
40862         * modules/utimens (Depends-on): Add timespec, required for
40863         utimens.h's inclusion of timespec.h.
40864
40865 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
40866
40867         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
40868         long unreadable paths in GNU/Linux.  Problem reported by Andreas
40869         Schwab in
40870         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
40871         I'll try to think of a better way to fix the Solaris problem.
40872
40873         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
40874         like glibc; on Solaris 10, it fails with errno == EINVAL.
40875         POSIX says the behavior is unspecified if the first argument is NULL,
40876         so play it safe and never pass NULL to the system getcwd.
40877
40878 2007-02-21  Jim Meyering  <jim@meyering.net>
40879
40880         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
40881         of gettimeofday.  It would conflict with the one now always
40882         provided via sys_time_.h.  Reported by Matthew Woehlke, as
40883         an IRIX 6.5 build failure.
40884
40885 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
40886
40887         Minor fixups to port to Solaris 10 with Sun C 5.8.
40888         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
40889         * modules/getcwd (Depends-on): Add dirfd.
40890         * lib/putenv.c (putenv): #undef it.
40891         (rpl_putenv): New decl.
40892         (malloc, free): Include <stdlib.h> rather than prototyping separately.
40893
40894 2007-02-20  Bruno Haible  <bruno@clisp.org>
40895
40896         * modules/stdio-tests: New file.
40897         * tests/test-stdio.c: New file.
40898
40899         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
40900         (Depends-on): Add stdio.
40901         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
40902         (Include): Use <stdio.h> instead of vsnprintf.h.
40903         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
40904         HAVE_DECL_VSNPRINTF.
40905         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
40906
40907         * modules/snprintf (Files): Remove lib/snprintf.h.
40908         (Depends-on): Add stdio.
40909         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
40910         (Include): Use <stdio.h> instead of snprintf.h.
40911         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
40912         HAVE_DECL_SNPRINTF.
40913         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
40914         * lib/getaddrinfo.c: Likewise.
40915
40916         * modules/stdio: New file.
40917         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
40918         * lib/snprintf.h: Remove file.
40919         * lib/vsnprintf.h: Remove file.
40920         * lib/.cppi-disable: Remove snprintf.h.
40921         * m4/stdio_h.m4: New file.
40922         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
40923
40924 2007-02-20  Jim Meyering  <jim@meyering.net>
40925
40926         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
40927         used by e.g., mingw.  From Bruno Haible.
40928
40929 2007-02-19  Bruno Haible  <bruno@clisp.org>
40930
40931         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
40932         warnings.
40933         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40934
40935 2007-02-19  Bruno Haible  <bruno@clisp.org>
40936
40937         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
40938         from mingw users.
40939
40940 2007-02-19  Bruno Haible  <bruno@clisp.org>
40941
40942         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
40943         warnings.
40944         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
40945
40946 2007-02-19  Jim Meyering  <jim@meyering.net>
40947
40948         Don't use FD after a successful "fdopendir (fd)".
40949         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
40950         Reset it by calling dirfd on the just-obtained DIR*.
40951
40952         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
40953         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
40954
40955 2007-02-18  Bruno Haible  <bruno@clisp.org>
40956
40957         * lib/readlink.c: Include <unistd.h>.
40958         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
40959         HAVE_READLINK.
40960         * modules/readlink (Depends-on): Add unistd.
40961         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40962         (Include): Add <unistd.h>.
40963
40964         * lib/getlogin_r.h: Remove file.
40965         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
40966         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
40967         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
40968         HAVE_DECL_GETLOGIN_R.
40969         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
40970         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40971         (Include): Use <unistd.h> instead of getlogin_r.h.
40972
40973         * lib/getcwd.h: Remove file.
40974         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
40975         * lib/xgetcwd.c: Likewise.
40976         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
40977         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
40978         * modules/getcwd (Files): Remove lib/getcwd.h.
40979         (Depends-on): Add unistd.
40980         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40981         (Include): Use <unistd.h> instad of getcwd.h.
40982
40983         * lib/ftruncate.c: Include <unistd.h> first.
40984         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
40985         Set HAVE_FTRUNCATE.
40986         * modules/ftruncate (Depends-on): Add unistd.
40987         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40988
40989         * lib/fchdir.c: Include <unistd.h> first.
40990         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
40991         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
40992         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
40993         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40994         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
40995
40996         * lib/dup2.c: Include <unistd.h> first.
40997         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
40998         HAVE_DUP2.
40999         * modules/dup2 (Depends-on): Add unistd.
41000         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41001
41002         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
41003         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
41004         REPLACE_CHOWN. Don't define chown as a macro here.
41005         * modules/chown (Depends-on): Add unistd.
41006         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41007
41008         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
41009         Add definition for GL_LINK_WARNING.
41010         (chown, dup2): New declarations.
41011         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
41012         link warning.
41013         (ftruncate): New declaration.
41014         (getcwd): New declaration, taken from old getcwd.h.
41015         (getlogin_r): New declaration, taken from old getlogin_r.h.
41016         (readlink): New declaration.
41017         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
41018         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
41019         (gl_PREREQ_UNISTD): Remove macro.
41020         (gl_UNISTD_MODULE_INDICATOR): New macro.
41021         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
41022         many new variables. Don't set UNISTD_H.
41023         * modules/unistd (Description): Change.
41024         (Depends-on): Add link-warning.
41025         (configure.ac): Update.
41026         (Makefile.am): Create unistd.h always. Substitute many new variables
41027         into it.
41028
41029 2007-02-18  Bruno Haible  <bruno@clisp.org>
41030
41031         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
41032         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
41033         HAVE_GETSUBOPT.
41034         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
41035         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
41036         * lib/getsubopt.h: Remove file.
41037         * modules/getsubopt (Files): Remove lib/getsubopt.h.
41038         (Depends-on): Add stdlib.
41039         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41040         (Includes): Use <stdlib.h> instead of getsubopt.h.
41041         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
41042         Set HAVE_GETSUBOPT.
41043         * lib/getsubopt.c: Don't include getsubopt.h.
41044
41045 2007-02-18  Bruno Haible  <bruno@clisp.org>
41046
41047         * modules/fchdir (Depends-on): Add dup2.
41048
41049 2007-02-18  Bruno Haible  <bruno@clisp.org>
41050
41051         * lib/stdlib_.h: Handle glibc's special invocation convention
41052         specially.
41053
41054 2007-02-18  Bruno Haible  <bruno@clisp.org>
41055
41056         * modules/stdlib-tests: New file.
41057         * tests/test-stdlib.c: New file.
41058
41059         * modules/mkstemp (Files): Remove lib/mkstemp.h.
41060         (Depends-on): Add stdlib.
41061         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41062         (Includes): Use <stdlib.h> instead of mkstemp.h.
41063         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41064         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
41065         * lib/mkstemp.c: Don't include mkstemp.h.
41066         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
41067         * lib/stdlib--.h: Don't include mkstemp.h.
41068
41069         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
41070         (Depends-on): Add stdlib.
41071         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41072         (Includes): Use <stdlib.h> instead of mkdtemp.h.
41073         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41074         HAVE_MKDTEMP.
41075         * lib/mkdtemp.c: Don't include mkdtemp.h.
41076         * lib/clean-temp.c: Don't include mkdtemp.h.
41077
41078         * modules/exit (Files): Remove lib/exit.h.
41079         (Depends-on): Add stdlib.
41080         (Makefile.am): Remove lib_SOURCES.
41081         (Include): Use <stdlib.h> instead of exit.h.
41082         * lib/argmatch.c: Don't include exit.h.
41083         * lib/execute.c: Likewise.
41084         * lib/pagealign_alloc.c: Likewise.
41085         * lib/pipe.c: Likewise.
41086         * lib/wait-process.c: Likewise.
41087         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
41088         * lib/exitfail.c: Likewise.
41089         * lib/savewd.c: Likewise.
41090         * lib/xsetenv.c: Likewise.
41091
41092         * modules/stdlib: New file.
41093         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
41094         and extra comments about mkstemp().
41095         * lib/exit.h: Remove file.
41096         * lib/mkdtemp.h: Remove file.
41097         * lib/mkstemp.h: Remove file.
41098         * m4/stdlib_h.m4: New file.
41099         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
41100
41101 2007-02-18  Bruno Haible  <bruno@clisp.org>
41102
41103         * modules/math-tests: New file.
41104         * tests/test-math.c: New file.
41105
41106         * modules/math: New file.
41107         * modules/mathl (Files): Remove lib/mathl.h.
41108         (Depends-on): Add math.
41109         (Makefile.am): Don't mention mathl.h.
41110         (Include): Use <math.h> instead of mathl.h.
41111         * lib/math_.h: New file.
41112         * lib/mathl.h: Remove file.
41113         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
41114         mathl.h.
41115         * lib/asinl.c: Likewise.
41116         * lib/atanl.c: Likewise.
41117         * lib/ceill.c: Likewise.
41118         * lib/cosl.c: Likewise.
41119         * lib/expl.c: Likewise.
41120         * lib/floorl.c: Likewise.
41121         * lib/frexpl.c: Likewise.
41122         * lib/ldexpl.c: Likewise.
41123         * lib/logl.c: Likewise.
41124         * lib/sincosl.c: Likewise.
41125         * lib/sinl.c: Likewise.
41126         * lib/sqrtl.c: Likewise.
41127         * lib/tanl.c: Likewise.
41128         * lib/trigl.c: Likewise.
41129         * m4/math_h.m4: New file.
41130         * MODULES.html.sh (Mathematics): Add math.
41131
41132 2007-02-17  Bruno Haible  <bruno@clisp.org>
41133
41134         * modules/wctype-tests: New file.
41135         * tests/test-wctype.c: New file.
41136
41137         * modules/wchar-tests: New file.
41138         * tests/test-wchar.c: New file.
41139
41140         * modules/unistd-tests: New file.
41141         * tests/test-unistd.c: New file.
41142
41143         * modules/time-tests: New file.
41144         * tests/test-time.c: New file.
41145
41146         * modules/sysexits-tests: New file.
41147         * tests/test-sysexits.c: New file.
41148
41149         * modules/sys_time-tests: New file.
41150         * tests/test-sys_time.c: New file.
41151
41152         * modules/sys_stat-tests: New file.
41153         * tests/test-sys_stat.c: New file.
41154
41155         * modules/sys_socket-tests: New file.
41156         * tests/test-sys_socket.c: New file.
41157
41158         * modules/sys_select-tests: New file.
41159         * tests/test-sys_select.c: New file.
41160
41161         * modules/string-tests: New file.
41162         * tests/test-string.c: New file.
41163
41164         * modules/stdbool-tests: New file.
41165         * tests/test-stdbool.c: New file.
41166
41167         * modules/netinet_in-tests: New file.
41168         * tests/test-netinet_in.c: New file.
41169
41170         * modules/inttypes-tests: New file.
41171         * tests/test-inttypes.c: New file.
41172
41173         * modules/fcntl-tests: New file.
41174         * tests/test-fcntl.c: New file.
41175
41176         * modules/byteswap-tests: New file.
41177         * tests/test-byteswap.c: New file.
41178
41179         * modules/arpa_inet-tests: New file.
41180         * tests/test-arpa_inet.c: New file.
41181
41182 2007-02-17  Bruno Haible  <bruno@clisp.org>
41183
41184         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
41185         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
41186         if the corresponding module is not enabled. Emit link warnings if
41187         the function is used nevertheless.
41188         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
41189         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
41190         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
41191         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
41192         * modules/inttypes (Depends-on): Add link-warning.
41193         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41194         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
41195         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
41196         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
41197         * modules/imaxdiv (configure.ac): Likewise.
41198         * modules/strtoimax (configure.ac): Likewise.
41199         * modules/strtoumax (configure.ac): Likewise.
41200
41201 2007-02-17  Bruno Haible  <bruno@clisp.org>
41202
41203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
41204         gl_STRING_MODULE_INDICATOR_DEFAULTS.
41205         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
41206         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
41207
41208 2007-02-17  Bruno Haible  <bruno@clisp.org>
41209
41210         * modules/link-warning: New file.
41211         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
41212         * lib/string_.h (GL_LINK_WARNING): Remove definition.
41213         * modules/string (Depends-on): Add link-warning.
41214         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41215         string.h.
41216         * MODULES.html.sh (Support for building libraries and executables): Add
41217         link-warning.
41218
41219 2007-02-17  Bruno Haible  <bruno@clisp.org>
41220
41221         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
41222         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
41223         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
41224         long lines.
41225
41226 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
41227             Bruno Haible  <bruno@clisp.org>
41228
41229         * modules/tmpfile: New file.
41230         * lib/tmpfile.c: New file.
41231         * m4/tmpfile.m4: New file.
41232         * MODULES.html.sh (func_all_modules): New section "Input/output".
41233
41234 2007-02-15  Bruno Haible  <bruno@clisp.org>
41235
41236         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
41237         (supports_delete_on_close): New function.
41238         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
41239
41240 2007-02-14  Bruno Haible  <bruno@clisp.org>
41241
41242         * modules/mbspcasecmp-tests: New file.
41243         * tests/test-mbspcasecmp.sh: New file.
41244         * tests/test-mbspcasecmp.c: New file.
41245
41246         New module mbspcasecmp.
41247         * modules/mbspcasecmp: New file.
41248         * lib/mbspcasecmp.c: New file.
41249         * lib/string_.h (strncasecmp): Change warning message.
41250         (mbspcasecmp): New declaration.
41251         * m4/mbspcasecmp.m4: New file.
41252         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41253         GNULIB_MBSPCASECMP.
41254         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
41255         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
41256
41257 2007-02-14  Bruno Haible  <bruno@clisp.org>
41258
41259         * modules/mbsncasecmp-tests: New file.
41260         * tests/test-mbsncasecmp.sh: New file.
41261         * tests/test-mbsncasecmp.c: New file.
41262
41263         New module mbsncasecmp.
41264         * modules/mbsncasecmp: New file.
41265         * lib/mbsncasecmp.c: New file.
41266         * lib/string_.h (mbsncasecmp): New declaration.
41267         * m4/mbsncasecmp.m4: New file.
41268         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41269         GNULIB_MBSNCASECMP.
41270         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
41271         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
41272
41273 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
41274
41275         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
41276         Verify that it doesn't overlap with our flags.
41277         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
41278         do not have the desired effect in multibyte locales; instead, use
41279         mbscasecmp.
41280         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
41281         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
41282         we don't require GNU fnmatch ourselves (if our users require it, they
41283         should do so explicitly).
41284
41285         Fix regex code so it doesn't rely on strcasecmp.
41286         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
41287         Otherwise, include gnulib's langinfo.h.
41288         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
41289         undesirable behavior in non-C locales.  Instead, rely on localecharset.
41290         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
41291         * modules/regex (FILES): Remove m4/codeset.m4.
41292         (Depends-on): Add localcharset.  Remove strcase.
41293
41294 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41295
41296         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
41297         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
41298
41299 2007-02-13  Bruno Haible  <bruno@clisp.org>
41300
41301         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
41302         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41303
41304 2007-02-12  Bruno Haible  <bruno@clisp.org>
41305
41306         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
41307         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
41308         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
41309         time warning rather than a link error.
41310
41311 2007-02-12  Bruno Haible  <bruno@clisp.org>
41312
41313         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
41314         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41315         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41316
41317 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41318
41319         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
41320         args, not 2.
41321
41322 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41323
41324         New module 'time', so that apps can include <time.h> as per
41325         POSIX and GNU instead of separate include files like time_r.h
41326         and timegm.h.  This implementation tries out a simpler approach
41327         for replacing decls in standard include files (as compared to
41328         the string module), somewhat as an experiment.
41329
41330         * config/srclist.txt: Comment out mktime.c for now.
41331         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
41332         since it doesn't apply any more.  Use generic wording instead.
41333         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
41334         'time'.
41335         * lib/time_.h, m4/time_h.m4, modules/time: New files.
41336         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
41337         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
41338         Don't include <sys/types.h>; no longer needed since we assume C89.
41339         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
41340         * lib/strftime.c: Likewise.
41341         * lib/time_r.c: Likewise.
41342         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
41343         * lib/nanosleep.c: Include <time.h> first, to check interface.
41344         * lib/strptime.c: Likewise.
41345         * lib/time_r.c: Likewise.
41346         * lib/timegm.c: Likewise.
41347         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
41348         needed.
41349         * lib/timegm.c: Don't include timegm.h; no longer needed.
41350         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
41351         time.h now handles any problems in that area.
41352         (struct timespec, nanosleep): Remove; time.h now arranges for these.
41353         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
41354         that time.h defines struct timespec.
41355         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
41356         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
41357         handles that.
41358         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
41359         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
41360         needed.  Set REPLACE_LOCALTIME.
41361         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
41362         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
41363         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
41364         nanosleep; time_h.m4 now does that.  Don't require
41365         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
41366         module handles this now.
41367         * modules/getdate (Depends-on): Remove timespec.  Add time.
41368         * modules/nanosleep (Depends-on): Likewise.
41369         * modules/stat-time (Depends-on): Likewise.
41370         * modules/nanosleep (Include): Include time.h, not timespec.h.
41371         * modules/strptime (Files): Remove lib/strptime.h.
41372         (Depends-on): Add extensions, time.
41373         (Include): Include time.h, not strptime.h.
41374         * modules/time_r (Files): Remove lib/time_r.h.
41375         (Depends-on): Add time.
41376         (Include): Include time.h, not time_r.h.
41377         * modules/timegm: Likewise.
41378         * modules/timespec (Description): Now does timespec-related decls
41379         of our own, instead of struct timespec itself.
41380         (Depends-on): Add time; remove extensions.
41381         (Maintainer): Add self.
41382         * modules/utimecmp (Depends-on): Add time; remove timespec.
41383         * modules/utimens (Depends-on): Likewise.
41384         * modules/xnanosleep (Depends-on): Likewise.
41385
41386 2007-02-11  Bruno Haible  <bruno@clisp.org>
41387
41388         * lib/c-strstr.c: Include allocsa.h.
41389         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41390         * lib/c-strcasestr.c: Include allocsa.h.
41391         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41392         * lib/strcasestr.c: Include allocsa.h.
41393         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41394         * lib/mbsstr.c: Include allocsa.h.
41395         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
41396         allocsa/freesa instead of malloc/free.
41397         * lib/mbscasestr.c: Include allocsa.h.
41398         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
41399         allocsa/freesa instead of malloc/free.
41400         * modules/c-strstr (Depends-on): Add allocsa.
41401         * modules/c-strcasestr (Depends-on): Likewise.
41402         * modules/strcasestr (Depends-on): Likewise.
41403         * modules/mbsstr (Depends-on): Likewise.
41404         * modules/mbscasestr (Depends-on): Likewise.
41405
41406 2007-02-11  Bruno Haible  <bruno@clisp.org>
41407
41408         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
41409
41410         * modules/mbsspn-tests: New file.
41411         * tests/test-mbsspn.sh: New file.
41412         * tests/test-mbsspn.c: New file.
41413
41414 2007-02-11  Bruno Haible  <bruno@clisp.org>
41415
41416         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
41417
41418         * modules/mbspbrk-tests: New file.
41419         * tests/test-mbspbrk.sh: New file.
41420         * tests/test-mbspbrk.c: New file.
41421
41422 2007-02-11  Bruno Haible  <bruno@clisp.org>
41423
41424         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
41425         unneeded cast.
41426
41427         * modules/mbscspn-tests: New file.
41428         * tests/test-mbscspn.sh: New file.
41429         * tests/test-mbscspn.c: New file.
41430
41431 2007-02-11  Bruno Haible  <bruno@clisp.org>
41432
41433         * modules/mbscasecmp-tests: New file.
41434         * tests/test-mbscasecmp.sh: New file.
41435         * tests/test-mbscasecmp.c: New file.
41436
41437 2007-02-11  Bruno Haible  <bruno@clisp.org>
41438
41439         Ensure O(n) worst-case complexity of mbscasestr.
41440         * lib/mbscasestr.c: Include stdbool.h.
41441         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41442         functions.
41443         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
41444         the bookkeeping indicates that it's worth it.
41445         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
41446
41447         * modules/mbscasestr-tests: New file.
41448         * tests/test-mbscasestr1.c: New file.
41449         * tests/test-mbscasestr2.sh: New file.
41450         * tests/test-mbscasestr2.c: New file.
41451         * tests/test-mbscasestr3.sh: New file.
41452         * tests/test-mbscasestr3.c: New file.
41453         * tests/test-mbscasestr4.sh: New file.
41454         * tests/test-mbscasestr4.c: New file.
41455         * m4/locale-tr.m4: New file.
41456
41457 2007-02-11  Bruno Haible  <bruno@clisp.org>
41458
41459         Ensure O(n) worst-case complexity of mbsstr.
41460         * lib/mbsstr.c: Include stdbool.h.
41461         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41462         functions.
41463         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
41464         bookkeeping indicates that it's worth it.
41465         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
41466
41467         * modules/mbsstr-tests: New file.
41468         * tests/test-mbsstr1.c: New file.
41469         * tests/test-mbsstr2.sh: New file.
41470         * tests/test-mbsstr2.c: New file.
41471         * tests/test-mbsstr3.sh: New file.
41472         * tests/test-mbsstr3.c: New file.
41473         * m4/locale-fr.m4: New file.
41474
41475 2007-02-11  Bruno Haible  <bruno@clisp.org>
41476
41477         * lib/mbsrchr.c (mbsrchr): Fix bug.
41478
41479         * modules/mbsrchr-tests: New file.
41480         * tests/test-mbsrchr.sh: New file.
41481         * tests/test-mbsrchr.c: New file.
41482
41483 2007-02-11  Bruno Haible  <bruno@clisp.org>
41484
41485         * lib/mbschr.c (mbschr): Fix bug.
41486
41487         * modules/mbschr-tests: New file.
41488         * tests/test-mbschr.sh: New file.
41489         * tests/test-mbschr.c: New file.
41490         * m4/locale-zh.m4: New file.
41491
41492 2007-02-11  Bruno Haible  <bruno@clisp.org>
41493
41494         Support for copying multibyte string iterators.
41495         * lib/mbiter.h: Include <string.h>.
41496         (mbiter_multi_copy): New function.
41497         (mbi_copy): New macro.
41498         * lib/mbuiter.h: Include <string.h>.
41499         (mbuiter_multi_copy): New function.
41500         (mbui_copy): New macro.
41501
41502 2007-02-11  Bruno Haible  <bruno@clisp.org>
41503
41504         New module mbslen.
41505         * modules/mbslen: New file.
41506         * lib/mbslen.c: New file.
41507         * lib/string_.h (mbslen): New declaration.
41508         * m4/mbslen.m4: New file.
41509         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41510         GNULIB_MBSLEN.
41511         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
41512         * MODULES.html.sh (Internationalization functions): Add mbslen.
41513
41514 2007-02-11  Bruno Haible  <bruno@clisp.org>
41515
41516         Ensure O(n) worst-case complexity of strcasestr substitute.
41517         * lib/strcasestr.c: Include stdbool.h.
41518         (knuth_morris_pratt): New function.
41519         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
41520         bookkeeping indicates that it's worth it.
41521         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
41522
41523         * modules/strcasestr-tests: New file.
41524         * tests/test-strcasestr.c: New file.
41525
41526 2007-02-11  Bruno Haible  <bruno@clisp.org>
41527
41528         Ensure O(n) worst-case complexity of c_strcasestr.
41529         * lib/c-strcasestr.c: Include stdbool.h, string.h.
41530         (knuth_morris_pratt): New function.
41531         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
41532         the bookkeeping indicates that it's worth it.
41533         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
41534
41535         * modules/c-strcasestr-tests: New file.
41536         * tests/test-c-strcasestr.c: New file.
41537
41538 2007-02-11  Bruno Haible  <bruno@clisp.org>
41539
41540         Ensure O(n) worst-case complexity of c_strstr.
41541         * lib/c-strstr.c: Include stdbool.h, string.h.
41542         (knuth_morris_pratt): New function.
41543         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
41544         bookkeeping indicates that it's worth it.
41545         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
41546
41547         * lib/c-strstr.c: Complete rewrite for maintainability.
41548
41549         * modules/c-strstr-tests: New file.
41550         * tests/test-c-strstr.c: New file.
41551
41552 2007-02-11  Bruno Haible  <bruno@clisp.org>
41553
41554         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
41555         5.2.1 and earlier, whereby \055 was treated just like the range
41556         delimiter '-'.
41557         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41558
41559 2007-02-08  Bruno Haible  <bruno@clisp.org>
41560
41561         * modules/regex (Depends-on): Add stdbool.
41562         Reported by Dalibor Topic <robilad@kaffe.org>.
41563
41564 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
41565
41566         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
41567         Prefer returning from main to exiting from it.
41568         Remove unnecessary parens after sizeof.
41569
41570 2007-02-05  Bruno Haible  <bruno@clisp.org>
41571
41572         New module mbssep.
41573         * modules/mbssep: New file.
41574         * lib/mbssep.c: New file.
41575         * lib/string_.h (strsep): Add a conditional link warning.
41576         (mbssep): New declaration.
41577         * m4/mbssep.m4: New file.
41578         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41579         GNULIB_MBSSEP.
41580         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
41581         * MODULES.html.sh (Internationalization functions): Add mbssep.
41582
41583 2007-02-05  Bruno Haible  <bruno@clisp.org>
41584
41585         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
41586         Optimize search in case of 1 delimiter.
41587
41588 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
41589
41590         * lib/acl.h: Include sys/types.h before sys/acl.h.
41591
41592 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
41593
41594         Merge upstream fix for glibc bugzilla #3957:
41595
41596         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
41597
41598         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
41599         bit for RE_HAT_LISTS_NOT_NEWLINE.
41600         (build_charclass_op): Remove bogus comment.
41601
41602 2007-02-05  Simon Josefsson  <simon@josefsson.org>
41603
41604         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
41605
41606 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
41607
41608         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
41609         * lib/memmem.c [!defined _LIBC]: Include config.h.
41610
41611 2007-02-04  Bruno Haible  <bruno@clisp.org>
41612
41613         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
41614         warning message.
41615
41616 2007-02-04  Bruno Haible  <bruno@clisp.org>
41617
41618         New module mbstok_r.
41619         * modules/mbstok_r: New file.
41620         * lib/mbstok_r.c: New file.
41621         * lib/string_.h (strtok_r): Change argument names to match the
41622         comments. Add a conditional link warning.
41623         (mbstok_r): New declaration.
41624         * m4/mbstok_r.m4: New file.
41625         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41626         GNULIB_MBSTOK_R.
41627         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
41628         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
41629
41630 2007-02-04  Bruno Haible  <bruno@clisp.org>
41631
41632         New module mbsspn.
41633         * modules/mbsspn: New file.
41634         * lib/mbsspn.c: New file.
41635         * lib/string_.h (strspn): Add a conditional link warning.
41636         (mbsspn): New declaration.
41637         * m4/mbsspn.m4: New file.
41638         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41639         GNULIB_MBSSPN.
41640         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
41641         * MODULES.html.sh (Internationalization functions): Add mbsspn.
41642
41643 2007-02-04  Bruno Haible  <bruno@clisp.org>
41644
41645         New module mbspbrk.
41646         * modules/mbspbrk: New file.
41647         * lib/mbspbrk.c: New file.
41648         * lib/string_.h (strpbrk): Add a conditional link warning.
41649         (mbspbrk): New declaration.
41650         * m4/mbspbrk.m4: New file.
41651         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41652         GNULIB_MBSPBRK.
41653         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
41654         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
41655
41656 2007-02-04  Bruno Haible  <bruno@clisp.org>
41657
41658         New module mbscspn.
41659         * modules/mbscspn: New file.
41660         * lib/mbscspn.c: New file.
41661         * lib/string_.h (strcspn): Add a conditional link warning.
41662         (mbscspn): New declaration.
41663         * m4/mbscspn.m4: New file.
41664         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41665         GNULIB_MBSCSPN.
41666         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
41667         * MODULES.html.sh (Internationalization functions): Add mbscspn.
41668
41669 2007-02-04  Bruno Haible  <bruno@clisp.org>
41670
41671         New module mbscasestr, reduced goal of strcasestr.
41672         * modules/mbscasestr: New file.
41673         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
41674         (mbscasestr): Renamed from strcasestr.
41675         * lib/strcasestr.c: Don't include mbuiter.h.
41676         (strcasestr): Remove support for multibyte locales.
41677         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
41678         Change the conditional link warning.
41679         (mbscasestr): New declaration.
41680         * m4/mbscasestr.m4: New file.
41681         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
41682         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
41683         REPLACE_STRCASESTR.
41684         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
41685         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41686         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
41687         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
41688         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
41689         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
41690         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
41691         (Depends-on): Remove mbuiter.
41692         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
41693
41694 2007-02-04  Bruno Haible  <bruno@clisp.org>
41695
41696         Simplify handling of strncasecmp.
41697         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
41698         the conditional link warning.
41699         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41700         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
41701         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
41702         * modules/strcase (configure.ac): Don't invoke
41703         gl_STRING_MODULE_INDICATOR.
41704         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
41705
41706 2007-02-04  Bruno Haible  <bruno@clisp.org>
41707
41708         New module mbscasecmp, reduced goal of strcasecmp.
41709         * modules/mbscasecmp: New file.
41710         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
41711         (mbscasecmp): Renamed from strcasecmp.
41712         * lib/strcasecmp.c: Don't include mbuiter.h.
41713         (strcasecmp): Remove support for multibyte locales.
41714         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
41715         Change the conditional link warning.
41716         (mbscasecmp): New declaration.
41717         * m4/mbscasecmp.m4: New file.
41718         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
41719         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
41720         REPLACE_STRCASECMP.
41721         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
41722         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41723         GNULIB_MBSCASECMP.
41724         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
41725         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
41726         * modules/strcase (Files): Remove m4/mbrtowc.m4.
41727         (Depends-on): Remove mbuiter.
41728         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
41729
41730 2007-02-04  Bruno Haible  <bruno@clisp.org>
41731
41732         New module mbsstr. Remove module strstr.
41733         * modules/mbsstr: New file.
41734         * modules/strstr: Remove file.
41735         * lib/mbsstr.c: Renamed from lib/strstr.c.
41736         (mbsstr): Renamed from strstr.
41737         * lib/string_.h (strstr): Remove declaration. Change the conditional
41738         link warning.
41739         (mbsstr): New declaration.
41740         * m4/mbsstr.m4: New file.
41741         * m4/strstr.m4: Remove file.
41742         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
41743         REPLACE_STRSTR.
41744         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
41745         Don't initialize GNULIB_STRSTR.
41746         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
41747         substitute GNULIB_STRSTR and REPLACE_STRSTR.
41748         * MODULES.html.sh (Internationalization functions): Add mbsstr.
41749         (Support for systems lacking ANSI C 89): Remove strstr.
41750
41751 2007-02-04  Bruno Haible  <bruno@clisp.org>
41752
41753         New module mbsrchr.
41754         * modules/mbsrchr: New file.
41755         * lib/mbsrchr.c: New file.
41756         * lib/string_.h (strrchr): Add a conditional link warning.
41757         (mbsrchr): New declaration.
41758         * m4/mbsrchr.m4: New file.
41759         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41760         GNULIB_MBSRCHR.
41761         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
41762         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
41763
41764 2007-02-04  Bruno Haible  <bruno@clisp.org>
41765
41766         New module mbschr.
41767         * modules/mbschr: New file.
41768         * lib/mbschr.c: New file.
41769         * lib/string_.h (strchr): Add a conditional link warning.
41770         (mbschr): New declaration.
41771         * m4/mbschr.m4: New file.
41772         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41773         GNULIB_MBSCHR.
41774         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
41775         * MODULES.html.sh (Internationalization functions): Add mbschr.
41776
41777 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
41778
41779         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
41780
41781         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
41782
41783 2007-02-04  Bruno Haible  <bruno@clisp.org>
41784
41785         New module description section 'configure.ac-early'.
41786         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
41787         (func_get_autoconf_early_snippet): New function.
41788         (func_import, func_create_testdir): Use it. Remove special cases for
41789         modules 'extensions' and 'lock'.
41790         * modules/extensions (configure.ac-early): Require
41791         gl_USE_SYSTEM_EXTENSIONS.
41792         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
41793
41794 2007-02-04  Bruno Haible  <bruno@clisp.org>
41795
41796         Make use of gcj-4.3's -fsource and -ftarget option.
41797         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
41798         and if so try the options -fsource and -ftarget.
41799         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
41800         source_version, ftarget_option, target_version arguments.
41801         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
41802         (is_envjavac_oldgcj_14_14_usable): Renamed from
41803         is_envjavac_gcj_14_14_usable.
41804         (is_envjavac_oldgcj_14_13_usable): Renamed from
41805         is_envjavac_gcj_14_13_usable.
41806         (is_gcj_present): Update.
41807         (is_gcj_43, is_gcj43_usable): New functions.
41808         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
41809         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
41810         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
41811         try the options -fsource and -ftarget.
41812
41813 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
41814
41815         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
41816         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
41817         larger value.
41818
41819 2007-02-03  Jim Meyering  <jim@meyering.net>
41820
41821         Give tools a better chance to allocate space for very large buffers.
41822         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
41823
41824         Make pwd and readlink work also when run with an unreadable parent dir
41825         on systems with openat support.
41826         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
41827         provided getcwd function, even when we have openat support.
41828         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
41829
41830 2007-02-02  Bruno Haible  <bruno@clisp.org>
41831
41832         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
41833         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
41834         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
41835         portability problems if one of these functions is only used on specific
41836         platforms.
41837         Reported by Paul Eggert.
41838
41839 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
41840
41841         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
41842         is causing more trouble than it's curing.
41843         * lib/regex_internal.h (__mempcpy): Remove.
41844         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
41845         (and make the code a tad smaller to boot).
41846         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
41847
41848 2007-02-02  Jim Meyering  <jim@meyering.net>
41849
41850         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
41851         section, not in the Makefile.am: one.
41852
41853 2007-02-02  Eric Blake  <ebb9@byu.net>
41854
41855         * lib/strchrnul.c: Always include config.h first.
41856
41857         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
41858         gnulib strstr is not necessary here.
41859
41860 2007-02-02  Simon Josefsson  <simon@josefsson.org>
41861
41862         * m4/socklen.m4: Fix typo.
41863
41864 2007-02-02  Eric Blake  <ebb9@byu.net>
41865
41866         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
41867         * modules/netinet_in (Makefile.am): Likewise.
41868
41869 2007-02-01  Bruno Haible  <bruno@clisp.org>
41870
41871         * lib/string_.h (GL_LINK_WARNING): New macro.
41872         (strcasecmp, strstr, strcasestr): If provided by the system,
41873         conditionally define as a macro that leads to a warning instead of to
41874         an error.
41875         (strncasecmp): Conditionally define as a macro that leads to a warning.
41876
41877 2007-02-01  Karl Berry  <karl@gnu.org>
41878
41879         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
41880
41881 2007-02-01  Bruno Haible  <bruno@clisp.org>
41882
41883         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
41884         renamings.
41885
41886 2007-02-01  Eric Blake  <ebb9@byu.net>
41887
41888         * modules/regex (Depends-on): Revert dependence on mempcpy.
41889         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
41890         module's definition of mempcpy.
41891         Reported by Paul Eggert.
41892
41893 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
41894
41895         * lib/string_.h: If the gnulib module XYZ is not present, undefine
41896         the symbol XYZ before redefining it.  This fixes a problem with
41897         programs that don't use XYZ, when compiled on systems that define
41898         XYZ to something else.
41899
41900 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
41901
41902         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
41903         occurs when "mkdir -m foo" creates a setgid directory that is (1)
41904         writeable to group or other and (2) is intended to have a special
41905         mode bit that is set or cleared.  In such a case, the directory
41906         should be neither group- nor other-writeable until the special
41907         mode bits are right.
41908
41909 2007-01-31  Eric Blake  <ebb9@byu.net>
41910
41911         * modules/mountlist (Depends-on): Add strstr.
41912
41913         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
41914         bug.
41915         * modules/string (Makefile.am): Remove redundant replacement.
41916         * modules/regex (Depends-on): Add mempcpy.
41917
41918 2007-01-31  Bruno Haible  <bruno@clisp.org>
41919
41920         New module description field 'Link'.
41921         * gnulib-tool (func_usage): Document --extract-link-directive.
41922         (sed_extract_prog): Recognize 'Link' directive.
41923         (func_get_link_directive): New function.
41924         (func_import): Show summary of link directives.
41925         Handle --extract-link-directive option.
41926         * modules/acl (Link): New section.
41927         * modules/clock-time (Link): New section.
41928         * modules/euidaccess (Link): New section.
41929         * modules/gettext (Link): New section.
41930         * modules/iconv (Link): New section.
41931         * modules/lock (Link): New section.
41932         * modules/nanosleep (Link): New section.
41933         * modules/readline (Link): New section.
41934
41935 2007-01-27  Bruno Haible  <bruno@clisp.org>
41936
41937         Enforce the use of gnulib modules for unportable <string.h> functions.
41938         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
41939         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
41940         (gl_HEADER_STRING_H_BODY): Require it.
41941         * lib/string_.h: If the gnulib module XYZ is not present, redefine
41942         the symbol XYZ to one that gives a link error.
41943         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
41944         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
41945         * modules/mempcpy (configure.ac): Likewise.
41946         * modules/memrchr (configure.ac): Likewise.
41947         * modules/stpcpy (configure.ac): Likewise.
41948         * modules/stpncpy (configure.ac): Likewise.
41949         * modules/strcase (configure.ac): Likewise.
41950         * modules/strcasestr (configure.ac): Likewise.
41951         * modules/strchrnul (configure.ac): Likewise.
41952         * modules/strdup (configure.ac): Likewise.
41953         * modules/strndup (configure.ac): Likewise.
41954         * modules/strnlen (configure.ac): Likewise.
41955         * modules/strpbrk (configure.ac): Likewise.
41956         * modules/strsep (configure.ac): Likewise.
41957         * modules/strstr (configure.ac): Likewise.
41958         * modules/strtok_r (configure.ac): Likewise.
41959
41960 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
41961
41962         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
41963
41964 2007-01-30  Jim Meyering  <jim@meyering.net>
41965
41966         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
41967
41968 2007-01-29  Bruno Haible  <bruno@clisp.org>
41969
41970         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
41971         * lib/execute.c: Likewise.
41972         * lib/pipe.c: Likewise.
41973         * lib/printf-args.h: Likewise.
41974         * lib/printf-args.c: Likewise.
41975         * lib/printf-parse.c: Likewise.
41976         * lib/vasnprintf.c: Likewise.
41977
41978 2007-01-29  Eric Blake  <ebb9@byu.net>
41979
41980         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
41981         declaration.
41982
41983 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
41984
41985         * lib/strptime.h (strptime): Use 'restrict' for args where
41986         POSIX requires this.
41987         * lib/strptime.c (strptime): Likewise.
41988         Change license notice from LGPL to GPL, since gnulib-tool will
41989         change this as needed.
41990         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
41991         defined.
41992         Include "strptime.h" first, to check interface.
41993         Do not #undef _LIBC and _NL_CURRENT.
41994         Do not include <stdlib.h>; no longer needed.
41995         Include "time_r.h" and declare ptime_locale_status
41996         only if _LIBC is not defined.
41997         (__P): Remove unused macro.
41998         (match_string): Bring back glibc version, but use it only if _LIBC
41999         is defined.
42000         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
42001         Remove unnecessary assertion and abort() call.
42002         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
42003         * m4/strptime.m4: Fix serial number comment.
42004         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
42005         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
42006         (Depends-on): Add time_r.
42007
42008 2007-01-29  Bruno Haible  <bruno@clisp.org>
42009
42010         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42011         strptime.
42012         * modules/strptime (Depends-on): Add stdbool.
42013         * lib/strptime.h: Include <time.h> always. Add comments.
42014
42015 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42016
42017         * modules/strptime: New file.
42018         * lib/strptime.h: New file.
42019         * lib/strptime.c: New file.
42020         * m4/strptime.m4: New file.
42021
42022 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42023
42024         * MODULES.html.sh: New module mpsort.
42025         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
42026
42027         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
42028         a circularity problem with HP-UX ia64 reported by Bob Proulx in
42029         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
42030         All uses changed.
42031         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
42032         All uses changed.
42033         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
42034         to _Restrict_.
42035         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
42036         the parameter matches the prototype.
42037
42038 2007-01-28  Jim Meyering  <jim@meyering.net>
42039
42040         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
42041         sys/time.h here, reverting that part of the previous patch:
42042         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
42043
42044 2007-01-28  Bruno Haible  <bruno@clisp.org>
42045
42046         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
42047         value of $(SYS_TIME_H).
42048         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
42049         remove it conditionally, too. [added by Jim Meyering]
42050         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
42051         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42052         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
42053         GETTIMEOFDAY_REPLACEMENT to 1.
42054
42055 2007-01-28  Bruno Haible  <bruno@clisp.org>
42056
42057         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
42058         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
42059         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
42060         Set UNISTD_H instead of UNISTD_H2.
42061         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
42062
42063 2007-01-28  Bruno Haible  <bruno@clisp.org>
42064
42065         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
42066         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
42067
42068 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42069
42070         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
42071         (func_create_testdir): Ensure C locale for `grep' and `tr'
42072         character ranges.
42073         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
42074         ACLOCAL_AMFLAGS parsing state machine.
42075
42076 2007-01-27  Bruno Haible  <bruno@clisp.org>
42077
42078         * modules/unistr/base: Update.
42079
42080 2007-01-27  Bruno Haible  <bruno@clisp.org>
42081
42082         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
42083         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
42084         * modules/unistr/u32-mbtouc-unsafe: Renamed from
42085         modules/unistr/u32-mbtouc.
42086         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
42087         * lib/unistr.h: Update.
42088         * lib/linebreak.c: Update.
42089         * modules/unistr/u32-mbtouc: Renamed from
42090         modules/unistr/u32-mbtouc-safe.
42091         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
42092         * lib/unistr.h: Update.
42093         * lib/unistr/u32-to-u8.c: Update.
42094         * lib/unistr/u32-to-u16.c: Update.
42095
42096 2007-01-27  Bruno Haible  <bruno@clisp.org>
42097
42098         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
42099         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
42100         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
42101         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
42102         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
42103         * modules/unistr/u16-mbtouc-unsafe: Renamed from
42104         modules/unistr/u16-mbtouc.
42105         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
42106         * lib/unistr.h: Update.
42107         * lib/linebreak.c: Update.
42108         * modules/linebreak: Update.
42109         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
42110         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
42111         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
42112         * modules/unistr/u16-mbtouc: Renamed from
42113         modules/unistr/u16-mbtouc-safe.
42114         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
42115         * lib/unistr.h: Update.
42116         * lib/unistr/u16-to-u8.c: Update.
42117         * modules/unistr/u16-to-u8: Update.
42118         * lib/unistr/u16-to-u32.c: Update.
42119         * modules/unistr/u16-to-u32: Update.
42120
42121 2007-01-27  Bruno Haible  <bruno@clisp.org>
42122
42123         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
42124         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
42125         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
42126         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
42127         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
42128         * modules/unistr/u8-mbtouc-unsafe: Renamed from
42129         modules/unistr/u8-mbtouc.
42130         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
42131         * lib/unistr.h: Update.
42132         * lib/striconveh.c: Update.
42133         * modules/striconveh: Update.
42134         * lib/linebreak.c: Update.
42135         * modules/linebreak: Update.
42136         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
42137         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
42138         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
42139         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
42140         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
42141         * lib/unistr.h: Update.
42142         * lib/striconveh.c: Update.
42143         * modules/striconveh: Update.
42144         * lib/unistr/u8-to-u16.c: Update.
42145         * modules/unistr/u8-to-u16: Update.
42146         * lib/unistr/u8-to-u32.c: Update.
42147         * modules/unistr/u8-to-u32: Update.
42148
42149 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42150
42151         Sync from Libtool.
42152         * lib/argz.c: Do not include strings.h nor memory.h, include
42153         string.h unconditionally.  Patch by Simon Josefsson.
42154
42155 2007-01-27  Bruno Haible  <bruno@clisp.org>
42156
42157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
42158         from gl_HEADER_STRING_H_BODY.
42159         (gl_HEADER_STRING_H_BODY): Require it.
42160         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
42161         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
42162         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
42163         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
42164         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
42165         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
42166         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42167         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
42168         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
42169         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42170         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
42171         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
42172         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
42173         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42174         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42175
42176 2007-01-27  Bruno Haible  <bruno@clisp.org>
42177
42178         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
42179         check_PROGRAMS into noinst_PROGRAMS.
42180         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
42181         check_PROGRAMS in this case.
42182         (func_import): Set for_test to false.
42183         (func_create_testdir): Set for_test to true.
42184
42185 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
42186             Bruno Haible  <bruno@clisp.org>
42187
42188         * modules/strcasestr (Files): Remove lib/strcasestr.h.
42189         (Depends-on): Add string.
42190         (Includes): Use <string.h> instead of strcasestr.h.
42191         * modules/string (Makefile.am): Also substitute the value of
42192         REPLACE_STRCASESTR.
42193         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
42194         assume strcasestr is declared in <string.h> not <strings.h>. Also
42195         set REPLACE_STRCASESTR.
42196         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
42197         REPLACE_STRCASESTR.
42198         * lib/strcasestr.h: Remove file.
42199         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
42200         * lib/string_.h (strcasestr): New declaration.
42201
42202 2007-01-27  Bruno Haible  <bruno@clisp.org>
42203
42204         * lib/string_.h: Use 'extern'.
42205
42206 2007-01-27  Jim Meyering  <jim@meyering.net>
42207
42208         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
42209         of set-but-not-used local, "q".
42210
42211         * lib/mempcpy.c: Include <config.h> before <string.h>.
42212         This fixes a compilation error on HP-UX, due to the system's
42213         "restrict"-using mempcpy prototype.
42214
42215 2007-01-26  Bruno Haible  <bruno@clisp.org>
42216
42217         Small optimization.
42218         * lib/javacomp.c: Include c-strstr.h.
42219          (is_envjavac_gcj): Use c_strstr instead of strstr.
42220         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
42221
42222 2007-01-26  Bruno Haible  <bruno@clisp.org>
42223
42224         * MODULES.html.sh (Unicode string functions): Add the new modules.
42225
42226         * modules/uniconv/u32-strconv-to-locale: New file.
42227         * lib/uniconv/u32-strconv-to-locale.c: New file.
42228
42229         * modules/uniconv/u16-strconv-to-locale: New file.
42230         * lib/uniconv/u16-strconv-to-locale.c: New file.
42231
42232         * modules/uniconv/u8-strconv-to-locale: New file.
42233         * lib/uniconv/u8-strconv-to-locale.c: New file.
42234
42235         * modules/uniconv/u32-strconv-from-locale: New file.
42236         * lib/uniconv/u32-strconv-from-locale.c: New file.
42237
42238         * modules/uniconv/u16-strconv-from-locale: New file.
42239         * lib/uniconv/u16-strconv-from-locale.c: New file.
42240
42241         * modules/uniconv/u8-strconv-from-locale: New file.
42242         * lib/uniconv/u8-strconv-from-locale.c: New file.
42243
42244         * modules/uniconv/u32-strconv-to-enc: New file.
42245         * lib/uniconv/u32-strconv-to-enc.c: New file.
42246         * modules/uniconv/u32-strconv-to-enc-tests: New file.
42247         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
42248
42249         * modules/uniconv/u16-strconv-to-enc: New file.
42250         * lib/uniconv/u16-strconv-to-enc.c: New file.
42251         * lib/uniconv/u-strconv-to-enc.h: New file.
42252         * modules/uniconv/u16-strconv-to-enc-tests: New file.
42253         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
42254
42255         * modules/uniconv/u8-strconv-to-enc: New file.
42256         * lib/uniconv/u8-strconv-to-enc.c: New file.
42257         * modules/uniconv/u8-strconv-to-enc-tests: New file.
42258         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
42259
42260         * modules/uniconv/u32-strconv-from-enc: New file.
42261         * lib/uniconv/u32-strconv-from-enc.c: New file.
42262         * modules/uniconv/u32-strconv-from-enc-tests: New file.
42263         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
42264
42265         * modules/uniconv/u16-strconv-from-enc: New file.
42266         * lib/uniconv/u16-strconv-from-enc.c: New file.
42267         * modules/uniconv/u16-strconv-from-enc-tests: New file.
42268         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
42269
42270         * modules/uniconv/u8-strconv-from-enc: New file.
42271         * lib/uniconv/u8-strconv-from-enc.c: New file.
42272         * lib/uniconv/u-strconv-from-enc.h: New file.
42273         * modules/uniconv/u8-strconv-from-enc-tests: New file.
42274         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
42275
42276         * modules/uniconv/u32-conv-from-enc: New file.
42277         * lib/uniconv/u32-conv-from-enc.c: New file.
42278         * modules/uniconv/u32-conv-from-enc-tests: New file.
42279         * tests/uniconv/test-u32-conv-from-enc.c: New file.
42280
42281         * modules/uniconv/u16-conv-from-enc: New file.
42282         * lib/uniconv/u16-conv-from-enc.c: New file.
42283         * lib/uniconv/u-conv-from-enc.h: New file.
42284         * modules/uniconv/u16-conv-from-enc-tests: New file.
42285         * tests/uniconv/test-u16-conv-from-enc.c: New file.
42286
42287         * modules/uniconv/u8-conv-from-enc: New file.
42288         * lib/uniconv/u8-conv-from-enc.c: New file.
42289         * modules/uniconv/u8-conv-from-enc-tests: New file.
42290         * tests/uniconv/test-u8-conv-from-enc.c: New file.
42291
42292         * modules/uniconv/base: New file.
42293         * lib/uniconv.h: New file.
42294
42295 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
42296
42297         * doc/gnulib-tool.texi (Initial import): Update to match current
42298         behavior with strdup module.
42299         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
42300         * lib/memmem.h: Remove; all uses removed.  This is now done
42301         by <string.h>.
42302         * lib/mempcpy.h: Likewise.
42303         * lib/memrchr.h: Likewise.
42304         * lib/stpcpy.h: Likewise.
42305         * lib/stpncpy.h: Likewise.
42306         * lib/strcase.h: Likewise.
42307         * lib/strchrnul.h: Likewise.
42308         * lib/strdup.h: Likewise.
42309         * lib/strndup.h: Likewise.
42310         * lib/strnlen.h: Likewise.
42311         * lib/strpbrk.h: Likewise.
42312         * lib/strsep.h: Likewise.
42313         * lib/strstr.h: Likewise.
42314         * lib/strtok_r.h: Likewise.
42315         * lib/string_.h: New file.
42316         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
42317         Rely on <string.h> instead.
42318         * lib/canon-host.c: Likewise.
42319         * lib/chdir-long.c: Likewise.
42320         * lib/concatpath.c: Likewise.
42321         * lib/exclude.c: Likewise.
42322         * lib/fchdir.c: Likewise.
42323         * lib/getaddrinfo.c: Likewise.
42324         * lib/getcwd.c: Likewise.
42325         * lib/getsubopt.c: Likewise.
42326         * lib/glob.c: Likewise.
42327         * lib/hard-locale.c: Likewise.
42328         * lib/iconvme.c: Likewise.
42329         * lib/javacomp.c: Likewise.
42330         * lib/mempcpy.c: Likewise.
42331         * lib/memrchr.c: Likewise.
42332         * lib/regex_internal.h: Likewise.
42333         * lib/stpncpy.c: Likewise.
42334         * lib/strcasecmp.c: Likewise.
42335         * lib/strchrnul.c: Likewise.
42336         * lib/strdup.c: Likewise.
42337         * lib/striconv.c: Likewise.
42338         * lib/striconveh.c: Likewise.
42339         * lib/striconveha.c: Likewise.
42340         * lib/strncasecmp.c: Likewise.
42341         * lib/strndup.c: Likewise.
42342         * lib/strnlen.c: Likewise.
42343         * lib/strsep.c: Likewise.
42344         * lib/strstr.c: Likewise.
42345         * lib/strtok_r.c: Likewise.
42346         * lib/userspec.c: Likewise.
42347         * lib/w32spawn.h: Likewise.
42348         * lib/xstrndup.c: Likewise.
42349         * lib/mountlist.c (strstr): Remove decl.
42350         * m4/string_h.m4: New file.
42351         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
42352         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
42353         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
42354         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
42355         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
42356         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
42357         Set REPLACE_STRCASECMP if necessary.
42358         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
42359         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
42360         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
42361         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
42362         HAVE_DECL_STRDUP if necessary.
42363         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
42364         since gl_FUNC_STRNDUP does that now.
42365         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
42366         Check for decl here...
42367         (gl_PREREQ_STRNLEN): ... not here.
42368         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
42369         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
42370         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
42371         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
42372         necessary.
42373         * modules/string: New file.
42374         * modules/memmem (Files): Remove special-purpose include file.
42375         (Depends-on): Add string.
42376         (Include): Include <string.h>, not the removed file.
42377         * modules/mempcpy: Likewise.
42378         * modules/memrchr: Likewise.
42379         * modules/stpcpy: Likewise.
42380         * modules/stpncpy: Likewise.
42381         * modules/strcase: Likewise.
42382         * modules/strchrnul: Likewise.
42383         * modules/strdup: Likewise.
42384         * modules/strndup: Likewise.
42385         * modules/strnlen: Likewise.
42386         * modules/strpbrk: Likewise.
42387         * modules/strsep: Likewise.
42388         * modules/strstr: Likewise.
42389         * modules/strtok_r: Likewise.
42390         * tests/test-dirname.c: Don't include "strdup.h", since
42391         <string.h> now suffices.
42392         * tests/test-memmem.c: Don't include "memmem.h", since
42393         <string.h> now suffices.
42394
42395 2007-01-25  Bruno Haible  <bruno@clisp.org>
42396
42397         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
42398         *resultp is 0.
42399
42400         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
42401         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
42402         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
42403         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
42404
42405         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
42406         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
42407         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
42408         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
42409         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
42410         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
42411
42412 2007-01-24  Bruno Haible  <bruno@clisp.org>
42413
42414         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
42415         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
42416         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
42417         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
42418         gl_FUNC_FTS_CORE.
42419         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
42420         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
42421         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
42422         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
42423         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
42424         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
42425         gl_FUNC_FCHOWNAT.
42426         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
42427         gl_FUNC_STRFTIME.
42428         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
42429         Reported by Ralf Wildenhues.
42430
42431 2007-01-24  Bruno Haible  <bruno@clisp.org>
42432
42433         Drop AC_REQUIRE calls that are redundant with the module dependencies.
42434         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
42435         gl_GETADDRINFO.
42436         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
42437         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
42438         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
42439
42440 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
42441
42442         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
42443         Don't use 'exit'; just return from 'main'.
42444         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
42445
42446         * lib/fnmatch_.h: Readjust white space and comments to match
42447         glibc, to avoid spurious diffs.
42448
42449 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42450
42451         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
42452         2004-12-01 change by Jakub Jelinek, since this code won't compile
42453         if !LIBC.  Problem reported by Bob Proulx.
42454
42455 2007-01-23  Bruno Haible  <bruno@clisp.org>
42456
42457         * lib/striconveh.c: Include c-strcaseeq.h.
42458         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
42459         * modules/striconveh (Depends-on): Add c-strcaseeq.
42460
42461 2007-01-23  Bruno Haible  <bruno@clisp.org>
42462
42463         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
42464
42465         * modules/c-strcaseeq: New file.
42466         * lib/c-strcaseeq.h: New file.
42467
42468         * modules/streq: New file.
42469         * lib/streq.h: New file.
42470
42471 2007-01-23  Bruno Haible  <bruno@clisp.org>
42472
42473         * modules/striconveha-tests: New file.
42474         * tests/test-striconveha.c: New file.
42475
42476         * lib/striconveha.h: Include <stdbool.h>.
42477         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
42478         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
42479         (mem_iconveha_notranslit): Renamed from mem_iconveha.
42480         (mem_iconveha): New function.
42481         (str_iconveha_notranslit): Renamed from str_iconveha.
42482         (str_iconveha): New function.
42483         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
42484         c-strcase.
42485
42486 2007-01-23  Bruno Haible  <bruno@clisp.org>
42487
42488         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
42489         encodings without forgiving before trying any encoding with handler.
42490         (str_iconveha): Try all encodings without forgiving before trying any
42491         encoding with handler.
42492
42493 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42494
42495         Import the following changes from libc.
42496
42497         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
42498
42499         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
42500
42501         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
42502
42503         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
42504         normal_bracket label.
42505
42506         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
42507
42508         [BZ #361]
42509         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
42510         to normal_bracket after fetching the next character.
42511
42512 2007-01-22  Bruno Haible  <bruno@clisp.org>
42513
42514         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
42515         argument.
42516         * lib/striconveh.c (iconv_carefully_1): New function.
42517         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
42518         argument.
42519         (str_cd_iconveh): Update.
42520         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
42521         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
42522         * tests/test-striconveh.c (MAGIC): New macro.
42523         (new_offsets): New function.
42524         (main): Test call with and without offsets.
42525
42526 2007-01-22  Bruno Haible  <bruno@clisp.org>
42527
42528         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
42529         * modules/sys_select (Makefile.am): Likewise.
42530         * modules/sys_socket (Makefile.am): Likewise.
42531         * modules/sys_time (Makefile.am): Likewise.
42532
42533 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
42534
42535         * modules/gettimeofday (License): Change from GPL to LGPL, since
42536         gettimeofday is a library function.
42537
42538 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42539
42540         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
42541
42542 2007-01-21  Bruno Haible  <bruno@clisp.org>
42543
42544         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
42545
42546 2007-01-21  Bruno Haible  <bruno@clisp.org>
42547
42548         * modules/striconveha: New file.
42549         * lib/striconveha.h: New file.
42550         * lib/striconveha.c: New file.
42551         * MODULES.html.sh (Internationalization functions): Add striconveha.
42552         * lib/striconv.c (str_iconv): Optimize the case of an empty input
42553         string.
42554         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
42555
42556 2007-01-21  Bruno Haible  <bruno@clisp.org>
42557
42558         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
42559         * lib/striconveh.c (str_iconveh): Likewise.
42560
42561 2007-01-21  Bruno Haible  <bruno@clisp.org>
42562
42563         * lib/striconveh.h (mem_iconveh): New declaration.
42564         * lib/striconveh.c (mem_iconveh): New function.
42565         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
42566
42567 2007-01-21  Bruno Haible  <bruno@clisp.org>
42568
42569         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
42570
42571         * lib/striconveh.h (mem_cd_iconveh): Change specification.
42572         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
42573         original result buffer.
42574         (str_cd_iconveh): Update.
42575         * tests/test-striconveh.c (main): Update.
42576
42577         * lib/striconv.h (mem_cd_iconv): Change specification.
42578         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
42579         result buffer.
42580         (str_cd_iconv): Update.
42581         * tests/test-striconv.c (main): Update.
42582
42583 2007-01-21  Bruno Haible  <bruno@clisp.org>
42584
42585         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
42586
42587 2007-01-20  Jim Meyering  <jim@meyering.net>
42588
42589         * lib/userspec.c (parse_with_separator): If a user or group string
42590         starts with "+", skip the corresponding name-to-ID look-up, since
42591         such a look-up must fail: user and group names may not include "+".
42592
42593 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
42594
42595         * lib/poll.c: Include sys/time.h and time.h unconditionally,
42596         since we now assume the sys_time module.
42597         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
42598         check for sys/time.h; no longer needed.
42599         * modules/poll (Depends-on): Depend on sys_time.
42600
42601 2007-01-18  Bruno Haible  <bruno@clisp.org>
42602
42603         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
42604         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
42605
42606         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
42607         gettimeofday.
42608
42609         * tests/test-gettimeofday.c: Include <time.h>.
42610         (dummy): Remove variable.
42611
42612         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
42613         gl_HEADER_SYS_TIME_H.
42614         (gl_HEADER_SYS_TIME_H): New macro.
42615
42616         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
42617         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42618         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
42619         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
42620         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42621         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
42622         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
42623         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42624         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
42625         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
42626         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42627
42628         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
42629         last change; it caused a compilation error when cross-compiling to
42630         Cygwin.
42631
42632 2007-01-18  Jim Meyering  <jim@meyering.net>
42633
42634         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
42635         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
42636         than the race-prone "test -d sys || mkdir sys".
42637         (configure.ac): Use AC_PROG_MKDIR_P.
42638         * modules/sys_select: Likewise.
42639         * modules/sys_socket: Likewise.
42640         * modules/sys_time: Likewise.
42641
42642 2007-01-18  Eric Blake  <ebb9@byu.net>
42643
42644         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
42645         replace gettimeofday.
42646         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
42647         name, to avoid infinite recursion.
42648
42649 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
42650
42651         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
42652         module sys_time.
42653         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
42654         assume timespec.h defines struct timeval.
42655         * lib/settime.c: Likewise.
42656         * lib/utimens.c: Likewise.
42657         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
42658         since we now assume the gettimeofday module.
42659         * lib/tempname.c (__gen_tempname): Likewise.
42660         * lib/gettimeofday.h: Remove.
42661         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
42662         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
42663         Include <time.h>, for 'time()'.
42664         (localtime_buffer_addr): Also use this workaround if
42665         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
42666         to simplify the uses.  All uses changed.
42667         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
42668         that #undef is inside {}, and 'const' follows type name consistently.
42669         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
42670         (gettimeofday): Do not use the maximum possible value for
42671         tv->tv_usec, since that might break usages other than ls.c.
42672         Instead, we'll leave ls.c alone.  This undoes today's patch
42673         by Bruno.  Add a compile-time warning for 1s-clock resolution;
42674         we've never observed the problem but might as well keep the
42675         canary.
42676         * lib/nanosleep.c: Include timespec.h first, for interface check.
42677         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
42678         now assume the sys_time module.
42679         * lib/tempname.c: Likewise.
42680         * lib/timespec.h: Likewise.
42681         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
42682         needed.
42683         * lib/strftime.c: Likewise.
42684         * lib/timespec.h: Likewise.
42685         * lib/posixtm.c: Include posixtm.h first, for interface check.
42686         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
42687         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
42688         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
42689         * lib/sys_time_.h: New file.
42690         * lib/timespec.h (struct timespec): Use long int, not long.
42691         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42692         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
42693         Remove obsolescent call to AC_HEADER_TIME.
42694         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
42695         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42696         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
42697         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
42698         Likewise.
42699         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
42700         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
42701         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
42702         into the sys_time module.  Check for gettimeofday just once.
42703         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
42704         for gettimeofday signature to just check the signature.  Merely
42705         compile it, since linking doesn't test signature.  Improve test for
42706         whether gettimeofday.o is actually needed.
42707         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
42708         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
42709         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
42710         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42711         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
42712         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
42713         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
42714         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
42715         than worrying about sys/time.h.
42716         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
42717         Don't bother worrying about TIME_WITH_SYS_TIME.
42718         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
42719         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
42720         * m4/sys_time_h.m4: New file.
42721         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
42722         Don't include sys/time.h.  Return from main rather than exiting.
42723         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
42724         all uses changed.
42725         * modules/gethrxtime (Depends-on): Add sys_time.
42726         * modules/gettime (Depends-on): Likewise.
42727         * modules/gettimeofday (Depends-on): Likewise.
42728         * modules/nanosleep (Depends-on): Likewise.
42729         * modules/settime (Depends-on): Likewise.
42730         * modules/tempname (Depends-on): Likewise.
42731         * modules/utimens (Depends-on): Likewise.
42732         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
42733         (Include:) Change back to <sys/time.h>.
42734         (Maintainer:) Add self.
42735         * modules/sys_time: New file.
42736         * modules/tempname (Depends-on): Add gettimeofday.
42737         * tests/test-gettimeofday.c: Include <sys/time.h>
42738         rather than gettimeofday.h.
42739
42740 2007-01-17  Bruno Haible  <bruno@clisp.org>
42741
42742         * gnulib-tool (func_get_license): Revert last patch. Instead, let
42743         the license default to GPL.
42744         (func_create_testdir): Don't complain if a module is LGPL and its
42745         tests module depends on GPLed modules.
42746
42747 2007-01-17  Bruno Haible  <bruno@clisp.org>
42748
42749         * lib/gettimeofday.c (gettimeofday): Add code for the case
42750         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
42751         maximum possible value for tv->tv_usec, rather than the minimum one.
42752
42753 2005-10-08  Martin Lambers  <marlam@marlam.de>
42754 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
42755 2007-01-16  Bruno Haible  <bruno@clisp.org>
42756
42757         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
42758         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
42759         gl_FUNC_GETTIMEOFDAY.
42760         (Include): Add gettimeofday.h.
42761         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
42762         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
42763         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
42764         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
42765         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
42766         * lib/gettimeofday.h: New file.
42767         * lib/gettimeofday.c: Include <sys/timeb.h>.
42768         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
42769         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
42770         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
42771         fall back on time().
42772
42773         * tests/test-gettimeofday.c: New file.
42774         * modules/gettimeofday-tests: New file.
42775
42776 2007-01-16  Eric Blake  <ebb9@byu.net>
42777
42778         * modules/fnmatch (Depends-on): Depend on wchar.
42779         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
42780         * m4/fnmatch.m4: Likewise.
42781         * modules/mbchar (Makefile.am): Assume <wchar.h>.
42782         * m4/mbchar.m4: Likewise.
42783         * modules/mbswidth (Depends-on): Depend on wchar.
42784         * lib/mbswidth.c: Assume <wchar.h>.
42785         * m4/mbswidth.m4: Likewise.
42786         * modules/quotearg (Depends-on): Depend on wchar.
42787         * lib/quotearg.c: Assume <wchar.h>.
42788         * m4/quotearg.m4: Likewise.
42789         * modules/regex (Depends-on): Depend on wchar.
42790         * lib/regex_internal.h: Assume <wchar.h>.
42791         * m4/regex.m4: Likewise.
42792         * modules/stdint (Depends-on): Depend on wchar.
42793         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
42794         * m4/stdint.m4: Likewise.
42795         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
42796         * modules/strftime (Depends-on): Depend on wchar.
42797         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
42798         * modules/strtol (Depends-on): Depend on wchar.
42799         * lib/strtol.c: Assume <wchar.h>.
42800         * modules/wcwidth (Depends-on): Depend on wchar.
42801         * lib/wcwidth.h: Assume <wchar.h>.
42802         * m4/wcwidth.m4: Likewise.
42803
42804 2007-01-16  Bruno Haible  <bruno@clisp.org>
42805
42806         * modules/csharpexec-script: New, created from...
42807         * modules/csharpexec: ... this.
42808
42809 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
42810
42811         * modules/javaexec-script: New, created from...
42812         * modules/javaexec: ... this.
42813
42814 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42815
42816         * modules/poll (Dependencies): Add sys_select.
42817
42818 2007-01-15  Jim Meyering  <jim@meyering.net>
42819
42820         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
42821         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
42822         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
42823         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
42824
42825 2007-01-15  Bruno Haible  <bruno@clisp.org>
42826
42827         * modules/striconveh: New file.
42828         * lib/striconveh.h: New file.
42829         * lib/striconveh.c: New file.
42830         * MODULES.html.sh (Internationalization functions): Add striconveh.
42831
42832         * modules/striconveh-tests: New file.
42833         * tests/test-striconveh.c: New file.
42834
42835 2007-01-15  Bruno Haible  <bruno@clisp.org>
42836
42837         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
42838         not from GNU libiconv or GNU libc.
42839
42840 2007-01-15  Bruno Haible  <bruno@clisp.org>
42841
42842         * doc/gnulib-intro.texi (Copyright): Explain the different license
42843         terms for module descriptions, autoconf macros, tests, documentation.
42844
42845 2007-01-14  Bruno Haible  <bruno@clisp.org>
42846
42847         * modules/striconv-tests: New file.
42848         * tests/test-striconv.c: New file.
42849
42850 2007-01-14  Bruno Haible  <bruno@clisp.org>
42851
42852         * modules/iconv-tests: New file.
42853         * tests/test-iconv.c: New file.
42854
42855 2007-01-14  Bruno Haible  <bruno@clisp.org>
42856
42857         * gnulib-tool (func_get_license): For test modules, use the license of
42858         the main module.
42859
42860 2007-01-14  Bruno Haible  <bruno@clisp.org>
42861
42862         * modules/iconv (Include): Clarify that <iconv.h> can only be included
42863         if iconv is found to exist.
42864
42865 2007-01-14  Bruno Haible  <bruno@clisp.org>
42866
42867         * modules/c-ctype-tests: New file.
42868         * tests/test-c-ctype.c: New file.
42869
42870 2007-01-14  Bruno Haible  <bruno@clisp.org>
42871
42872         * modules/binary-io-tests: New file.
42873         * tests/test-binary-io.sh: New file.
42874         * tests/test-binary-io.c: New file.
42875
42876 2007-01-14  Bruno Haible  <bruno@clisp.org>
42877
42878         * modules/array-oset-tests: New file.
42879         * tests/test-array_oset.c: New file.
42880
42881 2007-01-14  Bruno Haible  <bruno@clisp.org>
42882
42883         * modules/array-list-tests: New file.
42884         * tests/test-array_list.c: New file.
42885
42886 2007-01-14  Bruno Haible  <bruno@clisp.org>
42887
42888         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
42889         and make.
42890         Reported by Simon Josefsson in
42891         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
42892
42893 2007-01-14  Bruno Haible  <bruno@clisp.org>
42894
42895         * modules/allocsa-tests: New file.
42896         * tests/test-allocsa.c: New file.
42897
42898 2007-01-14  Bruno Haible  <bruno@clisp.org>
42899
42900         * modules/fchdir (Depends-on): Add absolute-header.
42901         * modules/unistd (Depends-on): Likewise.
42902
42903 2006-12-30  Bruno Haible  <bruno@clisp.org>
42904
42905         * modules/fchdir: New file.
42906         * modules/unistd (Files): Add lib/unistd_.h.
42907         (Makefile.am): Generate unistd.h from unistd_.h.
42908         * lib/fchdir.c: New file.
42909         * lib/dirent_.h: New file.
42910         * lib/unistd_.h: New file.
42911         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
42912         * m4/fchdir.m4: New file.
42913         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
42914         (gl_HEADER_UNISTD): Invoke it.
42915         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
42916         function.
42917         * lib/backupfile.c (opendir, closedir): Undefine.
42918         * lib/chown.c (open, close): Undefine.
42919         * lib/clean-temp.c (open, close): Undefine.
42920         * lib/copy-file.c (open, close): Undefine.
42921         * lib/execute.c (open, close): Undefine.
42922         * lib/fsusage.c (open, close): Undefine.
42923         * lib/gc-gnulib.c (open, close): Undefine.
42924         * lib/getcwd.c (opendir, closedir): Undefine.
42925         * lib/glob.c (opendir, closedir): Undefine.
42926         * lib/javacomp.c (open, close): Undefine.
42927         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
42928         * lib/openat-proc.c (open, close): Undefine.
42929         * lib/pagealign_alloc.c (open, close): Undefine.
42930         * lib/pipe.c (open, close): Undefine.
42931         * lib/progreloc.c (open, close): Undefine.
42932         * lib/savedir.c (opendir, closedir): Undefine.
42933         * lib/utime.c (open, close): Undefine.
42934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
42935
42936 2007-01-10  Bruno Haible  <bruno@clisp.org>
42937
42938         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
42939
42940 2007-01-12  Eric Blake  <ebb9@byu.net>
42941
42942         Provide a robust <wchar.h>.  Further simplifications are now
42943         possible in other modules, but not included here.
42944         * modules/wchar: New module.
42945         * m4/wchar.m4: New file.
42946         * lib/wchar_.h: Likewise.
42947         * modules/mbchar (Depends-on): Depend on wchar, as the first use
42948         of the new module.
42949         * MODULES.html.sh (Extended multibyte and wide character utilities):
42950         New section.
42951
42952 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
42953
42954         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
42955         to a reasonable default for memory allocation.
42956         (xreadlink): Don't allocate a huge buffer, to work around a buggy
42957         file system that reports garbage st_size values for symlinks.
42958         Problem reported by Liyang Hu.
42959
42960 2007-01-11  Simon Josefsson  <simon@josefsson.org>
42961
42962         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
42963         Emacs .#* auto-save files).
42964
42965 2007-01-11  Bruno Haible  <bruno@clisp.org>
42966
42967         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
42968         directory.
42969
42970 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
42971
42972         Use @...@ consistently in lib/wctype_.h.
42973         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
42974         on it being set to 1 or 0.
42975         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
42976         go back to AC_SUBSTing it.
42977         * modules/wctype (Makefile.am): Undo previous change.
42978
42979 2007-01-10  Eric Blake  <ebb9@byu.net>
42980
42981         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
42982         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
42983         * modules/wctype (Makefile.am): Likewise.
42984         Reported by Chris McGuire.
42985
42986 2007-01-10  Jim Meyering  <jim@meyering.net>
42987
42988         fts.c: a small readability/maintainability improvement
42989         * lib/fts.c (fts_read): Make this code slightly more readable and
42990         maintainable by hoisting the "sp->fts_cur = p" assignments to
42991         immediately follow the statements that set P.  Derived from
42992         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
42993
42994 2007-01-10  Eric Blake  <ebb9@byu.net>
42995
42996         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
42997         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
42998         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
42999         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
43000         Reported by Chris McGuire.
43001
43002 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43003
43004         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
43005         in sed script.
43006
43007 2007-01-09  Bruno Haible  <bruno@clisp.org>
43008
43009         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
43010         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
43011         variables.
43012         (func_module): Use them.
43013
43014 2007-01-09  Bruno Haible  <bruno@clisp.org>
43015
43016         * modules/unistr/base: New file.
43017         * lib/unistr.h: New file.
43018
43019         * modules/unistr/u8-to-u16: New file.
43020         * lib/unistr/u8-to-u16.c: New file.
43021
43022         * modules/unistr/u8-to-u32: New file.
43023         * lib/unistr/u8-to-u32.c: New file.
43024
43025         * modules/unistr/u16-to-u8: New file.
43026         * lib/unistr/u16-to-u8.c: New file.
43027
43028         * modules/unistr/u16-to-u32: New file.
43029         * lib/unistr/u16-to-u32.c: New file.
43030
43031         * modules/unistr/u32-to-u8: New file.
43032         * lib/unistr/u32-to-u8.c: New file.
43033
43034         * modules/unistr/u32-to-u16: New file.
43035         * lib/unistr/u32-to-u16.c: New file.
43036
43037         * modules/unistr/u8-check: New file.
43038         * modules/unistr/u16-check: New file.
43039         * modules/unistr/u32-check: New file.
43040         * lib/unistr/u8-check.c: New file.
43041         * lib/unistr/u16-check.c: New file.
43042         * lib/unistr/u32-check.c: New file.
43043
43044         * modules/unistr/u8-chr: New file.
43045         * modules/unistr/u16-chr: New file.
43046         * modules/unistr/u32-chr: New file.
43047         * lib/unistr/u8-chr.c: New file.
43048         * lib/unistr/u16-chr.c: New file.
43049         * lib/unistr/u32-chr.c: New file.
43050
43051         * modules/unistr/u8-cmp: New file.
43052         * modules/unistr/u16-cmp: New file.
43053         * modules/unistr/u32-cmp: New file.
43054         * lib/unistr/u8-cmp.c: New file.
43055         * lib/unistr/u16-cmp.c: New file.
43056         * lib/unistr/u32-cmp.c: New file.
43057
43058         * modules/unistr/u8-cpy: New file.
43059         * modules/unistr/u16-cpy: New file.
43060         * modules/unistr/u32-cpy: New file.
43061         * lib/unistr/u8-cpy.c: New file.
43062         * lib/unistr/u16-cpy.c: New file.
43063         * lib/unistr/u32-cpy.c: New file.
43064         * lib/unistr/u-cpy.h: New file.
43065
43066         * modules/unistr/u8-cpy-alloc: New file.
43067         * modules/unistr/u16-cpy-alloc: New file.
43068         * modules/unistr/u32-cpy-alloc: New file.
43069         * lib/unistr/u8-cpy-alloc.c: New file.
43070         * lib/unistr/u16-cpy-alloc.c: New file.
43071         * lib/unistr/u32-cpy-alloc.c: New file.
43072         * lib/unistr/u-cpy-alloc.h: New file.
43073
43074         * modules/unistr/u8-endswith: New file.
43075         * modules/unistr/u16-endswith: New file.
43076         * modules/unistr/u32-endswith: New file.
43077         * lib/unistr/u8-endswith.c: New file.
43078         * lib/unistr/u16-endswith.c: New file.
43079         * lib/unistr/u32-endswith.c: New file.
43080         * lib/unistr/u-endswith.h: New file.
43081
43082         * modules/unistr/u8-mblen: New file.
43083         * modules/unistr/u16-mblen: New file.
43084         * modules/unistr/u32-mblen: New file.
43085         * lib/unistr/u8-mblen.c: New file.
43086         * lib/unistr/u16-mblen.c: New file.
43087         * lib/unistr/u32-mblen.c: New file.
43088
43089         * modules/unistr/u8-mbtouc: New file.
43090         * modules/unistr/u16-mbtouc: New file.
43091         * modules/unistr/u32-mbtouc: New file.
43092         * lib/unistr/u8-mbtouc.c: New file.
43093         * lib/unistr/u16-mbtouc.c: New file.
43094         * lib/unistr/u32-mbtouc.c: New file.
43095
43096         * modules/unistr/u8-mbtouc-safe: New file.
43097         * modules/unistr/u16-mbtouc-safe: New file.
43098         * modules/unistr/u32-mbtouc-safe: New file.
43099         * lib/unistr/u8-mbtouc-safe.c: New file.
43100         * lib/unistr/u16-mbtouc-safe.c: New file.
43101         * lib/unistr/u32-mbtouc-safe.c: New file.
43102
43103         * modules/unistr/u8-move: New file.
43104         * modules/unistr/u16-move: New file.
43105         * modules/unistr/u32-move: New file.
43106         * lib/unistr/u8-move.c: New file.
43107         * lib/unistr/u16-move.c: New file.
43108         * lib/unistr/u32-move.c: New file.
43109         * lib/unistr/u-move.h: New file.
43110
43111         * modules/unistr/u8-next: New file.
43112         * modules/unistr/u16-next: New file.
43113         * modules/unistr/u32-next: New file.
43114         * lib/unistr/u8-next.c: New file.
43115         * lib/unistr/u16-next.c: New file.
43116         * lib/unistr/u32-next.c: New file.
43117
43118         * modules/unistr/u8-prev: New file.
43119         * modules/unistr/u16-prev: New file.
43120         * modules/unistr/u32-prev: New file.
43121         * lib/unistr/u8-prev.c: New file.
43122         * lib/unistr/u16-prev.c: New file.
43123         * lib/unistr/u32-prev.c: New file.
43124
43125         * modules/unistr/u8-set: New file.
43126         * modules/unistr/u16-set: New file.
43127         * modules/unistr/u32-set: New file.
43128         * lib/unistr/u8-set.c: New file.
43129         * lib/unistr/u16-set.c: New file.
43130         * lib/unistr/u32-set.c: New file.
43131         * lib/unistr/u-set.h: New file.
43132
43133         * modules/unistr/u8-startswith: New file.
43134         * modules/unistr/u16-startswith: New file.
43135         * modules/unistr/u32-startswith: New file.
43136         * lib/unistr/u8-startswith.c: New file.
43137         * lib/unistr/u16-startswith.c: New file.
43138         * lib/unistr/u32-startswith.c: New file.
43139         * lib/unistr/u-startswith.h: New file.
43140
43141         * modules/unistr/u8-stpcpy: New file.
43142         * modules/unistr/u16-stpcpy: New file.
43143         * modules/unistr/u32-stpcpy: New file.
43144         * lib/unistr/u8-stpcpy.c: New file.
43145         * lib/unistr/u16-stpcpy.c: New file.
43146         * lib/unistr/u32-stpcpy.c: New file.
43147         * lib/unistr/u-stpcpy.h: New file.
43148
43149         * modules/unistr/u8-stpncpy: New file.
43150         * modules/unistr/u16-stpncpy: New file.
43151         * modules/unistr/u32-stpncpy: New file.
43152         * lib/unistr/u8-stpncpy.c: New file.
43153         * lib/unistr/u16-stpncpy.c: New file.
43154         * lib/unistr/u32-stpncpy.c: New file.
43155         * lib/unistr/u-stpncpy.h: New file.
43156
43157         * modules/unistr/u8-strcat: New file.
43158         * modules/unistr/u16-strcat: New file.
43159         * modules/unistr/u32-strcat: New file.
43160         * lib/unistr/u8-strcat.c: New file.
43161         * lib/unistr/u16-strcat.c: New file.
43162         * lib/unistr/u32-strcat.c: New file.
43163         * lib/unistr/u-strcat.h: New file.
43164
43165         * modules/unistr/u8-strchr: New file.
43166         * modules/unistr/u16-strchr: New file.
43167         * modules/unistr/u32-strchr: New file.
43168         * lib/unistr/u8-strchr.c: New file.
43169         * lib/unistr/u16-strchr.c: New file.
43170         * lib/unistr/u32-strchr.c: New file.
43171
43172         * modules/unistr/u8-strcmp: New file.
43173         * modules/unistr/u16-strcmp: New file.
43174         * modules/unistr/u32-strcmp: New file.
43175         * lib/unistr/u8-strcmp.c: New file.
43176         * lib/unistr/u16-strcmp.c: New file.
43177         * lib/unistr/u32-strcmp.c: New file.
43178
43179         * modules/unistr/u8-strcpy: New file.
43180         * modules/unistr/u16-strcpy: New file.
43181         * modules/unistr/u32-strcpy: New file.
43182         * lib/unistr/u8-strcpy.c: New file.
43183         * lib/unistr/u16-strcpy.c: New file.
43184         * lib/unistr/u32-strcpy.c: New file.
43185         * lib/unistr/u-strcpy.h: New file.
43186
43187         * modules/unistr/u8-strcspn: New file.
43188         * modules/unistr/u16-strcspn: New file.
43189         * modules/unistr/u32-strcspn: New file.
43190         * lib/unistr/u8-strcspn.c: New file.
43191         * lib/unistr/u16-strcspn.c: New file.
43192         * lib/unistr/u32-strcspn.c: New file.
43193         * lib/unistr/u-strcspn.h: New file.
43194
43195         * modules/unistr/u8-strdup: New file.
43196         * modules/unistr/u16-strdup: New file.
43197         * modules/unistr/u32-strdup: New file.
43198         * lib/unistr/u8-strdup.c: New file.
43199         * lib/unistr/u16-strdup.c: New file.
43200         * lib/unistr/u32-strdup.c: New file.
43201         * lib/unistr/u-strdup.h: New file.
43202
43203         * modules/unistr/u8-strlen: New file.
43204         * modules/unistr/u16-strlen: New file.
43205         * modules/unistr/u32-strlen: New file.
43206         * lib/unistr/u8-strlen.c: New file.
43207         * lib/unistr/u16-strlen.c: New file.
43208         * lib/unistr/u32-strlen.c: New file.
43209         * lib/unistr/u-strlen.h: New file.
43210
43211         * modules/unistr/u8-strmblen: New file.
43212         * modules/unistr/u16-strmblen: New file.
43213         * modules/unistr/u32-strmblen: New file.
43214         * lib/unistr/u8-strmblen.c: New file.
43215         * lib/unistr/u16-strmblen.c: New file.
43216         * lib/unistr/u32-strmblen.c: New file.
43217
43218         * modules/unistr/u8-strmbtouc: New file.
43219         * modules/unistr/u16-strmbtouc: New file.
43220         * modules/unistr/u32-strmbtouc: New file.
43221         * lib/unistr/u8-strmbtouc.c: New file.
43222         * lib/unistr/u16-strmbtouc.c: New file.
43223         * lib/unistr/u32-strmbtouc.c: New file.
43224
43225         * modules/unistr/u8-strncat: New file.
43226         * modules/unistr/u16-strncat: New file.
43227         * modules/unistr/u32-strncat: New file.
43228         * lib/unistr/u8-strncat.c: New file.
43229         * lib/unistr/u16-strncat.c: New file.
43230         * lib/unistr/u32-strncat.c: New file.
43231         * lib/unistr/u-strncat.h: New file.
43232
43233         * modules/unistr/u8-strncmp: New file.
43234         * modules/unistr/u16-strncmp: New file.
43235         * modules/unistr/u32-strncmp: New file.
43236         * lib/unistr/u8-strncmp.c: New file.
43237         * lib/unistr/u16-strncmp.c: New file.
43238         * lib/unistr/u32-strncmp.c: New file.
43239
43240         * modules/unistr/u8-strncpy: New file.
43241         * modules/unistr/u16-strncpy: New file.
43242         * modules/unistr/u32-strncpy: New file.
43243         * lib/unistr/u8-strncpy.c: New file.
43244         * lib/unistr/u16-strncpy.c: New file.
43245         * lib/unistr/u32-strncpy.c: New file.
43246         * lib/unistr/u-strncpy.h: New file.
43247
43248         * modules/unistr/u8-strnlen: New file.
43249         * modules/unistr/u16-strnlen: New file.
43250         * modules/unistr/u32-strnlen: New file.
43251         * lib/unistr/u8-strnlen.c: New file.
43252         * lib/unistr/u16-strnlen.c: New file.
43253         * lib/unistr/u32-strnlen.c: New file.
43254         * lib/unistr/u-strnlen.h: New file.
43255
43256         * modules/unistr/u8-strpbrk: New file.
43257         * modules/unistr/u16-strpbrk: New file.
43258         * modules/unistr/u32-strpbrk: New file.
43259         * lib/unistr/u8-strpbrk.c: New file.
43260         * lib/unistr/u16-strpbrk.c: New file.
43261         * lib/unistr/u32-strpbrk.c: New file.
43262         * lib/unistr/u-strpbrk.h: New file.
43263
43264         * modules/unistr/u8-strrchr: New file.
43265         * modules/unistr/u16-strrchr: New file.
43266         * modules/unistr/u32-strrchr: New file.
43267         * lib/unistr/u8-strrchr.c: New file.
43268         * lib/unistr/u16-strrchr.c: New file.
43269         * lib/unistr/u32-strrchr.c: New file.
43270
43271         * modules/unistr/u8-strspn: New file.
43272         * modules/unistr/u16-strspn: New file.
43273         * modules/unistr/u32-strspn: New file.
43274         * lib/unistr/u8-strspn.c: New file.
43275         * lib/unistr/u16-strspn.c: New file.
43276         * lib/unistr/u32-strspn.c: New file.
43277         * lib/unistr/u-strspn.h: New file.
43278
43279         * modules/unistr/u8-strstr: New file.
43280         * modules/unistr/u16-strstr: New file.
43281         * modules/unistr/u32-strstr: New file.
43282         * lib/unistr/u8-strstr.c: New file.
43283         * lib/unistr/u16-strstr.c: New file.
43284         * lib/unistr/u32-strstr.c: New file.
43285         * lib/unistr/u-strstr.h: New file.
43286
43287         * modules/unistr/u8-strtok: New file.
43288         * modules/unistr/u16-strtok: New file.
43289         * modules/unistr/u32-strtok: New file.
43290         * lib/unistr/u8-strtok.c: New file.
43291         * lib/unistr/u16-strtok.c: New file.
43292         * lib/unistr/u32-strtok.c: New file.
43293         * lib/unistr/u-strtok.h: New file.
43294
43295         * modules/unistr/u8-uctomb: New file.
43296         * modules/unistr/u16-uctomb: New file.
43297         * modules/unistr/u32-uctomb: New file.
43298         * lib/unistr/u8-uctomb.c: New file.
43299         * lib/unistr/u16-uctomb.c: New file.
43300         * lib/unistr/u32-uctomb.c: New file.
43301
43302         * MODULES.html.sh (Unicode string functions): Add the new modules.
43303
43304 2007-01-08  Bruno Haible  <bruno@clisp.org>
43305
43306         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
43307         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
43308         subdirectories.
43309
43310 2007-01-08  Karl Berry  <karl@gnu.org>
43311
43312         * doc/error.texi: mention that main() fns must set program_name
43313         when progname is used.
43314
43315 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
43316
43317         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
43318         WCTYPE_H is empty, for the benefit of builds from non-distclean
43319         directories.  Problem reported by Eric Blake in
43320         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
43321
43322 2007-01-08  Bruno Haible  <bruno@clisp.org>
43323
43324         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
43325         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
43326         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
43327         PROVIDE_CANONICALIZE_FILENAME_MODE.
43328         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
43329
43330 2007-01-08  Bruno Haible  <bruno@clisp.org>
43331
43332         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
43333         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
43334         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
43335         * lib/fts.c: Likewise.
43336         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
43337
43338 2006-12-25  Bruno Haible  <bruno@clisp.org>
43339
43340         * modules/utf8-ucs4-safe: New file.
43341         * lib/utf8-ucs4-safe.h: New file.
43342         * lib/unistr/utf8-ucs4-safe.c: New file.
43343
43344         * modules/utf16-ucs4-safe: New file.
43345         * lib/utf16-ucs4-safe.h: New file.
43346         * lib/unistr/utf16-ucs4-safe.c: New file.
43347
43348         * MODULES.html.sh (Unicode string functions): Add the new modules.
43349
43350 2007-01-08  Bruno Haible  <bruno@clisp.org>
43351
43352         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
43353         (Depends-on): Add unitypes.
43354         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43355         (u8_mbtouc_aux): Move out to separate file.
43356         (u8_mbtouc): Use ucs4_t, uint8_t types.
43357         * lib/unistr/utf8-ucs4.c: New file.
43358
43359         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
43360         (Depends-on): Add unitypes.
43361         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43362         (u16_mbtouc_aux): Move out to separate file.
43363         (u16_mbtouc): Use ucs4_t, uint16_t types.
43364         * lib/unistr/utf16-ucs4.c: New file.
43365
43366         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
43367         (Depends-on): Add unitypes.
43368         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
43369         (u8_uctomb_aux): Move out to separate file.
43370         (u8_uctomb): Use ucs4_t, uint8_t types.
43371         * lib/unistr/ucs4-utf8.c: New file.
43372
43373         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
43374         (Depends-on): Add unitypes.
43375         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
43376         (u16_uctomb_aux): Move out to separate file.
43377         (u16_uctomb): Use ucs4_t, uint16_t types.
43378         * lib/unistr/ucs4-utf16.c: New file.
43379
43380 2006-12-25  Bruno Haible  <bruno@clisp.org>
43381
43382         * modules/unitypes: New file.
43383         * lib/unitypes.h: New file.
43384         * MODULES.html.sh (func_all_modules): New section "Unicode string
43385         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
43386         this section. Add unitypes.
43387
43388 2007-01-08  Bruno Haible  <bruno@clisp.org>
43389
43390         Avoid variable names that conflict with those from libtool.
43391         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
43392         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
43393         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
43394         library_names_spec to acl_library_names_spec, hardcode_* to
43395         acl_hardcode_*.
43396         Reported by Ralf Wildenhues.
43397
43398 2007-01-08  Bruno Haible  <bruno@clisp.org>
43399
43400         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
43401         definition.
43402         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
43403         definition.
43404         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
43405         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
43406         definition.
43407         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
43408         definition.
43409         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
43410         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
43411         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
43412         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
43413         definition.
43414         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
43415         definition.
43416         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
43417         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
43418         GC_USE_<algorithm>.
43419         * lib/gc-libgcrypt.c: Likewise.
43420         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
43421         * modules/gc-arctwo (configure.ac): Likewise.
43422         * modules/gc-des (configure.ac): Likewise.
43423         * modules/gc-hmac-md5 (configure.ac): Likewise.
43424         * modules/gc-hmac-sha1 (configure.ac): Likewise.
43425         * modules/gc-md2 (configure.ac): Likewise.
43426         * modules/gc-md4 (configure.ac): Likewise.
43427         * modules/gc-md5 (configure.ac): Likewise.
43428         * modules/gc-random (configure.ac): Likewise.
43429         * modules/gc-rijndael (configure.ac): Likewise.
43430         * modules/gc-sha1 (configure.ac): Likewise.
43431
43432 2007-01-08  Bruno Haible  <bruno@clisp.org>
43433
43434         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
43435         macro definition.
43436         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
43437         definition.
43438         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
43439         definition.
43440         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
43441         * modules/fcntl-safer (configure.ac): Likewise.
43442         * modules/fopen-safer (configure.ac): Likewise.
43443         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
43444         GNULIB_FWRITEERROR macro definition.
43445
43446 2007-01-08  Bruno Haible  <bruno@clisp.org>
43447
43448         * m4/gnulib-common.m4: New file.
43449         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
43450         (func_get_filelist): Add m4/gnulib-common.m4.
43451
43452 2007-01-08  Bruno Haible  <bruno@clisp.org>
43453
43454         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
43455         command.
43456
43457 2007-01-08  Jim Meyering  <jim@meyering.net>
43458
43459         Use a more robust test for a "can't happen" condition.
43460         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
43461         narrowed the st_size value.  Presuming the "can't happen" condition
43462         is true, that narrowing could conceivably convert an invalid st_size
43463         value into a valid one.  Instead, use a change based on Matthew
43464         Woehlke's original patch.
43465
43466         Slight readability improvement: use an assert-like macro
43467         in place of literal "abort ()" uses.
43468         * lib/fts.c (fts_assert): Define.
43469         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
43470         Use this macro instead of a bare 'abort'.
43471
43472 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43473
43474         Don't worry about using IRIX 5.3's wctype.h broken definitions;
43475         simply work around them.
43476         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
43477         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
43478         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
43479         declaring.
43480         Don't bother to define as macros, since the standard doesn't require it.
43481         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
43482         longer worry about IRIX 5.3.
43483         (HAVE_WCTYPE_CTMP_BUG): Remove.
43484
43485 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43486
43487         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
43488         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
43489         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43490         Problems reported by Georg Schwarz for IRIX 5.3.
43491
43492         * gnulib-tool (autoconf_minversion): Take the maximum version number
43493         found, not the minimum.  Problem reported by James Youngman.
43494
43495 2007-01-03  Karl Berry  <karl@gnu.org>
43496
43497         * doc/error.texi: new file, explaining interaction with progname.
43498         * doc/gnulib.texi: include it.  Update copyright.
43499
43500 2007-01-03  Simon Josefsson  <simon@josefsson.org>
43501
43502         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
43503         AC_CANONICAL_HOST, to improve autobuild outputs.
43504
43505 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
43506             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
43507
43508         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
43509         sockets, server sockets, and other file descriptors.  Count errors
43510         to compute the return value.  Reorder the code a bit to be easier
43511         to follow.  Don't set event bits that were not requested (except
43512         POLLERR and POLLHUP).
43513
43514 2007-01-01  Bruno Haible  <bruno@clisp.org>
43515
43516         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
43517
43518 2007-01-03  Jim Meyering  <jim@meyering.net>
43519
43520         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
43521
43522 2007-01-02  Bruno Haible  <bruno@clisp.org>
43523
43524         * modules/settime (Include): Require timespec.h.
43525         * modules/nanosleep (Include): Likewise.
43526
43527 2007-01-01  Bruno Haible  <bruno@clisp.org>
43528
43529         * gnulib-tool (func_emit_copyright_notice): Bump year.
43530         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
43531
43532 2007-01-01  Bruno Haible  <bruno@clisp.org>
43533
43534         Improve support for OpenBSD.
43535         * build-aux/config.rpath (libname_spec): Export.
43536         (library_names_spec): New variable. Export.
43537         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
43538         library_names_spec from the config.rpath output. Locate shared library
43539         through the name pattern in library_names_spec.
43540
43541 2007-01-01  Eric Blake  <ebb9@byu.net>
43542
43543         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
43544
43545 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
43546
43547         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
43548         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
43549         assume the C locale, and avoid an "eval" that could cause trouble.
43550         Problem with SORT reported by Bob Proulx.
43551
43552         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
43553         Define.  Trivial patch from Henning Nielsen Lund, originally
43554         sent to bug-grep@gnu.org today.
43555
43556 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43557
43558         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
43559         struct stat.  Problem reported by Henning Nielsen Lund.
43560         * lib/acl.c: Include acl.h first, to check interface.  Don't
43561         bother to include sys/types.h and sys/stat.h again.
43562
43563 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
43564
43565         Import the following change from libc; problem reported by
43566         Sven Verdoolaege.
43567
43568         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
43569
43570         [BZ #1373]
43571         * lib/argp.h: Remove __NTH for __argp_usage inline function.
43572
43573 2006-12-28  Jim Meyering  <jim@meyering.net>
43574
43575         * build-aux/announce-gen: Do not assume that the package
43576         builds any of tar.gz, tar.bz2, and .xdelta files.
43577         Suggestion from Simon Josefsson.
43578
43579 2006-12-28  Simon Josefsson  <simon@josefsson.org>
43580
43581         * modules/announce-gen: New file.
43582
43583 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
43584
43585         * lib/mbchar.h: Just include <wctype.h>; the wctype module
43586         handles its gotchas now.
43587         * lib/mbswidth.c: Likewise.
43588         * lib/wcwidth.h: Likewise.
43589         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
43590         and iswcntrl; the wctype module does this stuff now.
43591         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
43592         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
43593         * modules/mbchar (Depends-on): Add wctype.
43594         * modules/mbswidth (Depends-on): Likewise.
43595         * modules/wcwidth (Depends-on): Likewise.
43596
43597 2006-12-27  Eric Blake  <ebb9@byu.net>
43598
43599         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
43600         module uses more than what <wctype.h> is required to provide.
43601
43602 2006-12-26  Eric Blake  <ebb9@byu.net>
43603
43604         * gnulib-tool (sed_extract_prog): Avoid space-tab.
43605
43606 2006-12-26  Eric Blake  <ebb9@byu.net>
43607
43608         * modules/absolute-header: New module.
43609         * modules/fcntl (Depends-on): Depend on it.
43610         * modules/inttypes (Depends-on): Likewise.
43611         * modules/stdint (Depends-on): Likewise.
43612         * modules/sys_stat (Depends-on): Likewise.
43613         * modules/wctype (Depends-on): Likewise.
43614         * MODULES.html.sh (Support for building libraries and
43615         executables): Document it.
43616
43617 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43618
43619         * gnulib-tool (SED): Remove, undoing previous change.
43620         The problem was that it broke coreutils on Solaris, because
43621         "sed --posix" leaked into a makefile.
43622         (sed): New alias, if 'alias' and GNU sed.
43623
43624 2006-12-24  Jim Meyering  <jim@meyering.net>
43625
43626         Work around an fchownat bug in glibc-2.4:
43627         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
43628         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
43629         in spite of the -P option.
43630         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
43631         New macros.
43632         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
43633         * modules/openat (Files): Add lib/fchownat.c.
43634         * lib/openat.c (fchownat): Don't define here.  Move to...
43635         * lib/fchownat.c: ...this new file.
43636
43637 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
43638
43639         Fix bug reported by Bruno Haible in
43640         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
43641         where quotearg.c didn't compile on Mac OS X 10.2 because it
43642         lacks <wchar.h> and wint_t.
43643         * lib/wctype_.h (__wctype_wint_t): New type.
43644         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
43645         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
43646         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
43647         Arg is now of type __wctype_wint_t, not wint_t.
43648         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
43649         substitute HAVE_WINT_T.
43650         * modules/wctype (Files): Add m4/wint_t.m4.
43651         (wctype.h): Substitute HAVE_WINT_T.
43652
43653 2006-12-23  Bruno Haible  <bruno@clisp.org>
43654
43655         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
43656
43657 2006-12-23  Bruno Haible  <bruno@clisp.org>
43658
43659         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
43660         S_ISLNK.
43661         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
43662         mingw.
43663
43664 2006-12-22  Bruno Haible  <bruno@clisp.org>
43665
43666         * lib/copy-file.c: Include acl.h.
43667         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
43668         Close the file descriptors only after being done with copy_acl.
43669         * modules/copy-file (Depends-on): Add acl.
43670
43671 2006-12-22  Bruno Haible  <bruno@clisp.org>
43672
43673         * gnulib-tool (SED): New variable.
43674         Use $SED instead of sed everywhere.
43675
43676 2006-12-22  Bruno Haible  <bruno@clisp.org>
43677
43678         * modules/no-c++: New file.
43679         * m4/no-c++.m4: New file.
43680         * MODULES.html.sh (Support for building libraries and executables):
43681         Add no-c++.
43682
43683 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
43684
43685         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
43686         Include <limits.h>, and use its INT_MAX to rewrite the
43687         j loop so that it does not overflow 'int'.  Problem reported by
43688         Ralf Wildenhues in
43689         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
43690         Play it safe by shifting left by 1 rather than multiplying by 2,
43691         as GCC is less likely to optimize this away when the value
43692         is signed (when it assumes overflow leads to undefined behavior).
43693         Also, don't assume time_t uses two's complement.
43694
43695 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
43696
43697         * MODULES.html.sh: New module wctype.
43698         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
43699         * lib/fnmatch.c: Don't bother to include <wchar.h> before
43700         <wctype.h>, since the new wctype module should fix this.
43701         * lib/quotearg.c: Include <wctype.h> unconditionally, since
43702         the wctype module should arrange for it.
43703         * lib/regex_internal.h: Likewise.
43704         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
43705         since the wctype module should handle this now.
43706         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
43707         * modules/fnmatch (Depends-on): Add wctype.
43708         * modules/quotearg (Depends-on): Likewise.
43709         * modules/regex (Depends-on): Likewise.
43710
43711 2006-12-19  Bruno Haible  <bruno@clisp.org>
43712
43713         * lib/strdup.h [C++]: Wrap definitions in extern "C".
43714         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
43715
43716 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43717
43718         * modules/savewd (Depends-on): Fix dependency on fcntl.
43719
43720 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43721
43722         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
43723         conforms to C99, rather than relying on the user's environment
43724         setting of STDINT_H.
43725
43726 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43727         and Eric Blake  <ebb9@byu.net>
43728
43729         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
43730         This is more consistent with the other defines here.
43731         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
43732         Port to z/OS.  Problem reported by Paul Gilmartin.
43733         Change local vars to use gl_ prefix rather than ac_.
43734         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
43735         with other defines.
43736         * modules/double-slash-root: New module.
43737         * modules/dirname (Files): Remove m4/double-slash-root.m4.
43738         (Depends-on): Add double-slash-root.
43739         * MODULES.html.sh (File system functions): Mention new module.
43740
43741 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
43742
43743         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
43744         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
43745         This is for the benefit of gzip, which doesn't do i18n.
43746
43747 2006-12-12  Jim Meyering  <jim@meyering.net>
43748
43749         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
43750         Reported by Andreas Schwab <schwab@suse.de>.
43751
43752 2006-12-12  Bruno Haible  <bruno@clisp.org>
43753
43754         Merge these changes.
43755         2006-09-05  Bruno Haible  <bruno@clisp.org>
43756         * lib/iconvme.c (iconv_string): No need to save and restore errno when
43757         iconv_alloc succeeded.
43758         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
43759         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
43760         test for " && dest " at the end - dest is always != NULL there. Call
43761         iconv with 4xNULL arguments initially, to reset the state. Call iconv
43762         with 2xNULL arguments, also to flush the state storage. Handle the
43763         IRIX iconv behaviour. Realloc the final result, to throw away unused
43764         memory.
43765
43766 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
43767
43768         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
43769         and fchmodat unconditionally, since glibc 2.4 has them.
43770         Problem reported by Arkadiusz Miskiewicz.
43771
43772 2006-12-10  Bruno Haible  <bruno@clisp.org>
43773
43774         * gnulib-tool (func_import): Show the include files only for those
43775         modules that are copied and specified.
43776         Reported by Karl Berry.
43777
43778 2006-12-08  Jim Meyering  <jim@meyering.net>
43779
43780         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
43781         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
43782
43783         * build-aux/announce-gen: Add two new options, both optional:
43784         --bootstrap-tools=TOOL_LIST
43785               a comma-separated list of tools, e.g.,
43786               autoconf,automake,bison,gnulib
43787         --gnulib-snapshot-date=DATE
43788               if gnulib is in the bootstrap tool list,
43789               then report this as the snapshot date.
43790               If not specified, use the current date/time.
43791               If you specify a date here, be sure it's UTC.
43792
43793 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43794
43795         * tests/test-argp-2.sh: Fix test to match actual output.
43796         (func_compare): Fix sed script to be portable.
43797
43798 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
43799
43800         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
43801         workaround for this case.  It is not autoconfigured now; offhand
43802         it's hard to see how to autoconfigure it.
43803
43804 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
43805
43806         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
43807         a directory that is about to be chowned.  Such a directory's
43808         initial file permissions should permit the owner only and this
43809         should not be changed until after the chown, since the group and
43810         other bits would be incorrect if they granted permission before
43811         the chown.
43812
43813         Fix porting problem for iswctype reported by Georg Schwarz in:
43814         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
43815         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
43816         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
43817         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
43818         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
43819
43820 2006-12-03  Jim Meyering  <jim@meyering.net>
43821
43822         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
43823         p->fts_statp may not yet be defined.
43824         (fts_read): Instead, set it in the caller, once p->fts_statp is
43825         sure to be defined, and corresponds to a top-level directory.
43826         This bug made du -x fail.  Here's the coreutils test case:
43827         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
43828         Reported by Mike Frysinger.
43829
43830 2006-12-01  Jim Meyering  <jim@meyering.net>
43831
43832         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
43833         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
43834         Reported by Simon Josefsson.
43835
43836 2006-11-30  Jim Meyering  <jim@meyering.net>
43837
43838         * m4/warning.m4: Use the all-permissive copyright notice
43839         recommended by RMS (rather than LGPL).
43840         * m4/vararrays.m4: Likewise.
43841         * m4/flexmember.m4: Likewise.
43842
43843 2006-11-29  Bruno Haible  <bruno@clisp.org>
43844
43845         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
43846         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
43847         using +=.
43848         Reported by Simon Josefsson <simon@josefsson.org>.
43849
43850 2006-11-28  James Youngman <jay@gnu.org>
43851
43852         * README: Advise users that they might find the bug-gnulib@gnu.org
43853         and autotools-announce@gnu.org mailing lists useful.
43854
43855 2006-11-28  Bruno Haible  <bruno@clisp.org>
43856
43857         * m4/ptrdiff_max.m4: Remove file.
43858
43859 2006-11-21  Bruno Haible  <bruno@clisp.org>
43860
43861         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
43862         _AC_COMPUTE_INT.
43863         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43864         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
43865         _AC_COMPUTE_INT.
43866         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43867         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
43868         _AC_COMPUTE_INT.
43869         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43870
43871 2006-11-28  Jim Meyering  <jim@meyering.net>
43872
43873         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
43874         warning from "gcc -Wshadow" about shadowing the builtin.
43875
43876 2006-11-27  Bruno Haible  <bruno@clisp.org>
43877
43878         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
43879         _AC_COMPUTE_INT.
43880         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
43881
43882 2006-11-27  Bruno Haible  <bruno@clisp.org>
43883             Paul Eggert  <eggert@cs.ucla.edu>
43884
43885         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
43886
43887 2006-11-26  Bruno Haible  <bruno@clisp.org>
43888
43889         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
43890         noinst_LTLIBRARIES.
43891
43892 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
43893             Bruno Haible  <bruno@clisp.org>
43894
43895         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
43896         if compiling with "gcc -ansi".
43897
43898 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
43899
43900         Fix some incompatibilities with gcc -ansi -pedantic.
43901         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
43902         if compiling pedantically with GCC, unless it's C99 or later.
43903         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
43904         it mishandles gcc -ansi -pedantic as well.
43905         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
43906         if gcc -pedantic.
43907         * lib/regexec.c (check_node_accept_bytes): Don't use auto
43908         initializers for struct if -pedantic, unless it's C99 or later.
43909
43910 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
43911
43912         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
43913         Don't close an fd more than once. Identical atimes indicate
43914         success, not failure.
43915
43916 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
43917
43918         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
43919
43920 2006-11-23  Jim Meyering  <jim@meyering.net>
43921
43922         * build-aux/announce-gen: New file.  From coreutils.
43923
43924 2006-11-22  Jim Meyering  <jim@meyering.net>
43925
43926         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
43927         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
43928         (fts_read): Use a temporary to narrow the overused st_size member
43929         before using it in a switch statement.  Reported by Matthew Woehlke.
43930
43931         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
43932         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43933
43934 2006-11-20  Bruno Haible  <bruno@clisp.org>
43935
43936         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
43937         changequote instead of pairs of brackets.
43938         Reported by Andreas Schwab <schwab@suse.de>.
43939
43940 2006-11-21  Jim Meyering  <jim@meyering.net>
43941
43942         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
43943         so as to remain compatible with older compilers.
43944         Patch from Michael Deutschmann.
43945
43946 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43947
43948         * MODULES.html.sh (File system functions): Add openat.
43949
43950         * lib/openat.h (rpl_fstatat): New macro, if
43951         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
43952         (fstatat): Define to rpl_fstatat under the same conditions,
43953         unless COMPILING_FSTATAT.
43954         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
43955         seems to have the bug.
43956         * lib/fstatat.c: New file.
43957         * modules/openat (Files): Add it.
43958
43959 2006-11-20  Bruno Haible  <bruno@clisp.org>
43960
43961         * Makefile: New file.
43962
43963 2006-11-20  Jim Meyering  <jim@meyering.net>
43964
43965         The beginnings of syntax-related checks for gnulib.
43966         * lib/Makefile: New file.
43967         * lib/t-idcache: New script.  Ensure that the two halves of
43968         idcache.c stay in sync.
43969
43970         * lib/idcache.c: Adjust comments in user- and group- portions to
43971         be more accurate, and to be consistent with one another.
43972
43973 2006-11-20  Jim Meyering  <jim@meyering.net>
43974
43975         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
43976         continue using the flexible array member (thus, this module performs
43977         half as many malloc calls), with the addition that...
43978         (getgroup, getuser): Consistently record a non-match via an empty
43979         "name" string, and map an empty string match to a NULL return value.
43980         * modules/idcache (Depends-on): Re-add flexmember.
43981
43982         * lib/idcache.c (getuser): Remove all uses of the register keyword.
43983         (getuidbyname, getgroup, getgidbyname): Likewise.
43984
43985         Use cleaner syntax: NULL rather than 0.
43986         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
43987
43988 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43989
43990         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
43991         It mishandled the case where the group was missing.
43992         Problem reported by Greg Schafer.
43993         * modules/idcache: Likewise.
43994
43995 2006-11-18  Jim Meyering  <jim@meyering.net>
43996
43997         * check-module (%exempt_header): Add exception for some
43998         conditionally-included headers.
43999
44000         * modules/i-ring (Depends-on): Add verify.
44001         (License): Change to LGPL.
44002
44003 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44004
44005         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
44006         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
44007         and inttostr.h.  Use snprintf rather than uinttostr, so that
44008         LGPLed code doesn't depend on GPLed.
44009
44010 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44011
44012         * modules/inline (License): Change from GPL to LGPL.
44013
44014 2006-11-17  Jim Meyering  <jim@meyering.net>
44015
44016         * modules/d-type (License): Switch to LGPL.
44017
44018 2006-11-15  Bruno Haible  <bruno@clisp.org>
44019
44020         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
44021
44022 2006-11-15  Eric Blake  <ebb9@byu.net>
44023
44024         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
44025         the module dependency.
44026
44027 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44028             Bruno Haible  <bruno@clisp.org>
44029
44030         * gnulib-tool (func_create_testdir): Add license consistency check.
44031
44032 2006-11-15  Eric Blake  <ebb9@byu.net>
44033
44034         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
44035         random "(cached)" in configure output.
44036
44037 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44038
44039         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
44040         test for conforming inttypes.h is both announced and cached.
44041
44042         * MODULES.html.sh (seen_modules, seen_files): New variables.
44043         (func_module): Rewrite to use a few less gnulib-tool and sed
44044         invocations.  Avoid a couple of quadratic algorithms for ...
44045         (missed_modules, missed_files): ... these, with ...
44046         (func_append, func_tmpdir): ... these new functions, from
44047         gnulib-tool.  Analogously, install traps for cleanup.
44048
44049         * tests/test-gc.c (main): Remove unused variables.
44050         * tests/test-read-file.c: Include stdlib.h, for 'free'.
44051
44052 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
44053
44054         * modules/inttostr (License): Change to LGPL.
44055
44056 2006-11-14  Eric Blake  <ebb9@byu.net>
44057
44058         * modules/tempname (License): Change to LGPL.
44059
44060 2006-11-14  Eric Blake  <ebb9@byu.net>
44061
44062         * doc/functions.texi (Function Portability): *printf functions on
44063         Cygwin now understand all POSIX size specifiers.
44064
44065 2006-11-14  Bruno Haible  <bruno@clisp.org>
44066
44067         * modules/c-ctype (License): Change to LGPL.
44068
44069 2006-11-12  Bruno Haible  <bruno@clisp.org>
44070
44071         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
44072         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
44073         for GNOME libraries, for which the include files are installed in
44074         subdirectories of $prefix/include.
44075
44076 2006-11-12  Bruno Haible  <bruno@clisp.org>
44077
44078         * m4/lib-link.m4: Require at least autoconf-2.54.
44079         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
44080         name to underscores for the --with option.
44081
44082 2006-11-13  Bruno Haible  <bruno@clisp.org>
44083
44084         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
44085         the tests directory.
44086         Reported by Ralf Wildenhues.
44087
44088 2006-11-13  Bruno Haible  <bruno@clisp.org>
44089
44090         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
44091         (func_emit_initmacro_end): Undo the override here.
44092         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
44093         Works around the famous automake error in coreutils.
44094
44095 2006-11-13  Eric Blake  <ebb9@byu.net>
44096
44097         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
44098         element, not its node.
44099
44100 2006-11-12  Bruno Haible  <bruno@clisp.org>
44101
44102         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
44103         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
44104
44105 2006-11-12  Bruno Haible  <bruno@clisp.org>
44106
44107         * gnulib-tool: New option --local-symlink.
44108         (func_usage): Document it.
44109         (lsymbolic): New variable.
44110         (func_import, func_create_testdir): If --symlink was not specified,
44111         test whether --local-symlink was specified and the file comes from
44112         the local_gnulib_dir.
44113
44114 2006-11-12  Bruno Haible  <bruno@clisp.org>
44115
44116         * gnulib-tool (func_ln): New function.
44117         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
44118
44119 2006-11-12  Bruno Haible  <bruno@clisp.org>
44120
44121         Finish support for source files in subdirectories.
44122         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
44123         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
44124         AUTOMAKE_OPTIONS.
44125         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
44126
44127 2006-11-12  Bruno Haible  <bruno@clisp.org>
44128
44129         * gnulib-tool (func_get_automake_snippet): Synthesize also an
44130         EXTRA_lib_SOURCES augmentation.
44131         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
44132
44133 2006-11-12  Jim Meyering  <jim@meyering.net>
44134
44135         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
44136         file descriptors.  This also averts a failure on systems with
44137         native openat support when a traversed directory lacks "x" access.
44138         * lib/fts_.h: Include "i-ring.h"
44139         (struct FTS) [fts_fd_ring]: New member.
44140         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
44141         (FCHDIR): Add parentheses.
44142         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
44143         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
44144         When descending, rather than simply closing the previous
44145         fts_cwd_fd value, push that file descriptor onto the ring.
44146         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
44147         (fts_open): Initialize the new fd_ring member.
44148         (fts_close): Clear the ring.
44149         (fts_safe_changedir): When possible, use our new fd_ring to skip
44150         the diropen and fstat and dev/ino comparison that would normally
44151         accompany a virtual `chdir ("..")'.
44152
44153         * modules/fts (Depends-on): Add i-ring.
44154         * modules/i-ring: New module.
44155         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
44156         * m4/i-ring.m4: New file.
44157
44158 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44159
44160         * gnulib-tool (func_create_testdir): Fix replacement of
44161         `build-aux' in configure.ac.  Run autotools in gltests
44162         subdirectory.
44163         (func_create_testdir, func_create_megatestdir, test): There is
44164         no need for '--force' in most autotool invocations in a new
44165         tree.  Actually fail the whole test if any of the tools, or the
44166         configure or make stages fail.
44167
44168         Sync from Automake.
44169         * build-aux/gnupload: Revert last change.  Add pointer to upload
44170         instructions of the GNU Maintenance Instructions.
44171         Suggestion by Karl Berry.
44172
44173 2006-11-10  Jim Meyering  <jim@meyering.net>
44174
44175         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
44176
44177 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44178
44179         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
44180         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
44181         (bind_textdomain_codeset) [! ENABLE_NLS]:
44182         Evaluate all the arguments.  That way, callers get compatible behavior
44183         if the arguments have side effects.  Also, it avoids some GCC
44184         diagnostics in some cases; Joel E. Denny reported problems when Bison
44185         was configured with --enable-gcc-warnigs.
44186
44187 2006-11-10  Jim Meyering  <jim@meyering.net>
44188
44189         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
44190         relevant options in CFLAGS (like -O, -fno-inline) are taken into
44191         account.
44192
44193 2006-11-10  Jim Meyering  <jim@meyering.net>
44194
44195         * modules/inline: New file/module.
44196         * modules/xalloc (Files): Remove m4/inline.m4.
44197         (Depends-on): Add inline, instead.
44198         * modules/oset: Likewise.
44199         * modules/list: Likewise.
44200
44201 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44202
44203         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
44204         Problem reported by Matthew Woehlke.
44205
44206 2006-11-09  Bruno Haible  <bruno@clisp.org>
44207
44208         * lib/tempname.c (gen_tempname): Remove variant that invokes
44209         __gen_tempname.
44210         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
44211         __gen_tempname.
44212
44213 2006-11-08  Bruno Haible  <bruno@clisp.org>
44214
44215         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
44216         to 'yes' instead of 'cross-compiling'.
44217
44218 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
44219
44220         * lib/quotearg.h (quotearg_free): New decl.
44221         * lib/quotearg.c (quotearg_free): New function.
44222         (slot0, nslots, slotvec0, slotvec):
44223         Now file-scope so that quotearg_free can get at them.
44224
44225 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44226
44227         Sync from Automake.
44228         * build-aux/gnupload: Add missing 'gnu' to example URL.
44229         Report by Karl Berry.
44230
44231 2006-11-08  Bruno Haible  <bruno@clisp.org>
44232
44233         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
44234         Suggested by Paul Eggert.
44235
44236 2006-11-08  Jim Meyering  <jim@meyering.net>
44237
44238         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
44239         It's already included if !_LIBC.
44240         (fts_safe_changedir): Add a comment.
44241
44242 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44243
44244         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
44245         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
44246         Matthew Woehlke.
44247
44248         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
44249         definitions up, to avoid colliding with change below.
44250         (static_inline) [HAVE_INLINE]: New macro.
44251         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
44252         Provide extern decls when !HAVE_INLINE.  Do not define unless
44253         static_inline is defined, either by us or by xmalloc.c.  Use
44254         static_inline rather than static inline.
44255         (XCALLOC): Optimize sizeof(T) = 1 case.
44256         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
44257
44258 2006-11-07  Bruno Haible  <bruno@clisp.org>
44259
44260         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
44261         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
44262         AC_C_INLINE.
44263         * modules/xalloc (Files): Add m4/inline.m4.
44264
44265 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44266
44267         * README: Fix typo.
44268         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
44269         (Miscellanous Notes): ...from this.
44270
44271 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44272
44273         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44274         Mention that offsetof should be used instead of sizeof.
44275         From Bruno Haible.
44276
44277 2006-11-07  Bruno Haible  <bruno@clisp.org>
44278
44279         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
44280
44281 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44282
44283         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44284         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
44285         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44286         (gl_tree_add_before, gl_tree_add_after):
44287         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
44288         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
44289         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
44290         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
44291         (gl_linked_add_after, gl_linked_add_at): Likewise.
44292         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
44293         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44294         (gl_tree_add_before, gl_tree_add_after): Likewise.
44295         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
44296         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
44297         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
44298
44299 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44300
44301         * lib/gl_oset.h: Use C comment style, not C++ comment style.
44302
44303 2006-11-06  Bruno Haible  <bruno@clisp.org>
44304
44305         * m4/inline.m4: New file.
44306         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
44307         * modules/list (Files): Add m4/inline.m4.
44308         * modules/oset (Files): Likewise.
44309
44310 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44311
44312         * lib/idcache.c: Include <stddef.h>, for offsetof.
44313         (struct userid.name): Change from char * to a flexible array member.
44314         All uses changed.
44315         * modules/idcache (Depends-on): Add flexmember.
44316
44317         * MODULES.html.sh (Core language properties): New module flexmember.
44318         * modules/flexmember, m4/flexmember.m4: New files.
44319
44320         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
44321         inline functions that are identical with the old xnmalloc_inline,
44322         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
44323         that we can avoid some unnecessary integer multiplications and
44324         divisions in the common case where the element size is known at
44325         compile time.
44326         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
44327         needed.
44328         (xnboundedmalloc): Remove.
44329         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
44330         arguments, for consistency with rest of this header.
44331         (xcharalloc): Rewrite using XNMALLOC.
44332         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
44333         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
44334         versions have been moved to lib/xalloc.h and renamed to be the
44335         non-*_inline versions.
44336         (xmalloc, xrealloc): Implement without reference to the xnmalloc
44337         and xnrealloc functions, since those functions are now inline and
44338         now call us.
44339         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
44340         renaming described above.
44341         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
44342         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
44343         captures the dependency in AC_C_INLINE.
44344
44345         New module canonicalize-lgpl, proposed by Charles Wilson in
44346         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
44347         with a few small changes afterwards.
44348         * MODULES.html.sh (File system functions): New module
44349         canonicalize-lgpl.
44350         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
44351         and canonicalize_file_name.
44352         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
44353         * modules/canonicalize-lgpl: New files.
44354
44355 2006-11-05  Bruno Haible  <bruno@clisp.org>
44356
44357         * gnulib-tool (func_import, func_create_testdir): Create directories
44358         also for files in subdirectories of lib/.
44359
44360 2006-11-05  Bruno Haible  <bruno@clisp.org>
44361
44362         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
44363         ANSI C compliant.
44364
44365 2006-11-03  Bruno Haible  <bruno@clisp.org>
44366
44367         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44368         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
44369         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
44370         (xnboundedmalloc): New inline function.
44371         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
44372         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
44373         xmalloc.
44374         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
44375         xmalloc.
44376         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
44377         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
44378         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
44379         xmalloc.
44380         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44381         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
44382         xmalloc.
44383         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
44384         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44385         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
44386         xmalloc.
44387         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44388         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
44389         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44390         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
44391         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
44392         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
44393         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
44394
44395 2006-11-03  Bruno Haible  <bruno@clisp.org>
44396
44397         * lib/c-ctype.h [C++]: Define functions without name mangling.
44398         * lib/fwriteerror.h [C++]: Likewise.
44399         * lib/gcd.h [C++]: Likewise.
44400         * lib/linebreak.h [C++]: Likewise.
44401
44402 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
44403
44404         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
44405         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
44406         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
44407         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
44408         Check for functions and headers just once.
44409         Check for declaration of canonicalize_file_name.
44410         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
44411
44412 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
44413
44414         * gnulib-tool (func_import): Fix typo in actioncmd.
44415
44416 2006-11-02  Bruno Haible  <bruno@clisp.org>
44417
44418         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
44419         newline sequence in the Makefile.am snippet as a space, like "make"
44420         does.
44421         Reported by Roger Persson <perrog@gmail.com>.
44422
44423 2006-11-01  Bruno Haible  <bruno@clisp.org>
44424
44425         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
44426         already declared in <string.h>.
44427         * lib/strcase.h (strncasecmp): Don't declare it if yes.
44428
44429 2006-11-01  Bruno Haible  <bruno@clisp.org>
44430
44431         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
44432         * lib/strcase.h: Include <string.h>.
44433         (strcasecmp): Define to rpl_strcasecmp here.
44434
44435 2006-11-01  Bruno Haible  <bruno@clisp.org>
44436
44437         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
44438
44439 2006-11-01  Eric Blake  <ebb9@byu.net>
44440
44441         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
44442
44443         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
44444
44445 2006-10-29  Bruno Haible  <bruno@clisp.org>
44446
44447         Make it compile in C++ mode.
44448         * lib/full-write.c (full_rw): Add a cast.
44449
44450 2006-11-01  Bruno Haible  <bruno@clisp.org>
44451
44452         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
44453         be POSIX compliant.
44454         Reported by Roger Persson <perrog@gmail.com>.
44455
44456 2006-11-01  Eric Blake  <ebb9@byu.net>
44457
44458         * lib/getopt_.h: Fix comments.
44459
44460 2006-10-31  Eric Blake  <ebb9@byu.net>
44461
44462         * modules/tmpdir (Depends-on): Add sys_stat.
44463         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
44464         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
44465         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
44466         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
44467         tempname.
44468
44469 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
44470
44471         Avoid some C++ diagnostics reported by Bruno Haible.
44472         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
44473         xmalloc.
44474         (quotearg_alloc): Use xcharalloc rather than xmalloc.
44475         (struct slotvec): Move to top level.
44476         (quotearg_n_options): Rewrite to avoid xmalloc.
44477         * lib/xalloc.h (xcharalloc): New function.
44478         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
44479         [defined __cplusplus]: Add function template that provides result
44480         type propagation.  This part of the change is from Bruno Haible.
44481
44482 2006-10-29  Bruno Haible  <bruno@clisp.org>
44483
44484         Make it compile in C++ mode.
44485         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
44486         * lib/strnlen1.c (strnlen1): Cast memchr result.
44487         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
44488         * lib/clean-temp.c (string_equals, string_hash): Add casts.
44489         (create_temp_dir): Rename local variable 'template'.
44490         (compile_csharp_using_sscli): Add cast.
44491         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
44492         * lib/findprog.c (find_in_path): Likewise.
44493         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
44494         * lib/wait-process.c (register_slave_subprocess): Likewise.
44495
44496 2006-10-22  Bruno Haible  <bruno@clisp.org>
44497
44498         * modules/tsearch: New file.
44499         * lib/tsearch.h: New file.
44500         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
44501         * m4/tsearch.m4: New file.
44502         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
44503
44504 2006-10-29  Eric Blake  <ebb9@byu.net>
44505
44506         * lib/arcfour.c: Assume config.h.
44507         * lib/arctwo.c: Likewise.
44508         * lib/base64.c: Likewise.
44509         * lib/check-version.c: Likewise.
44510         * lib/crc.c: Likewise.
44511         * lib/des.c: Likewise.
44512         * lib/gc-gnulib.c: Likewise.
44513         * lib/gc-libgcrypt.c: Likewise.
44514         * lib/gc-pbkdf2-sha1.c: Likewise.
44515         * lib/getaddrinfo.c: Likewise.
44516         * lib/getdelim.c: Likewise.
44517         * lib/getline.c: Likewise.
44518         * lib/hmac-md5.c: Likewise.
44519         * lib/hmac-sha1.c: Likewise.
44520         * lib/iconvme.c: Likewise.
44521         * lib/md2.c: Likewise.
44522         * lib/md4.c: Likewise.
44523         * lib/memxor.c: Likewise.
44524         * lib/read-file.c: Likewise.
44525         * lib/readline.c: Likewise.
44526         * lib/rijndael-alg-fst.c: Likewise.
44527         * lib/rijndael-api-fst.c: Likewise.
44528         * lib/xgetdomainname.c: Likewise.
44529
44530 2006-10-28  Eric Blake  <ebb9@byu.net>
44531
44532         * lib/xstrndup.c: Assume config.h.
44533
44534 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
44535
44536         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
44537         stat-macros.h is now for our own macros, whereas stat_h is for
44538         macros in the <sys/stat.h> name space.
44539         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
44540         (STAT_MACROS_H): Remove.
44541         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
44542         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
44543         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
44544         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
44545         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
44546         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
44547         Move these macros to ...
44548         * lib/stat_.h: here.  Don't include stat-macros.h.
44549         * lib/canonicalize.c: Don't include stat-macros.h.
44550         * lib/chown.c: Likewise.
44551         * lib/euidaccess.c: Likewise.
44552         * lib/file-type.c: Likewise.
44553         * lib/filemode.c: Likewise.
44554         * lib/glob.c: Likewise.
44555         * lib/isapipe.c: Likewise.
44556         * lib/lchown.c: Likewise.
44557         * lib/lstat.c: Likewise.
44558         * lib/mkdir-p.c: Likewise.
44559         * lib/rmdir.c: Likewise.
44560         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
44561         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
44562         unless mkdir isn't declared, to speed up 'configure'.
44563         Always create sys/stat.h, since it's unlikely any real sys/stat.h
44564         would define all the S_* symbols.
44565         * modules/canonicalize (Depends-on):
44566         Depend on sys_stat, not stat-macros.
44567         * modules/chown: Likewise.
44568         * modules/euidaccess: Likewise.
44569         * modules/filemode: Likewise.
44570         * modules/file-type: Likewise.
44571         * modules/glob: Likewise.
44572         * modules/isapipe: Likewise.
44573         * modules/lchown: Likewise.
44574         * modules/lstat: Likewise.
44575         * modules/mkancesdirs: Likewise.
44576         * modules/rmdir: Likewise.
44577         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
44578         * modules/modechange: Likewise.
44579         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
44580         (configure.ac): Remove gl_STAT_MACROS.
44581         * modules/sys_stat (Depends-on): Remove stat-macros.
44582
44583 2006-10-27  Bruno Haible  <bruno@clisp.org>
44584
44585         * m4/signed.m4: Remove file.
44586         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
44587         invocation.
44588         * modules/vasnprintf (Files): Remove m4/signed.m4.
44589
44590 2006-10-27  Bruno Haible  <bruno@clisp.org>
44591
44592         Update to GNU gettext 0.16.
44593         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
44594         m4/inttypes-h.m4, m4/signed.m4.
44595         * m4/gettext.m4: Update to GNU gettext 0.16.
44596         * m4/intl.m4: New file, from GNU gettext.
44597         * m4/intldir.m4: New file, from GNU gettext.
44598         * config/srclist.txt: Update
44599
44600 2006-10-27  Eric Blake  <ebb9@byu.net>
44601
44602         * MODULES.html.sh: Document tempname.
44603         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
44604         dependencies.
44605         (Files): Move lib/tempname.c...
44606         * modules/tempname: ...to this new module.
44607         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
44608         (gl_PREREQ_TEMPNAME): Move...
44609         * m4/tempname.m4: ...to this new file.
44610         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
44611         * modules/sys_stat (Depends-on): Add stat-macros.
44612         * lib/stat_.h (includes): Pick up stat macros.
44613         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
44614         if stat macros are broken.
44615         * lib/tempname.c (includes): No need to include "stat-macros.h".
44616         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
44617         (direxists, __path_search) [!_LIBC]: Don't compile these in
44618         gnulib; the tmpdir module covers that.
44619         * lib/tempname.h: New file.
44620
44621 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
44622
44623         * COPYING: Explain how gnulib-tool converts licence headers.
44624         Almost all wording by Eric Blake.
44625
44626 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
44627
44628         * lib/mbchar.h (is_basic_table): Make read-only.
44629         * lib/mbchar.c (is_basic_table): Likewise.
44630         Reported by John Darrington.
44631
44632 2006-10-25  Bruno Haible  <bruno@clisp.org>
44633
44634         * lib/progname.h (set_program_name): Undefine before defining.
44635
44636 2006-10-25  Bruno Haible  <bruno@clisp.org>
44637
44638         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
44639         false for non-gcc C++ compilers.
44640         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
44641
44642 2006-10-24  Bruno Haible  <bruno@clisp.org>
44643
44644         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
44645         iconv implementations like Irix iconv.
44646
44647 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44648
44649         * modules/vararrays: New file.
44650         * m4/vararrays.m4: New file, taken from diffutils.
44651         * MODULES.html.sh: New module vararrays.
44652
44653 2006-10-24  Karl Berry  <karl@gnu.org>
44654
44655         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
44656         Don't call GNU Unix.
44657
44658 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44659
44660         * users.txt: Add Libtool.
44661
44662         Sync from Libtool:
44663
44664         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44665
44666         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
44667         to gnulib's policy of including config.h unconditionally.
44668
44669 2006-10-24  Bruno Haible  <bruno@clisp.org>
44670
44671         * modules/wcwidth (Files): Add m4/wint_t.m4.
44672         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
44673         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
44674
44675 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44676
44677         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
44678         to pacify GCC with some -W flags enabled.  Problem reported by
44679         Bruno Haible.
44680
44681 2006-10-24  Jim Meyering  <jim@meyering.net>
44682
44683         * MODULES.html.sh: Remove uinttostr.  It's not a module.
44684         Reported by Karl Berry.
44685
44686 2006-10-23  Bruno Haible  <bruno@clisp.org>
44687
44688         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
44689
44690 2006-10-24  Bruno Haible  <bruno@clisp.org>
44691
44692         * lib/gl_list.h: Use C comment style, not C++ comment style.
44693
44694 2006-10-23  Eric Blake  <ebb9@byu.net>
44695
44696         * lib/getaddrinfo.c (includes): Add missing include.
44697
44698 2006-10-23  Bruno Haible  <bruno@clisp.org>
44699             Paul Eggert  <eggert@cs.ucla.edu>
44700
44701         Ability to rename obstack_free.
44702         * lib/obstack.h (__obstack_free): New macro. Declare instead of
44703         obstack_free.
44704         (obstack_free): Invoke the __obstack_free macro.
44705         * lib/obstack.c (obstack_free): Use __obstack_free macro.
44706
44707 2006-10-23  Bruno Haible  <bruno@clisp.org>
44708             Paul Eggert  <eggert@cs.ucla.edu>
44709
44710         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
44711         __argc, __argv from the declaration. (They are defined as macros on
44712         mingw.)
44713
44714 2006-10-22  Bruno Haible  <bruno@clisp.org>
44715
44716         * doc/gnulib-intro.texi: New file.
44717         * doc/gnulib.texi: Include it.
44718
44719 2006-10-21  Bruno Haible  <bruno@clisp.org>
44720
44721         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
44722         "Introduction", "Miscellanous Notes", "Particular Modules".
44723
44724 2006-10-21  Bruno Haible  <bruno@clisp.org>
44725
44726         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44727         Change mostlyclean-local rule to avoid sh syntax error from bash
44728         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
44729
44730 2006-10-23  Jim Meyering  <jim@meyering.net>
44731
44732         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
44733         in place of snprintf.
44734
44735         * modules/inttostr (Files): Add lib/uinttostr.c.
44736         * lib/uinttostr.c (inttostr): New file/function.
44737         * lib/inttostr.h (uinttostr): Declare.
44738         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
44739         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
44740         Add uinttostr.
44741         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
44742
44743 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
44744
44745         * lib/canonicalize.c (ELOOP): Define if not already defined.
44746         Problem reported by Bruno Haible in
44747         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
44748
44749 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
44750
44751         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
44752         Problem reported by Perry Smith and Ville Laurikari.
44753
44754         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
44755         uses.
44756
44757 2006-10-19  Bruno Haible  <bruno@clisp.org>
44758
44759         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
44760         for mingw.
44761
44762 2006-10-19  Bruno Haible  <bruno@clisp.org>
44763
44764         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
44765         Needed for mingw.
44766
44767 2006-10-19  Bruno Haible  <bruno@clisp.org>
44768
44769         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
44770
44771 2006-10-19  Bruno Haible  <bruno@clisp.org>
44772
44773         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
44774         it.
44775
44776 2006-10-19  Bruno Haible  <bruno@clisp.org>
44777
44778         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
44779         invocation.
44780
44781 2006-10-19  Bruno Haible  <bruno@clisp.org>
44782
44783         * gnulib-tool (func_create_testdir): Don't include ftruncate and
44784         mountlist by default.
44785
44786 2006-10-16  Bruno Haible  <bruno@clisp.org>
44787
44788         * lib/c-strstr.c: Include c-strstr.h.
44789
44790 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
44791
44792         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
44793         in a slash.
44794
44795 2006-10-18  Bruno Haible  <bruno@clisp.org>
44796
44797         * lib/lock.h [C++]: Wrap definitions in extern "C".
44798
44799 2006-10-18  Bruno Haible  <bruno@clisp.org>
44800
44801         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
44802         gl_LIBOBJS list.
44803
44804 2006-10-18  Bruno Haible  <bruno@clisp.org>
44805
44806         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
44807
44808 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
44809
44810         * lib/xstrtol.h: Include gettext.h.
44811         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
44812         Problem reported by Eric Blake.
44813         * modules/xstrtol (Depends-on): Add gettext-h.
44814
44815 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
44816
44817         * lib/strftime.c (advance): New macro.
44818         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
44819         incomplete type, so you can't add 0 to it.  Problem and patch
44820         reported by Eelco Dolstra for dietlibc.
44821
44822 2006-10-18  Jim Meyering  <jim@meyering.net>
44823
44824         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
44825         type for a local, and rename it: s/up/user_proc/.
44826
44827 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
44828
44829         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
44830         READ_UTMP_USER_PROCESS.
44831         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
44832
44833 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44834
44835         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
44836         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
44837
44838 2006-10-17  Eric Blake  <ebb9@byu.net>
44839
44840         * lib/sigprocmask.c (sigprocmask): Fix typo.
44841
44842         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
44843
44844         * modules/clean-temp (Makefile.am): Don't add to make output...
44845         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
44846         config.h.
44847
44848 2006-10-17  Bruno Haible  <bruno@clisp.org>
44849
44850         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
44851         differently if DEFAULT_TEXT_DOMAIN is set.
44852
44853 2006-10-16  Bruno Haible  <bruno@clisp.org>
44854
44855         * lib/clean-temp.c: Include fwriteerror.h.
44856
44857 2006-10-16  Bruno Haible  <bruno@clisp.org>
44858
44859         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
44860
44861 2006-10-16  Bruno Haible  <bruno@clisp.org>
44862
44863         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
44864         * lib/sigprocmask.h: Include <sys/types.h>.
44865         (sigset_t): Use the system's definition if present.
44866
44867 2006-10-17  Eric Blake  <ebb9@byu.net>
44868
44869         * lib/xvasprintf.c (includes): Assume config.h.
44870         * lib/xasprintf.c (includes): Likewise.
44871
44872 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44873
44874         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
44875         at least as wide as intmax_t.
44876
44877 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
44878
44879         (Imported from Automake.)
44880         * build-aux/gnupload: Update to version 1.1 of directive file.
44881
44882 2006-10-16  Eric Blake  <ebb9@byu.net>
44883
44884         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
44885         match Automake 1.10a.
44886
44887 2006-10-14  Bruno Haible  <bruno@clisp.org>
44888
44889         * modules/sigprocmask: New file.
44890         * lib/sigprocmask.h: New file.
44891         * lib/sigprocmask.c: New file.
44892         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
44893         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
44894         request sigprocmask.o.
44895         (gl_PREREQ_SIGPROCMASK): New macro.
44896         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
44897         (Depends-on): Add sigprocmask.
44898         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
44899         gt_SIGNALBLOCKING. Test for 'raise' only once.
44900         * lib/fatal-signal.c: Include sigprocmask.h.
44901         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
44902         unblock_fatal_signals): Define always.
44903         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44904         sigprocmask.
44905
44906 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
44907
44908         Sync from Automake.
44909         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
44910         which incorrectly sets the mode of an existing destination
44911         directory.  In some cases the unpatched install-sh could do the
44912         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
44913         system.  We hope this is rare in practice, but it's clearly worth
44914         fixing.  Problem reported by Alex Unleashed in
44915         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
44916         Also, don't bother to check for -m bugs unless we're using -m;
44917         suggested by Stepan Kasal.
44918
44919 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44920
44921         Sync from Automake.
44922         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
44923         `-c' flag, so they appear at the same position as in %FASTDEP%
44924         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
44925         which ignores unknown options only after the first non-option.
44926         Bug report against M4 by Nelson H. F. Beebe.
44927
44928 2006-10-13  Jim Meyering  <jim@meyering.net>
44929
44930         Fix a bug in yesterday's change.
44931         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
44932         p->fts_statp->st_dev would be used uninitialized.
44933         Ensures that we always call fts_stat on the very first entry.
44934         Miklos Szeredi reported that find -xdev stopped working.
44935
44936 2006-10-12  Bruno Haible  <bruno@clisp.org>
44937
44938         * gnulib-tool (func_get_automake_snippet): Append an automatically
44939         computed EXTRA_DIST augmentation.
44940         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
44941         * modules/alloca-opt (Makefile.am): Likewise.
44942         * modules/allocsa (Makefile.am): Likewise.
44943         * modules/arcfour (Makefile.am): Likewise.
44944         * modules/arctwo (Makefile.am): Likewise.
44945         * modules/argmatch (Makefile.am): Likewise.
44946         * modules/argz (Makefile.am): Likewise.
44947         * modules/atexit (Makefile.am): Likewise.
44948         * modules/backupfile (Makefile.am): Likewise.
44949         * modules/byteswap (Makefile.am): Likewise.
44950         * modules/c-strtod (Makefile.am): Likewise.
44951         * modules/c-strtold (Makefile.am): Likewise.
44952         * modules/calloc (Makefile.am): Likewise.
44953         * modules/canon-host (Makefile.am): Likewise.
44954         * modules/canonicalize (Makefile.am): Likewise.
44955         * modules/chdir-long (Makefile.am): Likewise.
44956         * modules/chdir-safer (Makefile.am): Likewise.
44957         * modules/check-version (Makefile.am): Likewise.
44958         * modules/chown (Makefile.am): Likewise.
44959         * modules/cloexec (Makefile.am): Likewise.
44960         * modules/close-stream (Makefile.am): Likewise.
44961         * modules/closeout (Makefile.am): Likewise.
44962         * modules/crc (Makefile.am): Likewise.
44963         * modules/csharpexec (Makefile.am): Likewise.
44964         * modules/cycle-check (Makefile.am): Likewise.
44965         * modules/des (Makefile.am): Likewise.
44966         * modules/dev-ino (Makefile.am): Likewise.
44967         * modules/dirfd (Makefile.am): Likewise.
44968         * modules/dirname (Makefile.am): Likewise.
44969         * modules/dup2 (Makefile.am): Likewise.
44970         * modules/eealloc (Makefile.am): Likewise.
44971         * modules/error (Makefile.am): Likewise.
44972         * modules/euidaccess (Makefile.am): Likewise.
44973         * modules/exclude (Makefile.am): Likewise.
44974         * modules/exitfail (Makefile.am): Likewise.
44975         * modules/fcntl-safer (Makefile.am): Likewise.
44976         * modules/fcntl (Makefile.am): Likewise.
44977         * modules/file-type (Makefile.am): Likewise.
44978         * modules/fileblocks (Makefile.am): Likewise.
44979         * modules/filemode (Makefile.am): Likewise.
44980         * modules/filenamecat (Makefile.am): Likewise.
44981         * modules/fnmatch (Makefile.am): Likewise.
44982         * modules/fopen-safer (Makefile.am): Likewise.
44983         * modules/fpending (Makefile.am): Likewise.
44984         * modules/fprintftime (Makefile.am): Likewise.
44985         * modules/free (Makefile.am): Likewise.
44986         * modules/fsusage (Makefile.am): Likewise.
44987         * modules/ftruncate (Makefile.am): Likewise.
44988         * modules/fts (Makefile.am): Likewise.
44989         * modules/gc-arcfour (Makefile.am): Likewise.
44990         * modules/gc-des (Makefile.am): Likewise.
44991         * modules/gc-hmac-md5 (Makefile.am): Likewise.
44992         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
44993         * modules/gc-md4 (Makefile.am): Likewise.
44994         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
44995         * modules/gc-sha1 (Makefile.am): Likewise.
44996         * modules/gc (Makefile.am): Likewise.
44997         * modules/getaddrinfo (Makefile.am): Likewise.
44998         * modules/getcwd (Makefile.am): Likewise.
44999         * modules/getdelim (Makefile.am): Likewise.
45000         * modules/getdomainname (Makefile.am): Likewise.
45001         * modules/getgroups (Makefile.am): Likewise.
45002         * modules/gethostname (Makefile.am): Likewise.
45003         * modules/gethrxtime (Makefile.am): Likewise.
45004         * modules/getline (Makefile.am): Likewise.
45005         * modules/getloadavg (Makefile.am): Likewise.
45006         * modules/getlogin_r (Makefile.am): Likewise.
45007         * modules/getndelim2 (Makefile.am): Likewise.
45008         * modules/getopt (Makefile.am): Likewise.
45009         * modules/getpagesize (Makefile.am): Likewise.
45010         * modules/getpass-gnu (Makefile.am): Likewise.
45011         * modules/getpass (Makefile.am): Likewise.
45012         * modules/getsubopt (Makefile.am): Likewise.
45013         * modules/gettime (Makefile.am): Likewise.
45014         * modules/gettimeofday (Makefile.am): Likewise.
45015         * modules/getugroups (Makefile.am): Likewise.
45016         * modules/getusershell (Makefile.am): Likewise.
45017         * modules/glob (Makefile.am): Likewise.
45018         * modules/group-member (Makefile.am): Likewise.
45019         * modules/hard-locale (Makefile.am): Likewise.
45020         * modules/hash (Makefile.am): Likewise.
45021         * modules/hmac-md5 (Makefile.am): Likewise.
45022         * modules/hmac-sha1 (Makefile.am): Likewise.
45023         * modules/human (Makefile.am): Likewise.
45024         * modules/idcache (Makefile.am): Likewise.
45025         * modules/imaxabs (Makefile.am): Likewise.
45026         * modules/imaxdiv (Makefile.am): Likewise.
45027         * modules/inet_ntop (Makefile.am): Likewise.
45028         * modules/inet_pton (Makefile.am): Likewise.
45029         * modules/intprops (Makefile.am): Likewise.
45030         * modules/inttostr (Makefile.am): Likewise.
45031         * modules/inttypes (Makefile.am): Likewise.
45032         * modules/isapipe (Makefile.am): Likewise.
45033         * modules/javaversion (Makefile.am): Likewise.
45034         * modules/lchmod (Makefile.am): Likewise.
45035         * modules/lchown (Makefile.am): Likewise.
45036         * modules/localcharset (Makefile.am): Likewise.
45037         * modules/long-options (Makefile.am): Likewise.
45038         * modules/lstat (Makefile.am): Likewise.
45039         * modules/malloc (Makefile.am): Likewise.
45040         * modules/mathl (Makefile.am): Likewise.
45041         * modules/mbchar (Makefile.am): Likewise.
45042         * modules/md2 (Makefile.am): Likewise.
45043         * modules/md4 (Makefile.am): Likewise.
45044         * modules/md5 (Makefile.am): Likewise.
45045         * modules/memcasecmp (Makefile.am): Likewise.
45046         * modules/memchr (Makefile.am): Likewise.
45047         * modules/memcmp (Makefile.am): Likewise.
45048         * modules/memcoll (Makefile.am): Likewise.
45049         * modules/memcpy (Makefile.am): Likewise.
45050         * modules/memmem (Makefile.am): Likewise.
45051         * modules/memmove (Makefile.am): Likewise.
45052         * modules/mempcpy (Makefile.am): Likewise.
45053         * modules/memrchr (Makefile.am): Likewise.
45054         * modules/memset (Makefile.am): Likewise.
45055         * modules/memxor (Makefile.am): Likewise.
45056         * modules/mkancesdirs (Makefile.am): Likewise.
45057         * modules/mkdir-p (Makefile.am): Likewise.
45058         * modules/mkdir (Makefile.am): Likewise.
45059         * modules/mkdtemp (Makefile.am): Likewise.
45060         * modules/mkstemp (Makefile.am): Likewise.
45061         * modules/mktime (Makefile.am): Likewise.
45062         * modules/modechange (Makefile.am): Likewise.
45063         * modules/mountlist (Makefile.am): Likewise.
45064         * modules/nanosleep (Makefile.am): Likewise.
45065         * modules/obstack (Makefile.am): Likewise.
45066         * modules/openat (Makefile.am): Likewise.
45067         * modules/pagealign_alloc (Makefile.am): Likewise.
45068         * modules/pathmax (Makefile.am): Likewise.
45069         * modules/physmem (Makefile.am): Likewise.
45070         * modules/poll (Makefile.am): Likewise.
45071         * modules/posixtm (Makefile.am): Likewise.
45072         * modules/posixver (Makefile.am): Likewise.
45073         * modules/putenv (Makefile.am): Likewise.
45074         * modules/quote (Makefile.am): Likewise.
45075         * modules/quotearg (Makefile.am): Likewise.
45076         * modules/raise (Makefile.am): Likewise.
45077         * modules/read-file (Makefile.am): Likewise.
45078         * modules/readline (Makefile.am): Likewise.
45079         * modules/readlink (Makefile.am): Likewise.
45080         * modules/readtokens (Makefile.am): Likewise.
45081         * modules/readutmp (Makefile.am): Likewise.
45082         * modules/realloc (Makefile.am): Likewise.
45083         * modules/regex (Makefile.am): Likewise.
45084         * modules/rename-dest-slash (Makefile.am): Likewise.
45085         * modules/rename (Makefile.am): Likewise.
45086         * modules/rijndael (Makefile.am): Likewise.
45087         * modules/rmdir (Makefile.am): Likewise.
45088         * modules/rpmatch (Makefile.am): Likewise.
45089         * modules/safe-read (Makefile.am): Likewise.
45090         * modules/safe-write (Makefile.am): Likewise.
45091         * modules/same-inode (Makefile.am): Likewise.
45092         * modules/same (Makefile.am): Likewise.
45093         * modules/save-cwd (Makefile.am): Likewise.
45094         * modules/savedir (Makefile.am): Likewise.
45095         * modules/setenv (Makefile.am): Likewise.
45096         * modules/settime (Makefile.am): Likewise.
45097         * modules/sha1 (Makefile.am): Likewise.
45098         * modules/sig2str (Makefile.am): Likewise.
45099         * modules/snprintf (Makefile.am): Likewise.
45100         * modules/stat-macros (Makefile.am): Likewise.
45101         * modules/stat-time (Makefile.am): Likewise.
45102         * modules/stdbool (Makefile.am): Likewise.
45103         * modules/stdint (Makefile.am): Likewise.
45104         * modules/stdlib-safer (Makefile.am): Likewise.
45105         * modules/stpcpy (Makefile.am): Likewise.
45106         * modules/stpncpy (Makefile.am): Likewise.
45107         * modules/strcase (Makefile.am): Likewise.
45108         * modules/strcasestr (Makefile.am): Likewise.
45109         * modules/strchrnul (Makefile.am): Likewise.
45110         * modules/strcspn (Makefile.am): Likewise.
45111         * modules/strdup (Makefile.am): Likewise.
45112         * modules/strerror (Makefile.am): Likewise.
45113         * modules/strftime (Makefile.am): Likewise.
45114         * modules/strndup (Makefile.am): Likewise.
45115         * modules/strnlen (Makefile.am): Likewise.
45116         * modules/strpbrk (Makefile.am): Likewise.
45117         * modules/strsep (Makefile.am): Likewise.
45118         * modules/strstr (Makefile.am): Likewise.
45119         * modules/strtod (Makefile.am): Likewise.
45120         * modules/strtoimax (Makefile.am): Likewise.
45121         * modules/strtok_r (Makefile.am): Likewise.
45122         * modules/strtol (Makefile.am): Likewise.
45123         * modules/strtoll (Makefile.am): Likewise.
45124         * modules/strtoul (Makefile.am): Likewise.
45125         * modules/strtoull (Makefile.am): Likewise.
45126         * modules/strtoumax (Makefile.am): Likewise.
45127         * modules/strverscmp (Makefile.am): Likewise.
45128         * modules/sys_socket (Makefile.am): Likewise.
45129         * modules/sys_stat (Makefile.am): Likewise.
45130         * modules/sysexits (Makefile.am): Likewise.
45131         * modules/time_r (Makefile.am): Likewise.
45132         * modules/timegm (Makefile.am): Likewise.
45133         * modules/timespec (Makefile.am): Likewise.
45134         * modules/tmpfile-safer (Makefile.am): Likewise.
45135         * modules/trim (Makefile.am): Likewise.
45136         * modules/unistd-safer (Makefile.am): Likewise.
45137         * modules/unlinkdir (Makefile.am): Likewise.
45138         * modules/unlocked-io (Makefile.am): Likewise.
45139         * modules/userspec (Makefile.am): Likewise.
45140         * modules/utime (Makefile.am): Likewise.
45141         * modules/utimecmp (Makefile.am): Likewise.
45142         * modules/utimens (Makefile.am): Likewise.
45143         * modules/vasnprintf (Makefile.am): Likewise.
45144         * modules/vasprintf (Makefile.am): Likewise.
45145         * modules/vsnprintf (Makefile.am): Likewise.
45146         * modules/xalloc (Makefile.am): Likewise.
45147         * modules/xgetcwd (Makefile.am): Likewise.
45148         * modules/xnanosleep (Makefile.am): Likewise.
45149         * modules/xreadlink (Makefile.am): Likewise.
45150         * modules/xstrtod (Makefile.am): Likewise.
45151         * modules/xstrtol (Makefile.am): Likewise.
45152         * modules/xstrtold (Makefile.am): Likewise.
45153         * modules/yesno (Makefile.am): Likewise.
45154         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
45155
45156 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45157
45158         * modules/error (Makefile.am): Distribute files through
45159         EXTRA_DIST, not lib_SOURCES.
45160
45161 2006-10-12  Eric Blake  <ebb9@byu.net>
45162
45163         * modules/error (Makefile.am): Distribute files in /lib.
45164         * modules/obstack (Makefile.am): Likewise.
45165
45166 2006-10-12  Bruno Haible  <bruno@clisp.org>
45167
45168         * modules/acl (Makefile.am): Distribute all files in lib/ through
45169         EXTRA_DIST.
45170         * modules/arcfour (Makefile.am): Likewise.
45171         * modules/arctwo (Makefile.am): Likewise.
45172         * modules/argmatch (Makefile.am): Likewise.
45173         * modules/argz (Makefile.am): Likewise.
45174         * modules/atexit (Makefile.am): Likewise.
45175         * modules/backupfile (Makefile.am): Likewise.
45176         * modules/c-strtod (Makefile.am): Likewise.
45177         * modules/c-strtold (Makefile.am): Likewise.
45178         * modules/calloc (Makefile.am): Likewise.
45179         * modules/canon-host (Makefile.am): Likewise.
45180         * modules/canonicalize (Makefile.am): Likewise.
45181         * modules/chdir-long (Makefile.am): Likewise.
45182         * modules/chdir-safer (Makefile.am): Likewise.
45183         * modules/check-version (Makefile.am): Likewise.
45184         * modules/chown (Makefile.am): Likewise.
45185         * modules/cloexec (Makefile.am): Likewise.
45186         * modules/close-stream (Makefile.am): Likewise.
45187         * modules/closeout (Makefile.am): Likewise.
45188         * modules/crc (Makefile.am): Likewise.
45189         * modules/cycle-check (Makefile.am): Likewise.
45190         * modules/des (Makefile.am): Likewise.
45191         * modules/dirfd (Makefile.am): Likewise.
45192         * modules/dirname (Makefile.am): Likewise.
45193         * modules/dup2 (Makefile.am): Likewise.
45194         * modules/euidaccess (Makefile.am): Likewise.
45195         * modules/exclude (Makefile.am): Likewise.
45196         * modules/exitfail (Makefile.am): Likewise.
45197         * modules/fcntl-safer (Makefile.am): Likewise.
45198         * modules/file-type (Makefile.am): Likewise.
45199         * modules/fileblocks (Makefile.am): Likewise.
45200         * modules/filemode (Makefile.am): Likewise.
45201         * modules/filenamecat (Makefile.am): Likewise.
45202         * modules/fnmatch (Makefile.am): Likewise.
45203         * modules/fopen-safer (Makefile.am): Likewise.
45204         * modules/fpending (Makefile.am): Likewise.
45205         * modules/fprintftime (Makefile.am): Likewise.
45206         * modules/free (Makefile.am): Likewise.
45207         * modules/fsusage (Makefile.am): Likewise.
45208         * modules/ftruncate (Makefile.am): Likewise.
45209         * modules/fts (Makefile.am): Likewise.
45210         * modules/gc (Makefile.am): Likewise.
45211         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45212         * modules/getaddrinfo (Makefile.am): Likewise.
45213         * modules/getcwd (Makefile.am): Likewise.
45214         * modules/getdelim (Makefile.am): Likewise.
45215         * modules/getdomainname (Makefile.am): Likewise.
45216         * modules/getgroups (Makefile.am): Likewise.
45217         * modules/gethostname (Makefile.am): Likewise.
45218         * modules/gethrxtime (Makefile.am): Likewise.
45219         * modules/getline (Makefile.am): Likewise.
45220         * modules/getloadavg (Makefile.am): Likewise.
45221         * modules/getlogin_r (Makefile.am): Likewise.
45222         * modules/getopt (Makefile.am): Likewise.
45223         * modules/getpass (Makefile.am): Likewise.
45224         * modules/getpass-gnu (Makefile.am): Likewise.
45225         * modules/getsubopt (Makefile.am): Likewise.
45226         * modules/gettime (Makefile.am): Likewise.
45227         * modules/gettimeofday (Makefile.am): Likewise.
45228         * modules/getugroups (Makefile.am): Likewise.
45229         * modules/getusershell (Makefile.am): Likewise.
45230         * modules/glob (Makefile.am): Likewise.
45231         * modules/group-member (Makefile.am): Likewise.
45232         * modules/hard-locale (Makefile.am): Likewise.
45233         * modules/hash (Makefile.am): Likewise.
45234         * modules/hmac-md5 (Makefile.am): Likewise.
45235         * modules/hmac-sha1 (Makefile.am): Likewise.
45236         * modules/human (Makefile.am): Likewise.
45237         * modules/idcache (Makefile.am): Likewise.
45238         * modules/imaxabs (Makefile.am): Likewise.
45239         * modules/imaxdiv (Makefile.am): Likewise.
45240         * modules/inet_ntop (Makefile.am): Likewise.
45241         * modules/inet_pton (Makefile.am): Likewise.
45242         * modules/inttostr (Makefile.am): Likewise.
45243         * modules/isapipe (Makefile.am): Likewise.
45244         * modules/lchown (Makefile.am): Likewise.
45245         * modules/long-options (Makefile.am): Likewise.
45246         * modules/lstat (Makefile.am): Likewise.
45247         * modules/malloc (Makefile.am): Likewise.
45248         * modules/mathl (Makefile.am): Likewise.
45249         * modules/mbchar (Makefile.am): Likewise.
45250         * modules/md2 (Makefile.am): Likewise.
45251         * modules/md4 (Makefile.am): Likewise.
45252         * modules/md5 (Makefile.am): Likewise.
45253         * modules/memcasecmp (Makefile.am): Likewise.
45254         * modules/memchr (Makefile.am): Likewise.
45255         * modules/memcmp (Makefile.am): Likewise.
45256         * modules/memcoll (Makefile.am): Likewise.
45257         * modules/memcpy (Makefile.am): Likewise.
45258         * modules/memmem (Makefile.am): Likewise.
45259         * modules/memmove (Makefile.am): Likewise.
45260         * modules/mempcpy (Makefile.am): Likewise.
45261         * modules/memrchr (Makefile.am): Likewise.
45262         * modules/memset (Makefile.am): Likewise.
45263         * modules/memxor (Makefile.am): Likewise.
45264         * modules/mkancesdirs (Makefile.am): Likewise.
45265         * modules/mkdir (Makefile.am): Likewise.
45266         * modules/mkdir-p (Makefile.am): Likewise.
45267         * modules/mkdtemp (Makefile.am): Likewise.
45268         * modules/mkstemp (Makefile.am): Likewise.
45269         * modules/mktime (Makefile.am): Likewise.
45270         * modules/modechange (Makefile.am): Likewise.
45271         * modules/mountlist (Makefile.am): Likewise.
45272         * modules/nanosleep (Makefile.am): Likewise.
45273         * modules/openat (Makefile.am): Likewise.
45274         * modules/pagealign_alloc (Makefile.am): Likewise.
45275         * modules/physmem (Makefile.am): Likewise.
45276         * modules/poll (Makefile.am): Likewise.
45277         * modules/posixtm (Makefile.am): Likewise.
45278         * modules/posixver (Makefile.am): Likewise.
45279         * modules/putenv (Makefile.am): Likewise.
45280         * modules/quote (Makefile.am): Likewise.
45281         * modules/quotearg (Makefile.am): Likewise.
45282         * modules/raise (Makefile.am): Likewise.
45283         * modules/read-file (Makefile.am): Likewise.
45284         * modules/readline (Makefile.am): Likewise.
45285         * modules/readlink (Makefile.am): Likewise.
45286         * modules/readtokens (Makefile.am): Likewise.
45287         * modules/readutmp (Makefile.am): Likewise.
45288         * modules/realloc (Makefile.am): Likewise.
45289         * modules/regex (Makefile.am): Likewise.
45290         * modules/rename (Makefile.am): Likewise.
45291         * modules/rename-dest-slash (Makefile.am): Likewise.
45292         * modules/rijndael (Makefile.am): Likewise.
45293         * modules/rmdir (Makefile.am): Likewise.
45294         * modules/rpmatch (Makefile.am): Likewise.
45295         * modules/safe-read (Makefile.am): Likewise.
45296         * modules/safe-write (Makefile.am): Likewise.
45297         * modules/same (Makefile.am): Likewise.
45298         * modules/save-cwd (Makefile.am): Likewise.
45299         * modules/savedir (Makefile.am): Likewise.
45300         * modules/setenv (Makefile.am): Likewise.
45301         * modules/settime (Makefile.am): Likewise.
45302         * modules/sha1 (Makefile.am): Likewise.
45303         * modules/sig2str (Makefile.am): Likewise.
45304         * modules/snprintf (Makefile.am): Likewise.
45305         * modules/stdlib-safer (Makefile.am): Likewise.
45306         * modules/stpcpy (Makefile.am): Likewise.
45307         * modules/stpncpy (Makefile.am): Likewise.
45308         * modules/strcase (Makefile.am): Likewise.
45309         * modules/strcasestr (Makefile.am): Likewise.
45310         * modules/strchrnul (Makefile.am): Likewise.
45311         * modules/strcspn (Makefile.am): Likewise.
45312         * modules/strdup (Makefile.am): Likewise.
45313         * modules/strerror (Makefile.am): Likewise.
45314         * modules/strftime (Makefile.am): Likewise.
45315         * modules/strndup (Makefile.am): Likewise.
45316         * modules/strnlen (Makefile.am): Likewise.
45317         * modules/strpbrk (Makefile.am): Likewise.
45318         * modules/strsep (Makefile.am): Likewise.
45319         * modules/strstr (Makefile.am): Likewise.
45320         * modules/strtod (Makefile.am): Likewise.
45321         * modules/strtoimax (Makefile.am): Likewise.
45322         * modules/strtok_r (Makefile.am): Likewise.
45323         * modules/strtol (Makefile.am): Likewise.
45324         * modules/strtoll (Makefile.am): Likewise.
45325         * modules/strtoul (Makefile.am): Likewise.
45326         * modules/strtoull (Makefile.am): Likewise.
45327         * modules/strtoumax (Makefile.am): Likewise.
45328         * modules/strverscmp (Makefile.am): Likewise.
45329         * modules/time_r (Makefile.am): Likewise.
45330         * modules/timegm (Makefile.am): Likewise.
45331         * modules/tmpfile-safer (Makefile.am): Likewise.
45332         * modules/unistd-safer (Makefile.am): Likewise.
45333         * modules/unlinkdir (Makefile.am): Likewise.
45334         * modules/userspec (Makefile.am): Likewise.
45335         * modules/utime (Makefile.am): Likewise.
45336         * modules/utimecmp (Makefile.am): Likewise.
45337         * modules/utimens (Makefile.am): Likewise.
45338         * modules/vasnprintf (Makefile.am): Likewise.
45339         * modules/vasprintf (Makefile.am): Likewise.
45340         * modules/vsnprintf (Makefile.am): Likewise.
45341         * modules/xalloc (Makefile.am): Likewise.
45342         * modules/xgetcwd (Makefile.am): Likewise.
45343         * modules/xnanosleep (Makefile.am): Likewise.
45344         * modules/xreadlink (Makefile.am): Likewise.
45345         * modules/xstrtod (Makefile.am): Likewise.
45346         * modules/xstrtol (Makefile.am): Likewise.
45347         * modules/xstrtold (Makefile.am): Likewise.
45348         * modules/yesno (Makefile.am): Likewise.
45349
45350 2006-10-12  Jim Meyering  <jim@meyering.net>
45351
45352         * m4/getloadavg.m4: Revert the change below.
45353
45354         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
45355         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
45356         fail with a symlink, which is what coreutils' ./bootstrap now
45357         creates by default.
45358
45359 2006-10-12  Bruno Haible  <bruno@clisp.org>
45360
45361         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
45362         mingw.
45363         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
45364         MSVC and mingw explicitly.
45365
45366 2006-10-11  Simon Josefsson  <jas@extundo.com>
45367             Bruno Haible  <bruno@clisp.org>
45368
45369         Add support for multiple gnulib-tool invocations in the scope of a
45370         single configure.ac file.
45371         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
45372         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
45373         with the same contents as the _LIBADD variable.
45374         (func_emit_initmacro_start, func_emit_initmacro_end,
45375         func_emit_initmacro_done): New functions.
45376         (func_import, func_create_testdir): Invoke them. Allow the identifiers
45377         gl_LIBOBJS and gl_LTLIBOBJS.
45378
45379 2006-10-11  Bruno Haible  <bruno@clisp.org>
45380
45381         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
45382         (func_create_testdir): Don't create po/Makefile.am, don't invoke
45383         autoreconf. Instead, invoke autopoint explicitly but move back the
45384         *.m4 files from gnulib.
45385
45386 2006-10-11  Bruno Haible  <bruno@clisp.org>
45387
45388         * gnulib-tool (func_usage): Make module names after --create-testdir
45389         optional.
45390         (func_create_testdir): If no module was specified, use nearly all
45391         modules.
45392
45393 2006-10-12  Jim Meyering  <jim@meyering.net>
45394
45395         Big performance improvement for fts-based tools that use FTS_NOSTAT.
45396         Avoid spurious inode-mismatch problems on non-POSIX file systems.
45397         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
45398         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
45399         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
45400         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
45401         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
45402         (fts_set_stat_required): New function.
45403         (fts_open): Defer the calls to fts_stat, if possible or requested.
45404         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
45405         into fts_stat itself.
45406         (fts_read): Perform any required (deferred) fts_stat call.
45407         (fts_build): Likewise, for the directory we're about to open and read.
45408         In the readdir loop, carefully decide whether each entry will require
45409         an eventual call to fts_stat, using dirent.d_type info if available.
45410         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
45411         a command line argument into this function.  Update all callers.
45412         Map a return value of FTS_DOT to FTS_D for a command line argument.
45413         * modules/fts (Depends-on): Add d-type.  Alphabetize.
45414         Thanks to Miklos Szeredi for his tenacity and for the initial
45415         bug report about "find" failing on a FUSE-based file system.
45416
45417         * lib/fts.c (fts_open): Use consistent indentation.
45418
45419 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45420
45421         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
45422         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
45423         reported by Jim Meyering.  All uses of cache variables renamed
45424         to match Autoconf's.
45425         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
45426         the other one.
45427
45428         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45429         Fix misspelling in diagnostic.
45430
45431 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45432
45433         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
45434         defined.  Problem reported by Matthew Woehlke.
45435
45436         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
45437         Add support for Tandem NonStop R series.
45438         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
45439         Use new macro.
45440
45441         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
45442         (has_trailing_slash): Omit size arg; all callers changed.
45443         Omit 'inline', since it doesn't help performance and we'd
45444         need to configure it.
45445         Don't count //, ///, etc. as having a trailing slash.
45446         As a side effect, this removes a C99ism reported by Matthew Woehlke.
45447         (rpl_rename_dest_slash): On failure, use rename's errno rather
45448         than (in some cases) an incorrect or junk errno.
45449         Simplify code by removing need to compute length; this does
45450         cause it to make two passes instead of one over the file name,
45451         but it's worth it.
45452
45453         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
45454         change, since Autoconf's version may no longer be appropriate now
45455         that we are using CVS Autoconf's version.  Add support for Tandem.
45456
45457 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45458             Bruno Haible  <bruno@clisp.org>
45459
45460         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
45461         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
45462         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
45463         gl_AC_TYPE_LONG_LONG.
45464
45465         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
45466         instead of HAVE_LONG_LONG.
45467         * lib/printf-args.c (printf_fetchargs): Likewise.
45468         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
45469         * lib/vasnprintf.c (VASNPRINTF): Likewise.
45470         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
45471         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
45472         gl_AC_TYPE_LONG_LONG.
45473
45474 2006-10-11  Bruno Haible  <bruno@clisp.org>
45475
45476         * m4/longlong.m4: Add comments.
45477         * m4/ulonglong.m4: Likewise.
45478
45479 2006-10-10  Bruno Haible  <bruno@clisp.org>
45480
45481         Make it possible to #define stpcpy, strdup to aliases.
45482         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
45483         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
45484
45485 2006-10-10  Bruno Haible  <bruno@clisp.org>
45486
45487         Make it possible to #define gcd to an alias.
45488         * lib/gcd.c: Include config.h.
45489
45490 2006-10-10  Bruno Haible  <bruno@clisp.org>
45491
45492         Make it possible to #define c_isascii to an alias.
45493         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
45494         defined. Undefine the macros before defining them, to avoid gcc
45495         warnings.
45496         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
45497         define NO_C_CTYPE_MACROS early.
45498
45499 2006-10-10  Bruno Haible  <bruno@clisp.org>
45500
45501         Make it possible to #define set_program_name to an alias.
45502         * lib/progname.c: Don't undefine set_program_name; instead, undefine
45503         ENABLE_RELOCATABLE early.
45504
45505 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45506
45507         Port to Tandem NSK OSS, which has 64-bit signed int but at most
45508         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
45509         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
45510         More generally, don't assume that 64-bit signed int is available
45511         if unsigned int is, and vice versa.
45512         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
45513         unsigned symbols, not on their signed counterparts.
45514         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
45515         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
45516         (UINT64_C, UINTMAX_C):
45517         Likewise.
45518         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
45519         unsigned counterparts.
45520         (Have_long_long, Unsigned): New macros.
45521         (Int): Renamed from INT.
45522         (strtoimax): Use the new macros.
45523         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
45524         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
45525         * modules/inttypes (inttypes.h): Substitute
45526         HAVE_UNSIGNED_LONG_LONG_INT.
45527         * modules/stdint (stdint.h): Likewise.
45528         (Files): Add m4/ulonglong.m4.
45529
45530 2006-10-10  Bruno Haible  <bruno@clisp.org>
45531
45532         Fix a gcc -Wshadow warning.
45533         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
45534         to 'bucket'.
45535         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
45536         gl_linked_indexof_from_to): Likewise.
45537         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
45538         Likewise.
45539         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
45540         Likewise.
45541         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
45542         Reported by Eric Blake.
45543
45544 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
45545
45546         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
45547         for NetBSD.  Problem reported by Bruno Haible.
45548
45549 2006-10-09  Jim Meyering  <jim@meyering.net>
45550
45551         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
45552         Patch from Bruno Haible.
45553
45554 2006-10-09  Jim Meyering  <jim@meyering.net>
45555
45556         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
45557         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
45558         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
45559
45560 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45561
45562         Don't include <config.h> twice; this doesn't work in some cases,
45563         e.g., when config.h has "#define intmax_t long long int" and
45564         we include <config.h>, <inttypes.h>, <config.h> in that order.
45565         Problem reported by Matthew Woehlke in:
45566         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
45567         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
45568         * lib/fts-cycle.c: Don't include config.h.
45569         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
45570         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
45571         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
45572         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
45573         inttypes.h.
45574         * lib/xstrtoumax.c: Likewise.
45575         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
45576         __strtol and the like, so that this module is more like its siblings.
45577         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
45578         Remove; no longer needed now that we assume gnulib inttypes.h.
45579
45580 2006-10-08  Bruno Haible  <bruno@clisp.org>
45581
45582         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
45583         option.
45584
45585 2006-10-07  Jim Meyering  <jim@meyering.net>
45586
45587         * modules/inttypes (inttypes.h): Revert what seems to have been
45588         an inadvertent part of today's change: use "|", not "/" in the
45589         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
45590
45591 2006-10-07  Bruno Haible  <bruno@clisp.org>
45592
45593         * modules/sublist: New file.
45594
45595 2006-10-07  Bruno Haible  <bruno@clisp.org>
45596
45597         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
45598         * modules/argz (argz.h): Likewise.
45599         * modules/arpa_inet (arpa/inet.h): Likewise.
45600         * modules/byteswap (byteswap.h): Likewise.
45601         * modules/configmake (configmake.h): Likewise.
45602         * modules/fcntl (fcntl.h): Likewise.
45603         * modules/fnmatch (fnmatch.h): Likewise.
45604         * modules/getopt (getopt.h): Likewise.
45605         * modules/glob (glob.h): Likewise.
45606         * modules/inttypes (inttypes.h): Likewise.
45607         * modules/netinet_in (netinet/in.h): Likewise.
45608         * modules/poll (poll.h): Likewise.
45609         * modules/stdbool (stdbool.h): Likewise.
45610         * modules/stdint (stdint.h): Likewise.
45611         * modules/sys_select (sys/select.h): Likewise.
45612         * modules/sys_socket (sys/socket.h): Likewise.
45613         * modules/sys_stat (sys/stat.h): Likewise.
45614         * modules/sysexits (sysexits.h): Likewise.
45615         * modules/unistd (unistd.h): Likewise.
45616         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45617         Add a "DO NOT EDIT" comment to the generated file.
45618         (func_import): Likewise for gnulib-comp.m4.
45619
45620 2006-10-07  Bruno Haible  <bruno@clisp.org>
45621
45622         * lib/gl_sublist.h: New file.
45623         * lib/gl_sublist.c: New file.
45624
45625 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
45626
45627         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
45628         name (relative to the original working directory) and the file
45629         name component (relative to the temporary working directory).  All
45630         callers changed.
45631         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
45632         * lib/mkdir-p.c (make_dir_parents): Likewise.
45633         * lib/mkdir-p.h (make_dir_parents): Likewise.
45634
45635 2006-10-06  Eric Blake  <ebb9@byu.net>
45636
45637         Define several macros for use by the clean-temp module.
45638         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
45639         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
45640         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
45641
45642         * lib/clean-temp.h (close_stream_temp): New declaration.
45643         * lib/clean-temp.c (includes): Pull in headers according to what
45644         other modules are in use.
45645         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
45646
45647 2006-10-06  Bruno Haible  <bruno@clisp.org>
45648
45649         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
45650         instead of fopen, fwriteerror.
45651
45652 2006-10-06  Bruno Haible  <bruno@clisp.org>
45653
45654         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
45655         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
45656         int.
45657         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
45658         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
45659         Return an error indicator.
45660         Suggested by Eric Blake.
45661
45662 2006-10-06  Bruno Haible  <bruno@clisp.org>
45663
45664         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
45665         Reported by Eric Blake.
45666
45667 2006-10-06  Bruno Haible  <bruno@clisp.org>
45668
45669         * modules/closeout (Description): Mention stderr too.
45670
45671 2006-10-06  Bruno Haible  <bruno@clisp.org>
45672         and Paul Eggert  <eggert@cs.ucla.edu>
45673
45674         * lib/closeout.c (close_stdout): Also close stderr.
45675         * lib/closeout.h: Update comment.
45676
45677 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
45678
45679         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
45680         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
45681         * lib/dirchownmod.c: Include lchown.h.
45682         * lib/lchown.c: Don't include files that lchown.h now includes.
45683         Don't declare chown, since lchown.h now does that.
45684         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
45685         (lchown): Define to rpl_chown if lchown is declared but
45686         does not exist.  Declare using a prototype if lchown is not
45687         declared.  Add a copyright notice.
45688         * lib/mkstemp.h: Include <unistd.h>.
45689         * lib/openat.c: Include lchown.h.
45690
45691         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
45692         we now test for that separately.
45693         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
45694         rather than O_NOFOLLOW, when testing whether it's possible to
45695         avoid a race condition reliably.
45696         * lib/savewd.c (savewd_chdir): Likewise.
45697
45698         Remove macros that are no longer needed now that stdint.h is
45699         reliable.
45700         * lib/fsusage.c (UINTMAX_MAX): Remove.
45701         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
45702         * lib/utimecmp.c (SIZE_MAX): Remove.
45703
45704         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
45705
45706         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
45707         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
45708         O_NOATIME works.
45709
45710 2006-10-05  Bruno Haible  <bruno@clisp.org>
45711
45712         * lib/gl_list.h (gl_sortedlist_search_from_to,
45713         gl_sortedlist_indexof_from_to): New declarations.
45714         (gl_list_implementation): New fields sortedlist_search_from_to,
45715         sortedlist_indexof_from_to.
45716         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
45717         inline functions.
45718         * lib/gl_list.c (gl_sortedlist_search_from_to,
45719         gl_sortedlist_indexof_from_to): New functions.
45720         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
45721         function.
45722         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
45723         (gl_array_sortedlist_search_from_to): New function.
45724         (gl_array_list_implementation): Update.
45725         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
45726         function.
45727         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
45728         (gl_carray_sortedlist_search_from_to): New function.
45729         (gl_carray_list_implementation): Update.
45730         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
45731         gl_linked_sortedlist_indexof_from_to): New functions.
45732         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
45733         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
45734         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
45735         gl_tree_sortedlist_indexof_from_to): New functions.
45736         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
45737         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
45738         Update.
45739         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
45740         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
45741         Update.
45742
45743 2006-10-05  Bruno Haible  <bruno@clisp.org>
45744
45745         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
45746         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
45747         (struct gl_list_implementation): Add fields search_from_to,
45748         indexof_from_to. Remove fields search, indexof.
45749         (gl_list_search): Use the search_from_to method.
45750         (gl_list_search_from, gl_list_search_from_to): New functions.
45751         (gl_list_indexof): Use the indexof_from_to method.
45752         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
45753         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
45754         (gl_list_search_from, gl_list_search_from_to): New functions.
45755         (gl_list_indexof): Use the indexof_from_to method.
45756         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
45757         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
45758         gl_array_indexof. Add start_index, end_index arguments.
45759         (gl_array_search_from_to): Renamed from gl_array_search. Add
45760         start_index, end_index arguments.
45761         (gl_array_remove, gl_array_list_implementation): Update.
45762         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
45763         gl_carray_indexof. Add start_index, end_index arguments.
45764         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
45765         start_index, end_index arguments.
45766         (gl_carray_remove, gl_carray_list_implementation): Update.
45767         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
45768         gl_linked_search. Add start_index, end_index arguments.
45769         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
45770         start_index, end_index arguments.
45771         (gl_linked_remove): Update.
45772         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
45773         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
45774         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
45775         field to 'size_t'.
45776         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
45777         gl_tree_search. Add start_index, end_index arguments.
45778         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
45779         start_index, end_index arguments.
45780         (gl_tree_remove): Update.
45781         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
45782         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
45783         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
45784         function.
45785         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
45786         gl_tree_search. Add start_index, end_index arguments.
45787         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
45788         start_index, end_index arguments.
45789         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
45790         Update.
45791         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
45792
45793 2006-10-05  Bruno Haible  <bruno@clisp.org>
45794
45795         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
45796
45797         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
45798         fwriteerror_temp): New declarations.
45799         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
45800         (descriptors): New variable.
45801         (cleanup): First, close the descriptors.
45802         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
45803         fclose_temp, fwriteerror_temp): New functions.
45804
45805 2006-10-04  Jim Meyering  <jim@meyering.net>
45806
45807         * lib/fts.c (fts_open): Tiny comment change.
45808
45809 2006-10-04  Bruno Haible  <bruno@clisp.org>
45810
45811         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
45812         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
45813         gl_LOCK_BODY.
45814         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
45815         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
45816         gl_LOCK_EARLY_BODY.
45817         (gl_LOCK): Require gl_LOCK_BODY.
45818
45819 2006-10-04  Bruno Haible  <bruno@clisp.org>
45820
45821         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
45822         (gl_oset_search_atleast): New declaration.
45823         (struct gl_oset_implementation): Add field 'search_atleast'.
45824         (gl_oset_search_atleast): New inline function.
45825         * lib/gl_oset.c (gl_oset_search_atleast): New function.
45826         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
45827         (gl_array_oset_implementation): Update.
45828         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
45829         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
45830         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
45831
45832 2006-10-04  Bruno Haible  <bruno@clisp.org>
45833
45834         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
45835
45836 2006-10-03  Bruno Haible  <bruno@clisp.org>
45837
45838         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
45839         from gl_avltreehash_list_implementation.
45840
45841 2006-10-03  Bruno Haible  <bruno@clisp.org>
45842
45843         * lib/gl_oset.c (gl_oset_add): Fix return type.
45844
45845 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
45846
45847         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
45848
45849 2006-10-02  Eric Blake  <ebb9@byu.net>
45850
45851         * modules/strnlen (Depends-on): Add extensions.
45852
45853 2006-10-02  Eric Blake  <ebb9@byu.net>
45854
45855         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
45856         definition in 2.60+.
45857
45858 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
45859
45860         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
45861         checks.
45862
45863 2006-10-02  Bruno Haible  <bruno@clisp.org>
45864
45865         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
45866         to the AUTOMAKE_OPTIONS.
45867         Reported by Jim Meyering.
45868
45869 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
45870
45871         Work around bug in Solaris 10 /proc file system:
45872         /proc/self/fd/NNN/.. isn't the parent directory of
45873         the directory whose file descriptor is NNN.  This needs to
45874         be worked around at run time, not compile time, since a
45875         program might be built on Solaris 8, where things work, and
45876         run on Solaris 10.
45877         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
45878         to use the following interface instead:
45879         (OPENAT_BUFFER_SIZE): New macro.
45880         (openat_proc_name): New function.
45881         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
45882         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
45883         Likewise.
45884         * lib/openat-proc.c: New file.
45885         * modules/openat (Files): Add lib/openat-proc.c.
45886         (Depends-on): Add same-inode, stdbool.
45887         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
45888
45889 2006-09-29  Bruno Haible  <bruno@clisp.org>
45890
45891         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
45892         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
45893         argument. Set stdout_closed before testing for ferror, not after.
45894         (fwriteerror, fwriteerror_no_ebadf): New functions.
45895
45896 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45897
45898         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
45899
45900 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
45901
45902         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
45903         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
45904
45905 2006-09-28  Jim Meyering  <jim@meyering.net>
45906
45907         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
45908         Include <unistd.h>.
45909
45910 2006-09-28  Bruno Haible  <bruno@clisp.org>
45911
45912         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
45913         * modules/linkedhash-list (Depends-on): Likewise.
45914         * modules/rbtreehash-list (Depends-on): Likewise.
45915
45916 2006-09-28  Bruno Haible  <bruno@clisp.org>
45917
45918         * lib/strndup.h: Simplify the redefinition of strndup.
45919         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
45920         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
45921
45922 2006-09-28  Bruno Haible  <bruno@clisp.org>
45923
45924         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
45925         * lib/gl_linkedhash_list.c: Likewise.
45926         * lib/gl_rbtreehash_list.c: Likewise.
45927
45928 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
45929
45930         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
45931         getaddrinfo.
45932
45933         * lib/__fpending.h: Don't include <stdio_ext.h> unless
45934         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
45935         it causes <stdio_ext.h> to cause a compile-time error.
45936         Problem reported by Nelson H. F. Beebe.
45937         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
45938         of HAVE_DECL___PENDING.
45939
45940         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
45941         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
45942         declaration.
45943
45944 2006-09-27  Jim Meyering  <jim@meyering.net>
45945
45946         This file could end up with a definition for a function
45947         named __strndup, rather than rpl_strndup on a system with
45948         incomplete weak_alias support.
45949         * lib/strndup.c (strndup): Rename from __strndup.
45950         Remove #defines that used to map __strndup to strndup.
45951         Don't use K&R prototypes.
45952         Remove LIBC-related code, since this file is not sync'd with glibc.
45953         * lib/strndup.h: Revamp, accordingly.
45954         * m4/strndup.m4: Modernize.
45955
45956 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45957
45958         * modules/savewd (Depends-on): Add 'raise'.
45959         * lib/savewd.c: Include <signal.h>, for 'raise'.
45960
45961 2006-09-26  Jim Meyering  <jim@meyering.net>
45962
45963         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
45964         when we detect Darwin 8.7.0's acl_get_file bug.
45965         Rearrange to perform the new (below) run-test while $LIBS
45966         contains any acl-related library.  Set USE_ACL at the end.
45967         (gl_ACL_GET_FILE): New function.
45968
45969 2006-09-26  Eric Blake  <ebb9@byu.net>
45970
45971         * lib/verror.c: Include <config.h> unconditionally.
45972
45973 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
45974
45975         * modules/clock-time (Maintainer): Add self.
45976         * modules/getlogin_r (Depends-on): Add extensions.
45977
45978 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45979
45980         * modules/clock-time: New module.
45981         * modules/nanosleep (Depends-on): Add clock-time.
45982         * modules/gethrxtime (Depends-on): Likewise.
45983         * modules/gettime (Depends-on): Likewise.
45984         * modules/settime (Depends-on): Likewise.
45985
45986         * modules/fts-lgpl: Depend on openat.
45987         * modules/mkancesdirs: Depend on savewd.
45988         * modules/mkdir-p: Likewise.
45989
45990 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45991
45992         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
45993
45994         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
45995         `gl_have_arbitrary_file_name_length_limit' to
45996         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
45997         actually works between configure runs.
45998
45999 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46000             Bruno Haible  <bruno@clisp.org>
46001
46002         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
46003
46004 2006-09-25  Jim Meyering  <jim@meyering.net>
46005
46006         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
46007         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
46008
46009 2006-09-25  Eric Blake  <ebb9@byu.net>
46010
46011         * gnulib-tool (func_import, func_create_testdir): Fix typos in
46012         exec's in 2006-09-18 patch when shuffling fds.
46013
46014 2006-09-25  Bruno Haible  <bruno@clisp.org>
46015
46016         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
46017         Reported by Jim Meyering.
46018
46019 2006-09-24  Jim Meyering  <jim@meyering.net>
46020
46021         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
46022         compare a pointer against a literal "0".  That caused failures with
46023         at least HP-UX's hpcc.
46024
46025 2006-09-22  Simon Josefsson  <jas@extundo.com>
46026
46027         * modules/gc-sha1:
46028         * modules/gc-md4:
46029         * modules/gc-hmac-sha1:
46030         * modules/gc-hmac-md5:
46031         * modules/gc-des:
46032         * modules/gc-arcfour: Distribute more files.
46033
46034 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46035
46036         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
46037         (gl_linked_iterator_from_to): Initialize struct completely.
46038         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
46039         (gl_tree_iterator_from_to): Likewise
46040         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
46041         * lib/gl_array_list.c [lint] (gl_array_iterator)
46042         (gl_array_iterator_from_to): Likewise.
46043         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
46044         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
46045         (gl_carray_iterator_from_to): Likewise.
46046
46047         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
46048         * lib/md4.c (md4_process_block): Remove unused variable.
46049         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
46050         parentheses for clarity.
46051
46052 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46053
46054         * modules/bison-i18n (Depends-on): Add gettext.
46055
46056 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46057
46058         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
46059         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
46060         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
46061         also add missing comma that caused broken test.
46062         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
46063         stdlib.h, for `abort'.
46064         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
46065         variables.
46066         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
46067         include unistd.h if present, for `rmdir'.
46068         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
46069         variables.
46070         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
46071         in the process include standard headers for prototypes.
46072         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
46073         gets declared on GNU/Linux.
46074         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
46075         unistd.h, for `rmdir'.
46076         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
46077
46078         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
46079         always true.
46080         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
46081
46082         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
46083
46084 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46085
46086         * gnulib-tool (func_version): Create output all at once.  This
46087         may help avoid triggering unnecessary SIGPIPEs, and at any
46088         rate it doesn't hurt.
46089
46090 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46091             Bruno Haible  <bruno@clisp.org>
46092
46093         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
46094         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46095         * m4/signed.m4 (bh_C_SIGNED): Likewise.
46096
46097         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
46098         (gl_FUNC_VASPRINTF): Invoke it.
46099
46100 2006-09-22  Bruno Haible  <bruno@clisp.org>
46101
46102         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
46103         getloadavg.c as first argument.
46104
46105 2006-09-22  Bruno Haible  <bruno@clisp.org>
46106
46107         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
46108         at the beginning of the gl_INIT macro.
46109         * modules/getloadavg (configure.ac): Pass $gl_source_base to
46110         gl_GETLOADAVG.
46111
46112 2006-09-22  Bruno Haible  <bruno@clisp.org>
46113
46114         * gnulib-tool (func_create_megatestdir): Don't include the config-h
46115         module.
46116         Suggested by Ralf Wildenhues.
46117
46118 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46119
46120         Import this patch from libc:
46121
46122         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
46123
46124         * lib/regex_internal.c (re_string_reconstruct): Handle
46125         offset < pstr->valid_raw_len && pstr->offsets_needed case.
46126         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
46127         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
46128         re_string_context_at.
46129
46130         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
46131         now requires it.
46132         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
46133         gl_REGEX now does it for us.
46134         (gl_REGEX): Add test taken from
46135         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
46136
46137         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
46138         Check that large offsets work.  Modernize Autoconf usages.
46139         Prefer "yes" to mean a good thing rather than a bad.
46140         Don't put "#define mkstemp" in config.h, as this might interfere
46141         with standard system headers that "#define mkstemp mkstemp64".
46142
46143         * modules/mkstemp (Depends-on): Add extensions, so that
46144         mkstemp is visible on some platforms.
46145         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
46146         (Include): Change to "mkstemp.h" from <stdlib.h>.
46147         (Files): Add mkstemp.h.
46148
46149         * lib/mkstemp.h: New file, since some standard headers
46150         #define mkstemp.
46151         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
46152         Include "mkstemp.h".
46153         Make the _LIBC code resemble glibc original more,
46154         e.g., use K&R style.
46155         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
46156         (mkstemp): Remove, since mkstemp.h does this for us.
46157         * lib/stdlib--.h: Include mkstemp.h.
46158
46159         Import this patch from libc:
46160
46161         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46162
46163         * lib/tempname.c (__gen_tempname): Change attempts_min
46164         into a macro.  Use preprocessor to decide how to initialize
46165         attempts [Coverity CID 67].
46166
46167 2006-09-20  Bruno Haible  <bruno@clisp.org>
46168
46169         * lib/mkdtemp.c: Import from libc.
46170         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46171                 * sysdeps/posix/tempname.c (__gen_tempname): Change
46172                 attempts_min into a macro.  Use preprocessor to decide how to
46173                 initialize attempts [Coverity CID 67].
46174         2001-11-27  Paul Eggert  <eggert@twinsun.com>
46175                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
46176                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
46177
46178 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46179
46180         * gnulib-tool (func_exit): New function, to allow to pass the
46181         exit status portably through the trap.  Use everywhere.
46182         (--help, --version): Signal a write error.
46183         (trap): catch SIGPIPE, for write errors.
46184         Exit at the end of the trap, with the correct exit status.
46185
46186 2006-09-19  Karl Berry  <karl@gnu.org>
46187
46188         * doc/gnulib.texi: note about the license texinfo files.
46189
46190 2006-09-19  Eric Blake  <ebb9@byu.net>
46191
46192         * gnulib-tool: Avoid space-tab.
46193
46194 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46195
46196         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
46197         that prevented coreutils 6.1 from building.  Problem reported
46198         by Petter Reinholdtsen.
46199
46200 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46201
46202         * gnulib-tool (avoidlist): Fix typo that broke options like
46203         --avoid=lock that are used by coreutils bootstrap.
46204
46205 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
46206
46207         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
46208         more systematically.
46209
46210 2006-09-18  Jim Meyering  <jim@meyering.net>
46211
46212         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
46213
46214 2006-09-18  Bruno Haible  <bruno@clisp.org>
46215
46216         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
46217
46218 2006-09-18  Bruno Haible  <bruno@clisp.org>
46219
46220         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
46221         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
46222         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
46223         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
46224         * m4/gettext.m4: Require autoconf >= 2.52.
46225         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
46226         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
46227         of gl_cv_header_inttypes_h.
46228
46229 2006-09-18  Bruno Haible  <bruno@clisp.org>
46230
46231         * lib/javaversion.c: Include configmake.h.
46232
46233 2006-09-18  Bruno Haible  <bruno@clisp.org>
46234
46235         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
46236         avoid that the while loops be executed in a subshell.
46237
46238 2006-09-18  Bruno Haible  <bruno@clisp.org>
46239
46240         * MODULES.html.sh (func_module): Break long lines.
46241         Suggested by Bruce Korb <bkorb@gnu.org>.
46242
46243 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46244
46245         Speed up by a factor of 1.12.
46246         * gnulib-tool (nl): New variable.
46247         (func_import): Rewrite include directive extraction to only read each
46248         directive once.
46249
46250 2006-09-17  Bruno Haible  <bruno@clisp.org>
46251
46252         * modules/javaversion (Makefile.am): Remove DEFS setting.
46253         (Depends-on): Add configmake, for PKGDATADIR definition.
46254
46255 2006-09-17  Bruno Haible  <bruno@clisp.org>
46256
46257         * gnulib-tool (func_create_testdir): Rewrite all files at once.
46258
46259 2006-09-17  Bruno Haible  <bruno@clisp.org>
46260
46261         * gnulib-tool (func_append): New function, stolen from libtool.m4.
46262         (func_modules_transitive_closure, func_modules_add_dummy,
46263         func_modules_to_filelist, func_import, func_create_testdir,
46264         func_create_megatestdir, ...): Use it wherever possible.
46265         Suggested by Ralf Wildenhues.
46266
46267 2006-09-16  Karl Berry  <karl@gnu.org>
46268
46269         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
46270         to avoid sectioning errors.
46271         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
46272         [ifinfo]: blank line after @center-ed titles.
46273         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
46274         Spell FSF address consistently with others.
46275         (These changes approved by rms.)
46276
46277 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46278
46279         Speed up by a factor of 1.61.
46280         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
46281         already checked module names again.
46282
46283 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46284
46285         Speed up by a factor of 1.13.
46286         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
46287         for new_files, and the input to func_add_or_update.
46288
46289 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46290
46291         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
46292         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
46293
46294 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46295
46296         * modules/mkancesdirs (Depends-on): Add fcntl.
46297         * modules/savewd: New file.
46298         * MODULES.html.sh (File system functions): Add savewd.
46299
46300         * modules/configmake (Makefile.am): Add support for the
46301         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
46302
46303 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46304
46305         * m4/savewd.m4: New file.
46306
46307 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46308
46309         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
46310         (dirchownmod): New arg FD.  All callers changed.
46311         Use FD rather than opening the directory ourself, as opening is
46312         now the caller's responsibility.
46313         * lib/dirchownmod.h: Likewise.
46314         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
46315         hosts that require <sys/types.h> before <sys/stat.h>.  Include
46316         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
46317         (test_dir): Remove.
46318         (mkancesdirs): Return length of prefix of FILE that has already
46319         been made, or -2 if there is a child doing the work.  Redo
46320         algorithm so that it is O(N) rather than O(N**2).  Optimize away
46321         ".", and treat ".." specially since it might stray back into
46322         already-created areas.  Use a subprocess if necessary.  New arg
46323         WD; all users changed.  MAKE_DIR function should now return 1
46324         if it creates a directory that is not readable.  Return -2 if
46325         a child process is spun off.
46326         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
46327         Adjust signature to match code.
46328         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
46329         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
46330         all users changed.
46331         * lib/savewd.c, lib/savewd.h: New files.
46332
46333 2006-09-15  Jim Meyering  <jim@meyering.net>
46334
46335         * modules/rename-dest-slash: New module.
46336         * MODULES.html.sh (posix_compat): Add it here.
46337
46338         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
46339
46340 2006-09-15  Jim Meyering  <jim@meyering.net>
46341
46342         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
46343         file.
46344
46345         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
46346
46347 2006-09-15  Jim Meyering  <jim@meyering.net>
46348
46349         * lib/rename-dest-slash.c (has_trailing_slash): Use
46350         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
46351         (rpl_rename_dest_slash): Perform the cheaper trailing slash
46352         test before testing whether SRC is a directory.
46353         Suggestions from Bruno Haible.
46354
46355         Avoid a warning about an unused variable.
46356         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
46357         into the #ifdef block where it's used.
46358
46359         * lib/rename-dest-slash.c: New file.
46360
46361 2006-09-14  Bruno Haible  <bruno@clisp.org>
46362
46363         * lib/allocsa.c: Include <config.h> unconditionally.
46364         * lib/asnprintf.c: Likewise.
46365         * lib/asprintf.c: Likewise.
46366         * lib/c-strcasecmp.c: Likewise.
46367         * lib/c-strcasestr.c: Likewise.
46368         * lib/c-strncasecmp.c: Likewise.
46369         * lib/c-strstr.c: Likewise.
46370         * lib/classpath.c: Likewise.
46371         * lib/clean-temp.c: Likewise.
46372         * lib/concatpath.c: Likewise.
46373         * lib/copy-file.c: Likewise.
46374         * lib/csharpcomp.c: Likewise.
46375         * lib/csharpexec.c: Likewise.
46376         * lib/execute.c: Likewise.
46377         * lib/fatal-signal.c: Likewise.
46378         * lib/findprog.c: Likewise.
46379         * lib/fwriteerror.c: Likewise.
46380         * lib/gl_array_list.c: Likewise.
46381         * lib/gl_array_oset.c: Likewise.
46382         * lib/gl_avltree_list.c: Likewise.
46383         * lib/gl_avltree_oset.c: Likewise.
46384         * lib/gl_avltreehash_list.c: Likewise.
46385         * lib/gl_carray_list.c: Likewise.
46386         * lib/gl_linked_list.c: Likewise.
46387         * lib/gl_linkedhash_list.c: Likewise.
46388         * lib/gl_list.c: Likewise.
46389         * lib/gl_oset.c: Likewise.
46390         * lib/gl_rbtree_list.c: Likewise.
46391         * lib/gl_rbtree_oset.c: Likewise.
46392         * lib/gl_rbtreehash_list.c: Likewise.
46393         * lib/imaxabs.c: Likewise.
46394         * lib/imaxdiv.c: Likewise.
46395         * lib/javacomp.c: Likewise.
46396         * lib/javaexec.c: Likewise.
46397         * lib/javaversion.c: Likewise.
46398         * lib/linebreak.c: Likewise.
46399         * lib/localcharset.c: Likewise.
46400         * lib/lock.c: Likewise.
46401         * lib/mbchar.c: Likewise.
46402         * lib/mbswidth.c: Likewise.
46403         * lib/mkdtemp.c: Likewise.
46404         * lib/pipe.c: Likewise.
46405         * lib/printf-args.c: Likewise.
46406         * lib/printf-parse.c: Likewise.
46407         * lib/progname.c: Likewise.
46408         * lib/progreloc.c: Likewise.
46409         * lib/readlink.c: Likewise.
46410         * lib/sh-quote.c: Likewise.
46411         * lib/stpcpy.c: Likewise.
46412         * lib/stpncpy.c: Likewise.
46413         * lib/strcasecmp.c: Likewise.
46414         * lib/strcasestr.c: Likewise.
46415         * lib/strcspn.c: Likewise.
46416         * lib/striconv.c: Likewise.
46417         * lib/strncasecmp.c: Likewise.
46418         * lib/strnlen1.c: Likewise.
46419         * lib/strstr.c: Likewise.
46420         * lib/strtok_r.c: Likewise.
46421         * lib/tls.c: Likewise.
46422         * lib/tmpdir.c: Likewise.
46423         * lib/unicodeio.c: Likewise.
46424         * lib/unsetenv.c: Likewise.
46425         * lib/vasnprintf.c: Likewise.
46426         * lib/vasprintf.c: Likewise.
46427         * lib/wait-process.c: Likewise.
46428         * lib/xallocsa.c: Likewise.
46429         * lib/xsetenv.c: Likewise.
46430         * lib/xstriconv.c: Likewise.
46431
46432 2006-09-13  Simon Josefsson  <jas@extundo.com>
46433
46434         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
46435         that internally, suggested by Ralf Wildenhues
46436         <Ralf.Wildenhues@gmx.de>.
46437
46438 2006-09-13  Simon Josefsson  <jas@extundo.com>
46439
46440         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
46441         @LIBOBJS@.
46442         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46443
46444 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46445
46446         * lib/_fpending.c: Include <config.h> unconditionally, since we no
46447         longer worry about uses that don't define HAVE_CONFIG_H.
46448         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
46449         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
46450         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
46451         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
46452         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
46453         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
46454         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
46455         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
46456         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
46457         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
46458         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
46459         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
46460         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
46461         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
46462         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
46463         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
46464         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
46465         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
46466         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
46467         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
46468         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
46469         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
46470         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
46471         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
46472         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
46473         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
46474         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
46475         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
46476         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
46477         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
46478         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
46479         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
46480         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
46481         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
46482         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
46483         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
46484         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
46485         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
46486         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
46487         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
46488         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
46489         Likewise.
46490
46491 2006-09-13  Eric Blake  <ebb9@byu.net>
46492
46493         * lib/getopt.c: Fix typo in last commit.
46494
46495 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46496
46497         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
46498         dgettext.
46499
46500 2006-09-12  Jim Meyering  <jim@meyering.net>
46501
46502         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
46503         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
46504         Reported by Nelson H. F. Beebe.
46505
46506 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46507
46508         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
46509         program_invocation_name and program_invocation_short_name are
46510         initialized.
46511         * lib/argp-namefrob.h: Move declarations of program_invocation_name
46512         and program_invocation_short_name to argp.h, so they are visible
46513         to user programs.
46514         * lib/argp.h: Likewise
46515
46516 2006-09-10  Bruno Haible  <bruno@clisp.org>
46517
46518         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
46519         m4/inttypes_h.m4, m4/uintmax_t.m4.
46520
46521 2006-09-10  Bruno Haible  <bruno@clisp.org>
46522
46523         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
46524         gl_AC_TYPE_UINTMAX_T.
46525
46526 2006-09-10  Bruno Haible  <bruno@clisp.org>
46527
46528         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
46529
46530 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
46531
46532         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
46533         convention.  Text proposed by Bruno Haible.
46534         (struct argp_option): Document the use of N_() wrappers.
46535
46536         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
46537         '\v', and translate the two parts separately, instead of feeding
46538         the whole string to gettext.  This allows to exclude
46539         '\v' from the strings visible to the translator by writing doc
46540         strings as N_("..") "\v" N_("..").
46541
46542 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
46543
46544         * config/srclist.txt: Undo latest change; the bug was fixed.
46545
46546 2006-09-09  Bruno Haible  <bruno@clisp.org>
46547
46548         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
46549         assignments if building a library without libtool.
46550         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
46551         in func_emit_lib_Makefile_am.
46552         (func_import): When building a static library libfoo.a, arrange to
46553         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
46554         (func_create_testdir): Likewise.
46555         * modules/gc (configure.ac, Makefile.am): If building statically,
46556         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
46557         * modules/iconvme (configure.ac, Makefile.am): Likewise.
46558         * modules/striconv (configure.ac, Makefile.am): Likewise.
46559         Based on a suggestion by Ralf Wildenhues.
46560
46561 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46562
46563         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
46564         Check for unistd.h too, since Autoconf doesn't assume POSIX.
46565         Also:
46566
46567         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46568         Add year_2050_test to catch glibc bug 2821
46569         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
46570
46571         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46572         Prefer #ifdef to #if.
46573
46574         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
46575         Return from 'main' instead of calling 'exit'.
46576
46577 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46578
46579         * lib/mktime.c (guess_time_tm): Fix bug where mktime
46580         returned the maximum time_t value rather than (time_t) -1.
46581         Problem originally reported by William Bardwell
46582         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
46583
46584         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
46585         Moved to here ...
46586         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
46587         ... from here.
46588
46589 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
46590
46591         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
46592         2821 is fixed.
46593
46594 2006-09-08  Jim Meyering  <jim@meyering.net>
46595
46596         Don't make generated files read-only.  That would bother too many
46597         people.  However, do retain the ability to work when targets are
46598         read-only: remove the destination and temporary files before writing
46599         them (when generated via sed or echo), or by using the -f option for
46600         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
46601         * modules/alloca-opt, modules/argz, modules/arpa_inet:
46602         * modules/byteswap, modules/configmake, modules/fcntl:
46603         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
46604         * modules/localcharset, modules/netinet_in, modules/poll:
46605         * modules/stdbool, modules/stdint, modules/sys_select:
46606         * modules/sys_socket, modules/sys_stat, modules/sysexits:
46607
46608 2006-09-08  Jim Meyering  <jim@meyering.net>
46609
46610         Avoid new build failure on FreeBSD 6.0.
46611         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
46612         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
46613         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
46614
46615 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46616
46617         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
46618
46619 2006-09-07  Jim Meyering  <jim@meyering.net>
46620
46621         Fix global typo in last change: use chmod u-w, not chmod u-x.
46622         Spotted by Paul Eggert and Bruce Korb.
46623         * modules/alloca-opt, modules/argz, modules/arpa_inet:
46624         * modules/byteswap, modules/configmake, modules/fcntl:
46625         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
46626         * modules/localcharset, modules/netinet_in, modules/poll:
46627         * modules/stdbool, modules/stdint, modules/sys_select:
46628         * modules/sys_socket, modules/sys_stat, modules/sysexits:
46629
46630 2006-09-06  Jim Meyering  <jim@meyering.net>
46631
46632         Make generated files be read-only.
46633         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
46634         Ensure that each generated file is now read-only.
46635         * modules/argz: Likewise.
46636         * modules/arpa_inet: Likewise.
46637         * modules/byteswap: Likewise.
46638         * modules/configmake: Likewise.
46639         * modules/fcntl: Likewise.
46640         * modules/fnmatch: Likewise.
46641         * modules/getopt: Likewise.
46642         * modules/glob: Likewise.
46643         * modules/inttypes: Likewise.
46644         * modules/netinet_in: Likewise.
46645         * modules/poll: Likewise.
46646         * modules/stdbool: Likewise.
46647         * modules/stdint: Likewise.
46648         * modules/sys_select: Likewise.
46649         * modules/sys_socket: Likewise.
46650         * modules/sys_stat: Likewise.
46651         * modules/sysexits: Likewise.
46652         * modules/localcharset: Same as above, but continue using temporary
46653         file named "t-$@" (why different?) rather than the "$@-t" used
46654         everywhere else.
46655
46656         * modules/sysexits (Makefile.am): Replace literal occurrences
46657         of "sysexit.h" more readable, and more consistent, "$@".
46658
46659 2006-09-06  Bruno Haible  <bruno@clisp.org>
46660
46661         * modules/striconv: New file.
46662         * modules/xstriconv: New file.
46663         * MODULES.html.sh (Internationalization functions): Add striconv,
46664         xstriconv.
46665
46666 2006-09-06  Bruno Haible  <bruno@clisp.org>
46667
46668         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
46669         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
46670         not using libtool correctly.
46671
46672 2006-09-06  Bruno Haible  <bruno@clisp.org>
46673
46674         * lib/striconv.h: New file.
46675         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
46676         iconvstring.c.
46677         * lib/xstriconv.h: New file.
46678         * lib/xstriconv.c: New file.
46679
46680 2006-09-06  Bruno Haible  <bruno@clisp.org>
46681
46682         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46683         lib_..._LDFLAGS.
46684
46685 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46686
46687         * lib/argz_.h: Sync from Libtool.
46688
46689         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
46690                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
46691
46692         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
46693
46694 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
46695
46696         * modules/trim: New file.
46697
46698 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
46699
46700         * lib/trim.h: New file.
46701         * lib/trim.c: New file.
46702
46703 2006-09-05  Bruno Haible  <bruno@clisp.org>
46704
46705         * MODULES.html.sh (String handling): Add trim.
46706
46707 2006-09-04  Karl Berry  <karl@gnu.org>
46708
46709         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
46710         until next release.
46711
46712 2006-09-03  Bruno Haible  <bruno@clisp.org>
46713
46714         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
46715         correctly.
46716
46717 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46718
46719         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
46720         not gl_GETLOADAVG.  Omit unneeded semicolons.
46721         Problems reported by Ralf Wildenhues in
46722         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
46723         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
46724         at the end, which is the usual gnulib style.
46725
46726         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
46727         of doing all the work ourselves.
46728         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
46729         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
46730
46731 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46732
46733         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
46734         Problem reported by Ralf Wildenhues in
46735         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
46736
46737         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
46738         HAVE_STRUCT_STATFS_F_FSTYPENAME.
46739
46740 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46741
46742         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
46743         yesterday's patch by changing test -n to test -z.
46744
46745 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46746
46747         * modules/getloadavg (Files): Add m4/getloadavg.m4.
46748         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
46749         the former is now obsolescent.
46750
46751         * modules/chdir-long (Depends-on): Add fcntl.
46752
46753 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46754
46755         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
46756         obsolescent, and programs should use gnulib instead.
46757         * m4/getloadavg.m4: New file, with contents taken from Autoconf
46758         but with prefixes changed.
46759
46760 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46761
46762         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
46763         or stdbool.h, because they might not exist while configuring.
46764
46765         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
46766         Don't include unistd.h or limits.h; not needed, since chdir-long.h
46767         does that for us.
46768         (O_DIRECTORY): Remove.
46769
46770 2006-08-31  Eric Blake  <ebb9@byu.net>
46771
46772         * gnulib-tool: Don't let emacs change spaces to TAB.
46773
46774 2006-08-31  Bruno Haible  <bruno@clisp.org>
46775
46776         * gnulib-tool: When calling func_import more than once, do it in a
46777         subshell.
46778         Reported by Eric Blake <ebb9@byu.net>.
46779
46780 2006-08-31  Bruno Haible  <bruno@clisp.org>
46781
46782         * gnulib-tool (nl): Remove variable.
46783         (sed_transform_lib_file): Use more robust test for config-h module.
46784         (func_import): Fix typo in 2006-08-25 patch.
46785
46786 2006-08-31  Bruno Haible  <bruno@clisp.org>
46787
46788         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
46789         specified, augment Makefile.am variables instead of assigning them.
46790
46791 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46792
46793         Work around a bug in both the Linux and SunOS 64-bit kernels:
46794         nanosleep mishandles sleeps for longer than 2**31 seconds.
46795         Problem reported by Frank v Waveren in
46796         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
46797         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
46798         Check for nanosleep bug.
46799         (LIB_NANOSLEEP): Append clock_gettime library if needed.
46800
46801 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46802
46803         Work around a bug in both the Linux and SunOS 64-bit kernels:
46804         nanosleep mishandles sleeps for longer than 2**31 seconds.
46805         Problem reported by Frank v Waveren in
46806         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
46807         * lib/nanosleep.c (BILLION): New constant.
46808         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
46809         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
46810         implementation.
46811
46812 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46813
46814         * modules/nanosleep (Depends-on): Add gettime.
46815
46816 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46817         and Simon Josefsson  <jas@extundo.com>
46818         and Oskar Liljeblad  <oskar@osk.mine.nu>
46819
46820         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
46821         * gnulib-tool (func_import): New license type 'unmodifiable license
46822         text'.
46823         * modules/fdl: Use it.  Longer description.
46824         * module/gpl, module/lgpl: New files.
46825
46826 2006-08-30  Jim Meyering  <jim@meyering.net>
46827
46828         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
46829         shadowing the parameter.
46830
46831 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46832
46833         Sync from Libtool:
46834
46835         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46836
46837         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
46838         sharing with gnulib.  Report by Eric Blake.
46839
46840 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46841
46842         * modules/isapipe: New file.
46843         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
46844
46845 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46846
46847         * modules/configmake (Makefile.am): Add a comment, and omit
46848         the CONFIGMAKE_ prefix from generated macro names.  Suggested
46849         by Bruno Haible.
46850
46851 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46852
46853         * m4/isapipe.m4: New file.
46854
46855 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
46856
46857         * lib/isapipe.c, lib/isapipe.h: New files.
46858
46859 2006-08-29  Jim Meyering  <jim@meyering.net>
46860
46861         * modules/configmake (Makefile.am): Make configmake.h depend on
46862         Makefile.  Otherwise, a stale configmake.h could hang around.
46863
46864 2006-08-29  Eric Blake  <ebb9@byu.net>
46865
46866         * lib/error.c (error_at_line, print_errno_message): Match libc, after
46867         resolution of upstream bug 3044.
46868
46869 2006-08-29  Bruno Haible  <bruno@clisp.org>
46870
46871         * modules/localcharset (Depends-on): Add configmake.
46872         (Makefile.am): Remove setting of LIBDIR through DEFS.
46873
46874 2006-08-29  Bruno Haible  <bruno@clisp.org>
46875
46876         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
46877         defined.
46878
46879 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46880
46881         * modules/fcntl: New file.
46882         * modules/chdir-safer (Depends-on): Add fcntl.
46883         * modules/fts: Likewise.
46884         * modules/mkdir-p: Likewise.
46885
46886         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
46887         This undoes the most recent change, since we're now addressing the
46888         problem in a different way.
46889
46890         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
46891         into output, since the output might be called Makefile.am even
46892         if $makefile_name is something different.
46893         (func_import): Use $makefile_am rather than
46894         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
46895         empty.
46896
46897         * modules/inttypes (Files): Add m4/inttypes-h.m4.
46898
46899 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46900
46901         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
46902         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
46903         recent change to stdint.m4, since we're now addressing the problem in a
46904         different way.
46905
46906 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46907
46908         * m4/fcntl_h.m4: New file.
46909
46910 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
46911
46912         * lib/fcntl_.h: New file.
46913         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
46914         the fcntl module.
46915         * lib/dirchownmod.c: Likewise.
46916         * lib/fts.c: Likewise.
46917
46918         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
46919         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
46920         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
46921         just before including <inttypes.h>, to avoid circular inclusion.
46922
46923 2006-08-28  Jim Meyering  <jim@meyering.net>
46924
46925         * doc/visibility.texi: Actually read and correct the grammar of the
46926         sentence affected by yesterday's change.
46927
46928 2006-08-28  Eric Blake  <ebb9@byu.net>
46929
46930         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
46931         needs wrapper.
46932
46933 2006-08-28  Eric Blake  <ebb9@byu.net>
46934
46935         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
46936
46937 2006-08-28  Eric Blake  <ebb9@byu.net>
46938
46939         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
46940
46941 2006-08-28  Bruno Haible  <bruno@clisp.org>
46942
46943         * modules/c-strstr: New file, from GNU gettext.
46944         * MODULES.html.sh (String handling): Add c-strstr.
46945
46946 2006-08-28  Bruno Haible  <bruno@clisp.org>
46947
46948         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
46949         macros.
46950         Reported by Eric Blake.
46951
46952 2006-08-28  Bruno Haible  <bruno@clisp.org>
46953
46954         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
46955         (VASNPRINTF): Return a string of length > INT_MAX without failing.
46956         * lib/vasprintf.c: Include errno.h, limits.h.
46957         (EOVERFLOW): New fallback definition.
46958         (vasprintf): Test here whether the string length is > INT_MAX.
46959         * lib/vsnprintf.c: Include errno.h, limits.h.
46960         (EOVERFLOW): New fallback definition.
46961         (vsnprintf): Fix bug when generated string was too long for the buffer.
46962         Test here whether the string length is > INT_MAX.
46963
46964 2006-08-28  Bruno Haible  <bruno@clisp.org>
46965
46966         * lib/inttypes_.h (SCNX*): Remove definitions.
46967         Reported by Eric Blake.
46968
46969 2006-08-28  Bruno Haible  <bruno@clisp.org>
46970
46971         * lib/c-strstr.h: New file, from GNU gettext.
46972         * lib/c-strstr.c: New file, from GNU gettext.
46973
46974 2006-08-28  Bruno Haible  <bruno@clisp.org>
46975
46976         * gnulib-tool: Reorder some statements.
46977
46978 2006-08-28  Bruno Haible  <bruno@clisp.org>
46979
46980         * gnulib-tool: New option --makefile-name.
46981         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
46982         $makefile_name.
46983         (func_import): Write $makefile_name to the cache file, and read it from
46984         there unless explicitly specified. Use $makefile_name as file name
46985         instead of Makefile.am. Adjust the recommendations accordingly.
46986
46987 2006-08-28  Bruno Haible  <bruno@clisp.org>
46988
46989         * gnulib-tool (func_verify_module): Check against misapplying patch.
46990
46991 2006-08-28  Bruno Haible  <bruno@clisp.org>
46992
46993         * gnulib-tool (func_relativize, func_relconcat): New functions.
46994         Give an error if --local-dir is given with --update.
46995         Remove trailing slashes from $local_gnulib_dir.
46996         (func_import): Store the relativized $local_gnulib_dir in
46997         gnulib-cache.m4, and read it from there if not specified explicitly.
46998
46999 2006-08-28  Bruno Haible  <bruno@clisp.org>
47000
47001         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
47002         is the current directory. Respect also $local_gnulib_dir.
47003
47004 2006-08-28  Bruno Haible  <bruno@clisp.org>
47005             Simon Josefsson  <jas@extundo.com>
47006
47007         BeOS portability.
47008         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
47009
47010 2006-08-27  Jim Meyering  <jim@meyering.net>
47011
47012         * doc/visibility.texi: Remove duplicate word: "pointer".
47013
47014 2006-08-26  Bruno Haible  <bruno@clisp.org>
47015
47016         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
47017         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
47018         (Makefile.am): Create inttypes.h from inttypes_.h.
47019         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
47020
47021         * modules/imaxabs: New file.
47022
47023         * modules/imaxdiv: New file.
47024
47025 2006-08-26  Bruno Haible  <bruno@clisp.org>
47026
47027         * m4/inttypes.m4: New file.
47028         * m4/_inttypes_h.m4: Remove file.
47029         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
47030         PRI_MACROS_BROKEN.
47031         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
47032
47033         * m4/imaxabs.m4: New file.
47034
47035         * m4/imaxdiv.m4: New file.
47036
47037 2006-08-26  Bruno Haible  <bruno@clisp.org>
47038
47039         * lib/inttypes_.h: New file.
47040         * lib/inttypes.h: Remove file.
47041         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
47042
47043         * lib/imaxabs.c: New file.
47044
47045         * lib/imaxdiv.c: New file.
47046
47047 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47048
47049         New config-h module, so that "make" output needn't be cluttered
47050         by -DHAVE_CONFIG_H.
47051         * MODULES.html.sh (Support for building libraries and executables):
47052         Add config-h.
47053         * modules/config-h: New file.
47054         * gnulib-tool (nl, sed_transform_lib_file): New vars.
47055         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
47056         the config-h module is used.
47057
47058         New configmake module, so that "make" output needn't be cluttered
47059         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
47060         * MODULES.html.sh (Support for building libraries and executables):
47061         Add configmake.
47062         * modules/configmake: New file.
47063
47064 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47065
47066         * m4/config-h.m4: New file.
47067
47068 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47069
47070         * config/srclist.txt: Add elisp-comp.
47071
47072 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47073
47074         * MODULES.html.sh (Support for building libraries and executables):
47075         Add elisp-comp.
47076         * build-aux/elisp-comp: New file.
47077         * modules/elisp-comp: New file.
47078
47079 2006-08-24  Bruno Haible  <bruno@clisp.org>
47080
47081         * gnulib-tool (func_create_testdir): Use non-default values of
47082         sourcebase and m4base.
47083
47084 2006-08-24  Bruno Haible  <bruno@clisp.org>
47085
47086         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
47087         HTML structure.
47088
47089 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47090
47091         * modules/openat (Depends-on): Add lchown.
47092
47093 2006-08-23  Bruno Haible  <bruno@clisp.org>
47094
47095         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
47096         of gl_LOCK_EARLY instead of gl_LOCK.
47097
47098 2006-08-23  Bruno Haible  <bruno@clisp.org>
47099
47100         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
47101         on OSF/1 to no.
47102         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
47103
47104 2006-08-23  Bruno Haible  <bruno@clisp.org>
47105
47106         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
47107         as unusable.
47108
47109         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
47110         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
47111         (gl_LOCK): New macro.
47112
47113 2006-08-22  Simon Josefsson  <jas@extundo.com>
47114
47115         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
47116         to md5 module.
47117
47118 2006-08-22  Simon Josefsson  <jas@extundo.com>
47119
47120         * MODULES.html.sh: Add "Support for maintaining and release
47121         projects".
47122
47123         * build-aux/gnupload: New file, from coreutils.
47124
47125 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47126
47127         Avoid the need for AC_LIBSOURCES in m4 macros.
47128         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
47129         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
47130         * modules/check-version (EXTRA_DIST): Add check-version.h.
47131         * modules/crc (EXTRA_DIST): Add crc.h.
47132         * modules/des (EXTRA_DIST): Add des.h.
47133         * modules/gc (EXTRA_DIST): Add gc.h.
47134         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
47135         * modules/getline (EXTRA_DIST): Add getline.h.
47136         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
47137         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
47138         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
47139         * modules/md2 (EXTRA_DIST): Add md2.h.
47140         * modules/md4 (EXTRA_DIST): Add md4.h.
47141         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
47142         * modules/read-file (EXTRA_DIST): Add read-file.h.
47143         * modules/readline (EXTRA_DIST): Add readline.h.
47144         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
47145         rijndael-api-fst.h.
47146
47147 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47148
47149         * m4/rijndael.m4 (gl_ARCFOUR):
47150         * m4/arctwo.m4 (gl_ARCTWO):
47151         * m4/check-version.m4 (gl_CHECK_VERSION):
47152         * m4/crc.m4 (gl_CRC):
47153         * m4/des.m4 (gl_DES):
47154         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
47155         * m4/gc.m4 (gl_GC):
47156         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
47157         * m4/getline.m4 (gl_FUNC_GETLINE):
47158         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
47159         * m4/hmac-md5.m4 (gl_HMAC_MD5):
47160         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
47161         * m4/md2.m4 (gl_MD2):
47162         * m4/md4.m4 (gl_MD4):
47163         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
47164         * m4/read-file.m4 (gl_FUNC_READ_FILE):
47165         * m4/readline.m4 (gl_FUNC_READLINE):
47166         * m4/rijndael.m4 (gl_RIJNDAEL):
47167         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
47168         to get the necessary .h files and whatnot.
47169
47170 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47171
47172         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
47173         gnulib rather than the other way around.
47174         * config/srclistvars.sh (COREUTILS): Remove.
47175
47176 2006-08-22  Jim Meyering  <jim@meyering.net>
47177
47178         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
47179
47180         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
47181
47182 2006-08-22  Eric Blake  <ebb9@byu.net>
47183
47184         * modules/regexprops-generic: New file.
47185         * MODULES.html.sh (Support for building documentation): List it.
47186
47187 2006-08-22  Eric Blake  <ebb9@byu.net>
47188
47189         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
47190         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47191         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
47192         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
47193
47194 2006-08-22  Bruno Haible  <bruno@clisp.org>
47195
47196         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
47197         and lib_LTLIBRARIES like the other lib_* variables.
47198
47199 2006-08-22  Bruno Haible  <bruno@clisp.org>
47200
47201         * build-aux/x-to-1.in: New file, from GNU gettext.
47202
47203 2006-08-22  Bruno Haible  <bruno@clisp.org>
47204
47205         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
47206         <utmpx.h> exists.
47207
47208 2006-08-22  Bruno Haible  <bruno@clisp.org>
47209
47210         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
47211         <utmpx.h> exists.
47212
47213 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47214
47215         BeOS portability.
47216         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
47217         exist.
47218         Problem reported by Bruno Haible.
47219
47220 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47221
47222         Avoid the need for AC_LIBSOURCES in m4 macros.
47223         * modules/acl (EXTRA_DIST): Add acl.h.
47224         * modules/argmatch (Files): Add m4/argmatch.m4.
47225         (configure.ac): Add gl_ARGMATCH.
47226         (EXTRA_DIST): Renamed from lib_SOURCES, for
47227         consistency with the other modules.  Remove argmatch.c.
47228         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
47229         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
47230         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
47231         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
47232         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
47233         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
47234         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
47235         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
47236         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
47237         * modules/closeout (EXTRA_DIST): Add closeout.h.
47238         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
47239         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
47240         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
47241         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
47242         dirname.h; remove basename.c and stripslash.c.
47243         * modules/exclude (EXTRA_DIST): Add exclude.h.
47244         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
47245         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
47246         * modules/file-type (EXTRA_DIST): Add file-type.h.
47247         * modules/filemode (EXTRA_DIST): Add filemode.h.
47248         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
47249         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47250         * modules/fpending (EXTRA_DIST): Add __fpending.h.
47251         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
47252         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
47253         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
47254         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
47255         * modules/getdate (EXTRA_DIST): Add getdate.c.
47256         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
47257         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
47258         * modules/getpass (EXTRA_DIST): Add getpass.h.
47259         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
47260         * modules/group-member (EXTRA_DIST): Add group-member.h.
47261         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
47262         * modules/hash (EXTRA_DIST): Add hash.h.
47263         * modules/human (EXTRA_DIST): Add human.h.
47264         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
47265         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
47266         * modules/lchown (EXTRA_DIST): Add lchown.h.
47267         * modules/long-options (EXTRA_DIST): Add long-options.h.
47268         * modules/lstat (EXTRA_DIST): Add lstat.h.
47269         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
47270         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
47271         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
47272         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
47273         * modules/memxor (EXTRA_DIST): Add memxor.h.
47274         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
47275         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
47276         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
47277         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
47278         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
47279         * modules/physmem (EXTRA_DIST): Add physmem.h.
47280         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
47281         * modules/posixver (EXTRA_DIST): Add posixver.h.
47282         * modules/quote (EXTRA_DIST): Add quote.h.
47283         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
47284         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
47285         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
47286         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
47287         regex_internal.h regexec.c.
47288         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
47289         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
47290         * modules/same (EXTRA_DIST): Add same.h.
47291         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
47292         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
47293         * modules/savedir (EXTRA_DIST): Add savedir.h.
47294         * modules/sha1 (EXTRA_DIST): Add sha1.h.
47295         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
47296         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
47297         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
47298         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
47299         * modules/strdup (EXTRA_DIST): Add strdup.h.
47300         * modules/strftime (EXTRA_DIST): Add strftime.h.
47301         * modules/strndup (EXTRA_DIST): Add strndup.h.
47302         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
47303         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
47304         * modules/time_r (EXTRA_DIST): Add time_r.h.
47305         * modules/timespec (EXTRA_DIST): Add timespec.h.
47306         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47307         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
47308         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
47309         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
47310         * modules/userspec (EXTRA_DIST): Add userspec.h.
47311         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
47312         * modules/utimens (EXTRA_DIST): Add utimens.h.
47313         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
47314         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
47315         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
47316         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
47317         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
47318         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
47319         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
47320         * modules/yesno (EXTRA_DIST): Add yesno.h.
47321
47322 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47323
47324         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
47325
47326         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
47327         * m4/dev-ino.m4, same-inode.m4: Remove.
47328
47329         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
47330         * m4/acl.m4 (AC_FUNC_ACL):
47331         * m4/backupfile.m4 (gl_BACKUPFILE):
47332         * m4/c-strtod.m4 (gl_C99_STRTOLD):
47333         * m4/canon-host.m4 (gl_CANON_HOST):
47334         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47335         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
47336         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
47337         * m4/cloexec.m4 (gl_CLOEXEC):
47338         * m4/close-stream.m4 (gl_CLOSE_STREAM):
47339         * m4/closeout.m4 (gl_CLOSEOUT):
47340         * m4/dirfd.m4 (gl_FUNC_DIRFD):
47341         * m4/dirname.m4 (gl_DIRNAME):
47342         * m4/exclude.m4 (gl_EXCLUDE):
47343         * m4/exitfail.m4 (gl_EXITFAIL):
47344         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
47345         * m4/file-type.m4 (gl_FILE_TYPE):
47346         * m4/filemode.m4 (gl_FILEMODE):
47347         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
47348         * m4/fpending.m4 (gl_FUNC_FPENDING):
47349         * m4/fprintftime.m4 (gl_FPRINTFTIME):
47350         * m4/fts.m4 (gl_FUNC_FTS):
47351         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
47352         * m4/getdate.m4 (gl_GETDATE):
47353         * m4/gethrxtime.m4 (gl_GETHRXTIME):
47354         * m4/getpagesize.m4 (gl_GETPAGESIZE):
47355         * m4/getpass.m4 (gl_FUNC_GETPASS):
47356         * m4/gettime.m4 (gl_GETTIME):
47357         * m4/getugroups.m4 (gl_GETUGROUPS):
47358         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
47359         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
47360         * m4/hard-locale.m4 (gl_HARD_LOCALE):
47361         * m4/hash.m4 (gl_HASH):
47362         * m4/idcache.m4 (gl_IDCACHE):
47363         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
47364         * m4/lchown.m4 (gl_FUNC_LCHOWN):
47365         * m4/long-options.m4 (gl_LONG_OPTIONS):
47366         * m4/lstat.m4 (gl_FUNC_LSTAT):
47367         * m4/md5.m4 (gl_MD5):
47368         * m4/memcasecmp.m4 (gl_MEMCASECMP):
47369         * m4/memcoll.m4 (gl_MEMCOLL):
47370         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
47371         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
47372         * m4/memxor.m4 (gl_MEMXOR):
47373         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
47374         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
47375         * m4/modechange.m4 (gl_MODECHANGE):
47376         * m4/mountlist.m4 (gl_MOUNTLIST):
47377         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
47378         * m4/openat.m4 (gl_FUNC_OPENAT):
47379         * m4/pathmax.m4 (gl_PATHMAX):
47380         * m4/physmem.m4 (gl_PHYSMEM):
47381         * m4/posixtm.m4 (gl_POSIXTM):
47382         * m4/posixver.m4 (gl_POSIXVER):
47383         * m4/quote.m4 (gl_QUOTE):
47384         * m4/quotearg.m4 (gl_QUOTEARG):
47385         * m4/readtokens.m4 (gl_READTOKENS):
47386         * m4/readutmp.m4 (gl_READUTMP):
47387         * m4/regex.m4 (gl_REGEX):
47388         * m4/safe-read.m4 (gl_SAFE_READ):
47389         * m4/safe-write.m4 (gl_SAFE_WRITE):
47390         * m4/same.m4 (gl_SAME):
47391         * m4/save-cwd.m4 (gl_SAVE_CWD):
47392         * m4/savedir.m4 (gl_SAVEDIR):
47393         * m4/settime.m4 (gl_SETTIME):
47394         * m4/sha1.m4 (gl_SHA1):
47395         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
47396         * m4/stat-macros.m4 (gl_STAT_MACROS):
47397         * m4/stat-time.m4 (gl_STAT_TIME):
47398         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
47399         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
47400         * m4/strdup.m4 (gl_FUNC_STRDUP):
47401         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
47402         * m4/strndup.m4 (gl_FUNC_STRNDUP):
47403         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
47404         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
47405         * m4/time_r.m4 (gl_TIME_R):
47406         * m4/timespec.m4 (gl_TIMESPEC):
47407         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
47408         * m4/unlinkdir.m4 (gl_UNLINKDIR):
47409         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
47410         * m4/userspec.m4 (gl_USERSPEC):
47411         * m4/utimecmp.m4 (gl_UTIMECMP):
47412         * m4/utimens.m4 (gl_UTIMENS):
47413         * m4/xalloc.m4 (gl_XALLOC):
47414         * m4/xgetcwd.m4 (gl_XGETCWD):
47415         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
47416         * m4/xreadlink.m4 (gl_XREADLINK):
47417         * m4/xstrtod.m4 (gl_XSTRTOD):
47418         * m4/yesno.m4 (gl_YESNO):
47419         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
47420         to get the necessary .h files and whatnot.
47421
47422 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
47423             Bruno Haible  <bruno@clisp.org>
47424
47425         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
47426         /bin/sh understanding of '!' conditional negation.
47427
47428 2006-08-21  Jim Meyering  <jim@meyering.net>
47429
47430         * modules/openat (Depends-on): Really alphabetize.
47431
47432         * modules/acl (Depends-on): Add error and quote.
47433
47434         * check-module (find_included_lib_files): Add at-func.c to the
47435         ok-to-include-more-than-once white list.
47436
47437         * modules/openat (Depends-on): Add lstat.  Alphabetize.
47438
47439 2006-08-21  Bruno Haible  <bruno@clisp.org>
47440
47441         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47442         Emit a pkgdata_DATA variable only if some snippets add contents to it.
47443         Reported by Martin Lambers <marlam@marlam.de>.
47444
47445 2006-08-21  Bruno Haible  <bruno@clisp.org>
47446
47447         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
47448         specify an installation location, don't emit a noinst_LIBRARIES or
47449         noinst_LTLIBRARIES assignment.
47450
47451 2006-08-21  Bruno Haible  <bruno@clisp.org>
47452
47453         BeOS portability.
47454         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
47455         BeOS has mbrtowc() but no <wctype.h>.
47456
47457 2006-08-21  Bruno Haible  <bruno@clisp.org>
47458
47459         BeOS portability.
47460         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
47461         exist.
47462
47463 2006-08-21  Bruno Haible  <bruno@clisp.org>
47464
47465         BeOS portability.
47466         * lib/mbchar.h: Include <wctype.h> only if it exists.
47467
47468 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47469
47470         Remove files that are no longer needed by their respective modules.
47471         * m4/obstack.m4: Remove.
47472         * m4/strerror_r.m4: Remove.
47473         * m4/uint32_t.m4: Remove.
47474         * m4/uintptr_t.m4: Remove.
47475         * m4/ullong_max.m4: Remove.
47476         * m4/xstrtoimax.m4: Remove.
47477         * m4/xstrtoumax.m4: Remove.
47478
47479         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
47480         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
47481         dependencies now capture this.
47482
47483         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
47484         Do not use AC_LIBSOURCES, since gnulib modules now do this.
47485         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
47486         * m4/human.m4 (gl_HUMAN): Likewise.
47487         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
47488         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
47489
47490         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
47491
47492         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
47493         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
47494         stdint.
47495         * m4/human.m4 (gl_HUMAN): Likewise.
47496         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
47497         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
47498         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47499         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47500         * m4/xstrtol (gl_XSTRTOL): Likewise.
47501
47502         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
47503         AC_TYPE_LONG_LONG_INT.
47504         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47505         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
47506         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
47507         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47508
47509         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
47510         on stdbool.
47511
47512         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
47513         (gl_PREREQ_XSTRTOUL): Remove.
47514
47515         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
47516
47517         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
47518         mode.
47519
47520 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47521
47522         Add and change modules to make it easier for coreutils to use
47523         gnulib-tool.
47524         * modules/backupfile (Files): Remove m4/d-ino.m4.
47525         (Depends-on): Add d-ino.
47526         * modules/cycle-check (Depends-on): Add stdint.
47527         (lib_SOURCES): Add cycle-check.h.
47528         * modules/d-ino: New module.
47529         * modules/d-type: New module.
47530         * modules/error (Files): Remove m4/strerror_r.m4.
47531         * modules/filemode (Files): Add m4/st_dm_mode.m4.
47532         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47533         m4/inttypes_h.m4, m4/uintmax_t.m4.
47534         (Depends-on): Add stdint.
47535         (lib_SOURCES): Add fsusage.h.
47536         * modules/getcwd (Files): Remove d-ino.m4.
47537         (Depends-on): Add d-ino.
47538         * modules/getndelim2 (Depends-on): Add stdint.
47539         * modules/glob (Files): Remove m4/d-type.m4.
47540         (Depends-on): Add d-type.
47541         * modules/host-os: New module.
47542         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
47543         m4/inttypes_h.m4, m4/uintmax_t.m4.
47544         * Depends-on: Add stdint.
47545         (lib_SOURCES): Add human.h.
47546         * modules/inttostr (Files): Remove m4/intmax_t.m4,
47547         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
47548         m4/uintmax_t.m4, m4/ulonglong.m4.
47549         (Depends-on): Add stdint.
47550         (EXTRA_DIST): Add inttostr.h.
47551         * modules/lchmod: New module.
47552         * modules/link-follow: New module.
47553         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
47554         (Depends-on): Add lchmod.
47555         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
47556         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
47557         (Depends-on): Add stdint.
47558         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
47559         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
47560         (Depends-on): Add stdint.
47561         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
47562         * modules/perl: New module.
47563         * modules/regex (Depends-on): Add stdint.
47564         * modules/rmdir-errno: New module.
47565         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
47566         m4/intmax_t.m4.
47567         (Depends-on): Add stdint.
47568         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
47569         m4/uintmax_t.m4.
47570         (Depends-on): Add stdint.
47571         * modules/unlink-busy: New module.
47572         * modules/utimecmp (Depends-on): Add stdint.
47573         * modules/uptime: New module.
47574         * modules/winsz-ioctl: New module.
47575         * modules/winsz-termios: New module.
47576         * modules/xnanosleep (Depends-on): Add nanosleep.
47577         * modules/ullong_max: Remove.
47578         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
47579         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
47580         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
47581         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
47582         (Depends-on): Add inttypes.
47583         (lib_SOURCES): Add xstrtol.h.
47584         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
47585         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
47586         * MODULES.html.sh: Move 'assert' into the assert section.
47587         Move 'dummy' into the linking section.
47588         Remove ullong_max.
47589         Add section for compatibility checks for POSIX:2001 functions,
47590         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
47591         winsz-ioctl, and winsz-termios into it.
47592         Add lchmod.
47593         Add top-level Misc section and put host-os, perl, and uptime
47594         into it.
47595
47596 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47597
47598         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
47599         now assume the stdint module.  Do not include inttypes.h.
47600         * lib/fsusage.h: Likewise.
47601         * lib/getndelim2.c: Likewise.
47602         * lib/human.h: Likewise.
47603         * lib/inttostr.h: Likewise.
47604         * lib/obstack.c: Likewise.
47605         * lib/regex_internal.h: Likewise.
47606         * lib/tempname.c: Likewise.
47607         * lib/utimecmp.c: Likewise.
47608         * lib/xstrtol.h: Likewise.
47609
47610         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
47611
47612         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
47613         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
47614         * lib/xtime.h: Likewise.
47615
47616 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47617
47618         * modules/openat (Files): Add lib/fchmodat.c.
47619         Fixes problem reported by Jay Youngman.
47620
47621 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47622
47623         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
47624         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
47625
47626 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
47627             Bruno Haible  <bruno@clisp.org>
47628
47629         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
47630         and is a script that invokes bison. Tighten the code. Add comments.
47631
47632 2006-08-18  Jim Meyering  <jim@meyering.net>
47633
47634         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
47635         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
47636         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
47637         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
47638
47639 2006-08-18  Bruno Haible  <bruno@clisp.org>
47640
47641         * modules/bison-i18n: New file.
47642         * MODULES.html.sh (Internationalization functions): Add it.
47643
47644 2006-08-18  Bruno Haible  <bruno@clisp.org>
47645
47646         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
47647         sys/statvfs.h. When getmntinfo was found, check its declaration and
47648         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
47649
47650 2006-08-18  Bruno Haible  <bruno@clisp.org>
47651
47652         * m4/bison-i18n.m4: New file, from bison.
47653
47654 2006-08-18  Bruno Haible  <bruno@clisp.org>
47655
47656         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
47657         (ME_DUMMY): Treat "kernfs" as a dummy.
47658         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
47659
47660 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47661
47662         Update from coreutils.
47663
47664         2006-08-15  Jim Meyering  <jim@meyering.net>
47665
47666         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
47667
47668         2006-01-17  Jim Meyering  <jim@meyering.net>
47669
47670         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
47671
47672         2006-01-11  Jim Meyering  <jim@meyering.net>
47673
47674         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
47675         Check for the lchmod function.
47676
47677 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47678
47679         Update from coreutils.
47680
47681         * lib/__fpending.h: Add copyright notice.
47682         * lib/fprintftime.h: Likewise.
47683         * lib/savedir.c: Use (C) in copyright notice.
47684         * lib/savedir.h: Likewise.
47685
47686         2006-08-15  Jim Meyering  <jim@meyering.net>
47687
47688         * lib/at-func.c: New file, with the logic of all emulated at-functions.
47689         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
47690         in support of the EXPECTED_ERRNO macro.
47691         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
47692         definitions.  Instead, define the appropriate symbols and include
47693         "at-func.c".
47694         * lib/mkdirat.c (mkdirat): Likewise.
47695         * lib/fchmodat.c (fchmodat): Likewise.
47696         (ENOSYS): Remove definition.
47697         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
47698         it.  Don't include "unistd--.h" -- it wasn't ever used.
47699
47700         2006-01-17  Jim Meyering  <jim@meyering.net>
47701
47702         Rewrite fts.c not to change the current working directory,
47703         by using openat, fstatat, fdopendir, etc..
47704
47705         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
47706         (HAVE_OPENAT_SUPPORT): Define.
47707         [_LIBC] (fchdir): Don't undef or define; no longer used.
47708         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
47709         Now, this `function' always succeeds, and consumes its file descriptor
47710         parameter -- so callers must not close such FDs.  Update callers.
47711         (diropen_fd, opendirat, cwd_advance_fd): New functions.
47712         (diropen): Add parameter, SP.  Adjust all callers.
47713         Implement using diropen_fd, rather than open.
47714         (fts_open): Initialize new member, fts_cwd_fd.
47715         Remove fts_rft-setting code.
47716         (fts_close): Close fts_cwd_fd, if necessary.
47717         (__opendir2): Define in terms of opendir or opendirat,
47718         depending on whether the FST_NOCHDIR flag is set.
47719         (fts_build): Since fts_safe_changedir consumes its FD, and since
47720         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
47721         and close the dup'd file descriptor upon failure.
47722         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
47723         (fts_safe_changedir): Tweak semantics to reflect that this function
47724         now calls cwd_advance_fd and hence consumes its FD argument.
47725         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
47726         [struct FTS] (fts_rft): Remove now-unused member.
47727         [struct FTS] (fts_cycle.state): Improve comment.
47728
47729         * lib/openat.c (openat_needs_fchdir): New function.
47730         * lib/openat.h (openat_needs_fchdir): Declare it.
47731
47732 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
47733
47734         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
47735         Problem and fix reported by PĂ¡draig Brady in
47736         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
47737
47738 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47739
47740         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
47741
47742 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47743
47744         * lib/memcoll.c (memcoll): Optimize for the common case where the
47745         arguments are bytewise equal.
47746
47747 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47748
47749         * doc/regexprops-generic.texi: Add a copyright notice.
47750
47751 2006-08-15  Bruno Haible  <bruno@clisp.org>
47752
47753         * modules/tmpdir (License): Change to LGPL.
47754
47755 2006-08-15  Bruno Haible  <bruno@clisp.org>
47756
47757         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
47758         module.
47759
47760 2006-08-14  Simon Josefsson  <jas@extundo.com>
47761
47762         * config/srclist.txt: Add gnupload.
47763
47764 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47765
47766         Change copyright notice from LGPL 2 to GPL 2, since that's the
47767         standard form used in the gnulib repository.
47768         * tests/test-lock.c: Likewise.
47769         * tests/test-stdint.c: Likewise.
47770         * tests/test-tls.c: Likewise.
47771
47772         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
47773         prelude-manager.  User shorter URLs for GNU projects, without '?'.
47774         Add copyright notice.
47775
47776         * check-module: Add copyright notice.  Output a copyright
47777         notice if "--version" is specified.
47778         * modules/COPYING: New file.
47779         * tests/test-getaddrinfo.c: Add copyright notice.
47780         * tests/test-verify.c: Likewise.
47781
47782 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47783
47784         Change copyright notice from LGPL 2 to GPL 2, since that's the
47785         standard form used in the gnulib repository.
47786         * lib/lock.c: LGPL -> GPL.
47787         * lib/lock.h: Likewise.
47788         * lib/strnlen1.c: Likewise.
47789         * lib/strnlen1.h: Likewise.
47790         * lib/tls.c: Likewise.
47791         * lib/tls.h: Likewise.
47792         * lib/tmpdir.c: Likewise.
47793
47794         * lib/TODO: Remove; this belongs only in coreutils.
47795
47796 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47797
47798         Add copyright notices to long-enough files that lack them, since
47799         otherwise the files aren't clearly free.  Use the same notice that
47800         getdate.texi already uses.
47801         * doc/alloca-opt.texi: Add copyright notice.
47802         * doc/alloca.texi: Likewise.
47803         * doc/ctime.texi: Likewise.
47804         * doc/functions.texi: Likewise.
47805         * doc/gcd.texi: Likewise.
47806         * doc/gnulib-tool.texi: Likewise.
47807         * doc/inet_ntoa.texi: Likewise.
47808         * doc/visibility.texi: Likewise.
47809
47810         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
47811         * doc/quote.texi: Add copyright notice.
47812
47813         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
47814         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
47815         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
47816         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
47817         is now obsolete, and give a pointer to the Sun list.
47818         Add copyright notice.
47819
47820 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47821
47822         * config/srclistvars.sh: Add copyright notice.
47823
47824 2006-08-14  Eric Blake  <ebb9@byu.net>
47825
47826         Import the following change from libc:
47827
47828         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
47829
47830         Upstream bug 2997.
47831         * lib/misc/error.c: Add space between program name and message if file
47832         name is missing.
47833
47834 2006-08-12  Karl Berry  <karl@gnu.org>
47835
47836         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
47837         remove, these originate in gnulib now.
47838
47839 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47840
47841         * doc/Makefile (standards.info standards.html standards.dvi):
47842         Also depend on make-stds.texi.
47843
47844 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47845
47846         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
47847         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
47848
47849         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
47850         in wchar_t.  Problem reported by Eric Blake.
47851
47852         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
47853         LEN is smaller than SIZE.  Suggested by Bruno Haible.
47854         Also, help the compiler to keep LEN in a register.
47855
47856 2006-08-11  Eric Blake  <ebb9@byu.net>
47857
47858         * users.txt: Sort.  Add tar.
47859
47860 2006-08-11  Bruno Haible  <bruno@clisp.org>
47861
47862         * users.txt: New file.
47863
47864 2006-08-11  Bruno Haible  <bruno@clisp.org>
47865
47866         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
47867         before <wchar.h>. Needed for OSF/1 and BSD/OS.
47868
47869 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47870
47871         * modules/snprintf (Depends-on): Remove minmax.
47872         (Maintainer): Add self and Bruno.
47873
47874 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47875
47876         * lib/.cppi-disable: Add snprintf.h, socket_.h.
47877         * lib/snprintf.c: Include <errno.h> and <limits.h>.
47878         (EOVERFLOW): Define if the system does not.
47879         Do not include "minmax.h"; it wasn't used.
47880         (snprintf): Don't assume size_t promotes to an unsigned type.
47881         Fix bug when generated string was too long for the buffer: the
47882         buffer's contents are supposed to be the initial prefix of the
47883         output.  Don't assume vasnprintf returns EOVERFLOW if the size
47884         exceeds INT_MAX; do the check ourselves.
47885
47886         Import the following changes from libc:
47887
47888         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
47889
47890         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
47891         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
47892         set wc to the byte which couldn't be converted.
47893         (re_string_reconstruct): Don't clear valid_raw_len before calling
47894         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
47895         tip_context using re_string_context_at.
47896
47897         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
47898
47899         * lib/posix/regex.h: g++ still cannot handled [restrict].
47900
47901         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
47902
47903         * lib/posix/regex.h: Remove special handling for VMS.
47904
47905 2006-08-10  Jim Meyering  <jim@meyering.net>
47906
47907         * modules/same-inode: New module.
47908         * modules/dev-ino: New module.
47909         * modules/cycle-check: Depend on these modules, rather than simply
47910         including their .h files.
47911         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
47912         required via m4/cycle-check.m4.
47913         * modules/same: Depend on new same-inode module, rather than
47914         including same-inode.h.
47915         * modules/chdir-safer: New file.
47916
47917         * modules/chown (Depends-on): Add stat-macros.
47918
47919 2006-08-10  Jim Meyering  <jim@meyering.net>
47920
47921         * m4/cycle-check.m4: New file.
47922         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
47923         * m4/dev-ino.m4, m4/same-inode.m4: New files.
47924
47925 2006-08-10  Eric Blake  <ebb9@byu.net>
47926
47927         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
47928         in from original proposal.
47929
47930 2006-08-10  Eric Blake  <ebb9@byu.net>
47931         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
47932
47933         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
47934         namespace.
47935
47936 2006-08-10  Bruno Haible  <bruno@clisp.org>
47937
47938         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
47939         as well.
47940
47941 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47942
47943         Sync from coreutils.
47944
47945         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
47946
47947         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
47948         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
47949
47950 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47951
47952         * modules/restrict: Remove; no longer needed now that we assume
47953         Autoconf 2.59 or later.
47954         * MODULES.html.sh: Remove 'restrict'.
47955         * modules/argp (Depends-on): Remove 'restrict'.
47956         * modules/base64 (Depends-on): Likewise.
47957         * modules/gc (Depends-on): Likewise.
47958         * modules/getaddrinfo (Depends-on): Likewise.
47959         * modules/glob (Depends-on): Likewise.
47960         * modules/inet_ntop (Depends-on): Likewise.
47961         * modules/inet_pton (Depends-on): Likewise.
47962         * modules/memxor (Depends-on): Likewise.
47963         * modules/regex (Depends-on): Likewise.
47964         * modules/strtok_r (Depends-on): Likewise.
47965         * modules/time_r (Depends-on): Likewise.
47966
47967 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47968
47969         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
47970         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
47971         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47972         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
47973         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
47974         * m4/memxor.m4 (gl_MEMXOR): Likewise.
47975         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
47976         gl_C_RESTRICT replaced by AC_C_RESTRICT.
47977
47978         Merge from coreutils.
47979         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
47980         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
47981         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47982         * m4/time_r.m4 (gl_TIME_R): Likewise.
47983
47984 2006-08-09  Karl Berry  <karl@gnu.org>
47985
47986         * config/srclist.txt: no more gettext-tools, per Bruno.
47987
47988 2006-08-08  Eric Blake  <ebb9@byu.net>
47989
47990         * modules/verror: New module.
47991         * MODULES.html.sh: Document it.
47992
47993 2006-08-08  Eric Blake  <ebb9@byu.net>
47994
47995         * lib/verror.h, lib/verror.c: New files.
47996
47997 2006-08-08  Eric Blake  <ebb9@byu.net>
47998
47999         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
48000         verror_at_line output complies with GNU Coding Standards even when
48001         file is NULL.
48002
48003 2006-08-07  Bruno Haible  <bruno@clisp.org>
48004
48005         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
48006         versions of AIX.
48007         Reported by Ralf Wildenhues.
48008
48009 2006-08-07  Bruno Haible  <bruno@clisp.org>
48010
48011         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
48012         in an AC_DEFUN. Needed so that the autoconf snippets can use
48013         AC_REQUIRE.
48014
48015 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48016
48017         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48018         Initialize pkgdata_DATA.
48019         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
48020         overriding it.
48021
48022 2006-08-06  Eric Blake  <ebb9@byu.net>
48023
48024         * lib/error.h: Fold in some upstream changes from glibc.
48025         * lib/error.c: Likewise.
48026
48027 2006-08-04  Bruno Haible  <bruno@clisp.org>
48028
48029         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48030         Make the mostlyclean-local rule depend on mostlyclean-generic.
48031         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
48032
48033 2006-07-31  Bruno Haible  <bruno@clisp.org>
48034
48035         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
48036         <stdlib.h>, <string.h>.
48037
48038 2006-07-30  Bruno Haible  <bruno@clisp.org>
48039
48040         * modules/readlink (License): Change to LGPL.
48041
48042 2006-07-30  Bruno Haible  <bruno@clisp.org>
48043
48044         * modules/javaversion (Makefile.am): Distribute javaversion.java and
48045         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
48046         set PKGDATADIR to point to it.
48047
48048 2006-07-30  Bruno Haible  <bruno@clisp.org>
48049
48050         * modules/csharpexec (configure.ac): Comment out macro invocation.
48051         * modules/javaexec (configure.ac): Likewise.
48052         * modules/javacomp-script (configure.ac): Likewise.
48053
48054         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
48055
48056 2006-07-30  Bruno Haible  <bruno@clisp.org>
48057
48058         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
48059         linked-list.
48060
48061 2006-07-30  Bruno Haible  <bruno@clisp.org>
48062
48063         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
48064
48065 2006-07-30  Bruno Haible  <bruno@clisp.org>
48066
48067         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48068         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
48069         get removed.
48070
48071 2006-07-29  Bruno Haible  <bruno@clisp.org>
48072
48073         Make it possible for gnulib-tool to work with locally modified or
48074         augmented gnulib repositories.
48075         * gnulib-tool (func_usage): Document --local-dir option.
48076         (local_gnulib_dir): New variable.
48077         Handle --local-dir option.
48078         (func_lookup_file): New function.
48079         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
48080         (func_get_description, func_get_filelist, func_get_description,
48081         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
48082         func_get_automake_snippet, func_get_include_directive,
48083         func_get_license, func_get_maintainer): Use func_lookup_file.
48084         (func_import, func_create_testdir): Use func_lookup_file.
48085
48086 2006-07-29  Bruno Haible  <bruno@clisp.org>
48087
48088         * modules/setenv (Depends-on): Add unistd.
48089
48090 2006-07-29  Bruno Haible  <bruno@clisp.org>
48091
48092         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
48093
48094 2006-07-29  Bruno Haible  <bruno@clisp.org>
48095
48096         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
48097
48098 2006-07-29  Bruno Haible  <bruno@clisp.org>
48099
48100         * gnulib-tool (import, update): If there is no Makefile.am, look at
48101         aclocal.m4, instead of bailing out.
48102
48103 2006-07-29  Bruno Haible  <bruno@clisp.org>
48104
48105         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
48106         Categorize the options by when they are useful.
48107
48108 2006-07-29  Bruno Haible  <bruno@clisp.org>
48109
48110         * gnulib-tool (func_usage): Document option --no-libtool.
48111         Handle option --no-libtool.
48112         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
48113         for changed semantics of $libtool variable.
48114         (func_import): Likewise. If libtool is not used, show this through
48115         an option --no-libtool.
48116         (func_create_testdir): Update.
48117
48118 2006-07-29  Bruno Haible  <bruno@clisp.org>
48119
48120         * gnulib-tool (func_import): Extend error message about missing
48121         --doc-base.
48122
48123 2006-07-29  Bruno Haible  <bruno@clisp.org>
48124
48125         * gnulib-tool (func_import): Don't create the $docbase directory if
48126         there is no file to store there.
48127
48128 2006-07-29  Bruno Haible  <bruno@clisp.org>
48129
48130         * gnulib-tool (autoconf_minversion): If a --dir option is given and
48131         relevant, look for configure.ac there, not in the current directory.
48132         Also use a simple search for AC_PREREQ, not "autoconf --trace".
48133
48134 2006-07-29  Bruno Haible  <bruno@clisp.org>
48135
48136         * gnulib-tool (SORT): New variable.
48137         (func_usage): Undocument --assume-autoconf option.
48138         Remove --assume-autoconf option handling.
48139         (autoconf_minversion): Determine from the contents of configure.ac.
48140         (func_import): Remove autoconf_minversion handling.
48141         Suggested by Eric Blake.
48142
48143 2006-07-29  Bruno Haible  <bruno@clisp.org>
48144
48145         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
48146
48147 2006-07-29  Bruno Haible  <bruno@clisp.org>
48148
48149         * config/srclist.txt (*setenv.[ch]): Remove rules.
48150
48151 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48152
48153         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
48154
48155 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48156
48157         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
48158         arpa/inet.h.
48159
48160 2006-07-28  Simon Josefsson  <jas@extundo.com>
48161
48162         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
48163         * modules/inet_pton (Depends-on): Likewise.
48164
48165 2006-07-28  Simon Josefsson  <jas@extundo.com>
48166
48167         * m4/netinet_in_h.m4: New file.
48168
48169 2006-07-28  Simon Josefsson  <jas@extundo.com>
48170
48171         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
48172         #include's.
48173
48174 2006-07-28  Simon Josefsson  <jas@extundo.com>
48175
48176         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
48177         #include's.
48178
48179 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
48180
48181         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
48182         setgid on directories only if they set these bits.
48183         * lib/modechange.h: Remove obsolete comment about masks.
48184
48185 2006-07-28  Eric Blake  <ebb9@byu.net>
48186
48187         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
48188         macro expansion.
48189
48190 2006-07-28  Bruno Haible  <bruno@clisp.org>
48191
48192         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
48193
48194 2006-07-28  Bruno Haible  <bruno@clisp.org>
48195
48196         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
48197
48198 2006-07-28  Bruno Haible  <bruno@clisp.org>
48199
48200         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
48201         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
48202         Define fallbacks.
48203         Avoids link error on FreeBSD 4.x.
48204         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48205
48206         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
48207         encoding.
48208         * lib/mbswidth.c (iswcntrl): Likewise.
48209
48210 2006-07-27  Bruno Haible  <bruno@clisp.org>
48211
48212         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
48213         test.
48214
48215 2006-07-27  Bruno Haible  <bruno@clisp.org>
48216
48217         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
48218         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
48219         defined.
48220
48221 2006-07-26  Eric Blake  <ebb9@byu.net>
48222
48223         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
48224
48225 2006-07-26  Eric Blake  <ebb9@byu.net>
48226
48227         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
48228         like mingw that lack mkstemp.
48229         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
48230         avoid compilation warning on mingw.
48231
48232 2006-07-26  Bruno Haible  <bruno@clisp.org>
48233
48234         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
48235         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
48236         INT_FAST*_MIN, INTPTR_MIN.
48237
48238 2006-07-25  Bruno Haible  <bruno@clisp.org>
48239
48240         * modules/version-etc (Depends-on): Add stdarg.
48241
48242 2006-07-25  Bruno Haible  <bruno@clisp.org>
48243
48244         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
48245         complex commands.
48246
48247 2006-07-25  Bruno Haible  <bruno@clisp.org>
48248
48249         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
48250         defined in <stdarg.h> or config.h.
48251
48252 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48253
48254         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
48255         (gl_STDIO_SAFER): Remove.
48256
48257 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48258
48259         * MODULES.html.sh (File stream based Input/Output):
48260         Add fopen-safer, tmpfile-safer; remove stdio-safer.
48261         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
48262         * modules/fopen-safer, modules/tmpfile-safer: New files.
48263         * modules/stdio-safer: Remove.
48264
48265 2006-07-24  Bruno Haible  <bruno@clisp.org>
48266
48267         * modules/tmpdir: New file.
48268         * MODULES.html.sh (File system functions): Add it.
48269
48270 2006-07-24  Bruno Haible  <bruno@clisp.org>
48271
48272         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
48273         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
48274
48275 2006-07-24  Bruno Haible  <bruno@clisp.org>
48276
48277         * modules/clean-temp: New file.
48278
48279 2006-07-24  Bruno Haible  <bruno@clisp.org>
48280
48281         * m4/tmpdir.m4: New file, from GNU gettext.
48282
48283 2006-07-24  Bruno Haible  <bruno@clisp.org>
48284
48285         * lib/tmpdir.h: New file, from GNU gettext.
48286         * lib/tmpdir.c: New file, from GNU gettext.
48287
48288 2006-07-24  Bruno Haible  <bruno@clisp.org>
48289
48290         * lib/clean-temp.h: New file, from GNU gettext.
48291         * lib/clean-temp.c: New file, from GNU gettext.
48292
48293 2006-07-23  Eric Blake  <ebb9@byu.net>
48294
48295         * modules/stdio-safer (Files): Add tmpfile-safer.c.
48296         (Depends-on): Add binary-io.
48297
48298 2006-07-23  Eric Blake  <ebb9@byu.net>
48299
48300         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
48301
48302 2006-07-23  Eric Blake  <ebb9@byu.net>
48303
48304         * lib/tmpfile-safer.c: New file.
48305         * lib/stdio-safer.h (fopen_safer): Add prototype.
48306         * lib/stdio--.h (tmpfile): Make safer.
48307
48308 2006-07-23  Bruno Haible  <bruno@clisp.org>
48309
48310         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
48311         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
48312         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
48313         gl_linked_remove_at): Use it.
48314
48315 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48316         and Simon Josefsson <jas@extundo.com>
48317
48318         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
48319
48320         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
48321
48322 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48323
48324         * modules/close-stream: New file.
48325         * modules/closeout (Description): Make it clear that it exits
48326         with a diagnostic on error.
48327         (Depends-on): Add close-stream.  Remove fpending, stdbool.
48328         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
48329
48330 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48331
48332         * m4/close-stream.m4: New file.
48333
48334 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48335
48336         * lib/close-stream.c, lib/close-stream.h: New files.
48337
48338 2006-07-22  Bruno Haible  <bruno@clisp.org>
48339
48340         Merge from GNU gettext 0.15.
48341
48342         2006-05-01  Bruno Haible  <bruno@clisp.org>
48343
48344                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
48345
48346         2006-07-22  Bruno Haible  <bruno@clisp.org>
48347
48348                 * modules/javaversion: New file.
48349                 * MODULES.html.sh (Java): Add javaversion.
48350
48351         2006-03-12  Bruno Haible  <bruno@clisp.org>
48352
48353                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
48354
48355         2005-12-04  Bruno Haible  <bruno@clisp.org>
48356
48357                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
48358                 (untested).
48359
48360         2006-06-21  Bruno Haible  <bruno@clisp.org>
48361
48362                 Avoid warnings from recent versions of mcs.
48363                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
48364                 -o, -L, -r any more. Use options documented since mcs-1.0
48365                 instead. Similarly for -g.
48366
48367         2005-12-04  Bruno Haible  <bruno@clisp.org>
48368
48369                 * build-aux/csharpcomp.sh.in: Suffix for resources is
48370                 .resources, not .resource.
48371
48372         2005-07-09  Bruno Haible  <bruno@clisp.org>
48373
48374                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
48375                 add a .dll suffix.
48376                 Reported by Mark Junker <mjscod@gmx.de>.
48377
48378         2006-07-22  Bruno Haible  <bruno@clisp.org>
48379
48380                 * modules/gettext: Upgrade to gettext-0.15.
48381                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
48382                 m4/visibility.m4.
48383                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
48384
48385 2006-07-22  Bruno Haible  <bruno@clisp.org>
48386
48387         Merge from GNU gettext 0.15.
48388
48389         2006-03-25  Bruno Haible  <bruno@clisp.org>
48390
48391                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
48392
48393         2006-07-21  Bruno Haible  <bruno@clisp.org>
48394
48395                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
48396                 "1.1".
48397
48398         2006-05-09  Bruno Haible  <bruno@clisp.org>
48399
48400                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
48401                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
48402                 for the conftestver execution.
48403
48404         2006-05-01  Bruno Haible  <bruno@clisp.org>
48405
48406                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
48407                 optional target-version argument. Verify that the compiler
48408                 groks source of the specified source-version, or add -source
48409                 option as necessary. Verify that the compiler produces
48410                 bytecode in the specified target-version, or add -target and
48411                 -source options as necessary. Make the result of the test
48412                 available as variable CONF_JAVAC. Also log error output in
48413                 config.log.
48414
48415         2006-03-11  Bruno Haible  <bruno@clisp.org>
48416
48417                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
48418
48419         2006-05-09  Bruno Haible  <bruno@clisp.org>
48420
48421                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
48422                 CLASSPATH_SEPARATOR to a semicolon.
48423
48424         2006-03-12  Bruno Haible  <bruno@clisp.org>
48425
48426                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
48427                 available as variable CONF_JAVA, for subsequent autoconf
48428                 tests. Also log error output in config.log.
48429
48430         2006-07-19  Bruno Haible  <bruno@clisp.org>
48431
48432                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
48433                 that getline works on glibc2 systems. Needed to avoid trouble
48434                 in relocatable.c.
48435                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
48436
48437         2005-12-04  Bruno Haible  <bruno@clisp.org>
48438
48439                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
48440                 launcher (untested).
48441
48442         2005-12-04  Bruno Haible  <bruno@clisp.org>
48443
48444                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
48445
48446         2006-07-22  Bruno Haible  <bruno@clisp.org>
48447
48448                 * gettext.m4: Update from GNU gettext-0.15.
48449                 * nls.m4: Likewise.
48450                 * po.m4: Likewise.
48451                 * inttypes-pri.m4: Likewise.
48452                 * inttypes-h.m4: Renamed from inttypes.m4.
48453                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
48454
48455 2006-07-22  Bruno Haible  <bruno@clisp.org>
48456
48457         Merge from GNU gettext 0.15.
48458
48459         2005-07-05  Bruno Haible  <bruno@clisp.org>
48460
48461                 * printf-args.c (printf_fetchargs): Work around broken
48462                 definition of wint_t on mingw.
48463
48464         2005-02-12  Bruno Haible  <bruno@clisp.org>
48465
48466                 * xallocsa.h: Add extern "C" for C++.
48467
48468         2006-05-17  Bruno Haible  <bruno@clisp.org>
48469
48470                 Cygwin portability.
48471                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
48472
48473         2006-04-30  Bruno Haible  <bruno@clisp.org>
48474
48475                 * progreloc.c: Include <mach-o/dyld.h> if available.
48476                 (find_executable): Use _NSGetExecutablePath when possible.
48477
48478         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
48479
48480                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
48481                 function.
48482
48483         2005-12-29  Bruno Haible  <bruno@clisp.org>
48484
48485                 * progreloc.c (set_program_name_and_installdir): Fix
48486                 compilation error.
48487
48488         2005-12-04  Bruno Haible  <bruno@clisp.org>
48489
48490                 Cygwin portability.
48491                 * progreloc.c: Include <windows.h> also on Cygwin.
48492                 (find_executable): Add support for Cygwin.
48493                 (set_program_name_and_installdir): Handle also platforms with
48494                 nonempty EXEEXT.
48495
48496         2006-07-11  Bruno Haible  <bruno@clisp.org>
48497
48498                 * javacomp.c: Fix a comment.
48499                 Reported by Jim Meyering.
48500
48501         2006-04-30  Bruno Haible  <bruno@clisp.org>
48502
48503                 * javacomp.h (compile_java_class): Add source_version,
48504                 target_version arguments.
48505                 * javacomp.c: Rewritten to choose only a compiler that
48506                 respects the specified source_version and target_version.
48507
48508         2006-06-27  Bruno Haible  <bruno@clisp.org>
48509
48510                 Assume correct S_ISDIR macro.
48511                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
48512
48513         2006-07-22  Bruno Haible  <bruno@clisp.org>
48514
48515                 * javaversion.h: New file, from GNU gettext.
48516                 * javaversion.c: New file, from GNU gettext.
48517                 * javaversion.java: New file, from GNU gettext.
48518                 * javaversion.class: New file, from GNU gettext.
48519
48520         2006-05-17  Bruno Haible  <bruno@clisp.org>
48521
48522                 Cygwin portability.
48523                 * javaexec.c (execute_java_class): Test for jview program
48524                 also on Cygwin.
48525
48526         2006-04-09  Bruno Haible  <bruno@clisp.org>
48527
48528                 * fatal-signal.c: Don't include string.h.
48529                 (at_fatal_signal): Use a copying loop instead of memcpy.
48530
48531         2005-12-04  Bruno Haible  <bruno@clisp.org>
48532
48533                 * csharpexec.c: Add support for 'clix' launcher (untested).
48534                 (execute_csharp_using_sscli): New function.
48535                 (execute_csharp_program): Call it.
48536
48537         2006-06-21  Bruno Haible  <bruno@clisp.org>
48538
48539                 Avoid warnings from recent versions of mcs.
48540                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
48541                 -o, -L, -r any more. Use options documented since mcs-1.0
48542                 instead. Similarly for -g.
48543
48544         2005-07-09  Bruno Haible  <bruno@clisp.org>
48545
48546                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
48547                 add a .dll suffix.
48548                 Reported by Mark Junker <mjscod@gmx.de>.
48549
48550         2006-06-17  Bruno Haible  <bruno@clisp.org>
48551
48552                 * config.charset: Update for NetBSD 3.0.
48553
48554         2006-05-17  Bruno Haible  <bruno@clisp.org>
48555
48556                 Cygwin portability.
48557                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
48558
48559         2006-05-16  Bruno Haible  <bruno@clisp.org>
48560
48561                 * localcharset.c [CYGWIN]: Include <windows.h>.
48562                 (get_charset_aliases): For Cygwin, return the same CPxxx
48563                 aliases list as under WIN32.
48564                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
48565                 the environment variables. Fall back to GetACP().
48566
48567         2006-04-05  Bruno Haible  <bruno@clisp.org>
48568
48569                 * config.charset: Update Juan Manuel Guerrero's address.
48570
48571         2005-02-12  Bruno Haible  <bruno@clisp.org>
48572
48573                 * allocsa.h: Add extern "C" for C++.
48574
48575         2005-02-10  Bruno Haible  <bruno@clisp.org>
48576
48577                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
48578                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
48579
48580         2006-07-22  Bruno Haible  <bruno@clisp.org>
48581
48582                 * gettext.h: Update to GNU gettext-0.15.
48583
48584 2006-07-22  Bruno Haible  <bruno@clisp.org>
48585
48586         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
48587         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
48588         lib-prefix.m4, longdouble.m4, ssize_t.m4.
48589
48590 2006-07-21  Eric Blake  <ebb9@byu.net>
48591
48592         * modules/stdlib-safer: New file.
48593         * MODULES.html.sh (File stream based Input/Output): Add
48594         stdlib-safer.
48595
48596 2006-07-21  Eric Blake  <ebb9@byu.net>
48597
48598         * lib/stdlib-safer.h: New file from coreutils, required by
48599         stdlib--.h.
48600
48601 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
48602
48603         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
48604
48605 2006-07-20  Bruno Haible  <bruno@clisp.org>
48606
48607         * gnulib-tool: Recognize new option --assume-autoconf.
48608         (autoconf_minversion): New variable.
48609         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
48610
48611 2006-07-20  Bruno Haible  <bruno@clisp.org>
48612
48613         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
48614
48615 2006-07-19  Derek R. Price  <derek@ximbiot.com>
48616
48617         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
48618         Reindent and repaginate.
48619
48620 2006-07-19  Derek Price  <derek@ximbiot.com>
48621
48622         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
48623         Correct grammar.
48624
48625 2006-07-17  Bruno Haible  <bruno@clisp.org>
48626
48627         * modules/list: New file.
48628         * modules/array-list: New file.
48629         * modules/carray-list, modules/carray-list-tests: New files.
48630         * modules/linked-list, modules/linked-list-tests: New files.
48631         * modules/avltree-list, modules/avltree-list-tests: New files.
48632         * modules/rbtree-list, modules/rbtree-list-tests: New files.
48633         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
48634         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
48635         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
48636         * modules/oset: New file.
48637         * modules/array-oset: New file.
48638         * modules/avltree-oset, modules/avltree-oset-tests: New files.
48639         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
48640         * tests/test-carray_list.c: New file.
48641         * tests/test-linked_list.c: New file.
48642         * tests/test-avltree_list.c: New file.
48643         * tests/test-rbtree_list.c: New file.
48644         * tests/test-linkedhash_list.c: New file.
48645         * tests/test-avltreehash_list.c: New file.
48646         * tests/test-rbtreehash_list.c: New file.
48647         * tests/test-avltree_oset.c: New file.
48648         * tests/test-rbtree_oset.c: New file.
48649         * MODULES.html.sh (Container data structures): New section.
48650
48651 2006-07-17  Bruno Haible  <bruno@clisp.org>
48652
48653         * m4/gl_list.m4: New file.
48654
48655 2006-07-17  Bruno Haible  <bruno@clisp.org>
48656
48657         * lib/gl_list.h: New file.
48658         * lib/gl_list.c: New file.
48659         * lib/gl_array_list.h: New file.
48660         * lib/gl_array_list.c: New file.
48661         * lib/gl_carray_list.h: New file.
48662         * lib/gl_carray_list.c: New file.
48663         * lib/gl_linked_list.h: New file.
48664         * lib/gl_linked_list.c: New file.
48665         * lib/gl_anylinked_list1.h: New file.
48666         * lib/gl_anylinked_list2.h: New file.
48667         * lib/gl_avltree_list.h: New file.
48668         * lib/gl_avltree_list.c: New file.
48669         * lib/gl_anyavltree_list1.h: New file.
48670         * lib/gl_anyavltree_list2.h: New file.
48671         * lib/gl_rbtree_list.h: New file.
48672         * lib/gl_rbtree_list.c: New file.
48673         * lib/gl_anyrbtree_list1.h: New file.
48674         * lib/gl_anyrbtree_list2.h: New file.
48675         * lib/gl_anytree_list1.h: New file.
48676         * lib/gl_anytree_list2.h: New file.
48677         * lib/gl_linkedhash_list.h: New file.
48678         * lib/gl_linkedhash_list.c: New file.
48679         * lib/gl_anyhash_list1.h: New file.
48680         * lib/gl_anyhash_list2.h: New file.
48681         * lib/gl_avltreehash_list.h: New file.
48682         * lib/gl_avltreehash_list.c: New file.
48683         * lib/gl_rbtreehash_list.h: New file.
48684         * lib/gl_rbtreehash_list.c: New file.
48685         * lib/gl_anytreehash_list1.h: New file.
48686         * lib/gl_anytreehash_list2.h: New file.
48687
48688         * lib/gl_oset.h: New file.
48689         * lib/gl_oset.c: New file.
48690         * lib/gl_array_oset.h: New file.
48691         * lib/gl_array_oset.c: New file.
48692         * lib/gl_avltree_oset.h: New file.
48693         * lib/gl_avltree_oset.c: New file.
48694         * lib/gl_rbtree_oset.h: New file.
48695         * lib/gl_rbtree_oset.c: New file.
48696         * lib/gl_anytree_oset.h: New file.
48697
48698 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
48699
48700         * m4/mkancesdirs.m4: New file.
48701         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
48702         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
48703         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
48704         it.
48705
48706 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
48707
48708         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
48709         * lib/mkancesdirs.h: New files.
48710         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
48711         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
48712         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
48713         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
48714         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
48715         callers changed.  Revamp internals significantly, by not
48716         attempting to create directories that are temporarily more
48717         permissive than the final results.  Do not attempt to use
48718         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
48719         This removes some race conditions, fixes some bugs, and simplifies
48720         things.  Use new dirchownmod function to do owner and mode changes.
48721         * lib/mkdir-p.h: Likewise.
48722         * lib/modechange.c (octal_to_mode): New function.
48723         (struct mode_change): New member mentioned.
48724         (make_node_op_equals): New arg mentioned.  All callers changed.
48725         (mode_compile): Keep track of which mode bits the user has explicitly
48726         mentioned.
48727         (mode_adjust): New arg DIR, so that we implement the X op correctly.
48728         New arg PMODE_BITS, to keep track of which mode bits the user
48729         mentioned; it treats S_ISUID and S_ISGID speciall.
48730         All callers changed.
48731         * lib/modechange.h: Likewise.
48732
48733 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
48734
48735         * MODULES.html.sh: Add mkancestors.
48736         * modules/mkancesdirs: New module.
48737         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
48738         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
48739         The chdir-safer and afs files are now orphans; I'll remove them
48740         unless someone speaks up.
48741         Add lib/dirchownmod.c, lib/dirchownmod.h.
48742         (Depends-on): Remove alloca, chown, save-cwd, dirname.
48743         Add lchown, mkancesdirs.
48744         (Maintainer): Add self.
48745
48746 2006-07-15  Karl Berry  <karl@gnu.org>
48747
48748         * gnulib-tool: help message wording/arrangement.
48749
48750 2006-07-14  Simon Josefsson  <jas@extundo.com>
48751
48752         * doc/gnulib.texi (Libtool and Windows): New section.
48753
48754 2006-07-12  Simon Josefsson  <jas@extundo.com>
48755
48756         * modules/gendocs (License): Fix license, approved by Karl.
48757
48758 2006-07-12  Eric Blake  <ebb9@byu.net>
48759
48760         * MODULES.html.sh: Add gendocs.
48761
48762 2006-07-11  Eric Blake  <ebb9@byu.net>
48763
48764         * modules/fdl: New module, to install doc/fdl.texi.
48765         * MODULES.html.sh: Add new section for documentation modules.
48766         * gnulib-tool: Avoid space-tab.
48767         (--doc-base): New option, to manage files from doc.
48768
48769 2006-07-11  Eric Blake  <ebb9@byu.net>
48770
48771         * m4/absolute-header.m4: Fix comments to match recent change.
48772
48773 2006-07-11  Eric Blake  <ebb9@byu.net>
48774
48775         * gnulib-tool: List --doc-base before --tests-base.
48776
48777 2006-07-11  Derek R. Price  <derek@ximbiot.com>
48778
48779         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
48780
48781 2006-07-11  Bruno Haible  <bruno@clisp.org>
48782
48783         * README: Mention where to put documentation.
48784
48785 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48786
48787         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
48788
48789 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
48790
48791         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
48792         to stdint.m4.
48793
48794 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
48795
48796         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
48797         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
48798         "no/such/file/stdint.h" when there is no such file, so that
48799         the resulting C code can be parsed by dodgy compilers.
48800         Problems reported by Bob Proulx.
48801
48802 2006-07-10  Derek R. Price  <derek@ximbiot.com>
48803
48804         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
48805         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
48806         macros into the GNU _D_EXACT_NAMLEN.
48807         * lib/savedir.c:  Likewise.
48808         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
48809
48810 2006-07-10  Derek R. Price  <derek@ximbiot.com>
48811         and Paul Eggert  <eggert@cs.ucla.edu>
48812
48813         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
48814         * m4/savedir.m4:
48815         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
48816         macros into the GNU _D_EXACT_NAMLEN.
48817
48818 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
48819
48820         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
48821         around the absolute name, to work around a problem with the HP-UX
48822         11.23 native C compiler, reported by Bob Proulx.
48823
48824 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
48825
48826         * doc/maintain.texi, make-stds.texi: Sync from
48827         <http://savannah.gnu.org/projects/gnustandards>.
48828
48829 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
48830
48831         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
48832
48833 2006-07-09  Jim Meyering  <jim@meyering.net>
48834
48835         * m4/glob.m4: Remove a doubled word in a comment.
48836
48837 2006-07-09  Jim Meyering  <jim@meyering.net>
48838
48839         * lib/argp-pv.c: Remove a doubled word in a comment.
48840         * lib/check-version.c (check_version): Likewise.
48841         * lib/javacomp.c (compile_java_class): Likewise.
48842
48843 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
48844
48845         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
48846         for the benefit of people using Autoconf 2.60.  If you want to
48847         support older Autoconf versions you can copy m4/onceonly_2_57.m4
48848         (or m4/onceonly.m4, if pre-2.57) manually.
48849
48850 2006-07-08  Jim Meyering  <jim@meyering.net>
48851
48852         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
48853         comment.
48854         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
48855         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
48856         comment.
48857
48858 2006-07-08  Jim Meyering  <jim@meyering.net>
48859
48860         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
48861
48862 2006-07-07  Simon Josefsson  <jas@extundo.com>
48863
48864         * tests/test-crc.c: Change expected crc value, the test vector
48865         were probably computed using the old broken crc.c?
48866
48867 2006-07-06  Simon Josefsson  <jas@extundo.com>
48868
48869         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
48870         now the canonical place for the M4 file).
48871
48872         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
48873         from the sys_socket dependency now.
48874
48875         * modules/inet_pton (Files): Ditto.
48876
48877         * modules/inet_ntop (Files): Ditto.
48878
48879 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
48880
48881         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
48882         not gl_PREREQ_GETUSERSHELL.
48883
48884 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48885
48886         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
48887         with only one argument, for Autoconf 2.60.
48888         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
48889         expand to nothing, so add a shell command to avoid syntax error.
48890         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48891
48892 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48893
48894         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
48895
48896 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48897
48898         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
48899         no longer needed.  Check for isblank decl.
48900         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
48901         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
48902         of existence.
48903
48904 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48905
48906         * lib/getloadavg.c: Use __VMS, not VMS.
48907         * lib/getopt.c: Likewise.
48908         * lib/getpagesize.h: Likewise.
48909         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
48910         and probably does not work.
48911
48912 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
48913
48914         * lib/.cppi-disable: Add wcwidth.
48915         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
48916         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
48917         (ISGRAPH): Remove.  All uses changed to isgraph.
48918         (FOLD) [!defined _LIBC]: Remove special case.
48919         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
48920         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
48921         HAVE_ISBLANK.
48922         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
48923         case.
48924
48925 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
48926
48927         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
48928         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
48929         brackets.  Other minor changes to suppress some compiler
48930         warnings.
48931
48932 2006-07-06  Derek R. Price  <derek@ximbiot.com>
48933         and Paul Eggert  <eggert@cs.ucla.edu>
48934
48935         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
48936         of invoking obsolescent AC_HEADER_DIRENT macro.
48937         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
48938         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
48939         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
48940         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
48941         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
48942         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48943         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
48944         * m4/readdir.m4: Remove; no longer needed.
48945
48946 2006-07-06  Derek R. Price  <derek@ximbiot.com>
48947         and Paul Eggert  <eggert@cs.ucla.edu>
48948
48949         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
48950         Don't worry about this obsolete case any more.
48951         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
48952         directories.
48953         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
48954         worry about this obsolete case any more.
48955         * lib/fts.c: Likewise.
48956         * lib/getcwd.c: Likewise.
48957         * lib/glob.h: Likewise.
48958         * lib/savedir.c: Likewise.
48959
48960 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
48961
48962         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
48963         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
48964         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
48965         needed.
48966         All uses removed.
48967         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
48968         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
48969         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
48970         needed.
48971         * m4/getdate.m4 (gl_GETDATE): Likewise.
48972         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
48973         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
48974         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
48975         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
48976         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
48977         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
48978         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
48979         needed.
48980
48981 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
48982
48983         * lib/memcasecmp.c: Include <limits.h>.
48984         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
48985         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
48986         Don't assume isdigit succeeds only on '0' through '9'.
48987
48988 2006-07-05  Eric Blake  <ebb9@byu.net>
48989
48990         * modules/getaddrinfo (Depends-on): Add snprintf.
48991
48992 2006-07-05  Eric Blake  <ebb9@byu.net>
48993
48994         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
48995         to avoid 'header present but could not be compiled' on cygwin.
48996
48997 2006-07-05  Eric Blake  <ebb9@byu.net>
48998
48999         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
49000         missing from netdb.h.
49001         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
49002
49003 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49004
49005         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
49006         no longer needed.
49007         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
49008         * m4/getdate.m4 (gl_GETDATE): Likewise.
49009         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49010         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49011         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49012         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49013         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49014
49015 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49016
49017         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
49018         All uses of is_space replaced by isspace.
49019         * lib/exit.h: Don't talk about STDC_HEADERS.
49020         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
49021         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
49022         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
49023         replaced by isprint etc.
49024         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
49025         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49026         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
49027         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
49028         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
49029         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49030
49031 2006-07-05  Bruno Haible  <bruno@clisp.org>
49032
49033         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
49034         the function exists, before testing against AIX.
49035         Reported by Martin Lambers <marlam@marlam.de>.
49036
49037 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49038
49039         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
49040         From Mark D. Baushke.
49041
49042 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49043
49044         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
49045         to the absolute name, not just one, to bypass Sun C 5.8's
49046         "warning: #include of /usr/include/... may be non-portable".
49047
49048 2006-07-04  Eric Blake  <ebb9@byu.net>
49049
49050         * modules/dirname-tests: New test module.
49051         * tests/test-dirname.c: New file, replacing dirname.c
49052         TEST_DIRNAME section that was recently deleted.
49053
49054 2006-07-04  Bruno Haible  <bruno@clisp.org>
49055
49056         Assume ANSI C header files and <ctype.h> functions.
49057         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
49058         (mbsnwidth): Use isprint, iscntrl instead.
49059
49060 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49061
49062         Merge from coreutils.
49063         * MODULES.html.sh: Add xstrtold.
49064         * modules/xstrtold: New file.
49065         * modules/cycle-check (Files): Add lib/same-inode.h.
49066         * modules/dirname (Files): Add m4/double-slash-root.m4.
49067         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
49068         * modules/mkdir-p (Files): Add lib/same-inode.h.
49069         * modules/same (Files): Add lib/same-inode.h.
49070
49071 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49072
49073         * m4/absolute-header.m4: Renamed from full-header-path.m4.
49074         This is to keep the terminology clean; POSIX talks about
49075         "absolute pathnames", not "full pathnames", but the GNU
49076         Coding Standards say to use "path" for something else;
49077         so use "absolute" to keep both sides happy.
49078         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
49079         Set gl_absolute_header, not gl_full_header_path.
49080         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
49081         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
49082         All uses changed.
49083
49084         Merge from coreutils.
49085
49086         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49087
49088         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
49089         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
49090         want to require the building of c-strtod.o.
49091         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
49092         needs -lm directly.
49093         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
49094
49095         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
49096
49097         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
49098         --as-needed option if available.  Problem reported by Albert Chin in
49099         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
49100         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
49101         cc merely issues a bunch of annoying warnings for --as-needed
49102         (this problem was reported by Bob Proulx).  Also, try linking with
49103         -lm to detect a bug in binutils 2.16 (this problem was reported
49104         by Ralf Wildenhues).
49105
49106         2006-06-18  Jim Meyering  <jim@meyering.net>
49107
49108         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
49109         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
49110         macro.
49111         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
49112         also check for glibc-2.4's abort-inducing bug.
49113
49114         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
49115         Low-probability clean-up should be to use rmdir to get rid of
49116         the just-created directory, not unlink.
49117
49118         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
49119         configure fail, and request a bug report to inform us about it.
49120         Add a comment that, barring reports to the contrary, in 2007 we'll
49121         assume ftruncate is universally available.
49122
49123         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49124
49125         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
49126
49127         2006-03-12  Jim Meyering  <jim@meyering.net>
49128
49129         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
49130         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
49131         * m4/same.m4 (gl_SAME): Likewise.
49132         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
49133
49134         2006-03-11  Eric Blake  <ebb9@byu.net>
49135
49136         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
49137         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
49138         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
49139         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
49140
49141 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49142
49143         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
49144         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
49145         reported by Mark D. Baushke, one in
49146         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
49147
49148         Merge from coreutils.
49149
49150         * lib/.cppi-disable: Add stdint_.h.
49151         * lib/.cvsignore: Add stdint.h.
49152
49153         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49154
49155         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
49156         both double and long double versions.
49157         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
49158         * lib/xstrtold.c: New file.
49159         * lib/xstrtod.h (xstrtold): New decl.
49160
49161         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
49162
49163         * lib/filemode.c (setst): Remove.
49164         (strmode): Rewrite to avoid setst.  This makes the code shorter,
49165         (arguably) clearer, and the generated code is a bit smaller on my
49166         Debian GNU/Linux stable x86 host.
49167
49168         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49169
49170         * lib/filemode.c: Include "filemode.h" first, to test the interface.
49171         Assume that filemode.h includes sys/types.h and sys/stat.h.
49172         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
49173         (ftypelet): Reorder to put common cases first, for efficiency.
49174         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
49175         to do 'M'.
49176         (strmode): Renamed from mode_string, and now stores 12 bytes instead
49177         of 10, for compatibility with FreeBSD.  All callers changed.
49178         (filemodestring): Now stores 12 bytes instead of 10, and sets file
49179         types that can't be deduced solely from st_mode.  First arg is now a
49180         const pointer.
49181         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
49182         (strmode): Renamed from mode_string.
49183         (filemodestring): New decl.
49184         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
49185         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
49186         needed.
49187         (S_ISPORT, S_ISWHT): New macros, if not already defined.
49188
49189         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
49190
49191         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
49192         fsusage.h now does that.  Include fsusage.h first, to test interface.
49193         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
49194         at most one method (the old code could have generated decls that
49195         didn't conform to C89, not that this was ever exercised).
49196         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
49197
49198         2006-03-19  Jim Meyering  <jim@meyering.net>
49199
49200         Work even in a chroot where d_ino values for entries in "/"
49201         don't match the stat.st_ino values for the same names.
49202         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
49203         number, iterate through all entries again, using lstat instead.
49204         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
49205         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
49206
49207         * lib/getcwd.c (__getcwd): Clarify a comment.
49208         Use memcpy in place of a call to strcpy.
49209
49210         2006-03-12  Jim Meyering  <jim@meyering.net>
49211
49212         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
49213         matches that of the current directory (which we're about to chdir ".."
49214         out of), then save the dev-ino of the parent, instead.
49215
49216         * lib/same-inode.h (SAME_INODE): New file/macro.
49217         * lib/chdir-safer.c (SAME_INODE): Remove definition.
49218         Include "same-inode.h", instead.
49219         * lib/same.c: Likewise.
49220         * lib/cycle-check.h: Include "same-inode.h".
49221         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
49222         * lib/cycle-check.c (SAME_INODE): Remove definition.
49223         * lib/root-dev-ino.h: Include "same-inode.h".
49224
49225         2006-03-11  Eric Blake  <ebb9@byu.net>
49226
49227         * lib/same.c (same_name): s/base_name/last_component/
49228         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
49229         * lib/filenamecat.c (file_name_concat): Likewise.
49230
49231         2006-03-11  Eric Blake  <ebb9@byu.net>,
49232                     Paul Eggert  <eggert@cs.ucla.edu>
49233
49234         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
49235         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
49236         drive prefix.
49237         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
49238         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
49239         (last_component): New method.
49240         * lib/dirname.c (dir_len): Determine when drive letters need a
49241         subsequent slash.  Preserve // when it is special.
49242         (dir_name): Don't append dot when drive letter is absolute.
49243         [TEST_DIRNAME]: Move into a full-blown gnulib test.
49244         * lib/basename.c (base_name): New semantics - malloc the result.
49245         Preserve // when it is special.  Preserve relative files that look
49246         like drive letters.
49247         (base_len): Preserve // when it is special.
49248         (last_component): New method, similar to old base_name semantics.
49249         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
49250         base_name.  Strip redundant slashes from ///.
49251
49252 2006-07-03  Jim Meyering  <jim@meyering.net>
49253
49254         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
49255         macro is used before the first cycle_check call.
49256
49257 2006-07-03  Eric Blake  <ebb9@byu.net>
49258
49259         * modules/dirname (Depends-on): Add xstrndup.
49260
49261 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49262
49263         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
49264         test cases, so that config.log is a bit easier to follow.
49265
49266 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49267
49268         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
49269         both are 64 bits, since this seems to be the tradition, and this
49270         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
49271         we ever run into a host that prefers long long to long in this
49272         case, we'll need another configure-time test.  Problem reported by
49273         Jim Meyering.
49274
49275 2006-07-02  Eric Blake  <ebb9@byu.net>
49276
49277         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
49278
49279 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49280
49281         * modules/inttypes (Depends-on): No longer depends on stdint.
49282         * modules/stdint (Description): Say more about assumptions.
49283         Say that the fast types might differ.  Say macros are used.
49284         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
49285         (Makefile.am): Revise list of substituted symbols to match
49286         new stdint.m4.
49287         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
49288         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
49289         * tests/test-stdint.c (verify_same_types)
49290         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
49291         the code conforms to C99/C89.
49292         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
49293         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
49294
49295 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49296
49297         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
49298         but fix a bug, by requiring at least 64 bits.
49299         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
49300         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
49301         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
49302         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
49303
49304         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
49305         changes.  Make 2.59 a prerequisite.  Check and substitute for
49306         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
49307         inttypes.h.  Do not use special include files; just use the
49308         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
49309         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
49310         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
49311         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
49312         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
49313         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
49314         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
49315         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
49316         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
49317         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
49318         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
49319         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
49320         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
49321         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
49322         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
49323         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
49324         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
49325         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
49326         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
49327         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
49328         WINT_MAX.  Check for C99 conformance more strictly, by detecting
49329         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
49330         not check for things that C99 does not require, e.g., int8_t.  If
49331         a test isn't needed unless <stdint.h> isn't working, and is
49332         unlikely to be needed for any other reason, then don't do it
49333         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
49334         size_t, since we assume C89 freestanding at least.  Do not check
49335         for sig_atomic_t, wchar_t, or wint_t, since the code now does
49336         the right thing even if the types are not defined.  Instead use:
49337         (gl_STDINT_TYPE_PROPERTIES): New macro.
49338         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
49339         testing whether <sys/types.h> clashes, as Autoconf does this for
49340         us now.  All uses removed.
49341         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
49342         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
49343         (gl_CHECK_TYPE_SAME):
49344         Remove; no longer needed.
49345         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
49346         exists, since we'll return 0 anyway in that case.
49347         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
49348
49349 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49350
49351         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
49352         possible collision with system files.
49353         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
49354         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
49355         WCHAR_MIN and WCHAR_MAX in this case.
49356         (<stddef.h>): Do not include; no longer needed.
49357         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
49358         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
49359         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
49360         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
49361         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
49362         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
49363         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
49364         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
49365         !defined(__c99))]: Include in this case too, since it's harmless
49366         now.
49367         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
49368         dangerous to do so.
49369         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
49370         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
49371         (_STDINT_MIN, _STDINT_MAX): New macros.
49372         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
49373         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
49374         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
49375         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
49376         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
49377         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
49378         macros, not typedefs; this simplifies things quite a bit.
49379         Use long int for all types narrower than int64_t.
49380         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
49381         Define in terms of long long int or int64_t or long int,
49382         not int64_t or int32_t.  This saves some compile-time testing.
49383         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
49384         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
49385         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
49386         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
49387         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
49388         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
49389         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
49390         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
49391         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
49392         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
49393         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
49394         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
49395         undef any previous version and define our own version, for
49396         simplicity and consistency with the new macros for types.
49397         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
49398         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
49399         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
49400         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
49401         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
49402         @WINT_T_SUFFIX@ to keep things simple here.
49403         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
49404         Simplify by assuming typical 8/16/32/64 host, since we're
49405         already doing that elsewhere anyway.
49406         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
49407         and assume long long int is 64 bits if available.  This
49408         speeds up 'configure'.
49409
49410 2006-07-01  Eric Blake  <ebb9@byu.net>
49411
49412         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
49413         Reported by Andreas Buening.
49414
49415 2006-07-01  Eric Blake  <ebb9@byu.net>
49416
49417         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
49418
49419 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
49420
49421         * lib/getaddrinfo.c: fixed typo
49422
49423 2006-06-29  Jim Meyering  <jim@meyering.net>
49424
49425         * modules/strftime (Maintainer): Add my name, since with the
49426         FPRINTFTIME changes strftime.c has forked from glibc.
49427
49428 2006-06-29  Eric Blake  <ebb9@byu.net>
49429
49430         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
49431
49432 2006-06-29  Eric Blake  <ebb9@byu.net>
49433
49434         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
49435
49436 2006-06-29  Eric Blake  <ebb9@byu.net>
49437
49438         * lib/stat_.h: New file.
49439
49440 2006-06-29  Eric Blake  <ebb9@byu.net>
49441
49442         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
49443         unused static function.
49444
49445 2006-06-29  Eric Blake  <ebb9@byu.net>
49446
49447         * doc/functions.texi (Function Portability): Document missing lstat
49448         on mingw.
49449
49450 2006-06-29  Eric Blake  <ebb9@byu.net>
49451
49452         * MODULES.html.sh: Add sys_stat.
49453         * modules/sys_stat: New module.
49454         * modules/mkstemp (Depends-on): Add sys_stat.
49455
49456 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49457
49458         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
49459
49460 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49461
49462         * m4/c-bs-a.m4: Removed.
49463
49464 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49465
49466         * lib/strftime.c: Assume strftime() exists.
49467
49468 2006-06-29  Derek Price  <derek@ximbiot.com>
49469
49470         * modules/c-bs-a: Removed - \a is C89.
49471         * MODULES.html.sh: Remove c-bs-a.
49472
49473 2006-06-29  Bruno Haible  <bruno@clisp.org>
49474
49475         * modules/wcwidth (License): Change to LGPL.
49476
49477 2006-06-28  Simon Josefsson  <jas@extundo.com>
49478
49479         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
49480         on _WIN32.
49481
49482         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
49483         getnameinfo.
49484
49485 2006-06-28  Simon Josefsson  <jas@extundo.com>
49486
49487         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
49488
49489 2006-06-28  Simon Josefsson  <jas@extundo.com>
49490
49491         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
49492         functions there.  It will succeed on Windows XP, but on Windows
49493         2000 and (presumably) earlier, it will fail, and use the internal
49494         re-implementation.
49495         (use_win32_p): New function.
49496         (getaddrinfo): Use strtoul on servname, to support numeric ports.
49497         Support AI_NUMERICSERV to disable getservbyname.
49498         (getnameinfo): New function, only supports
49499         NI_NUMERICHOST|NI_NUMERICSERV for now.
49500
49501         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
49502         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
49503         getnameinfo.
49504
49505 2006-06-28  Eric Blake  <ebb9@byu.net>
49506
49507         * modules/wcwidth: New file.
49508         * modules/mbchar (Depends-on): Add wcwidth.
49509         * modules/mbswidth (Depends-on): Add wcwidth.
49510         * MODULES.html.sh: Add wcwidth.
49511
49512 2006-06-28  Eric Blake  <ebb9@byu.net>
49513
49514         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
49515         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
49516
49517 2006-06-28  Eric Blake  <ebb9@byu.net>
49518
49519         * lib/xvasprintf.h: Fix comments.
49520
49521 2006-06-28  Eric Blake  <ebb9@byu.net>
49522
49523         * lib/mbchar.h (wcwidth): Include wcwidth.h.
49524         * lib/mbswidth.c (wcwidth): Move from here...
49525         * lib/wcwidth.h: ...to this new file.
49526
49527 2006-06-28  Derek R. Price  <derek@ximbiot.com>
49528
49529         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
49530
49531         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
49532         it's obsolete.
49533         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
49534
49535 2006-06-28  Derek R. Price  <derek@ximbiot.com>
49536
49537         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
49538         Autoconf 2.60 says this stuff was obsolete.
49539
49540 2006-06-28  Bruno Haible  <bruno@clisp.org>
49541
49542         * modules/wcwidth (Files): Add m4/wchar_t.m4.
49543
49544 2006-06-28  Bruno Haible  <bruno@clisp.org>
49545
49546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
49547         gt_TYPE_WCHAR_T.
49548
49549 2006-06-28  Bruno Haible  <bruno@clisp.org>
49550
49551         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
49552         declaration for wcwidth.
49553         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
49554
49555 2006-06-28  Bruno Haible  <bruno@clisp.org>
49556
49557         * lib/mkdtemp.c [MINGW]: Include <io.h>.
49558         (mkdir): Define using _mkdir.
49559
49560 2006-06-28  Bruno Haible  <bruno@clisp.org>
49561
49562         * lib/getaddrinfo.h: Fix POSIX URL.
49563         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
49564         _WIN32.
49565         (use_win32_p): Make static.
49566         (getaddrinfo): Reject service name if it is empty or does not consist
49567         solely of decimal digits, or if its value is > 65535.
49568         (getnameinfo): Remove useless casts.
49569
49570 2006-06-27  Simon Josefsson  <jas@extundo.com>
49571
49572         * modules/sys_select: New file, suggested by Bruno Haible, Paul
49573         Eggert and Martin Lambers.
49574
49575 2006-06-27  Simon Josefsson  <jas@extundo.com>
49576
49577         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
49578         Eggert and Martin Lambers.
49579
49580 2006-06-27  Bruno Haible  <bruno@clisp.org>
49581
49582         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
49583         result to 0, not to empty.
49584         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
49585
49586 2006-06-27  Bruno Haible  <bruno@clisp.org>
49587
49588         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
49589
49590 2006-06-26  Simon Josefsson  <jas@extundo.com>
49591
49592         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
49593         present.
49594
49595 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
49596
49597         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
49598         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
49599         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
49600
49601 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
49602
49603         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
49604
49605 2006-06-26  Bruno Haible  <bruno@clisp.org>
49606
49607         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
49608
49609 2006-06-26  Bruno Haible  <bruno@clisp.org>
49610
49611         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
49612
49613 2006-06-26  Bruno Haible  <bruno@clisp.org>
49614
49615         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
49616         SGI C compiler in pre-C99 mode.
49617         Suggested by Mark D. Baushke and Larry Jones.
49618
49619 2006-06-26  Bruno Haible  <bruno@clisp.org>
49620
49621         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
49622         WCHAR_MAX.
49623         Reported by Mark D. Baushke and Larry Jones.
49624
49625 2006-06-26  Bruno Haible  <bruno@clisp.org>
49626
49627         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
49628         in pre-C99 mode.
49629         Suggested by Mark D. Baushke and Larry Jones.
49630
49631 2006-06-23  Simon Josefsson  <jas@extundo.com>
49632             Bruno Haible  <bruno@clisp.org>
49633
49634         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
49635         Emit mostlyclean-local rule.
49636         (func_emit_tests_Makefile_am): Likewise.
49637         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
49638
49639 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
49640
49641         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
49642
49643 2006-06-23  Bruno Haible  <bruno@clisp.org>
49644
49645         * tests/test-stdint.c: Update to match ISO C 99 Technical
49646         Corrigendum 1.
49647
49648 2006-06-23  Bruno Haible  <bruno@clisp.org>
49649
49650         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
49651
49652 2006-06-23  Bruno Haible  <bruno@clisp.org>
49653
49654         * lib/stdint_.h: Treat IRIX like OpenBSD.
49655
49656 2006-06-23  Bruno Haible  <bruno@clisp.org>
49657
49658         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
49659         ISO C 99 Technical Corrigendum 1.
49660
49661 2006-06-22  Simon Josefsson  <jas@extundo.com>
49662
49663         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
49664         MinGW.
49665
49666 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
49667
49668         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
49669         needed.  Some compiler complained about some of them.  Problem reported
49670         by Larry Jones in
49671         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
49672
49673 2006-06-21  Simon Josefsson  <jas@extundo.com>
49674
49675         * tests/test-getaddrinfo.c: New file.
49676
49677         * modules/getaddrinfo-tests: New file.
49678
49679         * MODULES.html.sh: Add inet_pton.
49680
49681         * modules/inet_pton: New file.
49682
49683 2006-06-21  Simon Josefsson  <jas@extundo.com>
49684
49685         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
49686         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
49687         of using the (limited) gnulib implementation on Windows XP.
49688
49689         * m4/inet_pton.m4: New file.
49690
49691 2006-06-21  Simon Josefsson  <jas@extundo.com>
49692
49693         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
49694         variable.
49695
49696         * lib/socket_.h: Don't define WINVER.
49697
49698         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
49699         slightly modified to work in gnulib.
49700
49701 2006-06-21  Simon Josefsson  <jas@extundo.com>
49702
49703         * doc/gnulib.texi (Windows sockets): Add.
49704
49705 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
49706
49707         * lib/read-file.c (fread_file): Start with buffer allocation of
49708         0 bytes rather than 1 byte; this simplifies the code.
49709         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
49710         code to free buffer and save/restore errno.
49711         (internal_read_file): Remove unused local.
49712
49713 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
49714
49715         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
49716         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
49717         Problem reported by Denis Excoffier in
49718         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
49719
49720 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49721
49722         * modules/sys_socket, modules/socklen: Include sys/types since
49723         FreeBSD 4.x's sys/socket.h needs it.
49724
49725 2006-06-19  Simon Josefsson  <jas@extundo.com>
49726
49727         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
49728
49729 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
49730
49731         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
49732
49733 2006-06-19  Bruno Haible  <bruno@clisp.org>
49734
49735         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
49736         and FULL_PATH_INTTYPES_H in angle brackets.
49737         Reported by Mark D. Baushke <mdb@gnu.org>.
49738
49739 2006-06-17  Eric Blake  <ebb9@byu.net>
49740
49741         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
49742         errno.
49743
49744 2006-06-17  Bruno Haible  <bruno@clisp.org>
49745
49746         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
49747         <sys/inttypes.h>.
49748
49749 2006-06-17  Bruno Haible  <bruno@clisp.org>
49750
49751         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
49752         whether errno is declared. Assume <errno.h> declares errno.
49753
49754 2006-06-17  Bruno Haible  <bruno@clisp.org>
49755
49756         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
49757
49758 2006-06-17  Bruno Haible  <bruno@clisp.org>
49759
49760         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
49761         problem on Solaris 2.5.1.
49762
49763 2006-06-16  Eric Blake  <ebb9@byu.net>
49764
49765         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
49766         * lib/unicodeio.c [!defined errno]: Likewise.
49767         * lib/strtol.c [!defined errno]: Likewise.
49768         * lib/strtod.c [!defined errno]: Likewise.
49769
49770 2006-06-15  Eric Blake  <ebb9@byu.net>
49771
49772         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
49773
49774 2006-06-15  Eric Blake  <ebb9@byu.net>
49775
49776         * config/srclist.txt (ssize_t.m4): Lose sync.
49777
49778 2006-06-15  Bruno Haible  <bruno@clisp.org>
49779
49780         * modules/stdint (Files): Include m4/full-header-path.m4,
49781         m4/size_max.m4, m4/wchar_t.m4.
49782         (Makefile.am): Many more substitutions.
49783         * modules/stdint-tests: New file.
49784         * tests/test-stdint.c: New file.
49785
49786 2006-06-15  Bruno Haible  <bruno@clisp.org>
49787
49788         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
49789         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
49790         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
49791         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
49792         gl_CHECK_TYPE_SAME): New macros.
49793
49794 2006-06-15  Bruno Haible  <bruno@clisp.org>
49795
49796         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
49797
49798 2006-06-15  Bruno Haible  <bruno@clisp.org>
49799
49800         * lib/stdint_.h: Rewritten to be fully auto-configured.
49801         Fixes bug on HP-UX/IA64.
49802
49803 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
49804
49805         * lib/getdate.y (__attribute__): Don't define if already defined.
49806         Problem reported by Larry Jones.
49807         * lib/utimens.c (__attribute__): Likewise.
49808
49809 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
49810
49811         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
49812         reported by Andreas Schwab.
49813
49814 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49815             Bruno Haible  <bruno@clisp.org>
49816
49817         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
49818         check for the declaration of strnlen and a run test that exposes the
49819         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
49820         rpl_strndup.
49821
49822 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49823             Bruno Haible  <bruno@clisp.org>
49824
49825         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
49826
49827 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49828
49829         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
49830         compile test, for Tru64 4.0D.
49831
49832 2006-05-28  Karl Berry  <karl@gnu.org>
49833
49834         * config/srclist.txt (printf-args.c): lose sync.
49835
49836 2006-05-26  Martin Lambers  <marlam@marlam.de>
49837
49838         * lib/getpass.c: Updates the test for the native W32 API, and adds
49839         missing includes, thus fixing compilation warnings.
49840
49841 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
49842
49843         * lib/exclude.c (exclude_fnmatch): New function.
49844         (excluded_file_name): Call exclude_fnmatch.
49845         * lib/exclude.h (excluded_file_name): New prototype
49846
49847 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
49848
49849         * lib/tempname.c (small_open, large_open): New macros.
49850         (__open, __open64) [!_LIBC]: Remove.
49851         (__gen_tempname): Use small_open and large_open instead of __open
49852         and __open64.  This fixes a portability bug on HP-UX 11.11i
49853         reported by Simon Wing-Tang in
49854         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
49855
49856 2006-05-24  Bruno Haible  <bruno@clisp.org>
49857
49858         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
49859         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
49860         Reported by Thorsten Maerz <torte@netztorte.de> via
49861         Aaron Stone <aaron@serendipity.cx>.
49862
49863 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49864
49865         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
49866         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
49867         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
49868         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
49869         not really conditional on the cache.
49870         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
49871
49872 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
49873
49874         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
49875         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
49876         (my_usleep): Don't mishandle maximum value.
49877
49878 2006-05-19  Jim Meyering  <jim@meyering.net>
49879
49880         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
49881
49882 2006-05-17  Bruno Haible  <bruno@clisp.org>
49883
49884         Cygwin portability.
49885         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
49886
49887 2006-05-17  Bruno Haible  <bruno@clisp.org>
49888
49889         * lib/stdint_.h: Fix recognition of Cygwin.
49890
49891 2006-05-15  Bruno Haible  <bruno@clisp.org>
49892
49893         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
49894         on libtool patch by Ralf Wildenhues.
49895
49896 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
49897
49898         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
49899         test for C99 conformance; (bool) 0.5 is an integer constant
49900         expression, but (bool) -0.5 is not.  Problem reported by Fedor
49901         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
49902
49903 2006-05-11  Simon Josefsson  <jas@extundo.com>
49904
49905         * m4/xvasprintf.m4: Fix obvious typo.
49906
49907 2006-05-11  Jim Meyering  <jim@meyering.net>
49908
49909         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
49910         James Lemley.
49911
49912 2006-05-10  Simon Josefsson  <jas@extundo.com>
49913
49914         * lib/md4.c: Typo fix, update copyright years.
49915         (K1, K2): Don't use L because it turn computations into 64-bit on
49916         64-bit platforms.
49917
49918 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
49919
49920         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
49921         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
49922         unwanted sign propagation, e.g., on hosts with 64-bit int.
49923         There still are some problems with reeelly weird theoretical hosts
49924         (e.g., 33-bit int) but it's not worth worrying about now.
49925         * lib/sha1.c (rol): Likewise.
49926         (K1, K2, K3, K4): Remove unnecessary L suffix.
49927
49928 2006-05-10  Bruno Haible  <bruno@clisp.org>
49929
49930         * lib/des.c: Cast to avoid warnings.
49931
49932 2006-05-09  Bruno Haible  <bruno@clisp.org>
49933
49934         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
49935         (Depends-on): Depend also on xsize, stdarg.
49936         (configure.ac): Add gl_XVASPRINTF.
49937
49938 2006-05-09  Bruno Haible  <bruno@clisp.org>
49939
49940         * m4/xvasprintf.m4: New file.
49941
49942 2006-05-09  Bruno Haible  <bruno@clisp.org>
49943
49944         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
49945         (EOVERFLOW): Define fallback value.
49946         (xstrcat): New function.
49947         (xvasprintf): Recognize the special case of a string concatenation.
49948
49949 2006-05-08  Eric Blake  <ebb9@byu.net>
49950
49951         * gnulib-tool (func_version): Base copyright year on CVS date.
49952         (func_emit_copyright_notice): New function.
49953         (func_emit_lib_Makefile_am): Use it.
49954         (func_emit_tests_Makefile_am): Likewise.
49955         (func_import): Likewise.
49956
49957 2006-05-08  Bruno Haible  <bruno@clisp.org>
49958
49959         * modules/stdarg: New file.
49960         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
49961
49962 2006-05-08  Bruno Haible  <bruno@clisp.org>
49963
49964         * m4/stdarg.m4: New file, from GNU gettext.
49965
49966 2006-05-08  Bruno Haible  <bruno@clisp.org>
49967
49968         * config/srclist.txt (build-aux/config.rpath): different from latest
49969         release.
49970
49971 2006-05-08  Bruno Haible  <bruno@clisp.org>
49972
49973         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
49974
49975 2006-05-05  Jim Meyering  <jim@meyering.net>
49976
49977         * m4/warning.m4: New file, derived from bison's file by the same name.
49978
49979 2006-05-03  Bruno Haible  <bruno@clisp.org>
49980
49981         * lib/stdint_.h: Shorter URL.
49982         * lib/inttypes.h: Likewise.
49983
49984 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49985
49986         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
49987
49988 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49989
49990         * lib/verify.h: Document the internals better.  Most of this change
49991         was written by Bruno Haible.
49992
49993 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49994
49995         * doc/verify.texi: New file, partly based on a proposal by
49996         Bruno Haible.
49997
49998 2006-05-02  Bruno Haible  <bruno@clisp.org>
49999
50000         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
50001         test from here...
50002         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
50003
50004 2006-04-29  Bruno Haible  <bruno@clisp.org>
50005
50006         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
50007         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
50008
50009 2006-04-29  Bruno Haible  <bruno@clisp.org>
50010
50011         * gnulib-tool: Make --update option actually work.
50012
50013 2006-04-29  Bruno Haible  <bruno@clisp.org>
50014
50015         * doc/gcd.texi: New file.
50016         * doc/gnulib.texi: Include it.
50017
50018 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
50019
50020         * lib/getdate.y (get_date): When adding relative date, start with the
50021         initial time, not with the result of the first mktime call.
50022
50023 2006-04-25  Bruno Haible  <bruno@clisp.org>
50024
50025         * gnulib-tool (func_import): Output the include directives in three
50026         blocks, sorted separately.
50027         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50028
50029 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50030
50031         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
50032         to define main with arguments, for C++.  Reported by Eric Blake.
50033         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
50034         Prefer 'int main ()' to 'int main (void)', for C++.
50035         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
50036         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
50037         for 'main', for C99 and C++.
50038
50039 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50040
50041         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
50042         Don't assume that exit status -1 is valid.
50043         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50044         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50045         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
50046         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
50047         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
50048         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
50049         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
50050         functions can be used without declaring them, or that you can
50051         exit with status -1.
50052         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
50053
50054 2006-04-24  Karl Berry  <karl@gnu.org>
50055
50056         * config/srclist.txt (longdouble.m4): sync lost.
50057
50058 2006-04-24  Eric Blake  <ebb9@byu.net>
50059
50060         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
50061
50062 2006-04-24  Bruno Haible  <bruno@clisp.org>
50063
50064         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
50065         poll() implementation in AIX.
50066         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50067
50068 2006-04-24  Bruno Haible  <bruno@clisp.org>
50069
50070         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
50071         assigned exactly once.
50072
50073 2006-04-23  Claudio Fontana  <claudio@gnu.org>
50074             Bruno Haible  <bruno@clisp.org>
50075
50076         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
50077         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
50078         for AM_CPPFLAGS.
50079
50080 2006-04-23  Bruno Haible  <bruno@clisp.org>
50081
50082         * modules/copy-file: Depend on unistd.
50083         * modules/execute: Likewise.
50084         * modules/fatal-signal: Likewise.
50085         * modules/findprog: Likewise.
50086         * modules/mkdtemp : Likewise.
50087         * modules/pipe: Likewise.
50088         * modules/wait-process: Likewise.
50089
50090 2006-04-23  Bruno Haible  <bruno@clisp.org>
50091
50092         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
50093         condition was already detected.
50094         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50095
50096 2006-04-23  Bruno Haible  <bruno@clisp.org>
50097
50098         * lib/copy-file.c: Include <unistd.h> unconditionally.
50099         * lib/execute.c: Likewise.
50100         * lib/fatal-signal.c: Likewise.
50101         * lib/findprog.c: Likewise.
50102         * lib/mkdtemp.c: Likewise.
50103         * lib/pipe.h: Likewise.
50104         * lib/pipe.c: Likewise.
50105         * lib/wait-process.h: Likewise.
50106
50107 2006-04-23  Bruno Haible  <bruno@clisp.org>
50108
50109         * gnulib-tool (func_usage): Fix --import description. Document
50110         --update.
50111         (func_import): Create temporary file in a temporary directory, if
50112         --dry-run is specified. Silence errors from 'grep' when there are no
50113         m4 files in $m4dir.
50114         (func_create_testdir): Silence errors from 'grep' when there are no
50115         m4 files in $m4dir.
50116         Reported by Karl Berry <karl@freefriends.org>.
50117
50118 2006-04-20  Bruno Haible  <bruno@clisp.org>
50119
50120         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
50121         one argument, so that the code will be portable to Autoconf 2.60.
50122         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
50123         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
50124         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
50125
50126 2006-04-19  Derek Price  <derek@ximbiot.com>
50127             Eric Blake  <ebb9@byu.net>
50128
50129         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
50130         rather than "/full/path.h".  Update comment to match.  Shorten &
50131         generalize m4_translit call via AS_TR_CPP.
50132
50133 2006-04-19  Derek Price  <derek@ximbiot.com>
50134             Eric Blake  <ebb9@byu.net>
50135
50136         * lib/inttypes.h: Correct grammar in comment.
50137
50138 2006-04-18  Derek Price  <derek@ximbiot.com>
50139             Paul Eggert  <eggert@cs.ucla.edu>
50140
50141         * modules/inttypes: New file.
50142         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
50143
50144 2006-04-18  Derek Price  <derek@ximbiot.com>
50145             Paul Eggert  <eggert@cs.ucla.edu>
50146
50147         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
50148         New files.
50149
50150 2006-04-18  Derek Price  <derek@ximbiot.com>
50151             Paul Eggert  <eggert@cs.ucla.edu>
50152
50153         * lib/inttypes.h: New file.
50154         * lib/strtoimax.c: Assume <inttypes.h>.
50155
50156 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
50157
50158         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
50159         isn't mounted.  Problem reported by Kir Kolyshkin.
50160
50161 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50162
50163         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
50164         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
50165         Derek R. Price.
50166         * lib/regex.h (RE_DUP_MAX): Update comment to match current
50167         implementation.
50168
50169 2006-04-12  Eric Blake  <ebb9@byu.net>
50170
50171         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
50172         is now done automatically by the corresponding Autoconf macro.
50173
50174 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50175
50176         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
50177         time_r.h.
50178
50179 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50180
50181         Merge regex changes from libc, removing some of our
50182         POSIX-conformance changes that were rejected and redoing them in a
50183         less-intrusive way.
50184
50185         * lib/regcomp.c (re_compile_internal, init_dfa):
50186         Length arg is now size_t, not Idx.  All uses changed.
50187         (peek_token): Forward decl now says internal_function.
50188         (__re_error_msgid, __re_error_msgid_idx):
50189         Now static rather than extern with attribute_hidden.
50190         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
50191         For some reason libc prefers K&R style defns for external functions.
50192         (regerror) [!defined _LIBC]: Likewise.
50193         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
50194         (seek_collating_symbol_entry, lookup_collation_sequence_value):
50195         (build_range_exp, build_collating_symbol):
50196         Use K&R-style defn.
50197         (re_compile_fastmap): Use '\0' to memset, not 0.
50198         (utf8_sb_map): Make the calculations more obvious.
50199         (init_dfa, parse_bracket_exp, build_charclass_op):
50200         Call calloc and cast result, as glibc does.
50201         (init_word_char, fetch_token, peek_token, peek_token_bracket):
50202         (build_range_exp, build_collating_symbol):
50203         Now internal functions.
50204
50205         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
50206
50207         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
50208         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
50209         Don't depend on VMS; depend on __VMS instead, for POSIX
50210         namespace cleanness.
50211         (regoff_t): Define to ssize_t, not long int.
50212
50213         Remove the REG_ macros named below.  Instead, make the old names
50214         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
50215         __USE_GNU_REGEX.
50216         (REG_BACKSLASH_ESCAPE_IN_LISTS):
50217         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
50218         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
50219         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
50220         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
50221         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
50222         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
50223         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
50224         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
50225         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
50226         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
50227         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
50228         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
50229         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
50230         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
50231         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
50232         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
50233         (REG_NREGS):
50234         Remove.  All uses replaced by the old RE_* names.
50235         (RE_BACKSLASH_ESCAPE_IN_LISTS):
50236         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
50237         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
50238         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
50239         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
50240         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
50241         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
50242         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
50243         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
50244         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
50245         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
50246         Don't bother having these macros be independent of each others'
50247         values, since they no longer exist in the POSIX name space.
50248
50249         Rename the following member names back to their old names,
50250         unless !__USE_GNU_REGEX.  All uses changed back.
50251         (buffer): Renamed from re_buffer.
50252         (allocated): Renamed from re_allocated.
50253         (used): Renamed from re_used.
50254         (syntax): Renamed from re_syntax.
50255         (fastmap): Renamed from re_fastmap.
50256         (translate): Renamed from re_translate.
50257         (can_be_null): Renamed from re_can_be_null.
50258         (regs_allocated): Renamed from re_regs_allocated.
50259         (fastmap_accurate): Renamed from re_fastmap_accurate.
50260         (no_sub): Renamed from re_no_sub.
50261         (not_bol): Renamed from re_not_bol.
50262         (not_eol): Renamed from re_not_eol.
50263         (newline_anchor): Renamed from re_newline_anchor.
50264         (num_regs): Renamed from rm_num_regs.
50265         (start): Renamed from rm_start.
50266         (end): Renamed from rm_end.
50267
50268         (free_state): Move up a bit.
50269
50270         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
50271         #define to be empty.
50272         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
50273         when that is what is intended.
50274         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
50275         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
50276         (MAX): New macro.
50277         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
50278         All uses changed back to re_malloc, etc.  It's now the caller's
50279         responsibility to check for overflow; all callers changed.
50280         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
50281         (re_x2nrealloc): Remove.
50282         (free_state): Remove decl.
50283
50284         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
50285         (re_set_registers, re_exec):
50286         Use K&R-style defn.
50287
50288         2006-01-31  Roland McGrath  <roland@redhat.com>
50289
50290         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
50291         Reported by Mike Frysinger <vapier@gentoo.org>.
50292
50293         2006-01-15  Andreas Jaeger  <aj@suse.de>
50294
50295         [BZ #1950]
50296         * lib/regex_internal.c (re_string_reconstruct): Adjust for
50297         build_wcs_upper_buffer change.
50298         (build_wcs_upper_buffer): Change return type.
50299
50300         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
50301
50302         * lib/regex_internal.h: Include <stdint.h> if available.
50303
50304         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
50305
50306         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
50307
50308         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
50309
50310         * lib/regcomp.c: Adjust for changed secondary hash function.
50311
50312         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
50313
50314         * lib/regex.h: Pretty printing.
50315         Clean up namespace a bit.
50316
50317         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
50318
50319         * lib/regexec.c (update_cur_sifted_state, check_arrival,
50320         check_arrival_add_next_nodes): Avoid using uninitialized variable.
50321
50322         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50323                     Ulrich Drepper  <drepper@redhat.com>
50324
50325         [BZ #1302]
50326         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
50327         changed.
50328         (bitset_word_t): Renamed from bitset_word.  All uses changed.
50329
50330         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
50331
50332         [BZ #281]
50333         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
50334         * lib/regcomp.c: Remove unnecessary uses of
50335         unsigned RE_TRANSLATE_TYPE.
50336         * lib/regex_internal.h: Likewise.
50337         * lib/regex_internal.c: Likewise.
50338         * lib/regexec.c: Likewise.
50339         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
50340
50341         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
50342
50343         * lib/regexec.c (find_recover_state): Remove unnecessary
50344         initialization.
50345         (transit_state_bkref): Make DFA a const pointer.
50346         (get_subexp): Likewise.
50347         (check_arrival): Likewise.
50348         (update_cur_sifted_state): Likewise.
50349         (re_search_internal): Likewise.
50350         (prune_impossible_nodes): Likewise.
50351         (acquire_init_state_context): Likewise.
50352         (proceed_next_node): Likewise.
50353         (set_regs): Likewise.
50354         (free_fail_stack_return): Likewise.
50355         (check_arrival_expand_ecl): Mark DFA parameter as const.
50356         (check_arrival_expand_ecl_sub): Likewise.
50357         (check_subexp_limits): Likewise.
50358         (sub_epsilon_src_nodes):  Likewise.
50359         (add_epsilon_src_nodes):  Likewise.
50360         (merge_state_array): Likewise.
50361         (update_regs): Likewise.
50362         (build_trtable): Likewise.
50363         (sift_states_backward): Mark MCTX parameter as const.
50364         (build_sifted_states): Likewise.
50365         (update_cur_sifted_state): Likewise.
50366         (sift_states_mkref): Likewise.
50367         (check_arrival_expand_ecl): Mark eclosure as const.
50368         (check_dst_limits_calc_pos_1): Likewise.
50369         * lib/regex_internal.h (re_match_context_t): Make dfa a const
50370         pointer.
50371
50372         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
50373
50374         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
50375         (transit_state_sb): Likewise.
50376         (transit_state_mb): Likewise.
50377         (sift_states_iter_mb): Likewise.
50378         (check_arrival_add_next_nodes): Likewise.
50379         (check_node_accept_bytes): Change first parameter to pointer-to-const.
50380         [_LIBC] (re_search_2_stub): Use mempcpy.
50381
50382         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
50383         mbrtowc for very simple UTF-8 case.
50384
50385         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
50386         a pointer-to-const.
50387         (re_acquire_state_context): Likewise.
50388         * lib/regex_internal.h: Adjust prototypes.
50389
50390         * lib/regex.c: Prevent using C++ compilers.
50391
50392         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
50393         (re_acquire_state_context): Likewise.
50394
50395 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50396
50397         * modules/regex (Depends-on): Add ssize_t.
50398
50399 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50400
50401         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
50402         translation table.
50403
50404 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50405
50406         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
50407
50408 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
50409             Bruno Haible  <bruno@clisp.org>
50410
50411         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
50412         <sys/types.h> and <inttypes.h>.
50413
50414 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50415
50416         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
50417         `__error_t_defined', so argp.h will not typedef the former.
50418
50419 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
50420
50421         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
50422         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
50423         glibc names.  Even if glibc is changed to conform to POSIX, the
50424         traditional names will be available anyway, since regex depends on
50425         the extensions module.  Also, fix a longstanding typo in the
50426         implementation of Spencer ERE test #75 from grep 2.3.  Problems
50427         reported by Emanuele Giaquinta.  Also, change sense of cached
50428         variable, so that the message makes sense.
50429
50430 2006-03-24  Simon Josefsson  <jas@extundo.com>
50431
50432         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
50433         including some doc fixes.
50434         (base64_encode_alloc): Fix +1 bug on allocation failures.
50435
50436 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50437
50438         * lib/base64.c (base64_encode): Do not read past end of array with
50439         unsanitized input on systems with CHAR_BIT > 8.
50440
50441 2006-03-24  Eric Blake  <ebb9@byu.net>
50442
50443         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
50444
50445 2006-03-22  Karl Berry  <karl@gnu.org>
50446
50447         * config/srclist.txt (*setenv.[ch]): get from coreutils.
50448         * config/srclistvars.sh (COREUTILS): new var.
50449
50450 2006-03-17  Jim Meyering  <jim@meyering.net>
50451
50452         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
50453         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
50454
50455 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50456
50457         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
50458         no longer needs it.  Instead, check that regoff_t is as least
50459         as wide as ptrdiff_t.
50460
50461         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
50462         so that our regex.h stays compatible with the installed regex.
50463         This is helpful for installers who configure --without-included-regex.
50464         Problem reported by Emanuele Giaquinta.
50465
50466 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50467
50468         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
50469         Typedef to long int, not to off_, as POSIX will likely change
50470         in that direction.
50471
50472 2006-03-15  Eric Blake  <ebb9@byu.net>
50473
50474         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
50475
50476 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
50477
50478         * lib/argp-help.c (validate_uparams): Fix typo
50479         * lib/argp-parse.c (argp_default_options): Consistently begin help
50480         messages with a lowercase letter.
50481
50482 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
50483
50484         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
50485         overrun buffers and shouldn't be used (much as gets shouldn't be
50486         used).
50487         * lib/time_r.c (asctime_r, ctime_r): Likewise.
50488
50489 2006-03-08  Simon Josefsson  <jas@extundo.com>
50490
50491         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
50492         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50493
50494 2006-03-08  Simon Josefsson  <jas@extundo.com>
50495
50496         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
50497         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50498
50499 2006-03-08  Simon Josefsson  <jas@extundo.com>
50500
50501         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
50502         signal that configure disabled the device.
50503
50504 2006-03-08  Simon Josefsson  <jas@extundo.com>
50505
50506         * build-aux/maint.mk: Fix refresh-po, to handle no translated
50507         languages.
50508
50509 2006-03-07  Simon Josefsson  <jas@extundo.com>
50510
50511         * modules/getopt (Depends-on): Add unistd.
50512
50513         * modules/unistd: New file.
50514
50515 2006-03-07  Simon Josefsson  <jas@extundo.com>
50516
50517         * modules/gc-random: New file.
50518
50519 2006-03-07  Simon Josefsson  <jas@extundo.com>
50520
50521         * m4/unistd_h.m4: New file.
50522
50523 2006-03-07  Simon Josefsson  <jas@extundo.com>
50524
50525         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
50526         test to be side-effect free by storing the result in the cache
50527         variable gl_cv_lib_readline, and moving the assignment of
50528         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
50529         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50530
50531 2006-03-07  Simon Josefsson  <jas@extundo.com>
50532
50533         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
50534         error on missing devices (the functions will return an error).
50535
50536         * m4/gc.m4: Move random stuff to gc-random.m4
50537
50538 2006-03-07  Simon Josefsson  <jas@extundo.com>
50539
50540         * lib/unistd_.h: New file.
50541
50542 2006-03-07  Simon Josefsson  <jas@extundo.com>
50543
50544         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
50545
50546 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50547
50548         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
50549         Problem reported by Juan Manuel Guerrero.
50550
50551 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50552
50553         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
50554         the unistd module.
50555         * lib/getlogin_r.c: Likewise.
50556         * lib/getlogin_r.h: Likewise.
50557         * lib/glob.c: Likewise.
50558         * lib/pagealign_alloc.c: Likewise.
50559         * lib/unistd_.h: Remove; no longer needed.
50560
50561 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
50562
50563         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50564         Add unistd.
50565         * modules/c-stack (Depends-on): Add unistd.
50566         * modules/getlogin_r: Likewise.
50567         * modules/glob: Likewise.
50568         * modules/pagealign_alloc: Likewise.
50569         * modules/unistd (Files): Remove lib/unistd_.h.
50570         (EXTRA_DIST): Remove.
50571         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
50572         need unistd_.h.
50573         (MOSTLYCLEANFILES): Remove unistd.h-t.
50574
50575 2006-03-03  Simon Josefsson  <jas@extundo.com>
50576
50577         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
50578
50579 2006-03-03  Simon Josefsson  <jas@extundo.com>
50580
50581         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
50582         libidn and bison.
50583
50584 2006-03-03  Simon Josefsson  <jas@extundo.com>
50585
50586         * build-aux/maint.mk: Add indent target.
50587
50588 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
50589
50590         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
50591         our replacement poll.h in any case, to avoid a differing
50592         declaration from a system header.  Seen on AIX.
50593
50594 2006-03-01  Simon Josefsson  <jas@extundo.com>
50595
50596         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
50597         <kasal@ucw.cz>.
50598
50599 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50600
50601         * modules/gettime (Depends-on): Add extensions module.
50602         * modules/nanosleep (Depends-on): Likewise.
50603         * modules/settime (Depends-on): Likewise.
50604
50605 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50606
50607         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
50608         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
50609         pedantically.
50610         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50611         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
50612
50613         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
50614         not "==".  Reported by Ralf Wildenhues.
50615
50616 2006-03-01  Karl Berry  <karl@gnu.org>
50617
50618         * doc/Copyright/request-*: new files, synced from gnuorg.
50619
50620 2006-03-01  Karl Berry  <karl@gnu.org>
50621
50622         * config/srclist.txt (Copyright/*): new entries.
50623
50624 2006-02-28  Simon Josefsson  <jas@extundo.com>
50625
50626         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
50627
50628 2006-02-27  Simon Josefsson  <jas@extundo.com>
50629
50630         * lib/base64.h: Indent #define's.  From Jim Meyering
50631         <jim@meyering.net>.
50632
50633 2006-02-27  Jim Meyering  <jim@meyering.net>
50634
50635         Revert the change of 2006-02-24, so these files can continue
50636         to be sync'd from gettext.
50637         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
50638         of `config.h'.
50639
50640 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
50641
50642         * modules/intprops: New file.
50643         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
50644         Add intprops.
50645         * modules/getloadavg (Files): Remove lib/intprops.h.
50646         (Depends-on): Add intprops.
50647         * modules/human: Likewise.
50648         * modules/inttostr: Likewise.
50649         * modules/openat: Likewise.
50650         * modules/sig2str: Likewise.
50651         * modules/userspec: Likewise.
50652         * modules/utimecmp: Likewise.
50653         * modules/xnanosleep: Likewise.
50654         * modules/xstrtol: Likewise.
50655
50656 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
50657
50658         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
50659         * modules/lock-tests (TESTS): Use $(EXEEXT).
50660         * modules/tls-tests: Likewise.
50661         * modules/argp-tests: Likewise.
50662         (check_PROGRAMS): New var, replacing...
50663         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
50664
50665 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50666
50667         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
50668         `config.h'.
50669
50670 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
50671
50672         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
50673
50674 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50675
50676         Sync from coreutils.
50677         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
50678         gl_CHDIR_SAFER.
50679
50680 2006-02-22  Jim Meyering  <jim@meyering.net>
50681
50682         Sync from coreutils.
50683         * m4/chdir-safer.m4: New file.
50684
50685 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
50686
50687         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
50688         AT_FDCWD exceeds INT_MAX.
50689         * lib/openat.h (AT_FDCWD): Likewise.
50690
50691 2006-02-17  Eric Blake  <address@hidden>
50692
50693         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
50694
50695 2006-02-16  Simon Josefsson  <jas@extundo.com>
50696
50697         * modules/getaddrinfo (Depends-on): Add sys_socket.
50698
50699 2006-02-15  Simon Josefsson  <jas@extundo.com>
50700
50701         * build-aux/maint.mk: Add dsyntax-check rule.
50702
50703 2006-02-15  Eric Blake  <ebb9@byu.net>
50704
50705         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
50706         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
50707         'present but cannot compile' warnings on cygwin.
50708         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
50709         use ws2tcpip.h if sys/socket.h works.
50710         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
50711         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
50712
50713 2006-02-14  Simon Josefsson  <jas@extundo.com>
50714
50715         * modules/maintainer-makefile (Files): Rename.
50716
50717         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
50718         and (the local) Makefile.cfg to maint-cfg.mk.
50719
50720         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
50721         to the latter.
50722
50723         * modules/maintainer-makefile: New module.
50724
50725         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
50726         severaly stripped to make it possible to build it up from scratch
50727         with reliable tests.
50728
50729         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
50730         fixes to permit overriding the default actions when configure and
50731         makefile are not available.
50732
50733 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
50734
50735         Sync from coreutils.
50736         * modules/lstat (Depends-on): Don't depend on xalloc.
50737         (License): Change from GPL to LGPL, since this is now simply a
50738         replacement for a libc function.
50739
50740 2006-02-14  Jim Meyering  <jim@meyering.net>
50741
50742         Sync from coreutils.
50743
50744         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
50745         failure on deficient systems, and simplify gnulib lgpl dependencies.
50746         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
50747         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
50748
50749         * lib/xalloc-die.c: Remove unused definition of N_.
50750
50751 2006-02-14  Jim Meyering  <jim@meyering.net>
50752
50753         Sync from coreutils.
50754         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
50755         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
50756         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
50757         double-quote uses of that variable, to accommodate the rare case in
50758         which getmntent is available in none of the libraries checked.  This
50759         happens at least on FreeBSD 5.0.
50760
50761 2006-02-13  Simon Josefsson  <jas@extundo.com>
50762
50763         * gnulib-tool (Usage): Fix --import, from
50764         karl@freefriends.org (Karl Berry).
50765
50766 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
50767
50768         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
50769
50770 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
50771
50772         * lib/argp-namefrob.h: Restore changes accidentally lost during the
50773         "autoupdate" on 2005-12-12.
50774
50775 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
50776
50777         * modules/closeout (Depends-on): Remove atexit.
50778
50779 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
50780
50781         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
50782         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
50783
50784 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
50785
50786         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
50787         __EXTENSIONS__ if this causes compilation to fail.  Problem
50788         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
50789         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
50790
50791 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
50792
50793         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
50794         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
50795         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
50796         All uses changed.
50797
50798 2006-01-26  Simon Josefsson  <jas@extundo.com>
50799
50800         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
50801         prototype is visible on mingw32.
50802
50803         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
50804         for mingw32.
50805
50806         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
50807         mingw32).
50808
50809 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
50810
50811         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
50812         attempt to open for write; this always fails, at least on POSIX
50813         hosts.  This reinstates the 2006-01-09 change, which was
50814         inadvertently removed.
50815
50816 2006-01-26  Bruno Haible  <bruno@clisp.org>
50817
50818         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
50819         Reported by Paul Eggert.
50820
50821 2006-01-26  Bruno Haible  <bruno@clisp.org>
50822             Paul Eggert  <eggert@cs.ucla.edu>
50823
50824         * lib/stdbool_.h (_Bool)
50825         [(! (defined __cplusplus || defined __BEOS__)
50826           && !defined __GNUC__
50827           && !(defined __HP_cc || defined __xlc__
50828                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
50829                || defined __sgi))]:
50830         #define to signed char in these cases too; this simplifies
50831         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
50832         etc., separately) and makes it more conservative.
50833
50834 2006-01-25  Simon Josefsson  <jas@extundo.com>
50835
50836         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
50837         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
50838         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
50839
50840 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
50841
50842         * lib/argp-namefrob.h: Bugfix. Remove stray #
50843
50844 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
50845
50846         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
50847         so that we test the test.
50848         Check for yet another HP-UX cc bug involving *bool |= bool.
50849
50850 2006-01-25  Karl Berry  <karl@gnu.org>
50851
50852         * config/srclist.txt (vasnprintf.c): sync lost.
50853
50854 2006-01-25  Jim Meyering  <jim@meyering.net>
50855
50856         Sync from the stable (b5) branch of coreutils:
50857
50858         * lib/fts.c (fts_children): Don't let close() clobber errno from
50859         failed fchdir().
50860
50861         * lib/fts.c (fts_stat): When following a symlink-to-directory,
50862         don't necessarily interpret stat-fails+lstat-succeeds as indicating
50863         a dangling symlink.  That can also happen at least for ELOOP.
50864         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
50865         FYI, this bug predates the inclusion of fts.c in coreutils.
50866
50867         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
50868         in their own block, so pre-c99 compilers don't object.
50869
50870         Avoid the double-free (first in fts_read, second in fts_close) that
50871         would occur when an `active' directory is made inaccessible (e.g.,
50872         via chmod a-x) during a traversal.
50873         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
50874         before returning.  Reproduce this failure by
50875         mkdir -p a/b; cd a; chmod a-x . b
50876         Reported by Stavros Passas.
50877
50878 2006-01-25  Jim Meyering  <jim@meyering.net>
50879
50880         * lib/fileblocks.c: Remove more useless parentheses.
50881         * lib/readutmp.h: Likewise.
50882
50883 2006-01-25  Bruno Haible  <bruno@clisp.org>
50884
50885         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
50886         warnings.
50887         Reported by Paul Eggert.
50888
50889 2006-01-25  Bruno Haible  <bruno@clisp.org>
50890
50891         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
50892         rid of a trap command. For Solaris sh.
50893         Reported by Mark D. Baushke <mdb@gnu.org>.
50894
50895 2006-01-24  Simon Josefsson  <jas@extundo.com>
50896
50897         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
50898         Bruno.
50899
50900 2006-01-24  Karl Berry  <karl@gnu.org>
50901
50902         * config/srclist.txt (argp-namefrob.h): sync lost.
50903
50904 2006-01-24  Jim Meyering  <jim@meyering.net>
50905
50906         * modules/openat (Files): Add lib/intprops.h.
50907         From Mark D. Baushke.
50908
50909 2006-01-24  Jim Meyering  <jim@meyering.net>
50910
50911         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
50912         Reported by Mark D. Baushke.
50913
50914 2006-01-24  Jim Meyering  <jim@meyering.net>
50915
50916         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
50917
50918 2006-01-24  Bruno Haible  <bruno@clisp.org>
50919
50920         * modules/strnlen (Maintainer): Change from glibc to all.
50921
50922 2006-01-24  Bruno Haible  <bruno@clisp.org>
50923
50924         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
50925         Patch by Paul Eggert.
50926
50927 2006-01-24  Bruno Haible  <bruno@clisp.org>
50928
50929         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
50930         already has it.
50931         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
50932         2005-11-26.
50933
50934         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
50935         'signed char' to avoid problems with the built-in _Bool type.
50936         Reported by Paul Eggert on 2005-11-26.
50937
50938 2006-01-24  Bruno Haible  <bruno@clisp.org>
50939
50940         * gnulib-tool (func_import): Avoid constructing complicated sed
50941         expressions inside backquote.
50942         Report and solution by Mark D. Baushke <mdb@gnu.org>.
50943
50944 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
50945
50946         These changes imported from libc.
50947         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
50948         test and two separate function calls.
50949         * lib/strndup.c (__strndup): Add libc_hidden_def.
50950
50951 2006-01-23  Simon Josefsson  <jas@extundo.com>
50952
50953         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
50954         Remove the test_*_SOURCES variable: automake infers it by default.
50955         * modules/tls-tests: Likewise.
50956
50957 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50958
50959         Work around porting bugs reported by Dieter in
50960         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
50961         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
50962         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
50963         Include "getopt.h" first, to check interface.
50964         (getenv): Declare only if defined HAVE_DECL_GETENV &&
50965         !HAVE_DECL_GETENV.
50966         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
50967         (__strndup): Revert to K&R-style function dfns, the glibc style.
50968         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
50969         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
50970         Include strnlen.h first, to get prototype properly.
50971         (strnlen): Renamed from __strnlen.
50972         Remove weak alias.
50973
50974 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50975
50976         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
50977
50978 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50979
50980         * config/srclist.txt: Adjust to reflect glibc reorganization.
50981         This affects only comments.
50982
50983 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50984
50985          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
50986          Reported by Bruce Korb <bkorb@gnu.org>.
50987
50988 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
50989
50990         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
50991         to pacify gcc -Wswitch-default.
50992
50993 2006-01-22  Bruno Haible  <bruno@clisp.org>
50994
50995         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
50996         temporary buffer for sprintf, take into account the precision also
50997         for 'd', 'i', 'u', 'o', 'x', 'X'.
50998
50999 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51000
51001         * modules/argp-tests: New module
51002         * tests/test-argp.c: New file
51003         * tests/test-argp-2.sh: New file
51004
51005 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51006
51007         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
51008         (__argp_base_name): Removed
51009         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
51010         typo.
51011         (__argp_base_name): Provide macro definition or extern declaration
51012         depending on the configuration
51013
51014 2006-01-20  Simon Josefsson  <jas@extundo.com>
51015
51016         * modules/inet_ntop (Depends-on): Depend on sys_socket.
51017
51018 2006-01-20  Simon Josefsson  <jas@extundo.com>
51019
51020         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
51021
51022 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51023
51024         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
51025         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
51026         Suggested by Bruno Haible.
51027
51028 2006-01-20  Karl Berry  <karl@gnu.org>
51029
51030         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
51031         until changes propagate, I guess.
51032
51033 2006-01-19  Simon Josefsson  <jas@extundo.com>
51034
51035         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
51036
51037 2006-01-19  Simon Josefsson  <jas@extundo.com>
51038
51039         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
51040
51041 2006-01-19  Simon Josefsson  <jas@extundo.com>
51042
51043         * gnulib-tool: Set check_PROGRAMS.
51044
51045         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51046         modules/des-tests, modules/gc-arcfour-tests,
51047         modules/gc-arctwo-tests, modules/gc-des-tests,
51048         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51049         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51050         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51051         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51052         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51053         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
51054         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
51055         test_*_SOURCES.
51056
51057 2006-01-18  Simon Josefsson  <jas@extundo.com>
51058
51059         * modules/socklen (Depends-on): Depend on sys_socket.
51060
51061 2006-01-18  Simon Josefsson  <jas@extundo.com>
51062
51063         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51064         modules/des-tests, modules/gc-arcfour-tests,
51065         modules/gc-arctwo-tests, modules/gc-des-tests,
51066         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51067         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51068         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51069         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51070         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51071         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
51072         $(EXEEXT) to automake TESTS variable, for mingw32.
51073
51074 2006-01-17  Simon Josefsson  <jas@extundo.com>
51075
51076         * modules/socklen (Include): Need sys/socket.h.
51077
51078 2006-01-17  Bruno Haible  <bruno@clisp.org>
51079
51080         * modules/ssize_t (Include): Add <sys/types.h>.
51081
51082 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
51083
51084         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
51085         it's not portable and it doesn't work with cross-compiles.
51086         Problem reported by Bruno Haible.  Fix missing-$ typo in
51087         'test "gl_cv_ignore_unused_libraries" ...' that prevented
51088         -zignore from being used with Sun's C compiler.
51089
51090 2006-01-12  Simon Josefsson  <jas@extundo.com>
51091
51092         * lib/base64.c: Fix warning, reported by Bruno Haible
51093         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
51094
51095 2006-01-12  Bruno Haible  <bruno@clisp.org>
51096
51097         * modules/ldd: New file.
51098         * build-aux/ldd.sh.in: New file.
51099         * MODULES.html.sh (Support for building libraries and executables): Add
51100         ldd.
51101
51102 2006-01-12  Bruno Haible  <bruno@clisp.org>
51103
51104         * m4/ldd.m4: New file.
51105
51106 2006-01-12  Bruno Haible  <bruno@clisp.org>
51107
51108         * gnulib-tool (func_import, func_create_testdir): Don't go into an
51109         endless loop while replacing $auxdir with build-aux.
51110
51111 2006-01-11  Simon Josefsson  <jas@extundo.com>
51112
51113         * lib/stdint_.h (SIZE_MAX): Add missing (.
51114
51115 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
51116
51117         Sync from coreutils.
51118         * lib/md5.c: Fix commentary typos.
51119         (alignof, UNALIGNED_P): No need for a GCC-specific version.
51120         * lib/md5.h (__attribute__): Remove; unused.
51121         * lib/sha1.c: Fix commentary to match md5 better.
51122         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
51123         so that we don't need to worry about alignment.  All uses changed.
51124         This merges the 2005-10-28 md5 change into sha1.
51125
51126 2006-01-11  Jim Meyering  <jim@meyering.net>
51127
51128         Sync from coreutils.
51129         * lib/md5.c (OP): Fix spacing.
51130
51131 2006-01-11  Bruno Haible  <bruno@clisp.org>
51132
51133         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51134         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
51135         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
51136
51137 2006-01-11  Bruno Haible  <bruno@clisp.org>
51138
51139         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51140         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
51141         the "early" section as well.
51142
51143 2006-01-11  Bruno Haible  <bruno@clisp.org>
51144
51145         Avoid "ar: no archive members specified" error on MacOS X.
51146         * gnulib-tool (func_modules_add_dummy): New function.
51147         (func_import, func_create_testdir): Invoke it.
51148
51149 2006-01-11  Bruno Haible  <bruno@clisp.org>
51150
51151         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
51152         with $auxdir in AC_CONFIG_FILES statements.
51153
51154 2006-01-11  Bruno Haible  <bruno@clisp.org>
51155
51156         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51157         Initialize also noinst_HEADERS to empty.
51158
51159 2006-01-11  Bruno Haible  <bruno@clisp.org>
51160
51161         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
51162         variables.
51163         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
51164         autoreconf.
51165
51166 2006-01-11  Bruno Haible  <bruno@clisp.org>
51167
51168         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
51169         overridable by the user.
51170         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51171
51172 2006-01-10  Simon Josefsson  <jas@extundo.com>
51173
51174         * modules/sys_socket: New file.
51175
51176 2006-01-10  Simon Josefsson  <jas@extundo.com>
51177
51178         * m4/sys_socket_h.m4: New file.
51179
51180 2006-01-10  Simon Josefsson  <jas@extundo.com>
51181
51182         * lib/socket_.h: New file.
51183
51184 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51185
51186         * modules/readutmp (Maintainer): Add myself.
51187
51188 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51189
51190         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
51191         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
51192         People who are still concerned with buggy memcmp implementations
51193         can invoke gl_FUNC_MEMCMP themselves.
51194
51195 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51196
51197         * lib/regex_internal.h (BITSET_WORD_BITS):
51198         Work around a bug in 64-bit PGC (before version 6.1-2), where the
51199         preprocessor mishandles large unsigned values as if they were signed.
51200         Problem reported by Claudio Fontana in
51201         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
51202
51203 2006-01-10  Jim Meyering  <jim@meyering.net>
51204
51205         Avoid the double-free (first in fts_read, second in fts_close) that
51206         would occur when an `active' directory is made inaccessible (e.g.,
51207         via chmod a-x) during a traversal.
51208         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51209         before returning.  Reproduce this failure by
51210         mkdir -p a/b; cd a; chmod a-x . b
51211         Reported by Stavros Passas.
51212
51213         Sync from coreutils.
51214         * lib/sha1.c: Tweak grammar in a comment.
51215
51216 2006-01-10  Jim Meyering  <jim@meyering.net>
51217
51218         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
51219         Patch by Joerg Sonnenberger.
51220
51221 2006-01-10  Bruno Haible  <bruno@clisp.org>
51222
51223         * modules/readutmp: Depend on module free.
51224         * modules/strtok_r: Depend on module restrict.
51225
51226 2006-01-10  Bruno Haible  <bruno@clisp.org>
51227
51228         * modules/gettext (configure.ac): Add an invocation of
51229         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
51230
51231 2006-01-10  Bruno Haible  <bruno@clisp.org>
51232
51233         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
51234         Reported by Werner Lemberg <wl@gnu.org>.
51235
51236 2006-01-10  Bruno Haible  <bruno@clisp.org>
51237
51238         * lib/localcharset.c: Update from GNU gettext.
51239
51240 2006-01-10  Bruno Haible  <bruno@clisp.org>
51241
51242         * lib/argp.h (__const): Remove macro. Use const instead.
51243         * lib/argp-fmtstream.h (__const): Likewise.
51244         * lib/glob_.h (__const): Remove macro.
51245         * lib/glob-libc.h: Use const instead of __const.
51246
51247 2006-01-10  Bruno Haible  <bruno@clisp.org>
51248
51249         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
51250         variable.
51251         Needed to avoid an automake error regarding the 'gettext' module.
51252
51253 2006-01-09  Simon Josefsson  <jas@extundo.com>
51254
51255         * modules/inet_ntop (Depends-on): Add restrict.
51256
51257 2006-01-09  Simon Josefsson  <jas@extundo.com>
51258
51259         * modules/gc-rijndael-tests (License): Put under LGPL.
51260
51261         * modules/gc-des-tests (License): Likewise.
51262
51263         * modules/gc-arcfour-tests (License): Likewise.
51264
51265         * modules/gc-arctwo-tests (License): Likewise.
51266
51267         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
51268
51269         * modules/gc-hmac-sha1-tests (Files): Likewise.
51270
51271         * modules/gc-hmac-md5-tests (License): Likewise.
51272
51273         * modules/gc-sha1-tests (License): Likewise.
51274
51275         * modules/gc-md5-tests (License): Likewise.
51276
51277         * modules/gc-md4-tests (License): Likewise.
51278
51279         * modules/gc-md2-tests (License): Likewise.
51280
51281         * modules/gc-tests (License): Likewise.
51282
51283         * modules/des-tests (License): Likewise.
51284
51285         * modules/md4-tests (License): Likewise.
51286
51287         * modules/md2-tests (License): Likewise.
51288
51289 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51290
51291         Sync from coreutils:
51292
51293         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
51294         * modules/lib-ignore: New file.
51295         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
51296         chdir-safer.m4, lchmod.m4.
51297         * modules/openat: Add mkdirat.c, openat-priv.h.
51298
51299 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51300
51301         Sync from coreutils.
51302         * m4/lib-ignore.m4: New file.
51303         * m4/lchmod.m4: New file.
51304
51305 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51306
51307         Sync from coreutils.
51308         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
51309         for write access: POSIX says that must fail.
51310         * lib/fts.c (diropen): Likewise.
51311         * lib/save-cwd.c (save_cwd): Likewise.
51312         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
51313         well, for minor improvements on hosts that lack O_DIRECTORY.
51314         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
51315         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
51316         Fall back on chown if open failed with EACCES.
51317
51318         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
51319         Report an error at compile-time if only a 1-second nominal clock
51320         resolution is found.
51321
51322         * lib/lchmod.h: New file.
51323         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
51324         (make_dir_parents): Use lchown rather than chown, and
51325         lchmod rather than chmod.
51326
51327         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
51328         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
51329         "proc" reported by n0dalus.
51330
51331         * lib/mountlist.c: Include <limits.h>.
51332         (dev_from_mount_options)
51333         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
51334         New function.  It no longer assumes "dev=" has the System V meaning
51335         on Linux (since it doesn't).  It also parses "dev=" more carefully.
51336         (read_file_system_list)
51337         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
51338         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
51339         dev= in that case.
51340
51341         * lib/posixtm.h (PDS_PRE_2000): New macro.
51342         * lib/posixtm.c (year): Arg is now syntax_bits rather than
51343         allow_century.  All usages changed.  Reject dates outside the range
51344         1969-1999 if PDS_PRE_2000 is used.
51345
51346 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51347
51348         Sync from coreutils.
51349         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
51350         (Time of day items): Mention the possibility of leap seconds.
51351         Problem reported by Dr. David Alan Gilbert.
51352
51353 2006-01-09  Jim Meyering  <jim@meyering.net>
51354
51355         Sync from coreutils.
51356
51357         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
51358
51359         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
51360
51361         * lib/modechange.c (mode_compile): Reject an invalid mode string
51362         that starts with an octal digit.  From Andreas Gruenbacher.
51363
51364         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
51365         and dup to open_safer and dup_safer, respectively.
51366         (openat_permissive): Fix typo in comment.
51367
51368         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
51369         "gettext.h"; either no longer needed or are guaranteed by openat.h.
51370         (_): Remove; no longer needed.
51371         (openat): Renamed from rpl_openat; no need for rpl_openat
51372         since openat.h renames openat for us.
51373         Replace most of the body with a call to openat_permissive,
51374         to avoid duplicate code.
51375         Port to (probably hypothetical) environments were mode_t is
51376         wider than int.
51377         (openat_permissive): Require mode arg, so that we can check
51378         types better.  Put it just after flags.  Change cwd failure
51379         indicator from pointer-to-bool to pointer-to-errno-value.
51380         All callers changed.
51381         Invoke openat_save_fail and/or openat_restore_fail if
51382         cwd_errno is null, so that openat can call us.
51383         (openat_permissive, fdopendir, fstatat, unlinkat):
51384         Simplify errno handling to avoid some duplicate code,
51385         as it's OK to set errno on success.
51386         * lib/openat.h: Revamp code so that function macros depend on
51387         __OPENAT_PREFIX only, not also on AT_FDCWD.
51388         (openat_ro): Remove.  Caller changed to use openat_permissive.
51389         (openat_permissive): Now a macro, if not a function.
51390         (openat_restore_fail, openat_save_fail): Now always functions,
51391         since mkdirat needs them even if __OPENAT_PREFIX is defined.
51392
51393         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
51394         and openat.c.
51395         * lib/mkdirat.c: Include openat-priv.h.
51396         Remove definitions of macros defined therein.
51397         * lib/openat.c: Likewise.
51398
51399         * lib/mkdirat.c (mkdirat): New file and function.
51400         * lib/openat.h (mkdirat): Declare.
51401
51402         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
51403
51404         * lib/openat.h (openat_permissive): Declare.
51405         (openat_ro): Define.
51406
51407         * lib/openat.c (EXPECTED_ERRNO): New macro.
51408         (openat_permissive): New function -- used in remove.c rewrite.
51409         (all functions): Set errno just before returning, only if there
51410         was an actual failure.
51411         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
51412
51413         Emulate openat-family functions using Linux's procfs, if possible.
51414         Idea and some code based on Ulrich Drepper's glibc changes.
51415
51416         * lib/openat.c: (BUILD_PROC_NAME): New macro.
51417         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
51418         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
51419         before falling back on save_cwd and restore_cwd.
51420         (fdopendir, fstatat, unlinkat): Likewise.
51421
51422         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
51423         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
51424
51425         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
51426         as second argument to va_arg.  Otherwise, some versions of gcc
51427         warn that `if this code is reached, the program will abort'.
51428
51429 2006-01-09  Jim Meyering  <jim@meyering.net>
51430
51431         Sync from coreutils.
51432         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
51433         Require openat-priv.h.
51434
51435 2006-01-09  Bruno Haible  <bruno@clisp.org>
51436
51437         * modules/strnlen (Include): Use strnlen.h.
51438
51439 2006-01-09  Bruno Haible  <bruno@clisp.org>
51440
51441         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
51442
51443 2006-01-09  Bruno Haible  <bruno@clisp.org>
51444
51445         * lib/sysexit_.h (EX_OK): New macro.
51446         Suggested by Martin Lambers <marlam@marlam.de>.
51447
51448 2006-01-09  Bruno Haible  <bruno@clisp.org>
51449
51450         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
51451         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
51452
51453 2006-01-09  Bruno Haible  <bruno@clisp.org>
51454
51455         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
51456         numbers.
51457
51458 2006-01-09  Bruno Haible  <bruno@clisp.org>
51459
51460         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
51461         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
51462         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
51463         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
51464
51465 2006-01-09  Bruno Haible  <bruno@clisp.org>
51466
51467         * build-aux/javacomp.sh.in: New file, moved from lib/.
51468         * modules/javacomp-script (Files): Update.
51469         (configure.ac): Add AC_CONFIG_FILES invocation.
51470         (EXTRA_DIST): Remove variable.
51471
51472         * build-aux/javaexec.sh.in: New file, moved from lib/.
51473         * modules/javaexec (Files): Update.
51474         (configure.ac): Add AC_CONFIG_FILES invocation.
51475         (EXTRA_DIST): Remove javaexec.sh.in.
51476
51477         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
51478         * modules/csharpcomp-script (Files): Update.
51479         (configure.ac): Add AC_CONFIG_FILES invocation.
51480         (EXTRA_DIST): Remove variable.
51481
51482         * build-aux/csharpexec.sh.in: New file, moved from lib/.
51483         * modules/csharpexec (Files): Update.
51484         (configure.ac): Add AC_CONFIG_FILES invocation.
51485         (EXTRA_DIST): Remove csharpexec.sh.in.
51486
51487 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51488
51489         Sync from coreutils.
51490
51491         Add POSIX ACL support
51492         * lib/acl.h (copy_acl, set_acl): Add declarations.
51493         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
51494         systems other than Linux.
51495         (chmod_or_fchmod): New function: use fchmod when possible,
51496         and chmod otherwise.
51497         (file_has_acl): Add a POSIX ACL implementation, with a
51498         Linux-specific subcase.
51499         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
51500         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
51501         acls are unsupported.
51502         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
51503         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
51504         are unsupported.
51505
51506 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51507
51508         Sync from coreutils.
51509         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
51510
51511 2006-01-07  Bruno Haible  <bruno@clisp.org>
51512
51513         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
51514         gl_EARLY.
51515
51516 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51517
51518         * lib/strftime.c (tzname): Don't declare if it is already #defined.
51519         Problem reported for Mingw by Mark Junker.
51520
51521 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51522
51523         * README: Gnulib normally doesn't generate a tarball.
51524
51525 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
51526
51527         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
51528         long int, not int, for nanosecond counts, so that people who are
51529         used to POSIX struct timespec won't be surprised.  Reported by Jim
51530         Meyering.
51531
51532 2005-12-28  Bruno Haible  <bruno@clisp.org>
51533
51534         * build-aux/config.rpath: Update from GNU gettext.
51535
51536 2005-12-16  Jim Meyering  <jim@meyering.net>
51537
51538         * modules/fprintftime: New module.
51539         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
51540
51541 2005-12-16  Jim Meyering  <jim@meyering.net>
51542
51543         * m4/fprintftime.m4: New file.
51544
51545 2005-12-16  Jim Meyering  <jim@meyering.net>
51546
51547         * lib/fprintftime.c, lib/fprintftime.h: New files.
51548
51549 2005-12-15  Simon Josefsson  <jas@extundo.com>
51550
51551         * modules/socklen (configure.ac): Fix M4 macro name, to align with
51552         new m4/socklen.m4.
51553
51554 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51555
51556         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
51557         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
51558
51559 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51560
51561         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
51562         * lib/argp-help.c (fill_in_uparams): Check if the constructed
51563         struct uparams is valid. Fall back to the default values if it is
51564         not.
51565
51566 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51567
51568         * modules/argp (Files): Add argp-pin.c
51569         (Depends-on): dirname
51570         (lib_SOURCES): Add argp-pin.c
51571
51572 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51573
51574         * m4/argp.m4:  Check if program_invocation_name and
51575         program_invocation_short_name are declared and define appropriate
51576         macros if they are not.
51577
51578 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51579
51580         * lib/argp-help.c (__argp_base_name): New function
51581         (__argp_short_program_name): Rewrite using __argp_base_name
51582         * lib/argp-namefrob.h: Define program_invocation_name and
51583         program_invocation_short_name if requested
51584         (__argp_base_name): Add prototype
51585         * lib/argp-parse.c (argp_def): Use gettext wrappers
51586         (argp_default_parser): Use __argp_base_name
51587         * lib/argp-pin.c: New file. Defines program_invocation_name and
51588         program_invocation_short_name on systems that lack them.
51589
51590 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51591
51592         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
51593         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
51594         porting problem reported by Georg Schwarz in
51595         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
51596
51597 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
51598
51599         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
51600         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
51601         porting problem reported by Georg Schwarz in
51602         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
51603
51604 2005-12-05  Bruno Haible  <bruno@clisp.org>
51605
51606         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
51607         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
51608         Reported by Mark Junker <mjscod@gmx.de>.
51609
51610 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
51611
51612         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
51613         Use implementation from Albert Chin, with some
51614         comments/corrections by Stepan Kasal and myself.
51615
51616 2005-12-02  Bruno Haible  <bruno@clisp.org>
51617
51618         * gnulib-tool (func_import): Accept GPLed build tool modules when
51619         --lgpl is given.
51620         * modules/csharpcomp-script: New file.
51621         * modules/csharpcomp: Depend on it.
51622         * modules/javacomp-script: New file.
51623         * modules/javacomp: Depend on it.
51624         Suggested by Simon Josefsson.
51625
51626 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
51627
51628         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
51629         statement, to work around an HP-UX 10.20 compiler bug reported by
51630         Peter O'Gorman.
51631
51632 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
51633
51634         * modules/savedir (Depends-on): Add openat.
51635
51636 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
51637
51638         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
51639         (uintmax_t) [defined uintmax_t]: Do not declare.
51640         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
51641         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
51642         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
51643         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
51644         sake of portability to weird hosts that C allows (though we don't
51645         know of any practical examples).
51646
51647         * lib/savedir.h (fdsavedir): New decl.
51648         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
51649         contains most of the former guts of savedir.
51650         (savedir): Use savedirstream.
51651         Include "openat.h".
51652
51653 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
51654
51655         * modules/obstack (Files): Add m4/ulonglong.m4.
51656         Problem reported by Davide Angelocola.
51657
51658 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
51659
51660         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
51661         coreutils no longer futzes with rounding modes.
51662
51663 2005-11-14  Jim Meyering  <jim@meyering.net>
51664
51665         * lib/mkstemp-safer.c: Include <config.h>, required for possible
51666         replacement of mkstemp.
51667
51668 2005-11-10  Simon Josefsson  <jas@extundo.com>
51669
51670         * lib/readline.c: Remove EOL.
51671
51672 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51673
51674         * modules/gethrxtime (Depends-on): Add gettime.
51675
51676 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51677
51678         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
51679         or gettimeofday; no longer needed.
51680
51681 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
51682
51683         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
51684         time business.
51685         (gethrxtime) [! (HAVE_NANOUPTIME
51686         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
51687         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
51688         our own approximation.
51689
51690 2005-11-08  Eric Blake  <ebb9@byu.net>
51691
51692         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
51693
51694 2005-11-08  Eric Blake  <ebb9@byu.net>
51695
51696         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
51697
51698 2005-11-04  Bruno Haible  <bruno@clisp.org>
51699
51700         * gnulib-tool: Implement --update mode.
51701
51702 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
51703
51704         Fix porting problem reported by Theodoros V. Kalamatianos.
51705         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
51706         Don't assume that futimes failing means we must fail.
51707
51708 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
51709
51710         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
51711         variables to suggest the intended function of the PATH_MAX check.
51712
51713 2005-10-30  Kean Johnston  <jkj@sco.com>
51714
51715         Trivial changes to support SCO systems.
51716         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
51717         as PATH_MAX.
51718         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
51719         where __ptr is null when no I/O is pending.
51720
51721 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
51722
51723         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
51724         leave errno alone.  Problem reported by Dmitry V. Levin.
51725
51726 2005-10-28  Simon Josefsson  <jas@extundo.com>
51727
51728         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
51729         Test more.
51730
51731         * tests/test-gc-md2.c, tests/test-md2.c: New files.
51732
51733         * modules/md2, modules/md2-tests: New files.
51734
51735 2005-10-28  Simon Josefsson  <jas@extundo.com>
51736
51737         * m4/inet_ntop.m4: More tests.
51738
51739         * m4/gc-md2.m4, md2.m4: New file.
51740
51741 2005-10-28  Simon Josefsson  <jas@extundo.com>
51742
51743         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
51744         "restrict" keywords, as per POSIX.  Protect the function
51745         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
51746         Don't use K&R prototypes.  Check the sprintf return values.
51747         Re-define EAFNOSUPPORT if not present.  Indent.
51748
51749         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
51750         suggested by Bruno Haible <bruno@clisp.org>.
51751
51752         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
51753
51754         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
51755
51756         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
51757         libgcrypt).
51758
51759         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
51760
51761         * lib/md2.h, lib/md2.c: New files.
51762
51763 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
51764
51765         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
51766         errno alone.  Problem reported by Frederic Jolliton.
51767
51768 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
51769
51770         * modules/verify (License): Change from GPL to LGPL.  This is a
51771         tiny module and there are apparently near-equivalents that are
51772         under the BSD license.
51773
51774 2005-10-24  Simon Josefsson  <jas@extundo.com>
51775
51776         * modules/sha1: Relicense to LGPL.
51777
51778 2005-10-24  Simon Josefsson  <jas@extundo.com>
51779
51780         * lib/md4.h: Shrink buffer size, now that we changed the type.
51781
51782 2005-10-23  Simon Josefsson  <jas@extundo.com>
51783
51784         * gnulib-tool (func_import): Fix --tests-base.
51785
51786 2005-10-22  Simon Josefsson  <jas@extundo.com>
51787
51788         * modules/arcfour (Depends-on): Need stdint.
51789
51790 2005-10-22  Simon Josefsson  <jas@extundo.com>
51791
51792         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
51793         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
51794
51795 2005-10-22  Simon Josefsson  <jas@extundo.com>
51796
51797         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
51798         suggested by Bruno Haible <bruno@clisp.org>.
51799
51800 2005-10-22  Simon Josefsson  <jas@extundo.com>
51801
51802         * lib/crc.h: Include stddef.h, for size_t.
51803
51804 2005-10-22  Simon Josefsson  <jas@extundo.com>
51805
51806         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
51807         arcfour_context struct (simplify test vector testing in GNU
51808         Shishi).
51809
51810 2005-10-21  Simon Josefsson  <jas@extundo.com>
51811
51812         * modules/des, modules/des-tests: New files.
51813
51814         * modules/gc-des, modules/gc-des-tests: New files.
51815
51816         * tests/test-des.c, tests/test-gc-des.c: New file.
51817
51818 2005-10-21  Simon Josefsson  <jas@extundo.com>
51819
51820         * modules/arctwo, modules/arctwo-tests: New files.
51821
51822         * tests/test-arctwo.c: New file.
51823
51824         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
51825
51826         * tests/test-gc-arctwo.c: New file.
51827
51828 2005-10-21  Simon Josefsson  <jas@extundo.com>
51829
51830         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
51831         Bruno Haible <bruno@clisp.org>.
51832
51833         * m4/gc-des.m4: New file.
51834
51835 2005-10-21  Simon Josefsson  <jas@extundo.com>
51836
51837         * m4/arctwo.m4: New file.
51838
51839         * m4/gc-arctwo.m4: New file.
51840
51841 2005-10-21  Simon Josefsson  <jas@extundo.com>
51842
51843         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
51844         block.
51845
51846 2005-10-21  Simon Josefsson  <jas@extundo.com>
51847
51848         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
51849         <bruno@clisp.org>.
51850
51851         * lib/hmac-sha1.c (hmac_sha1): Likewise.
51852
51853         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
51854         Bruno Haible <bruno@clisp.org>.
51855
51856         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
51857         <bruno@clisp.org>.
51858
51859 2005-10-21  Simon Josefsson  <jas@extundo.com>
51860
51861         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
51862
51863 2005-10-21  Simon Josefsson  <jas@extundo.com>
51864
51865         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
51866
51867 2005-10-21  Simon Josefsson  <jas@extundo.com>
51868
51869         * lib/des.h, lib/des.c: New files.
51870
51871         * lib/gc-gnulib.c: Support DES.c
51872
51873 2005-10-21  Simon Josefsson  <jas@extundo.com>
51874
51875         * lib/arctwo.h, lib/arctwo.c: New files.
51876
51877         * lib/gc-gnulib.c: Support ARCTWO.
51878
51879 2005-10-21  Simon Josefsson  <jas@extundo.com>
51880
51881         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
51882         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51883
51884 2005-10-21  Simon Josefsson  <jas@extundo.com>
51885
51886         * gnulib-tool (func_import, func_create_testdir): Define automake
51887         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
51888         Makefile.am snippet),
51889         suggested by Bruno Haible <bruno@clisp.org>.
51890
51891         * modules/gc (Makefile.am): Use it.
51892
51893 2005-10-21  Bruno Haible  <bruno@clisp.org>
51894
51895         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
51896         patch.
51897
51898 2005-10-19  Simon Josefsson  <jas@extundo.com>
51899
51900         * tests/test-gc-rijndael.c: New file.
51901
51902         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
51903
51904 2005-10-19  Simon Josefsson  <jas@extundo.com>
51905
51906         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
51907         interface too.
51908
51909 2005-10-19  Simon Josefsson  <jas@extundo.com>
51910
51911         * tests/test-gc-arcfour.c: New file.
51912
51913         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
51914
51915 2005-10-19  Simon Josefsson  <jas@extundo.com>
51916
51917         * modules/gc-md4, modules/gc-md4-tests: New file.
51918
51919         * tests/test-gc-md4.c: New file.
51920
51921 2005-10-19  Simon Josefsson  <jas@extundo.com>
51922
51923         * m4/gc-md4.m4: New file.
51924
51925 2005-10-19  Simon Josefsson  <jas@extundo.com>
51926
51927         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
51928         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
51929         <kasal@ucw.cz>.
51930
51931 2005-10-19  Simon Josefsson  <jas@extundo.com>
51932
51933         * m4/gc-arcfour.m4: New file.
51934
51935         * m4/gc-rijndael.m4: New file.
51936
51937 2005-10-19  Simon Josefsson  <jas@extundo.com>
51938
51939         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
51940
51941 2005-10-19  Simon Josefsson  <jas@extundo.com>
51942
51943         * lib/gc-gnulib.c: Support ARCFOUR.
51944
51945 2005-10-19  Simon Josefsson  <jas@extundo.com>
51946
51947         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
51948         support.
51949
51950         * lib/gc.h: Add ECB enum type.
51951
51952         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
51953
51954 2005-10-18  Simon Josefsson  <jas@extundo.com>
51955
51956         * tests/test-md5.c: New file.
51957
51958         * modules/md5-tests: New file.
51959
51960 2005-10-18  Simon Josefsson  <jas@extundo.com>
51961
51962         * tests/test-md4.c: New file.
51963
51964         * modules/md4, modules/md4-tests: New files.
51965
51966 2005-10-18  Simon Josefsson  <jas@extundo.com>
51967
51968         * m4/md4.m4: New file.
51969
51970 2005-10-18  Simon Josefsson  <jas@extundo.com>
51971
51972         * lib/md4.h, lib/md4.c: New files, based on md5.?.
51973
51974 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
51975
51976         * gnulib-tool (func_create_testdir): Omit the second check whether
51977         BUILT_SOURCES in nonempty.
51978
51979 2005-10-17  Simon Josefsson  <jas@extundo.com>
51980
51981         * tests/test-rijndael.c: New file.
51982
51983 2005-10-17  Simon Josefsson  <jas@extundo.com>
51984
51985         * modules/sha1: Depend on stdint instead of md5.
51986
51987         * modules/md5: Depend on stdint, remove uint32_t.
51988
51989 2005-10-17  Simon Josefsson  <jas@extundo.com>
51990
51991         * modules/gc-sha1-tests: New file.
51992
51993         * tests/test-gc-sha1.c: New file.
51994
51995 2005-10-17  Simon Josefsson  <jas@extundo.com>
51996
51997         * m4/md5.m4: Remove call to uint32_t.m4.
51998
51999 2005-10-17  Simon Josefsson  <jas@extundo.com>
52000
52001         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
52002
52003         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
52004         md5.h.
52005
52006         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
52007
52008         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
52009
52010 2005-10-17  Simon Josefsson  <jas@extundo.com>
52011
52012         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
52013
52014 2005-10-17  Simon Josefsson  <jas@extundo.com>
52015
52016         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
52017
52018 2005-10-17  Simon Josefsson  <jas@extundo.com>
52019
52020         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
52021
52022         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
52023
52024 2005-10-17  Bruno Haible  <bruno@clisp.org>
52025
52026         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
52027         that it can also be used in a test.
52028
52029 2005-10-16  Bruno Haible  <bruno@clisp.org>
52030
52031         * gnulib-tool (func_emit_tests_Makefile_am): Also define
52032         TESTS_ENVIRONMENT, so that individual tests can augment it.
52033
52034         * gnulib-tool (func_create_testdir): Use an intermediate target for
52035         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
52036         macros, like $(ALLOCA_H), which cannot be passed through the command
52037         line.
52038
52039 2005-10-15  Simon Josefsson  <jas@extundo.com>
52040
52041         * modules/rijndael-tests: New file.
52042
52043         * modules/rijndael: New file.
52044
52045 2005-10-15  Simon Josefsson  <jas@extundo.com>
52046
52047         * m4/rijndael.m4: New file.
52048
52049 2005-10-15  Simon Josefsson  <jas@extundo.com>
52050
52051         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
52052
52053         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
52054
52055 2005-10-14  Simon Josefsson  <jas@extundo.com>
52056
52057         * tests/test-arcfour.c: New file.
52058
52059         * modules/arcfour, modules/arcfour-tests: New files.
52060
52061 2005-10-14  Simon Josefsson  <jas@extundo.com>
52062
52063         * m4/arcfour.m4: New file.
52064
52065 2005-10-14  Simon Josefsson  <jas@extundo.com>
52066
52067         * lib/arcfour.h, lib/arcfour.c: New files.
52068
52069 2005-10-14  Roland McGrath  <roland@redhat.com>
52070
52071         Import from libc.  [BZ #1331]
52072         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
52073         macro argument.
52074         Reported by Matej Vela <vela@debian.org>.
52075
52076 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52077
52078         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
52079         include <wchar.h>; no longer needed.
52080
52081 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52082
52083         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
52084
52085 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
52086         and  Ulrich Drepper  <drepper@redhat.com>
52087
52088         Import from libc.
52089         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
52090         instead of inline stream orientation test and two separate
52091         function calls.  Pay no attention to USE_IN_LIBIO.
52092
52093 2005-10-13  Simon Josefsson  <jas@extundo.com>
52094
52095         * modules/gc-hmac-md5-tests: New file.
52096
52097         * tests/test-gc-hmac-sha1.c: New file.
52098
52099         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
52100
52101         * modules/gc-hmac-md5-tests: New file.
52102
52103         * tests/test-gc-md5.c: New file.
52104
52105         * modules/gc-md5-tests: New file.
52106
52107 2005-10-13  Simon Josefsson  <jas@extundo.com>
52108
52109         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
52110         Move memory allocation outside of loop.
52111
52112 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
52113
52114         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
52115         intermediate directory is in a read-only file system.  Problem
52116         reported by Eric Blake.
52117
52118 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
52119
52120         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
52121
52122 2005-10-12  Simon Josefsson  <jas@extundo.com>
52123
52124         * tests/test-hmac-sha1.c: New file.
52125
52126         * modules/hmac-sha1-tests: New file.
52127
52128         * modules/hmac-sha1: New file.
52129
52130 2005-10-12  Simon Josefsson  <jas@extundo.com>
52131
52132         * modules/gc-sha1: New file.
52133
52134 2005-10-12  Simon Josefsson  <jas@extundo.com>
52135
52136         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
52137
52138         * tests/test-gc-pbkdf2-sha1.c: New file.
52139
52140 2005-10-12  Simon Josefsson  <jas@extundo.com>
52141
52142         * modules/gc-md5, modules/gc-hmac-md5: New files.
52143
52144         * modules/gc (Files): Remove md5, memxor and hmac files.
52145
52146 2005-10-12  Simon Josefsson  <jas@extundo.com>
52147
52148         * m4/gc-pbkdf2-sha1.m4: New file.
52149
52150         * m4/gc-hmac-sha1.m4: New file.
52151
52152         * m4/gc-sha1: New file.
52153
52154         * m4/hmac-sha1.m4: New file.
52155
52156 2005-10-12  Simon Josefsson  <jas@extundo.com>
52157
52158         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
52159
52160         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
52161
52162 2005-10-12  Simon Josefsson  <jas@extundo.com>
52163
52164         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
52165         suggested by Bruno Haible <bruno@clisp.org>.
52166
52167 2005-10-12  Simon Josefsson  <jas@extundo.com>
52168
52169         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
52170
52171 2005-10-12  Simon Josefsson  <jas@extundo.com>
52172
52173         * lib/gc-pbkdf2-sha1.c: New file.
52174
52175         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
52176
52177 2005-10-12  Simon Josefsson  <jas@extundo.com>
52178
52179         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
52180
52181         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
52182
52183 2005-10-12  Simon Josefsson  <jas@extundo.com>
52184
52185         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
52186         GC_USE_HMAC_MD5, respectively.
52187
52188         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
52189         (gc_md5): Fix typo.
52190
52191         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
52192
52193         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
52194
52195         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
52196
52197 2005-10-12  Bruno Haible  <bruno@clisp.org>
52198
52199         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
52200         Reported by Stepan Kasal <kasal@ucw.cz>.
52201
52202 2005-10-11  Simon Josefsson  <jas@extundo.com>
52203
52204         * tests/test-crc.c: New file.
52205
52206         * modules/crc, modules/crc-tests: New files.
52207
52208 2005-10-11  Simon Josefsson  <jas@extundo.com>
52209
52210         * m4/crc.m4: New file.
52211
52212 2005-10-11  Simon Josefsson  <jas@extundo.com>
52213
52214         * lib/gc.h: Add gc_hash and gc_hash_buffer.
52215
52216         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
52217
52218         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
52219
52220 2005-10-11  Simon Josefsson  <jas@extundo.com>
52221
52222         * lib/crc.h, lib/crc.c: New files.
52223
52224         * lib/gc.h (gc_hash_buffer): Add doc.
52225
52226 2005-10-11  Bruno Haible  <bruno@clisp.org>
52227
52228         * modules/c-strcasestr: New file.
52229         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
52230
52231 2005-10-11  Bruno Haible  <bruno@clisp.org>
52232
52233         * modules/c-strcase: New file.
52234         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
52235
52236 2005-10-11  Bruno Haible  <bruno@clisp.org>
52237
52238         * lib/strcasecmp.c: Include limits.h.
52239         (strcasecmp): Avoid integer overflow on exotic platforms.
52240         * lib/strncasecmp.c: Include limits.h.
52241         (strncasecmp): Avoid integer overflow on exotic platforms.
52242         Reported by Paul Eggert.
52243
52244 2005-10-11  Bruno Haible  <bruno@clisp.org>
52245
52246         * lib/c-strcasestr.h: New file, from GNU gettext.
52247         * lib/c-strcasestr.c: New file, from GNU gettext.
52248
52249 2005-10-11  Bruno Haible  <bruno@clisp.org>
52250
52251         * lib/c-strcase.h: New file, from GNU gettext.
52252         * lib/c-strcasecmp.c: New file, from GNU gettext.
52253         * lib/c-strncasecmp.c: New file, from GNU gettext.
52254
52255 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52256
52257         * modules/mempcpy (License): GPL -> LGPL.
52258         * modules/strchrnul (License): Likewise.
52259         * modules/sysexits (License): Likewise.
52260
52261 2005-10-08  Simon Josefsson  <jas@extundo.com>
52262
52263         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
52264
52265 2005-10-07  Simon Josefsson  <jas@extundo.com>
52266
52267         * m4/memxor.m4: Remove gl_C_RESTRICT call.
52268
52269 2005-10-06  Simon Josefsson  <jas@extundo.com>
52270
52271         * tests/test-hmac-md5.c: New file.
52272
52273         * modules/hmac-md5-tests: New file.
52274
52275         * modules/hmac-md5: New file.
52276
52277 2005-10-06  Simon Josefsson  <jas@extundo.com>
52278
52279         * m4/hmac-md5.m4: New file.
52280
52281         * m4/memxor.m4: Require gl_C_RESTRICT.
52282
52283 2005-10-06  Simon Josefsson  <jas@extundo.com>
52284
52285         * lib/memxor.c (memxor): Avoid casts and warnings.
52286
52287 2005-10-06  Simon Josefsson  <jas@extundo.com>
52288
52289         * lib/hmac-md5.c: New file.
52290
52291         * lib/hmac.h: New file.
52292
52293 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52294
52295         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
52296         promotes to int, not unsigned int, to catch the AIX 5.3
52297         compiler bug.
52298
52299 2005-10-05  Simon Josefsson  <jas@extundo.com>
52300
52301         * modules/memxor: New file.
52302
52303         * modules/iconv (Files): Move config.rpath to havelib, it is used
52304         there.
52305
52306         * modules/havelib (Files): Add config.rpath.
52307
52308 2005-10-05  Simon Josefsson  <jas@extundo.com>
52309
52310         * m4/memxor.m4: New file.
52311
52312 2005-10-05  Simon Josefsson  <jas@extundo.com>
52313
52314         * lib/memxor.c (memxor): Fix compiler error.
52315
52316         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
52317         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
52318
52319         * lib/memxor.h, lib/memxor.c: New files.
52320
52321         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
52322         we assume all systems have it, suggested by Jim Meyering
52323         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
52324         any systems lack sys/socket.h; mingw32 is known to lack it, but we
52325         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
52326         same reasons.
52327
52328 2005-10-05  Simon Josefsson  <jas@extundo.com>
52329
52330         * config/srclist.txt: Add glibc bug 1423 for md5.h.
52331
52332 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
52333
52334         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
52335         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
52336         needed, since the source code now assumes these .h files.
52337
52338 2005-10-05  Derek Price  <derek@ximbiot.com>
52339
52340         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
52341
52342 2005-10-05  Bruno Haible  <bruno@clisp.org>
52343
52344         * modules/stdint (License): Change to LGPL.
52345
52346 2005-10-04  Simon Josefsson  <jas@extundo.com>
52347
52348         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
52349         D. Baushke" <mdb@gnu.org>.
52350
52351 2005-10-04  Bruno Haible  <bruno@clisp.org>
52352
52353         * lib/verify.h (verify_true): Provide alternative definition for C++.
52354
52355 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
52356
52357         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
52358         (SSIZE_MAX): New macro, if not already defined.
52359         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
52360         than 2 GiB.
52361
52362 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52363
52364         Sync from coreutils.
52365         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
52366         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
52367         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
52368         ULLONG_MAX doesn't work with 2.7.2.1.
52369
52370 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52371
52372         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
52373         From Ben Pfaff.
52374
52375         * modules/exclude (Depends-on): Depend on verify.
52376         * modules/strtoimax (Depends-on): Likewise.
52377         * modules/utimecmp (Depends-on): Likewise.
52378
52379 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52380
52381         * lib/exclude.c: Include verify.h.
52382         (verify): Remove.  All callers changed to use verify.h's version.
52383         * lib/strtoimax.c: Likewise.
52384         * lib/utimecmp.c: Likewis.e
52385
52386         Sync from coreutils.
52387         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
52388         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
52389         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
52390         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
52391         bother returning ENOSYS if settimeofday or stime fails; just let
52392         them return whatever errno they want to return.
52393         * lib/utimens.c: Include unistd.h, for dup2.
52394         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
52395         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
52396
52397 2005-10-02  Jim Meyering  <jim@meyering.net>
52398
52399         Sync from coreutils.
52400         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
52401         from glibc-2.2.5 that fails for read-only files.
52402
52403 2005-10-02  Jim Meyering  <jim@meyering.net>
52404
52405         Sync from coreutils.
52406         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
52407         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
52408         `#if HAVE_CONFIG_H'.
52409         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
52410         Remove AT_FDCWD test.
52411         Do not consume the fd unless successful.
52412         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
52413         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
52414         block, so that we don't even try to compile it if settimeofday is
52415         available.  This works around a compilation failure on OSF1 V5.1,
52416         due to stime requiring a `long int*' while tv_sec is `int'.
52417
52418 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
52419
52420         Sync from coreutils.
52421         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
52422         against `yes', rather than just testing for nonempty.
52423
52424 2005-10-01  Simon Josefsson  <jas@extundo.com>
52425
52426         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
52427         and Darwin.
52428
52429         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
52430         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
52431         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
52432         freeaddrinfo and gai_strerror are declared by the POSIX headers.
52433         Check if struct addrinfo is declared.
52434
52435 2005-10-01  Simon Josefsson  <jas@extundo.com>
52436
52437         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
52438         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
52439         AI_* and EAI_* definitions.  Protect function declarations.
52440
52441 2005-10-01  Jim Meyering  <jim@meyering.net>
52442
52443         Sync from coreutils.
52444
52445         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
52446         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
52447         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
52448         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52449         in the inet and nsl libraries.  Required on Solaris 5.7.
52450
52451 2005-10-01  Jim Meyering  <jim@meyering.net>
52452
52453         Sync from coreutils.
52454         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52455         in the inet and nsl libraries.  Required on Solaris 5.7.
52456
52457 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
52458
52459         * lib/getdelim.c (getdelim): Remove unused variables.
52460
52461 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
52462
52463         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
52464         so that the code works even with ancient cpp.  Portability problem
52465         with GCC 2.7.2.1 reported by Thomas M.Ott.
52466
52467 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
52468
52469         * modules/regex (Depends-on): Add strcase.
52470
52471         * modules/gethostname (Licence): Change from GPL to LGPL, since
52472         gethostname.c is a trivial implementation of a standard library
52473         function.
52474         * modules/poll (License): Change from GPL to LGPL, since it's
52475         derived from LGPL code.
52476
52477 2005-09-27  Jim Meyering  <jim@meyering.net>
52478
52479         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
52480         HAVE_CONFIG_H.
52481
52482         * lib/intprops.h (signed_type_or_expr__): Define.
52483         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
52484         for unsigned types.
52485
52486 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
52487
52488         * lib/verify.h (verify_expr): Remove, replacing with:
52489         (verify_true): New macro that returns true instead of void.
52490         (verify_type__): Remove.
52491         (verify): Use verify_true rather than verify_type__.
52492
52493 2005-09-26  Bruno Haible  <bruno@clisp.org>
52494
52495         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
52496         is necessary.
52497         (lib_SOURCES): Remove mbchar.c.
52498         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
52499         (Files): Add m4/mbrtowc.m4.
52500         * modules/mbiter: Likewise.
52501         * modules/mbuiter: Likewise.
52502
52503 2005-09-26  Bruno Haible  <bruno@clisp.org>
52504
52505         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
52506         compile mbchar.c if they are not both present.
52507         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
52508         * m4/mbiter.m4 (gl_MBITER): Likewise.
52509         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
52510         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
52511         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
52512
52513 2005-09-25  Jim Meyering  <jim@meyering.net>
52514
52515         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
52516         also uses socklen_t.
52517
52518 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
52519
52520         * lib/utimens.c (ENOSYS): Define if not already defined.
52521         (futimens): Support having a null PATH if the file descriptor
52522         is nonnegative.
52523
52524         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
52525         Remove.
52526         (__attribute): Define to empty unless GCC 3.1 or later.
52527         This works around a core dump on OpenBSD 3.4, which has GCC
52528         2.95.3, which dumps core when given __attribute__(()).  It also
52529         simplifies other tests, since we really don't want to bother with
52530         worrying about which ancient version of GCC supported what.
52531         Original problem reported by Yoann Vandoorselaere, with part of
52532         the fix suggested by Derek Price.
52533
52534 2005-09-24  Jim Meyering  <jim@meyering.net>
52535
52536         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
52537         so we can once again use a positive bitfield width of 1 -- now we
52538         don't have to explain why we were using a bitfield width of 2.
52539
52540 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
52541
52542         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
52543         and similarly for the other external symbols.  Problem reported
52544         by James Gallager.
52545
52546         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
52547         bug reported by Jim Meyering.
52548
52549         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
52550         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
52551         not needed, since socklen is a prerequisite module.
52552
52553 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
52554
52555         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
52556         Problem reported by Eric Blake.
52557         (getaddrinfo): Initialize se so that it's not garbage.
52558         Redo internal storage allocation so that it doesn't make unportable
52559         assumptions about alignment.
52560         Fix a memory leak.
52561
52562         * lib/utimens.c (futimens): Use futimesat if available.
52563         Prefer it to futimes since it doesn't have the futimes bug.
52564
52565         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
52566         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
52567         Instead, declare a function that returns a pointer to an array,
52568         and use verify_type__ to declare the size of the array.
52569         Problem and germ of a solution reported by Bruno Haible.
52570         (verify_type__): Use 2, not 1, for bitfield size, to avoid
52571         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
52572
52573 2005-09-23  Jim Meyering  <jim@meyering.net>
52574
52575         Sync from coreutils.
52576         Correct build failure (socklen_t not defined) on at least
52577         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
52578         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
52579
52580 2005-09-23  Jim Meyering  <jim@meyering.net>
52581
52582         * modules/getaddrinfo (Depends-on): Add socklen.
52583
52584 2005-09-23  Bruno Haible  <bruno@clisp.org>
52585
52586         * tests/test-verify.c: New file.
52587
52588 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52589
52590         Sync from coreutils.
52591
52592         * modules/argmatch (Depends-on): Add verify.
52593         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
52594         unistd-safer.
52595         * modules/save-cwd (Depends-on): Likewise.
52596
52597         * modules/openat (Files): Add lib/openat-die.c.
52598         (Depends-on): Remove error, exitfail.
52599         Add dirname.
52600
52601         * modules/verify: New file.
52602         * MODULES.html.sh (Diagnostics <assert.h>): New section,
52603         with "verify" module.
52604
52605 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52606
52607         Sync from coreutils.
52608
52609         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
52610         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
52611         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
52612         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
52613         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
52614         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
52615         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
52616         Don't bother checking for string.h, stdlib.h, unistd.h.
52617         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
52618         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
52619         module's job.
52620         * m4/jm-macros.m4 (gl_MACROS): Likewise.
52621         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
52622
52623         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
52624         (gl_GETDATE): Use it.
52625
52626         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
52627
52628 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52629
52630         Sync from coreutils.
52631
52632         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
52633         stat-time.h.
52634         * lib/argmatch.h: Include verify.h
52635         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
52636         (ARGMATCH_ASSERT): Remove; unused.
52637         * lib/canonicalize.c: Assume STDC_HEADERS.
52638         * lib/exclude.c: Include "strcase.h".
52639         * lib/regex_internal.h [!defined _LIBC]: Likewise.
52640         * lib/getusershell.c: Include stdio--.h rather than stdio.h
52641         and stdio-safer.h.
52642         (getusershell): Call fopen, not fopen_safer.
52643         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
52644         Do not include unistd-safer.h.
52645         (save_cwd): Don't call fd_safer; no longer needed
52646         now that we include fcntl--.h.
52647
52648         * lib/getdate.y (relative_time): New type.
52649         (RELATIVE_TIME_0): New constant.
52650         (parser_control): Use relative_time instead of doing it ourselves.
52651         (%union): Add new relative_time rel member.
52652         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
52653         Now typeless.
52654         (relunit, relunit_snumber): Now of type rel.
52655         (zone, rel, relunit, get_date): Adjust to above changes.
52656
52657         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
52658         Do not include unistd-safer.h.
52659         (getloadavg): Don't call fd_safer; no longer needed
52660         now that we include fcntl--.h.
52661
52662         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
52663         (make_dir_parents): Treat ENOSYS like EEXIST.
52664
52665         Improve quality of diagnostics on restore_cwd failure.
52666         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
52667         (make_dir_parents): Last arg is now int * (for errno), not bool *.
52668         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
52669         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
52670         each time through the loop.  Do not diagnose restore_cwd failure;
52671         that is the caller's job (and perhaps the caller does not care).
52672
52673         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
52674         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
52675         If the file already exists but is not a directory, don't bother
52676         to try to make its parents.
52677         Close potential file descriptor leak if we can't chdir("/") (!).
52678         Don't always return true if chdir($PWD) fails; return true only
52679         if the requested action was done successfully (except for the
52680         chdir($PWD)).
52681         Don't log final directory unless we actually made it.
52682         Refactor to avoid duplicate code to fix up permissions.
52683         Don't attempt to fix up parent permissions if chdir($PWD) fails.
52684
52685         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
52686         to make it a bit faster and (I hope) clearer.
52687         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
52688         Fix bug in formats like %2N.
52689
52690         * lib/verify.h: New file.
52691
52692 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
52693
52694         Sync from coreutils.
52695         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
52696
52697 2005-09-22  Jim Meyering  <jim@meyering.net>
52698
52699         Sync from coreutils.
52700
52701         * m4/lstat.m4 (gl_FUNC_LSTAT):
52702         Use AC_LIBSOURCES to require lstat.c and lstat.h.
52703         Remove obsolete comment.
52704         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
52705         * m4/xstrtod.m4: Likewise.
52706
52707         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
52708
52709 2005-09-22  Jim Meyering  <jim@meyering.net>
52710
52711         Sync from coreutils.
52712
52713         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
52714
52715         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
52716         the .tm_year member, since otherwise gcc-4.0 would now warn about
52717         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
52718
52719         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
52720         order to avoid an unsuppressible warning from gcc on 64-bit systems.
52721
52722         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
52723         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
52724         when run in a time zone for which daylight savings time is in effect
52725         for the starting date.
52726
52727         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
52728         stop us from restricting permissions of just-created absolute-named
52729         directories.
52730         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
52731         to restore initial working directory.
52732         * lib/mkdir-p.c (make_dir_parents): New parameter:
52733         different_working_dir, to tell caller if/when we change the working
52734         directory and are unable to return to the initial one.
52735         * lib/mkdir-p.h (make_dir_parents): Update prototype.
52736         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
52737         `return false'.  This fixes a bug introduced on 2004-07-30.
52738
52739         * lib/openat.c (fdopendir): Be sure to close the supplied
52740         file descriptor before returning.  This makes our replacement
52741         implementation a little closer to Solaris's, where fdopendir
52742         ties the file descriptor to the returned DIR* pointer.
52743         * lib/openat.c (unlinkat): New function.
52744         * lib/openat.h (unlinkat): Add prototype.
52745         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
52746         (openat_restore_fail): Rename from openat_restore_die.
52747         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
52748
52749         Provide an alternative to exiting immediately upon save_cwd or
52750         restore_cwd failure.  Now, an application can arrange e.g.,
52751         to perform a longjump in that case.
52752         * lib/openat.c: Include dirname.h.
52753         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
52754         (rpl_openat, fdopendir, fstatat): Call openat_save_die
52755         and openat_restore_die rather than calling error directly.
52756         Don't include "error.h" or "exitfail.h"; they're no longer needed.
52757
52758         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
52759         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
52760         define.
52761
52762         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
52763         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
52764                             int utc, int nanoseconds);
52765         Background:
52766         date should not have to allocate a megabyte of virtual memory to
52767         handle a format argument like +%1048575T.  When implemented with
52768         strftime, it must allocate such a buffer, use strftime to fill it
52769         in, print it, then free it.
52770         With fprintftime, it simply prints everything and exits.
52771         With no need for memory allocation, that's one fewer way to fail.
52772         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
52773         optional field width, not before, so we accept %9:z, not %:9z.
52774         (my_strftime): Be sure to use L_('x') for literals.
52775
52776         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
52777         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
52778         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
52779         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
52780         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
52781         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
52782         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
52783         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
52784         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
52785         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
52786         * lib/xgethostname.c, lib/xreadlink.c:
52787         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
52788
52789         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
52790         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
52791         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
52792         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
52793         and don't include <sys/file.h>).
52794
52795 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
52796
52797         Sync from coreutils.
52798
52799         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
52800         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
52801         [!LDAV_DONE]: Avoid unused variable warning.
52802
52803 2005-09-21  Bruno Haible  <bruno@clisp.org>
52804
52805         * lib/unicodeio.h (unicode_to_mb): New declaration.
52806
52807 2005-09-20  Derek Price  <derek@ximbiot.com>
52808
52809         * lib/getaddrinfo.c: Don't include <netdb.h> included from
52810         getaddrinfo.h.
52811
52812 2005-09-20  Bruno Haible  <bruno@clisp.org>
52813
52814         * gnulib-tool: Remove trailing slashes from the values specified for
52815         --source-base, --m4-base, --tests-base, --aux-dir.
52816         Suggested by Simon Josefsson <jas@extundo.com>.
52817
52818 2005-09-20  Bruno Haible  <bruno@clisp.org>
52819
52820         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
52821         func_modules_to_filelist, func_import, func_create_testdir): Make all
52822         sorting results locale-independent, so that gnulib-cache.m4 doesn't
52823         change when gnulib-tool is invoked in a different locale.
52824
52825 2005-09-19  Simon Josefsson  <jas@extundo.com>
52826
52827         * m4/socklen.m4: Fix typo.
52828
52829 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52830
52831         Use a consistent style for including <config.h>.
52832         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
52833         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
52834         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
52835         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
52836         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
52837         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
52838         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
52839         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
52840         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
52841         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
52842         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
52843         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
52844         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
52845         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
52846         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
52847         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
52848         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
52849         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
52850         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
52851         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
52852         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
52853         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
52854         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
52855         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
52856         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
52857         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
52858         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
52859         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
52860         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
52861         lib/xstrtoumax.c, lib/yesno.c:
52862         Standardize inclusion of config.h.
52863         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
52864         lib/inttostr.h:  Removed inclusion of config.h from header files.
52865         * lib/inttostr.c:  Adjusted in-tree users.
52866         * lib/timespec.h: Remove superfluous warning to include config.h.
52867         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
52868         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
52869         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
52870         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
52871         config.h with HAVE_CONFIG_H.
52872
52873 2005-09-19  Jim Meyering  <jim@meyering.net>
52874
52875         * modules/pathmax (License): Change to LGPL.
52876
52877 2005-09-19  Derek Price  <derek@ximbiot.com>
52878
52879         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
52880
52881 2005-09-19  Bruno Haible  <bruno@clisp.org>
52882
52883         * gnulib-tool (import): Provide default for --tests-base.
52884
52885 2005-09-19  Bruno Haible  <bruno@clisp.org>
52886
52887         * doc/quote.texi: New file, extracted from gnulib.texi.
52888         * doc/ctime.texi: New file, extracted from gnulib.texi.
52889         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
52890         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
52891         * doc/gnulib.texi: Include them.
52892
52893 2005-09-18  Bruno Haible  <bruno@clisp.org>
52894
52895         Portability fix.
52896         * gnulib-tool (func_readlink): New function.
52897         (func_ln_if_changed): Use it.
52898
52899 2005-09-18  Bruno Haible  <bruno@clisp.org>
52900
52901         * gnulib-tool: Support --with-tests also with --import.
52902         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
52903         (func_import): Use variables $testsbase and $inctests. Emit a
52904         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
52905         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
52906         SUBDIRS += $testsdir.
52907         (func_create_testdir): Update.
52908
52909 2005-09-18  Bruno Haible  <bruno@clisp.org>
52910
52911         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
52912         instead of $dry_run.
52913         (func_cp_if_changed, func_mv_if_changed): Remove functions.
52914         (func_ln_if_changed): Don't handle dry-run here.
52915         (func_import): In dry-run mode, detect more precisely which actions
52916         would be performed, and don't use "...ing" verbs.
52917
52918 2005-09-18  Bruno Haible  <bruno@clisp.org>
52919
52920         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
52921         (func_import): Use join on two temporary files instead of three nested
52922         loops, in order to determine which files are new or old.
52923
52924 2005-09-18  Bruno Haible  <bruno@clisp.org>
52925
52926         * gnulib-tool (func_import): Comment out code that spits out the
52927         new files with --dry-run.
52928
52929 2005-09-18  Bruno Haible  <bruno@clisp.org>
52930
52931         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
52932
52933 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
52934
52935         * lib/stat-time.h: New file.
52936         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
52937         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
52938         in a different way.
52939         (timespec_cmp): New function.
52940         * lib/utimecmp.c: Include stat-time.h.
52941         (SYSCALL_RESOLUTION): Depend on whether various struct stat
52942         members exist, not on the obsolescent ST_MTIM_NSEC.
52943         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
52944
52945 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
52946
52947         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
52948
52949 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
52950
52951         * MODULES.html.sh (File system functions): Add stat-time.
52952         * modules/stat-time: New file.
52953         * modules/timespec (Files): Remove m4/st_mtim.m4; this
52954         is now done in a different way, by the stat-time module.
52955         * modules/utimecmp (Depends-on): Add stat-time.
52956
52957 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
52958
52959         * m4/st_mtim.m4: Remove.  Superseded by...
52960         * m4/stat-time.m4: New file.
52961         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
52962         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
52963
52964 2005-09-15  Derek Price  <derek@ximbiot.com>
52965
52966         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
52967
52968 2005-09-15  Derek Price  <derek@ximbiot.com>
52969
52970         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
52971         * lib/regex_internal.c: Ditto, using this...
52972         (__GNUC_PREREQ): ...new macro.
52973         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
52974         using...
52975         (__GNUC_PREREQ): ...this new macro.
52976
52977         * lib/strstr.h: Include string.h. Define strstr as a macro here.
52978
52979 2005-09-15  Derek Price  <derek@ximbiot.com>
52980             Paul Eggert  <eggert@cs.ucla.edu>
52981
52982         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
52983         changes, consolidating in...
52984         * lib/regex_internal.h: ...this file.
52985
52986 2005-09-13  Jim Meyering  <jim@meyering.net>
52987
52988         * lib/canon-host.c: Filter through gnu indent and reword comments
52989         slightly.
52990         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
52991
52992 2005-09-13  Derek Price  <derek@ximbiot.com>
52993
52994         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
52995         failure.
52996         Reported by Jim Meyering  <jim@meyering.net>.
52997
52998 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52999
53000         * lib/base64.c: Typo.
53001         (base64_encode): Put b64str in initialized data section.
53002
53003 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
53004
53005         Merge glibc and coreutils changes into gnulib, plus a few
53006         extra fixes.
53007         * lib/md5.c: Use #error rather than a string.
53008         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
53009         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
53010         (__attribute__): Define to empty for non recent-GCC.
53011         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
53012         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
53013         Renamed from their non-__ counterparts, with new macros replacing
53014         them if not _LIBC.  Add __THROW attribute.
53015         (rol): Remove.
53016         (struct md5_ctx): Align buffer if using GCC.
53017         * lib/sha1.h (struct sha1_ctx): Likewise.
53018         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
53019         The old name was backwards.
53020         (NOTSWAP): Remove; not used.
53021         (rol): New macro, moved here from md5.h.
53022         (sha1_process_block): Remove a FIXME that doesn't make sense.
53023
53024 2005-09-12  Derek Price  <derek@ximbiot.com>
53025
53026         Return usable errors from canon-host.
53027         * lib/canon-host.h: New file.
53028         * lib/canon-host.c (canon_host): Wrap...
53029         (canon_host_r): ...this new function, which now relies exclusively on
53030         getaddrinfo.
53031         (ch_strerror): New function.
53032         (last_cherror): New global.
53033         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
53034         interface.
53035         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
53036         void *.
53037         (freeaddrinfo): Free ai->ai_canonname when set.
53038
53039 2005-09-12  Derek Price  <derek@ximbiot.com>
53040
53041         Make canon-host require getaddrinfo.
53042         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
53043         AC_LIBSOURCE canon-host.h.  Call...
53044         (gl_PREREQ_CANON_HOST): ...this new function, which requires
53045         gl_GETADDRINFO.
53046         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
53047
53048 2005-09-12  Derek Price  <derek@ximbiot.com>
53049
53050         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
53051         LGPL.
53052         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
53053
53054 2005-09-12  Derek Price  <derek@ximbiot.com>
53055
53056         * lib/gai_strerror.c: Include config.h when available.  Include
53057         getaddrinfo.h before other headers to test interface.
53058         Reported by Larry Jones <lawrence.jones@ugs.com>.
53059
53060 2005-09-12  Derek Price  <derek@ximbiot.com>
53061             Paul Eggert  <eggert@cs.ucla.edu>
53062
53063         * modules/glob (Files): Add glob-libc.h.
53064
53065 2005-09-12  Derek Price  <derek@ximbiot.com>
53066             Paul Eggert  <eggert@cs.ucla.edu>
53067
53068         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
53069         glob_.h, glob-libc.h.
53070         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
53071
53072 2005-09-12  Derek Price  <derek@ximbiot.com>
53073             Paul Eggert  <eggert@cs.ucla.edu>
53074
53075         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
53076         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
53077         protecting things that should be done only in gnulib contexts.
53078         * lib/glob_.h: New file, containing only the glob things needed for
53079         gnulib.
53080         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
53081         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
53082         (glob, globfree, glob_pattern_p): Now defined simply in terms of
53083         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
53084         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
53085         and to respect the namespace rules better.
53086
53087 2005-09-08  Simon Josefsson  <jas@extundo.com>
53088
53089         * modules/socklen: New file.
53090
53091 2005-09-08  Simon Josefsson  <jas@extundo.com>
53092
53093         * m4/socklen.m4: New file.
53094
53095 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53096
53097         * modules/utimens (Files): Add m4/utimbuf.m4, since
53098         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
53099         Reported by Sergey Poznyakoff.
53100
53101 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53102
53103         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
53104         definitions, since that's the preferred style in glibc.
53105         Fix a minor spacing issue, and update copyright notice to match
53106         glibc's.
53107
53108 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53109
53110         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
53111
53112 2005-09-06  Simon Josefsson  <jas@extundo.com>
53113
53114         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
53115         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
53116
53117 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53118
53119         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
53120         warning.
53121
53122 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53123
53124         * config/srclist.txt: Add glibc bug 1302.
53125
53126 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
53127
53128         Change bitset word type from unsigned int to unsigned long int,
53129         as this has better performance on typical 64-bit hosts.
53130         Port bitset code to hosts with unusual word sizes.
53131         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
53132         (build_collating_symbol):
53133         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
53134         argument is a bitset.  This is merely a style issue, but it makes
53135         it clearer that an entire array is expected.
53136         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
53137         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
53138         Port to the case where bitset_word is not the same as unsigned int.
53139         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
53140         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
53141         Likewise.
53142         * lib/regexec.c (check_dst_limits_calc_pos_1,
53143         check_subexp_matching_top):
53144         (build_trtable, group_nodes_into_DFAstates):
53145         Likewise.
53146         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
53147         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
53148         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
53149         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
53150         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
53151         * lib/regcomp.c (optimize_subexps, lower_subexp):
53152         Work even if bitset_word has holes in its bitwise representation.
53153         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
53154         * lib/regexec.c (check_dst_limits_calc_pos_1,
53155         check_subexp_matching_top):
53156         Likewise.
53157         * lib/regex_internal.c (re_string_reconstruct):
53158         Don't assume UCHAR_MAX == 255.
53159         * lib/regex_internal.h (bitset_set_all): Likewise.
53160         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
53161         All uses changed.
53162         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
53163         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
53164         All uses changed.
53165         (BITSET_WORD_MAX): New macro.
53166         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
53167         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
53168         (bitset_empty, bitset_copy):
53169         Prefer sizeof (bitset) to multiplying it out ourselves.
53170         (bitset_not_merge): Remove; unused.
53171         (bitset_contain): Return bool, not unsigned int with one bit on.
53172         All callers changed.
53173         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
53174         alignment than re_node_set; do this by defining a new internal
53175         type struct dests_alloc and using it to allocate memory.
53176
53177 2005-09-05  Bruno Haible  <bruno@clisp.org>
53178
53179         * gnulib-tool (func_import): Fix comparison in handling of symbolic
53180         links.
53181
53182 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
53183
53184         * modules/size_max (Makefile.am): Add size_max.h
53185
53186 2005-09-04  Derek Price  <derek@ximbiot.com>
53187
53188         * gnulib-tool (func_import): Fix reversed $symbolic logic.
53189
53190 2005-09-03  Simon Josefsson  <jas@extundo.com>
53191
53192         * gnulib-tool: Fix typo.
53193
53194 2005-09-03  Simon Josefsson  <jas@extundo.com>
53195
53196         * config/srclist.txt: Add glibc bug 1293.
53197
53198 2005-09-03  Derek Price  <derek@ximbiot.com>
53199
53200         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
53201         From Larry Jones <lawrence.jones@ugs.com>.
53202
53203 2005-09-02  Simon Josefsson  <jas@extundo.com>
53204
53205         * modules/socklen: New file.
53206
53207 2005-09-02  Simon Josefsson  <jas@extundo.com>
53208
53209         * modules/havelib: New module.
53210
53211         * modules/gettext, modules/iconv, modules/lock, modules/readline:
53212         Use havelib.
53213
53214 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53215
53216         Check for arithmetic overflow when calculating sizes, to prevent
53217         some buffer-overflow issues.  These patches are conservative, in the
53218         sense that when I couldn't determine whether an overflow was possible,
53219         I inserted a run-time check.
53220         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
53221         macros.
53222         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
53223         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
53224         (re_xnrealloc, re_x2nrealloc): New inline functions.
53225         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
53226         parse_bracket_exp):
53227         (build_equiv_class, build_charclass): Check for arithmetic overflow
53228         in size expression calculations.
53229         * lib/regex_internal.c (re_string_realloc_buffers):
53230         (build_wcs_upper_buffer, re_node_set_add_intersect):
53231         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
53232         (re_dfa_add_node, register_state): Likewise.
53233         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
53234         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
53235         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
53236         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
53237
53238 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53239
53240         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
53241         m4/ulonglong.m4.  Problem reported by Martin Lambers.
53242
53243 2005-09-02  Bruno Haible  <bruno@clisp.org>
53244
53245         Support for lib vs. lib64 distinction on biarch platforms.
53246         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
53247         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
53248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
53249
53250 2005-09-02  Bruno Haible  <bruno@clisp.org>
53251
53252         * gnulib-tool (import): In the other first-use case, provide defaults
53253         as well.
53254
53255 2005-09-02  Bruno Haible  <bruno@clisp.org>
53256
53257         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
53258         patches not yet found in the latest gettext release.
53259
53260 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53261
53262         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
53263         to avoid a collision with bits/local_lim.h in glibc.
53264         All uses changed.  Problem reported by Dmitry V. Levin in
53265         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
53266
53267         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
53268         bugs in int versus size_t comparisons.
53269         (re_string_context_at): Fix bug where the code assumed that
53270         Idx is signed.
53271
53272         Use bool where appropriate.
53273         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
53274         All callers changed.
53275         (calc_eclosure_iter): Likewise, for ROOT arg.
53276         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
53277         (build_charclass_op): Likewise, for NON_MATCH arg.
53278         * lib/regex_internal.c (re_string_allocate, re_string_construct):
53279         (re_string_construct_common): Likewise, for ICASE arg.
53280         * lib/regexec.c (re_search_2_stub, re_search_stub):
53281         Likewise, for RET_LEN arg.
53282         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
53283         (set_regs): Likewise, for FL_BACKTRACK arg.
53284         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
53285         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
53286         (calc_eclosure_iter, parse_bracket_exp):
53287         Use bool for internal variables that are booleans.
53288         * lib/regexec.c (re_search_internal, check_matching,
53289         proceed_next_node):
53290         (set_regs, build_sifted_states, sift_states_bkref):
53291         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
53292         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
53293         (find_collation_sequence_value):
53294         Likewise.
53295         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
53296         (re_node_set_compare):
53297         Return bool, not int. All callers changed.
53298         * lib/regexec.c (check_halt_node_context, check_dst_limits):
53299         (build_trtable, check_node_accept): Likewise.
53300         * lib/regex_internal.h: Include stdbool.h.
53301
53302         Fix bugs uncovered when converting to bool.
53303         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
53304         failure instead of charging ahead blindly.
53305         * lib/regex_internal.c (register_state): Likewise.
53306         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
53307         for freeing internal storage.
53308         (group_nodes_into_DFA_states): Use unsigned int, not int, for
53309         bitset pieces used as boolean, to avoid undefined behavior
53310         on hosts that do int overflow checking.
53311
53312 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53313
53314         * config/srclist.txt: Add glibc bugs 1285-1287.
53315
53316 2005-09-01  Jim Meyering  <jim@meyering.net>
53317
53318         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
53319         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
53320         Require gl_STAT_MACROS, too.
53321
53322 2005-09-01  Bruno Haible  <bruno@clisp.org>
53323
53324         * gnulib-tool (import): In the first-use case, provide defaults.
53325
53326 2005-09-01  Bruno Haible  <bruno@clisp.org>
53327
53328         * gnulib-tool (func_import): Remove the .tmp files.
53329
53330 2005-09-01  Bruno Haible  <bruno@clisp.org>
53331
53332         * gnulib-tool (func_import): Fix handling of symbolic links.
53333
53334 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53335
53336         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
53337         old glibc regex code mishandles strings longer than 2**31 bytes.
53338         This patch fixes this when the regex code is used in gnulib
53339         (i.e., outside glibc).
53340
53341         This patch should not affect the use of the regex code inside
53342         glibc.  No doubt this problem also needs to be handled for glibc
53343         as well, but the result will be an incompatible change to the
53344         glibc ABI, and the old ABI will have to be supported too.  That
53345         can be the the subject for another patch.
53346
53347         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
53348         governing whether the rest of this patch is active.  By default,
53349         the macro is disabled and the patch has no effect.
53350         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
53351         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
53352         (struct re_pattern_buffer, re_search, re_search_2, re_match):
53353         (re_match_2, re_set_registers): Use the new types.
53354         * lib/regex_internal.h (Idx, re_hashval_t): New types.
53355         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
53356         New macros.
53357         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
53358         (re_string_context_at, bin_tree_t, re_dfastate_t):
53359         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
53360         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
53361         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
53362         (re_string_char_size_at, re_string_wchar_at):
53363         (re_string_elem_size_at):
53364         Use the new types and macros to port to 64-bit hosts.
53365         Use unsigned types for internal values, so that the code
53366         mostly works even for arrays larger than SSIZE_MAX.
53367         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
53368         (search_duplicated_node, calc_eclosure_iter, fetch_number):
53369         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
53370         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
53371         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
53372         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
53373         (calc_inveclosure, parse_dup_op, build_range_exp):
53374         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
53375         (fetch_number, create_token_tree, mark_opt_subexp):
53376         Likewise.
53377         * lib/regex_internal.c (re_string_construct_common,
53378         create_ci_newstate):
53379         (create_cd_newstate, re_string_allocate, re_string_construct):
53380         (re_string_realloc_buffers, build_wcs_upper_buffer):
53381         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
53382         (re_string_reconstruct, re_string_peek_byte_case):
53383         (re_string_fetch_byte_case, re_string_context_at):
53384         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
53385         (re_node_set_init_copy, re_node_set_add_intersect):
53386         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53387         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53388         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
53389         (re_acquire_state, re_acquire_state_context, register_state):
53390         Likewise.
53391         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
53392         search_cur_bkref_entry):
53393         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
53394         (re_search_internal, re_search_2_stub, re_search_stub)
53395         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
53396         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
53397         (update_cur_sifted_state, check_dst_limits):
53398         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
53399         (check_subexp_limits, sift_states_bkref, merge_state_array):
53400         (check_subexp_matching_top, get_subexp, get_subexp_sub):
53401         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
53402         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
53403         (expand_bkref_cache, check_node_accept_bytes):
53404         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
53405         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
53406         (acquire_init_state_context, check_halt_node_context):
53407         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
53408         (sift_states_backward, clean_state_log_if_needed):
53409         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
53410         (find_recover_state, transit_state_sb, transit_state_mb):
53411         (transit_state_bkref, build_trtable, match_ctx_clean):
53412         Likewise.
53413         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
53414         to work around an assumption that REG_MISSING is negative.
53415
53416         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
53417         (seek_collating_symbol_entry) [defined _LIBC]:
53418         (lookup_collation_sequence_value) [defined _LIBC]:
53419         (build_range_exp, build_collating_symbol) [defined _LIBC]:
53420         Use prototypes rather than old-style function definitions.
53421         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
53422         (transit_state_sb) [0]:
53423         (find_collation_sequence_value) [defined _LIBC]: Likewise.
53424
53425         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
53426         rm_eo.
53427
53428         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
53429         (optimize_subexps, lower_subexp):
53430         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
53431         since the signed shift might overflow.  Use 1u<<31 instead.
53432         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
53433         Likewise.
53434         * lib/regexec.c (check_dst_limits_calc_pos_1,
53435         check_subexp_matching_top): Likewise.
53436
53437         * lib/regcomp.c (optimize_subexps, lower_subexp):
53438         Use CHAR_BIT rather than 8, for clarity.
53439         * lib/regexec.c (check_dst_limits_calc_pos_1):
53440         (check_subexp_matching_top): Likewise.
53441         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
53442         have to worry about portability issues when shifting it left.
53443         Remove no-longer-needed test for table_size > 0.
53444         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
53445         in a word, as the resulting behavior is undefined.
53446         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
53447         in one case, a <= should have been an <, and in another case the
53448         whole test was missing.
53449         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
53450         the standard name CHAR_BIT.
53451         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
53452         this is not true on one's complement and signed-magnitude hosts.
53453
53454         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
53455         next_last_offset.
53456         (struct re_dfa_t): Remove unused member states_alloc.
53457         * lib/regcomp.c (init_dfa): Don't initialize unused members.
53458
53459 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53460
53461         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
53462         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
53463         and large-file glibc and in 32-bit large-file Solaris.
53464
53465 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53466
53467         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
53468         lengths fit in regoff_t; this isn't true if regoff_t is the same
53469         width as size_t.
53470         * lib/regex.c (re_search_internal): 5th arg is LAST_START
53471         (= START + RANGE) instead of RANGE.  This avoids overflow
53472         problems when regoff_t is the same width as size_t.
53473         All callers changed.
53474         (re_search_2_stub): Check for overflow when adding the
53475         sizes of the two strings.
53476         (re_search_stub): Check for overflow when adding START
53477         to RANGE; if it occurs, substitute the extreme value.
53478
53479 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53480
53481         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
53482
53483 2005-08-31  Jim Meyering  <jim@meyering.net>
53484
53485         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
53486         a pointer-to-const.
53487         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
53488         (register_state): Likewise.
53489         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
53490         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
53491         (group_nodes_into_DFAstates): Likewise.
53492
53493 2005-08-31  Jim Meyering  <jim@meyering.net>
53494
53495         * check-module: Add a FIXME comment.
53496
53497 2005-08-31  Eric Blake  <ebb9@byu.net>
53498
53499         * modules/unistd-safer (Files): Add unistd--.h.
53500         * modules/stdio-safer (Files): Add stdio--.h.
53501
53502 2005-08-31  Derek Price  <derek@ximbiot.com>
53503
53504         * lib/getdelim.c (getdelim): Return EOF on EOF.
53505         Reported by Larry Jones <lawrence.jones@ugs.com>.
53506
53507 2005-08-31  Bruno Haible  <bruno@clisp.org>
53508
53509         Avoid unnecessary diffs in the generated lib/Makefile.am.
53510         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
53511         the generated files.
53512         (func_import): Don't set cmd.
53513
53514 2005-08-31  Bruno Haible  <bruno@clisp.org>
53515
53516         * lib/strstr.c: Include <stddef.h>, for NULL.
53517         * lib/strcasestr.c: Likewise.
53518         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53519
53520 2005-08-31  Bruno Haible  <bruno@clisp.org>
53521
53522         * gnulib-tool: New option --macro-prefix.
53523         (func_import): Use macro_prefix.
53524         (import): Handle option --macro-prefix.
53525
53526 2005-08-31  Bruno Haible  <bruno@clisp.org>
53527
53528         * gnulib-tool (import): Rename most ac_* variables to cached_*.
53529         Also use new variables cached_lgpl, cached_libtool.
53530
53531 2005-08-31  Bruno Haible  <bruno@clisp.org>
53532
53533         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
53534         always instantiating them.
53535
53536 2005-08-31  Bruno Haible  <bruno@clisp.org>
53537
53538         * gnulib-tool (func_import): Read the previous cached settings
53539         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
53540         earlier added by gnulib but are now dropped. Warn when a gnulib file
53541         overwrites a non-gnulib file.
53542
53543 2005-08-31  Bruno Haible  <bruno@clisp.org>
53544
53545         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
53546         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
53547         projects that don't keep autogenerated files in CVS. Put into
53548         actioncmd only the specified modules, not the transitive closure.
53549
53550 2005-08-31  Bruno Haible  <bruno@clisp.org>
53551
53552         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
53553         Create directories that shall be filled.
53554         (import): Don't look for gl_* macros in configure.ac. Recurse across
53555         all directories containing a gnulib-cache.m4 files, if meaningful.
53556
53557 2005-08-31  Bruno Haible  <bruno@clisp.org>
53558
53559         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
53560         (import): Set seen_libtool when we see gl_LIBTOOL.
53561
53562 2005-08-31  Bruno Haible  <bruno@clisp.org>
53563
53564         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
53565         declaration macro definitions from generated gnulib.m4.
53566
53567 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
53568
53569         * lib/iconvme.h: Add prototype for iconv_alloc.
53570
53571 2005-08-29  Simon Josefsson  <jas@extundo.com>
53572
53573         * lib/iconvme.c: Fix errno.
53574
53575 2005-08-29  Bruno Haible  <bruno@clisp.org>
53576
53577         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
53578         that it works when the directory contains spaces.
53579
53580 2005-08-29  Bruno Haible  <bruno@clisp.org>
53581
53582         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
53583
53584 2005-08-29  Bruno Haible  <bruno@clisp.org>
53585
53586         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
53587         Emit more advice.
53588
53589 2005-08-29  Bruno Haible  <bruno@clisp.org>
53590         and Stepan Kasal  <kasal@ucw.cz>
53591
53592         * check-module: If more parameters are given, check each of them
53593         separately; add more exceptions, as noted by Jim Meyering.
53594         (check_module): New procedure.
53595         (%exempt_header): Now contains all exceptions.
53596
53597 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
53598
53599         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
53600
53601 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
53602
53603         * lib/iconvme.c: Split iconv_string into iconv_alloc.
53604
53605 2005-08-28  Bruno Haible  <bruno@clisp.org>
53606
53607         * m4/gnulib-tool.m4: New file.
53608
53609 2005-08-27  Jim Meyering  <jim@meyering.net>
53610
53611         * modules/unistd-safer (Files): Add pipe-safer.c.
53612         * modules/fcntl-safer (Files): Add creat-safer.c.
53613
53614 2005-08-27  Jim Meyering  <jim@meyering.net>
53615
53616         * m4/stdlib-safer.m4: New file.  From coreutils.
53617         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
53618         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
53619         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
53620         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
53621         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
53622
53623 2005-08-27  Jim Meyering  <jim@meyering.net>
53624
53625         * lib/fopen-safer.c: Merge minor changes from coreutils.
53626         * lib/dup-safer.c: Likewise.
53627         * lib/fd-safer.c: Likewise.
53628
53629         Merge from coreutils.
53630         * lib/stdio--.h: New file.
53631         * lib/stdlib--.h: New file.
53632         * lib/mkstemp-safer.c: New file.
53633
53634         GNU tar needs these.
53635         * lib/pipe-safer.c: New file.
53636         * lib/creat-safer.c: New file.
53637         * lib/fcntl--.h (creat): Define to creat_safer.
53638         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
53639         * lib/unistd--.h (pipe): Define to pipe_safer.
53640         * lib/unistd-safer.h: Declare pipe_safer.
53641
53642 2005-08-26  Simon Josefsson  <jas@extundo.com>
53643
53644         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
53645         Haible <bruno@clisp.org>.
53646
53647 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
53648
53649         * lib/regex_internal.h: Remove all references to
53650         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
53651         or better.
53652         (bitset_not, bitset_merge, bitset_not_merge):
53653         (bitset_mask, re_string_allocate, re_string_construct):
53654         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
53655         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
53656         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
53657         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
53658         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53659         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53660         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
53661         (re_acquire_state_context):
53662         Remove unnecessary forward decls.
53663         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
53664         Put __attribute at function definition,
53665         now that the function decl has been removed.
53666         * lib/regex_internal.c (re_string_peek_byte_case):
53667         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
53668         Likewise.
53669
53670 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
53671
53672         * m4/regex.m4: Add AC_PREREQ(2.50).
53673         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
53674
53675 2005-08-25  Simon Josefsson  <jas@extundo.com>
53676
53677         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
53678         __fsetlocking.
53679
53680 2005-08-25  Simon Josefsson  <jas@extundo.com>
53681
53682         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
53683         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
53684         GLIBC specific code.
53685
53686 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53687
53688         Make regex safe for g++.  This fixes one real bug (an "err"
53689         that should have been "*err").  g++ problem reported by
53690         Sam Steingold.
53691         * lib/regex_internal.h (re_calloc): New macro, consistent with
53692         re_malloc etc.  All callers of calloc changed to use re_calloc.
53693         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
53694         not int.  All callers changed.
53695         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
53696         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
53697         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
53698         (find_recover_state): Change "err" to "*err"; this fixes what
53699         appears to be a real bug.
53700         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
53701         versus int.
53702
53703 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53704
53705         * modules/regex (Depends-on): Add malloc, since the code
53706         assumes that !malloc(0) means failure.
53707
53708 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53709
53710         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
53711
53712         alloca modernization/simplification for regex.
53713         * lib/regex.c: Remove portability cruft for alloca.  This no longer
53714         needs to be at the start of the file, and can be moved into
53715         regex_internal.h and simplified.
53716         * lib/regex_internal.h: Include <alloca.h>.
53717         (__libc_use_alloca) [!defined _LIBC]: New macro.
53718         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
53719         now works outside glibc.
53720
53721 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
53722
53723         * config/srclist.txt: Add glibc bugs 1241, 1245.
53724
53725 2005-08-25  Jim Meyering  <jim@meyering.net>
53726
53727         * lib/open-safer.c: Include <config.h>.
53728         Otherwise, we'd lose LARGEFILE support in any file using
53729         e.g. "fcntl--.h"
53730
53731 2005-08-25  Bruno Haible  <bruno@clisp.org>
53732
53733         * m4/minmax.m4: Require autoconf 2.52.
53734         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
53735         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
53736         alternatives of translit over the alphabet.
53737         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
53738
53739 2005-08-24  Simon Josefsson  <jas@extundo.com>
53740
53741         * tests/test-getpass.c: New file.
53742
53743 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53744
53745         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
53746         for GNU regex features.
53747
53748 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53749
53750         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
53751         * lib/regex.h (regerror): Likewise.
53752
53753         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
53754         requires this.  (The code never needed it.)
53755
53756         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
53757         All uses of recently-renamed identifiers changed to use the new,
53758         POSIX-compliant names.  The code will build and run just fine
53759         without these changes, but it's better to eat our own dog food
53760         and use the standard-conforming names.
53761
53762         * lib/regex.h: Fix a multitude of POSIX name space violations.
53763         These changes have an effect only for programs that define
53764         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
53765         do not change anything for programs compiled in the normal way.
53766         Also, there is no effect on the ABI.
53767
53768         (_REGEX_SOURCE): New macro.
53769         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
53770         defined and _GNU_SOURCE is not; this fixes a name space violation.
53771
53772         Rename the following macros to obey POSIX requirements.
53773         The old names are still visible as macros if _REGEX_SOURCE is defined.
53774         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
53775         RE_BACKSLASH_ESCAPE_IN_LISTS.
53776         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
53777         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
53778         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
53779         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
53780         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
53781         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
53782         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
53783         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
53784         (REG_INTERVALS): renamed from RE_INTERVALS.
53785         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
53786         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
53787         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
53788         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
53789         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
53790         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
53791         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
53792         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
53793         RE_UNMATCHED_RIGHT_PAREN_ORD.
53794         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
53795         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
53796         (REG_DEBUG): renamed from RE_DEBUG.
53797         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
53798         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
53799         unusual, since we can't clash with the POSIX REG_ICASE.
53800         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
53801         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
53802         (REG_NO_SUB): renamed from RE_NO_SUB.
53803         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
53804         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
53805         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
53806         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
53807         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
53808         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
53809         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
53810         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
53811         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
53812         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
53813         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
53814         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
53815         RE_SYNTAX_POSIX_MINIMAL_BASIC.
53816         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
53817         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
53818         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
53819         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
53820         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
53821         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
53822         (REG_FIXED): Renamed from REGS_FIXED.
53823         (REG_NREGS): Renamed from RE_NREGS.
53824
53825         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
53826         of other REG_* macros, since POSIX says the user is allowed to
53827         #undef these macros selectively.
53828
53829         (reg_errcode_t): Update comment stating what other tables need
53830         to be consistent.
53831
53832         Rename the following enum values to obey POSIX requirements.
53833         The old names are still visible as macros.
53834         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
53835         is not defined, since GNU is supposed to be a superset of POSIX as
53836         much as possible, and since we want reg_errcode_t to be a signed
53837         type for implementation consistency.
53838         (_REG_NOERROR): Renamed from REG_NOERROR.
53839         (_REG_NOMATCH): Renamed from REG_NOMATCH.
53840         (_REG_BADPAT): Renamed from REG_BADPAT.
53841         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
53842         (_REG_ECTYPE): Renamed from REG_ECTYPE.
53843         (_REG_EESCAPE): Renamed from REG_EESCAPE.
53844         (_REG_ESUBREG): Renamed from REG_ESUBREG.
53845         (_REG_EBRACK): Renamed from REG_EBRACK.
53846         (_REG_EPAREN): Renamed from REG_EPAREN.
53847         (_REG_EBRACE): Renamed from REG_EBRACE.
53848         (_REG_BADBR): Renamed from REG_BADBR.
53849         (_REG_ERANGE): Renamed from REG_ERANGE.
53850         (_REG_ESPACE): Renamed from REG_ESPACE.
53851         (_REG_BADRPT): Renamed from REG_BADRPT.
53852         (_REG_EEND): Renamed from REG_EEND.
53853         (_REG_ESIZE): Renamed from REG_ESIZE.
53854         (_REG_ERPAREN): Renamed from REG_ERPAREN.
53855         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
53856         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
53857         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
53858         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
53859
53860         (_REG_RE_NAME, _REG_RM_NAME): New macros.
53861         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
53862         changed.  But support the old name if the new one is not defined
53863         and if _REGEX_SOURCE.
53864
53865         Change the following member names in struct re_pattern_buffer.
53866         The old names are still supported if !_REGEX_SOURCE.
53867         The new names are always supported, regardless of _REGEX_SOURCE.
53868         (re_buffer): Renamed from buffer.
53869         (re_allocated): Renamed from allocated.
53870         (re_used): Renamed from used.
53871         (re_syntax): Renamed from syntax.
53872         (re_fastmap): Renamed from fastmap.
53873         (re_translate): Renamed from translate.
53874         (re_can_be_null): Renamed from can_be_null.
53875         (re_regs_allocated): Renamed from regs_allocated.
53876         (re_fastmap_accurate): Renamed from fastmap_accurate.
53877         (re_no_sub): Renamed from no_sub.
53878         (re_not_bol): Renamed from not_bol.
53879         (re_not_eol): Renamed from not_eol.
53880         (re_newline_anchor): Renamed from newline_anchor.
53881
53882         Change the following member names in struct re_registers.
53883         The old names are still supported if !_REGEX_SOURCE.
53884         The new names are always supported, regardless of _REGEX_SOURCE.
53885         (rm_num_regs): Renamed from num_regs.
53886         (rm_start): Renamed from start.
53887         (rm_end): Renamed from end.
53888
53889         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
53890         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
53891         Prepend __ to parameter names.
53892
53893         Undo yesterday's changes.
53894
53895 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
53896
53897         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
53898         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
53899         lib/regex.c.
53900
53901 2005-08-24  Jim Meyering  <jim@meyering.net>
53902
53903         Sync from coreutils.
53904         * m4/fcntl-safer.m4: New file.
53905
53906         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
53907         and object files for this module.
53908
53909 2005-08-24  Jim Meyering  <jim@meyering.net>
53910
53911         Sync from coreutils.
53912         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
53913
53914 2005-08-24  Jim Meyering  <jim@meyering.net>
53915
53916         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
53917         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
53918
53919 2005-08-24  Jim Meyering  <jim@meyering.net>
53920
53921         * modules/fcntl-safer: New module.
53922         * modules/fts (Depends-on): Add fcntl-safer.
53923         * MODULES.html.sh (File descriptor based Input/Output):
53924         Add fcntl-safer.
53925
53926 2005-08-24  Bruno Haible  <bruno@clisp.org>
53927
53928         Support for unit test modules.
53929         * modules/README: Mention tests modules.
53930         * modules/TEMPLATE-TESTS: New file.
53931         * gnulib-tool: New options --extract-tests-module, --with-tests and
53932         --tests-base (unused for the moment).
53933         (testsbase, inctests): New variables.
53934         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
53935         (func_verify_module): Exclude TEMPLATE-TESTS.
53936         (func_verify_nontests_module, func_verify_tests_module): New functions.
53937         (func_get_dependencies): Add implicit dependency for tests modules.
53938         (func_get_tests_module): New function.
53939         (func_modules_transitive_closure): When --with-tests was specified,
53940         include the unit tests as well, unless explicitly avoided.
53941         (func_emit_lib_Makefile_am): Ignore the tests modules here.
53942         (func_emit_tests_Makefile_am): New function.
53943         (func_create_testdir): When --with-tests was specified, emit a
53944         tests/ directory.
53945         * MODULES.html.sh (Future developments): Update.
53946
53947 2005-08-24  Bruno Haible  <bruno@clisp.org>
53948
53949         * modules/tls-tests: New file.
53950         * tests/test-tls.c: New file, from GNU gettext.
53951
53952 2005-08-24  Bruno Haible  <bruno@clisp.org>
53953
53954         * modules/lock-tests: New file.
53955         * tests/test-lock.c: New file, from GNU gettext.
53956
53957 2005-08-24  Bruno Haible  <bruno@clisp.org>
53958
53959         * lib/lock.h: Add multiple inclusion guard.
53960         * lib/tls.h: Add multiple inclusion guard.
53961
53962 2005-08-24  Bruno Haible  <bruno@clisp.org>
53963
53964         * gnulib-tool: Add support for the --aux-dir option to
53965         --create-testdir, --create-megatestdir, --test, --megatest.
53966         (func_create_testdir, func_create_megatestdir): Optionally emit a
53967         AC_CONFIG_AUX_DIR directive.
53968         (create-testdir, create-megatestdir, test, megatest): Provide a
53969         default value for $auxdir.
53970
53971 2005-08-24  Bruno Haible  <bruno@clisp.org>
53972
53973         * gnulib-tool (import): Use compound statement instead of subshell
53974         where possible.
53975
53976 2005-08-24  Bruno Haible  <bruno@clisp.org>
53977
53978         * gnulib-tool (import): Change --aux-dir default to "build-aux".
53979
53980 2005-08-24  Bruno Haible  <bruno@clisp.org>
53981
53982         * gnulib-tool (func_version): Update.
53983
53984 2005-08-24  Bruno Haible  <bruno@clisp.org>
53985
53986         * gnulib-tool (func_import, func_create_testdir,
53987         func_create_megatestdir): Quote all autoconf macro arguments.
53988
53989 2005-08-24  Bruno Haible  <bruno@clisp.org>
53990
53991         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
53992         option --force, because --force causes the aclocal.m4 of each
53993         subdirectory to be newer than the corresponding config.h.in.
53994
53995 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
53996
53997         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
53998         All contents moved to gl_REGEX.
53999         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
54000         assume that it does.
54001
54002 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54003
54004         * lib/regex.h (REG_NOSYS)
54005         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
54006         Define, since POSIX requires it as of 2001.
54007         (_REG_ENOSYS)
54008         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
54009         New private symbol, used to keep the enum signed in all cases.
54010         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
54011         Youngman in
54012         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
54013
54014         * lib/regex_internal.c (re_string_skip_chars, register_state):
54015         (calc_state_hash):
54016         Remove forward decls; no longer needed now that we use prototypes.
54017         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
54018         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
54019         (clean_state_log_if_needed): Likewise.
54020
54021 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54022
54023         * config/srclist.txt: Add glibc bugs 1231-1233.
54024
54025 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54026
54027         Fix problems reported by Sam Steingold in
54028         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
54029         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
54030         assumed that reg_errcode_t is a signed type, which is not
54031         necessarily true if _XOPEN_SOURCE is not defined.
54032         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
54033         since some compilers warn about it otherwise.
54034
54035 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54036
54037         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
54038         (init_word_char, create_initial_state, duplicate_node_closure):
54039         (fetch_token, peek_token_bracket, build_range_exp):
54040         (build_collating_symbol): Remove forward decls; no longer needed
54041         now that we use prototypes.
54042
54043         * lib/regcomp.c:
54044         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
54045         (re_compile_fastmap_iter, regcomp, regerror, regfree):
54046         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
54047         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
54048         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
54049         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
54050         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
54051         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
54052         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
54053         (build_range_exp, build_collating_symbol, parse_bracket_exp):
54054         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
54055         (build_charclass, build_charclass_op, fetch_number, create_tree):
54056         (create_token_tree, mark_opt_subexp, duplicate_tree):
54057         Use prototypes rather than old-style definitions.
54058
54059         * lib/regex_internal.c:
54060         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
54061         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
54062         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
54063         (re_string_reconstruct, re_string_peek_byte_case):
54064         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
54065         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
54066         (re_node_set_init_copy, re_node_set_add_intersect):
54067         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54068         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54069         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
54070         (re_acquire_state, re_acquire_state_context, register_state):
54071         (create_ci_newstate, create_cd_newstate, free_state):
54072         Likewise.
54073         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
54074         re_search_2):
54075         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
54076         (re_search_internal, prune_impossible_nodes):
54077         (acquire_init_state_context, check_matching, static):
54078         (check_halt_node_context, check_halt_state_context, proceed_next_node):
54079         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
54080         (update_regs, sift_states_backward, build_sifted_states):
54081         (clean_state_log_if_needed, merge_state_array):
54082         (update_cur_sifted_state, add_epsilon_src_nodes):
54083         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
54084         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
54085         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
54086         (find_recover_state, check_subexp_matching_top, transit_state_mb):
54087         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
54088         (check_arrival, check_arrival_add_next_nodes):
54089         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54090         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
54091         (check_node_accept_bytes, check_node_accept, extend_buffers):
54092         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
54093         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
54094         (sift_ctx_init):
54095         Likewise.
54096
54097         * lib/regex_internal.h:
54098         (re_string_allocate, re_string_construct, re_string_reconstruct):
54099         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
54100         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
54101         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
54102         (re_string_context_at, re_string_peek_byte_case):
54103         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
54104         is defined, since we now use prototypes always.
54105
54106         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
54107         C89 or better.  All uses removed.
54108
54109 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54110
54111         * config/srclist.txt: Add glibc bugs 1220-1227.
54112
54113 2005-08-20  Jim Meyering  <jim@meyering.net>
54114
54115         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
54116         of unused local, dfa.
54117
54118 2005-08-20  Bruno Haible  <bruno@clisp.org>
54119
54120         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
54121
54122 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54123
54124         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
54125         (re_node_set_insert_last, re_dfa_add_node):
54126         Rename local variables to avoid GCC shadowing warnings.
54127
54128 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54129
54130         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
54131         [defined lint]: Suppress bogus uninitialized-variable warnings.
54132
54133         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
54134         and let the caller return REG_ESPACE if out of space.  This
54135         removes an uninitialied-variable warning with GCC 4.0.1, and also
54136         avoids taking the address of a local variable.  All callers
54137         changed.
54138
54139 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54140
54141         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
54142         $LIBCSRC/posix/regexec.c.
54143         Add glibc bug 1217 for regcomp.c.
54144
54145 2005-08-19  Jim Meyering  <jim@meyering.net>
54146
54147         * lib/regexec.c (proceed_next_node): Redo local variables to
54148         avoid GCC shadowing warnings.
54149
54150 2005-08-18  Bruno Haible  <bruno@clisp.org>
54151
54152         * lib/strstr.c (strstr): Fix return value in multibyte case.
54153         * lib/strcasestr.c (strcasestr): Likewise.
54154
54155 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
54156
54157         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
54158
54159 2005-08-17  Jim Meyering  <jim@meyering.net>
54160
54161         Make the %s format (seconds since the epoch) work for a negative
54162         number and when used with a zero-padded field width, e.g. %015s.
54163
54164         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
54165         label so that it precedes the code to set `digits'.  Otherwise,
54166         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
54167         print `00-22'.  Now, it prints `-0022', as it should.
54168
54169 2005-08-17  Bruno Haible  <bruno@clisp.org>
54170
54171         * modules/strstr (Files): Add m4/mbrtowc.m4.
54172         (Depends-on): Add mbuiter.
54173
54174 2005-08-17  Bruno Haible  <bruno@clisp.org>
54175
54176         * modules/strcasestr: New file.
54177         * MODULES.html.sh (String handling, based on ANSI C 89): Add
54178         strcasestr.
54179
54180 2005-08-17  Bruno Haible  <bruno@clisp.org>
54181
54182         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
54183
54184 2005-08-17  Bruno Haible  <bruno@clisp.org>
54185
54186         * modules/mbuiter: New file.
54187         * MODULES.html.sh (Extended multibyte and wide character utilities):
54188         Add mbuiter.
54189
54190 2005-08-17  Bruno Haible  <bruno@clisp.org>
54191
54192         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
54193         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
54194
54195 2005-08-17  Bruno Haible  <bruno@clisp.org>
54196
54197         * m4/strcasestr.m4: New file.
54198
54199 2005-08-17  Bruno Haible  <bruno@clisp.org>
54200
54201         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
54202         * lib/strstr.c: Completely rewritten, with multibyte locale support.
54203
54204 2005-08-17  Bruno Haible  <bruno@clisp.org>
54205
54206         * lib/strcasestr.h: New file.
54207         * lib/strcasestr.c: New file.
54208
54209 2005-08-17  Bruno Haible  <bruno@clisp.org>
54210
54211         * lib/strcasecmp.c: Use mbuiter.h.
54212
54213 2005-08-17  Bruno Haible  <bruno@clisp.org>
54214
54215         * lib/mbuiter.h: New file.
54216
54217 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
54218
54219         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
54220         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
54221         and gl_GETOPT are both invoked via different paths (as happens
54222         with GNU tar CVS because it uses both argp and getopt), the former
54223         wins.
54224
54225 2005-08-16  Bruno Haible  <bruno@clisp.org>
54226
54227         * modules/tls: New file.
54228         * MODULES.html.sh (Multithreading): Add tls.
54229
54230 2005-08-16  Bruno Haible  <bruno@clisp.org>
54231
54232         * modules/strnlen1: New file.
54233         * MODULES.html.sh (String handling): Add strnlen1.
54234
54235 2005-08-16  Bruno Haible  <bruno@clisp.org>
54236
54237         * modules/strcase (Files): Add m4/mbrtowc.m4.
54238         (Depends-on): Add strnlen1, mbchar.
54239
54240 2005-08-16  Bruno Haible  <bruno@clisp.org>
54241
54242         * modules/mbiter: New file.
54243         * MODULES.html.sh (Extended multibyte and wide character utilities):
54244         Add mbiter.
54245
54246 2005-08-16  Bruno Haible  <bruno@clisp.org>
54247
54248         * modules/mbfile: New file.
54249         * MODULES.html.sh (Extended multibyte and wide character utilities):
54250         Add mbfile.
54251
54252 2005-08-16  Bruno Haible  <bruno@clisp.org>
54253
54254         * modules/mbchar: New file.
54255         * MODULES.html.sh (Extended multibyte and wide character utilities):
54256         New section.
54257
54258 2005-08-16  Bruno Haible  <bruno@clisp.org>
54259
54260         * m4/tls.m4: New file, from GNU gettext.
54261
54262 2005-08-16  Bruno Haible  <bruno@clisp.org>
54263
54264         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
54265         always.
54266         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
54267
54268 2005-08-16  Bruno Haible  <bruno@clisp.org>
54269
54270         * m4/mbiter.m4: New file.
54271
54272 2005-08-16  Bruno Haible  <bruno@clisp.org>
54273
54274         * m4/mbfile.m4: New file.
54275
54276 2005-08-16  Bruno Haible  <bruno@clisp.org>
54277
54278         * m4/mbchar.m4: New file.
54279
54280 2005-08-16  Bruno Haible  <bruno@clisp.org>
54281
54282         * lib/tls.h: New file, from GNU gettext.
54283         * lib/tls.c: New file, from GNU gettext.
54284
54285 2005-08-16  Bruno Haible  <bruno@clisp.org>
54286
54287         * lib/strnlen1.h: New file.
54288         * lib/strnlen1.c: New file.
54289
54290 2005-08-16  Bruno Haible  <bruno@clisp.org>
54291
54292         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
54293         (mbi_init): Update.
54294         (mbi_avail, mbi_advance): Let the iteration end before the terminating
54295         NUL byte, not after it.
54296
54297 2005-08-16  Bruno Haible  <bruno@clisp.org>
54298
54299         * lib/strcase.h (strcasecmp): Add note in comments.
54300         * lib/strncasecmp.c: Use code from strcasecmp.c.
54301         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
54302         (strcasecmp): Work correctly in multibyte locales.
54303
54304 2005-08-16  Bruno Haible  <bruno@clisp.org>
54305
54306         * lib/mbiter.h: New file.
54307
54308 2005-08-16  Bruno Haible  <bruno@clisp.org>
54309
54310         * lib/mbfile.h: New file.
54311
54312 2005-08-16  Bruno Haible  <bruno@clisp.org>
54313
54314         * lib/mbchar.h: New file.
54315         * lib/mbchar.c: New file.
54316
54317 2005-08-16  Bruno Haible  <bruno@clisp.org>
54318
54319         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
54320         the valid ones. Makes the comparison operations transitive:
54321         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
54322         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
54323
54324 2005-08-15  Simon Josefsson  <jas@extundo.com>
54325
54326         * modules/ssize_t (License): Change to 'unlimited'.
54327
54328         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
54329
54330 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54331
54332         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
54333         Add comments for each pending glibc patch.
54334
54335 2005-08-15  Bruno Haible  <bruno@clisp.org>
54336
54337         * lib/regex.h (__restrict_arr): Don't define to __restrict if
54338         __cplusplus is defined.
54339
54340 2005-08-14  Jim Meyering  <jim@meyering.net>
54341
54342         Sync from coreutils.
54343
54344         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
54345         Use the hash-table-based cycle-detection code not just when
54346         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
54347         Reported by James Youngman in
54348         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
54349         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
54350         FTS_TIGHT_CYCLE_CHECK.
54351         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
54352         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
54353         once again.
54354         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
54355         * lib/fts.c (fd_safer): Remove decl.
54356         Include fcntl--.h rather than unistd-safer.h
54357         (fts_safe_changedir): Don't call fd_safer; no longer needed
54358         now that we include fcntl--.h.
54359
54360 2005-08-12  Simon Josefsson  <jas@extundo.com>
54361
54362         * modules/getndelim2: Use ssize_t module.
54363         * modules/getnline: Likewise.
54364         * modules/safe-read: Likewise.
54365         * modules/xreadlink: Likewise.
54366
54367         * modules/ssize_t: New file.
54368
54369 2005-08-12  Simon Josefsson  <jas@extundo.com>
54370
54371         * m4/readline.m4: Look for termcap, curses or ncurses if required.
54372
54373 2005-08-12  Simon Josefsson  <jas@extundo.com>
54374
54375         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54376         ssize_t.
54377
54378 2005-08-12  Simon Josefsson  <jas@extundo.com>
54379
54380         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
54381         readline, getdelim and check_version.
54382         (Support for systems lacking ISO C 99: Sizes of integer types):
54383         Add size_max.
54384
54385 2005-08-12  Bruno Haible  <bruno@clisp.org>
54386
54387         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
54388
54389 2005-08-11  Simon Josefsson  <jas@extundo.com>
54390
54391         * modules/readline: New file.
54392
54393         * modules/strnlen (Files): Add strnlen.h.
54394
54395 2005-08-11  Simon Josefsson  <jas@extundo.com>
54396
54397         * m4/readline.m4: New file.
54398
54399 2005-08-11  Simon Josefsson  <jas@extundo.com>
54400
54401         * lib/readline.h, readline.c: New file.
54402
54403 2005-08-11  Simon Josefsson  <jas@extundo.com>
54404
54405         * doc/gnulib.texi (Initial import, Finishing touches): Mention
54406         gl_AVOID.
54407
54408 2005-08-11  Bruno Haible  <bruno@clisp.org>
54409
54410         * lib/strnlen.h (strnlen): Change parameter name to match comment.
54411
54412 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
54413
54414         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
54415
54416 2005-08-10  Simon Josefsson  <jas@extundo.com>
54417
54418         * tests/test-iconvme.c: New file.
54419
54420 2005-08-10  Simon Josefsson  <jas@extundo.com>
54421
54422         * m4/strnlen.m4: New file.
54423
54424         * m4/strndup.m4: Don't check for strnlen declaration, done in
54425         strnlen.m4.
54426
54427 2005-08-10  Simon Josefsson  <jas@extundo.com>
54428
54429         * lib/strndup.c: Use strnlen.h.
54430
54431         * lib/strnlen.h: New file.
54432
54433 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
54434
54435         * README: Typos.
54436
54437 2005-08-02  Simon Josefsson  <jas@extundo.com>
54438
54439         * modules/readline: New file.
54440
54441 2005-08-02  Simon Josefsson  <jas@extundo.com>
54442
54443         * modules/getdelim: New file.
54444
54445         * modules/getline: Rewrite, don't use getndelim2.
54446
54447 2005-08-02  Simon Josefsson  <jas@extundo.com>
54448
54449         * m4/getline.m4: Separate out getdelim stuff into separate module.
54450
54451         * m4/getdelim.m4: New file.
54452
54453 2005-08-02  Simon Josefsson  <jas@extundo.com>
54454
54455         * lib/getline.h, getline.c: Rewrite.
54456
54457         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
54458
54459 2005-07-31  Bruno Haible  <bruno@clisp.org>
54460
54461         * lib/lock.h (gl_lock_initializer): New macro.
54462         (gl_lock_define_initialized): Use it.
54463         (gl_rwlock_initializer): New macro.
54464         (gl_rwlock_define_initialized): Use it.
54465         (gl_recursive_lock_initializer): New macro.
54466         (gl_recursive_lock_define_initialized): Use it.
54467
54468 2005-07-30  Karl Berry  <karl@gnu.org>
54469
54470         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
54471         Report from Ben Pfaff, regarding getopt.
54472
54473 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
54474
54475         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
54476         normal way.
54477         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
54478         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
54479         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
54480         (gl_GETOPT): Use the new macros.  Most of the implementation
54481         is moved to the new macros.  This is for programs like Emacs
54482         that don't want all the functionality of gl_GETOPT.
54483
54484 2005-07-26  Bruno Haible  <bruno@clisp.org>
54485
54486         * m4/lock.m4: Update from GNU gettext.
54487
54488 2005-07-26  Bruno Haible  <bruno@clisp.org>
54489
54490         * lib/lock.h: Update from GNU gettext.
54491         * lib/lock.c: Update from GNU gettext.
54492
54493 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
54494
54495         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
54496         obsolescent AC_TRY_RUN.  Include the default includes files, for
54497         'exit'.
54498
54499 2005-07-24  Bruno Haible  <bruno@clisp.org>
54500
54501         * modules/visibility: New file.
54502         * MODULES.html.sh (Misc): Add visibility.
54503
54504 2005-07-24  Bruno Haible  <bruno@clisp.org>
54505
54506         * m4/visibility.m4: New file.
54507
54508 2005-07-24  Bruno Haible  <bruno@clisp.org>
54509
54510         * doc/visibility.texi: New file.
54511
54512 2005-07-22  Bruno Haible  <bruno@clisp.org>
54513
54514         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
54515         $(ALLOCA_H), redundant through BUILT_SOURCES.
54516         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
54517         redundant through BUILT_SOURCES.
54518         * modules/byteswap (Makefile.am): Remove explicit dependency on
54519         $(BYTESWAP_H), redundant through BUILT_SOURCES.
54520         * modules/fnmatch (Makefile.am): Remove explicit dependency on
54521         $(FNMATCH_H), redundant through BUILT_SOURCES.
54522         * modules/getopt (Makefile.am): Remove explicit dependency on
54523         $(GETOPT_H), redundant through BUILT_SOURCES.
54524         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
54525         redundant through BUILT_SOURCES.
54526         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
54527         redundant through BUILT_SOURCES.
54528         * modules/stdbool (Makefile.am): Remove explicit dependency on
54529         $(STDBOOL_H), redundant through BUILT_SOURCES.
54530         * modules/stdint (Makefile.am): Remove explicit dependency on
54531         $(STDINT_H), redundant through BUILT_SOURCES.
54532         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
54533         Remove explicit dependency on $(SYSEXITS_H).
54534         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
54535
54536 2005-07-18  Simon Josefsson  <jas@extundo.com>
54537
54538         * lib/check-version.c (check_version): Accept identical versions too.
54539
54540 2005-07-18  Bruno Haible  <bruno@clisp.org>
54541
54542         * modules/lock: New file.
54543         * MODULES.html.sh (Multithreading): New section.
54544
54545 2005-07-18  Bruno Haible  <bruno@clisp.org>
54546
54547         * m4/lock.m4: New file, from GNU gettext.
54548
54549 2005-07-18  Bruno Haible  <bruno@clisp.org>
54550
54551         * lib/lock.h: New file, from GNU gettext.
54552         * lib/lock.c: New file, from GNU gettext.
54553
54554 2005-07-18  Bruno Haible  <bruno@clisp.org>
54555
54556         * lib/lock.h (gl_once_t): New type.
54557         (gl_once_define, gl_once): New macros.
54558         * lib/lock.c (fresh_once): New variable.
54559         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
54560         functions.
54561
54562 2005-07-16  Simon Josefsson  <jas@extundo.com>
54563
54564         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
54565         workaround, suggested by Bruno.
54566
54567 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
54568
54569         * modules/xalloc (Depends-on): Add xalloc-die.
54570         * modules/xvasprintf (Depends-on): Add xalloc-die.
54571
54572 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
54573
54574         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
54575         with a minor change.
54576
54577 2005-07-15  Bruno Haible  <bruno@clisp.org>
54578
54579         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
54580         When using lib/poll.c, define poll as rpl_poll.
54581
54582 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
54583
54584         * modules/argp (Depends-on): Remove unlocked-io.
54585
54586 2005-07-14  Derek Price  <derek@ximbiot.com>
54587
54588         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
54589         for glob symlink bug.
54590
54591 2005-07-14  Bruno Haible  <bruno@clisp.org>
54592
54593         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
54594         Instead, test for *_unlocked function declarations directly.
54595
54596 2005-07-11  Simon Josefsson  <jas@extundo.com>
54597
54598         * modules/size_max: New file.
54599
54600         * modules/xsize: Depend on size_max module for size_max.m4.
54601
54602 2005-07-11  Simon Josefsson  <jas@extundo.com>
54603
54604         * lib/size_max.h: New file.
54605
54606 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
54607
54608         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
54609         copyright symbol and the year.
54610         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
54611         (version_etc_va): Use parameterized copyright notice.
54612         Reword to conform to the current GNU coding standards.
54613
54614 2005-07-11  Karl Berry  <karl@gnu.org>
54615
54616         * doc/gnulib.texi (Quoting): new node.
54617         (Initial import): more info, from Patrice.
54618
54619 2005-07-11  Bruno Haible  <bruno@clisp.org>
54620
54621         * gnulib-tool (func_usage): Document option --avoid.
54622         (Command line options): Handle --avoid.
54623         (func_acceptable): New function.
54624         (func_modules_transitive_closure): Use it.
54625
54626 2005-07-11  Bruno Haible  <bruno@clisp.org>
54627
54628         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
54629         Reported by Jim Meyering.
54630
54631 2005-07-10  Bruno Haible  <bruno@clisp.org>
54632
54633         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
54634         Needed when size_t is smaller than 'unsigned int'.
54635         Reported by Paul Eggert.
54636
54637 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54638
54639         * modules/argp (Depends-on): Add unlocked-io
54640
54641 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54642
54643         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
54644         block of defines.
54645
54646 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
54647
54648         * config/srclist.txt: Comment out regcomp.c, since we have a porting
54649         fix now.
54650
54651 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
54652         and Paul Eggert  <eggert@cs.ucla.edu>
54653
54654         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
54655         in wint_t, not wchar_t.  Remove now-unnecessary cast.
54656
54657 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54658
54659         * modules/regex (Files): Add lib/regex_internal.c,
54660         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
54661         (Depends-on): Add extensions.
54662         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
54663
54664 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54665
54666         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
54667         pathconf.
54668         * m4/same.m4 (gl_SAME): Likewise.
54669         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
54670
54671         * m4/regex.m4: Adjust to new libc regex implementation.
54672         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
54673         all the .c and .h parts of (the new) regex.
54674         Quote the m4 stuff better.
54675         Check for RE_ICASE bug of old gnulib.
54676         Check for REG_STARTEND of recent libc.
54677         Rename local variables from jm_* to gl_*.
54678         Quote operand of "test -f".
54679         Say "recent enough" version of libc, not "version 2".
54680         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
54681         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
54682         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
54683         Remove check for btowc, isascii.
54684         Require AM_LANGINFO_CODESET.
54685
54686 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54687
54688         * lib/regex.c, regex.h: Sync from libc.
54689         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
54690         * lib/regexec.c:
54691         New files, synced from libc, except that regex_internal.h
54692         currently has a small porting fix.
54693
54694 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
54695
54696         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
54697         regex_internal.c, regexec.c.
54698         Add regex_internal.h too, but as a comment, since the libc version
54699         is currently broken in gnulib mode.
54700
54701 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
54702
54703         Support programs like Emacs that use gnulib but not gettext.
54704         * MODULES.html.sh (Internationalization functions): Add gettext-h.
54705         * modules/gettext-h: New file.
54706         * modules/gettext (Files): Remove lib/gettext.h.
54707         (Depends-on): Add gettext-h.
54708         (Makefile.am): Remove lib_SOURCES.
54709         * modules/argmatch, modules/c-stack, modules/closeout:
54710         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
54711         * modules/execute, modules/file-type, modules/getaddrinfo:
54712         * modules/getopt, modules/human, modules/javacomp:
54713         * modules/javaexec, modules/mkdir-p, modules/obstack:
54714         * modules/openat, modules/pagealign_alloc, modules/pipe:
54715         * modules/quotearg, modules/regex, modules/rpmatch:
54716         * modules/unicodeio, modules/userspec, modules/version-etc:
54717         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
54718         * modules/xsetenv:
54719         Depend on gettext-h, not gettext.
54720
54721 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
54722
54723         * gnulib-tool (func_import): Add support for 'public domain' license.
54724         * modules/alloca, modules/atexit, modules/memmove:
54725         Now public domain, not GPL.
54726         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
54727         * modules/realloc, modules/strerror, modules/strtod:
54728         Now LGPL, not GPL.
54729
54730 2005-07-05  Bruno Haible  <bruno@clisp.org>
54731
54732         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
54733         autoconf CVS. Needed for mingw.
54734
54735 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54736
54737         Remove the dependency of the strftime module on the tzset module.
54738         * modules/strftime (Depends-on): Remove dependency on tzset.
54739
54740 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54741
54742         Remove the dependency of the strftime module on the tzset module.
54743         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
54744         gl_FUNC_TZSET_CLOBBER.
54745
54746 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54747
54748         Remove the dependency of the strftime module on the tzset module.
54749         * lib/strftime.c (my_strftime)
54750         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
54751         Copy the input structure, to work around some of the bug with
54752         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
54753         Solaris releases, you should also use the tzset module, but we won't
54754         require it as a dependency any more since we don't want LGPLed code
54755         to depend on GPLed code.
54756
54757 2005-07-02  Jim Meyering  <jim@meyering.net>
54758
54759         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
54760         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
54761         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
54762         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
54763
54764 2005-07-02  Jim Meyering  <jim@meyering.net>
54765
54766         * lib/backupfile.c (backup_args): Change a `0' to NULL.
54767
54768 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54769
54770         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
54771         declares only 'struct timespec;' (!).
54772
54773 2005-07-01  Jim Meyering  <jim@meyering.net>
54774
54775         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
54776         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
54777         * lib/save-cwd.c, tempname.c:
54778         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
54779         and don't include <sys/file.h>).
54780
54781 2005-06-29  Jim Meyering  <jim@meyering.net>
54782
54783         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
54784         type name.  Use the variable name instead.
54785         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
54786         Likewise.
54787
54788 2005-06-28  Simon Josefsson  <jas@extundo.com>
54789
54790         * modules/check-version (Files): Add check-version.m4.
54791
54792 2005-06-28  Simon Josefsson  <jas@extundo.com>
54793
54794         * m4/check-version.m4: New file, suggested by Jim Meyering
54795         <jim@meyering.net>.
54796
54797 2005-06-28  Simon Josefsson  <jas@extundo.com>
54798
54799         * lib/check-version.h, lib/check-version.c: New files.
54800
54801 2005-06-28  Simon Josefsson  <jas@extundo.com>
54802
54803         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
54804         collision with global variable.  Better indentation.  Don't
54805         increment buffer pointer beyond buffer end.  Based on comments
54806         from Paul Eggert <eggert@cs.ucla.edu>.
54807
54808         * lib/base64.h: Indent.
54809
54810 2005-06-28  Simon Josefsson  <jas@extundo.com>
54811
54812         * doc/gnulib.texi (Library version handling): New section.
54813
54814 2005-06-28  Jim Meyering  <jim@meyering.net>
54815
54816         * check-module (find_included_lib_files): Hard-code another
54817         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
54818         but modules/fts-lgpl (correctly) does not list those files.
54819
54820         * modules/canonicalize (Files): Add lib/pathmax.h.
54821
54822 2005-06-25  Simon Josefsson  <jas@extundo.com>
54823
54824         * modules/check-version: New file.
54825
54826 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
54827
54828         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
54829         initializer of struct addrinfo, as an indication that we don't
54830         care how many members the structure has.
54831
54832 2005-06-24  Derek Price  <derek@ximbiot.com>
54833         and Bruno Haible  <bruno@clisp.org>
54834
54835         Remove stat module & update lstat.
54836         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
54837         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
54838         * m4/stat.m4: Remove this file.
54839
54840 2005-06-24  Derek Price  <derek@ximbiot.com>
54841         and Bruno Haible  <bruno@clisp.org>
54842
54843         Remove stat module & update lstat.
54844         * lib/stat.c: Remove this file...
54845         (slash_aware_lstat): ...moving this content and its support...
54846         * lib/lstat.c (rpl_lstat): ...into here.
54847         * lib/lstat.h: New file.
54848
54849 2005-06-24  Derek Price  <derek@ximbiot.com>
54850         and Bruno Haible  <bruno@clisp.org>
54851
54852         Remove stat module & update lstat.
54853         * config/srclist.txt (libc sources): Remove stat.
54854
54855 2005-06-24  Derek Price  <derek@ximbiot.com>
54856         and Bruno Haible  <bruno@clisp.org>
54857
54858         Remove stat module & update lstat.
54859         * MODULES.html.sh (stat): Remove.
54860         * MODULES.html: Regenerated.
54861         * modules/lstat (Description): Correct function name.
54862         (Files): Add "lstat.h".
54863         (Depends-on): Remove stat, add xalloc, stat-macros.
54864         * modules/stat: Remove this file.
54865         (Include): Add "lstat.h", remove <sys/stat.h>.
54866
54867 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
54868
54869         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
54870         (ranged_convert): Don't save conversion in a temporary struct.
54871         This causes a warning with GCC 4.0.0, and anyway in the typical
54872         case it's not worth the extra 100 bytes or so of code.
54873         (ranged_convert, __mktime_internal): When calling a function via a
54874         pointer P, use P () rather than (*P) (), as we now assume C89 or
54875         better.
54876
54877 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
54878
54879         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
54880         "who -r" failed to give output.  Problem reported by Tim Waugh.
54881
54882         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
54883         (xcalloc): Use it to avoid needless tests.
54884         Problem reported by Jim Meyering.
54885
54886 2005-06-20  Derek Price  <derek@ximbiot.com>
54887
54888         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
54889         unnecessary for Autoconfs > 2.59c.
54890
54891 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
54892
54893         * lib/argp.h (__option_is_short): Check upper limit of
54894         __key. Isprint() requires its argument to have the value
54895         of an unsigned char or EOF.
54896
54897 2005-06-16  Jim Meyering  <jim@meyering.net>
54898
54899         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
54900         when either N or S is zero.
54901
54902 2005-06-16  Derek Price  <derek@ximbiot.com>
54903
54904         * m4/bison.m4: Declare YACC & YFLAGS precious.
54905
54906 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
54907
54908         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
54909         multibyte string or pattern, fall back on unibyte matching.
54910         Problem reported by James Youngman.
54911
54912 2005-06-08  Bruno Haible  <bruno@clisp.org>
54913
54914         * modules/csharpcomp: New file.
54915         * MODULES.html.sh (C#): Add csharpcomp.
54916
54917 2005-06-08  Bruno Haible  <bruno@clisp.org>
54918
54919         * m4/csharpcomp.m4: New file, from GNU gettext.
54920
54921 2005-06-08  Bruno Haible  <bruno@clisp.org>
54922
54923         * lib/csharpcomp.h: New file, from GNU gettext.
54924         * lib/csharpcomp.c: New file, from GNU gettext.
54925         * lib/csharpcomp.sh.in: New file, from GNU gettext.
54926
54927 2005-06-08  Bruno Haible  <bruno@clisp.org>
54928
54929         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
54930         warning on mingw.
54931
54932 2005-06-07  Derek Price  <derek@ximbiot.com>
54933
54934         Sync from CVS.
54935         * lib/glob_.h: Indent nested #ifdef.
54936
54937 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54938
54939         Sync from coreutils.
54940         Use "file name" when talking about file names, instead of "filename"
54941         or "path", as per the GNU coding standards.
54942         * lib/mkdir-p.c: Renamed from makepath.c.
54943         (make_dir_parents): Renamed from make_path.  All callers changed.
54944         * lib/mkdir-p.h: Likewise.  All includers changed.
54945         * lib/filenamecat.c: Renamed from path-concat.c.
54946         (file_name_concat): Renamed from path_concat.  All callers changed.
54947         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
54948         * lib/filenamecat.h: Likewise.  All includers changed.
54949         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
54950         in comments or local variable names.
54951         * lib/basename.c: Likewise.
54952         * lib/canonicalize.c, canonicalize.h: Likewise.
54953         * lib/dirname.c, dirname.h: Likewise.
54954         * lib/euidaccess.c: Likewise.
54955         * lib/exclude.c: Likewise
54956         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
54957         * lib/fsusage.c, fsuage.h: Likewise.
54958         * lib/fts.c, fts_.h: Likewise.
54959         * lib/getcwd.c: Likewise.
54960         * lib/getloadavg.c: Likewise.
54961         * lib/mkstemp.c: Likewise.
54962         * lib/mountlist.c, mountlist.h: Likewise.
54963         * lib/openat.c, openat.h: Likewise.
54964         * lib/readlink-stub.c: Likewise.
54965         * lib/readutmp.c, readutmp.h: Likewise.
54966         * lib/rename.c: Likewise.
54967         * lib/rmdir.c: Likewise.
54968         * lib/same.c: Likewise.
54969         * lib/savedir.c: Likewise.
54970         * lib/stripslash.c: Likewise.
54971         * lib/tempname.c: Likewise.
54972         * lib/xreadlink.c: Likewise.
54973         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
54974         All uses changed.
54975         * lib/exclude.h: Likewise.
54976
54977         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
54978         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
54979         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
54980         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
54981         * lib/pathmax.h: Include <limits.h> unconditionally, since other
54982         files have been getting away with it for years (MORE/BSD 4.3
54983         is extinct now).
54984         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
54985         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
54986
54987         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
54988         Define to 256, not 255, as per modern POSIX.
54989
54990 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54991
54992         Sync from coreutils.
54993         Use "file name" when talking about file names, instead of "filename"
54994         or "path", as per the GNU coding standards.
54995         * MODULES.html.sh: mkdir-p renamed from makepath.
54996         filenamecat renamed from path-concat.
54997         * modules/filenamecat: Renamed from modules/path-concat.
54998         (Files): filenamecat.h and filenamecat.c renamed from
54999         path-concat.h and path-concat.c.
55000         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
55001         (Include): filenamecat.h, not path-concat.h.
55002         * modules/mkdir-p: Renamed from modules/makepath.
55003         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
55004         makepath.c.
55005         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
55006         (Include): mkdir-p.h, not makepath.h.
55007
55008 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55009
55010         Sync from coreutils.
55011         * m4/mkdir-p.m4: Renamed from makepath.m4.
55012         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
55013         Rename files from makepath.c to mkdir-p.c, and from
55014         makepath.h to mkdir-p.h.
55015         * m4/filenamecat.m4: Renamed from path-concat.m4.
55016         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
55017         Rename files from path-concat.c to filenamecat.c,
55018         and from path-concat.h to filenamecat.h.
55019         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
55020         "file name" in local variables or comments.
55021         * m4/rename.m4: Likewise.
55022
55023 2005-06-01  Bruno Haible  <bruno@clisp.org>
55024
55025         * modules/csharpexec: New file.
55026         * MODULES.html.sh (C#): New section.
55027
55028 2005-06-01  Bruno Haible  <bruno@clisp.org>
55029
55030         * m4/csharp.m4: New file, from GNU gettext.
55031         * m4/csharpexec.m4: New file, from GNU gettext.
55032
55033 2005-06-01  Bruno Haible  <bruno@clisp.org>
55034
55035         * lib/csharpexec.h: New file, from GNU gettext.
55036         * lib/csharpexec.c: New file, from GNU gettext.
55037         * lib/csharpexec.sh.in: New file, from GNU gettext.
55038
55039 2005-05-31  Derek Price  <derek@ximbiot.com>
55040             Paul Eggert  <eggert@cs.ucla.edu>
55041
55042         Sync from cvs.
55043         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55044
55045 2005-05-31  Derek Price  <derek@ximbiot.com>
55046             Paul Eggert  <eggert@cs.ucla.edu>
55047
55048         Sync from cvs.
55049         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55050
55051 2005-05-29  Derek Price  <derek@ximbiot.com>
55052
55053         * config/srclist.txt (glob_.h, glob.c): Add these files.
55054
55055 2005-05-29  Derek Price  <derek@ximbiot.com>
55056
55057         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
55058         * modules/glob: New file.
55059         * modules/getlogin_r: Add link to POSIX spec in description.
55060
55061 2005-05-29  Derek Price  <derek@ximbiot.com>
55062             Paul Eggert  <eggert@cs.ucla.edu>
55063
55064         * m4/glob.m4: New file.
55065
55066 2005-05-29  Derek Price  <derek@ximbiot.com>
55067             Paul Eggert  <eggert@cs.ucla.edu>
55068
55069         * lib/glob_.h, lib/glob.c: New files.
55070
55071 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55072
55073         * modules/fts (Files): Remove m4/inttypes-pri.m4.
55074         * modules/fts-lgpl (Depends-on): Remove gettext.
55075
55076 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55077
55078         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
55079         and don't require gt_INTTYPES_PRI.
55080
55081 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55082
55083         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
55084
55085         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
55086         the configuration hassle isn't worth it.
55087         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
55088         (LONGEST_MODIFIER, PRIuMAX): Remove.
55089
55090 2005-05-27  Bruno Haible  <bruno@clisp.org>
55091
55092         * lib/getlogin_r.h: Remove second include of <stddef.h>.
55093
55094 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
55095
55096         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
55097         _POSIX_PTHREAD_SEMANTICS for Solaris.
55098
55099 2005-05-25  Derek Price  <derek@ximbiot.com>
55100
55101         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
55102
55103 2005-05-25  Derek Price  <derek@ximbiot.com>
55104             Paul Eggert  <eggert@cs.ucla.edu>
55105
55106         * modules/getlogin_r, m4/getlogin_r.m4: New files.
55107         * lib/getlogin_r.c, getlogin_r.h: New files.
55108
55109 2005-05-25  Bruno Haible  <bruno@clisp.org>
55110             Derek Price  <derek@ximbiot.com>
55111
55112         * lib/getlogin_r.h: Simplify API documentation.
55113
55114 2005-05-23  Derek Price  <derek@ximbiot.com>
55115
55116         * modules/minmax (Files): Add m4/minmax.m4.
55117         (configure.ac): Add gl_MINMAX.
55118
55119 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55120
55121         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
55122         so that unistd-safer.h (GPL'ed code) need not be included.
55123
55124 2005-05-22  Bruno Haible  <bruno@clisp.org>
55125
55126         * m4/minmax.m4: New file.
55127         Based on a patch by Derek Price <derek@ximbiot.com>.
55128
55129 2005-05-22  Bruno Haible  <bruno@clisp.org>
55130
55131         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
55132         (INT64_MIN): Fix definition.
55133         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
55134
55135         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
55136         NEED_SIGNED_INT_TYPES.
55137
55138         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
55139         HAVE_SYSTEM_INTTYPES.
55140
55141 2005-05-22  Bruno Haible  <bruno@clisp.org>
55142
55143         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
55144         Also include <sys/param.h> if it defines MIN, MAX.
55145         Based on a patch by Derek Price <derek@ximbiot.com>.
55146
55147 2005-05-21  Jim Meyering  <jim@meyering.net>
55148
55149         * modules/fts (Files): Add m4/inttypes-pri.m4.
55150         (Depends-on): Add lstat and remove gettext.  Alphabetize.
55151
55152 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55153
55154         New fts module.
55155         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
55156         (setup_dir, free_dir): New functions.
55157         (enter_dir, leave_dir): Define trivial
55158         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
55159         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
55160         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
55161         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
55162         Move to fts-cycle.c.
55163         (fts_open): Use setup_dir.
55164         (fts_close): Use free_dir.
55165         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
55166         This adds a label and some gotos, but the alternatives were messier.
55167         Check for memory allocation failure when entering a dir.
55168         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
55169         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
55170         (FTS): New member fts_cycle, that is a union that contains the
55171         old active_dir_ht and cycle_state.  All uses changed to mention
55172         fts_cycle.ht and fts_cycle.state.
55173         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
55174         fts.c, with the following changes:
55175         (setup_dir, free_dir): New functions.
55176         (enter_dir): Now returns bool.  Return true if successful, false
55177         if memory exhausted.  All callers changed.
55178         Do not bother partly cleaning up on
55179         memory allocation failure; that is free_dir's job.
55180         However, free ad if hash_insert fails, to avoid memory leak.
55181         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
55182         fts->fts_options to see which union member to use.
55183
55184 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55185
55186         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
55187         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
55188
55189 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55190
55191         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
55192
55193 2005-05-20  Jim Meyering  <jim@meyering.net>
55194
55195         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
55196         Now a macro, to pacify GCC.
55197
55198 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55199
55200         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
55201         of -1.
55202
55203 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55204
55205         * lib/chown.c (rpl_chown): Return -1 on failure.
55206
55207 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55208
55209         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
55210         Don't check for stddef.h.
55211         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
55212         don't use its results.
55213         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
55214         since we include them unconditionally.  Don't require
55215         AM_STDBOOL_H, since stdbool is a prerequisite.
55216         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
55217         since we assume C89 or better.
55218         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
55219         as we don't use their results.
55220         Don't check for fchdir, memmove, memset, strrchr, as we use
55221         them unconditionally.
55222         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
55223         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
55224
55225 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55226
55227         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
55228         Include <stddef.h> unconditionally, since we assume C89 now.
55229         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
55230         * lib/fts.c: Include fts_.h first, to check interface.
55231         Do not include intprops.h; no longer needed.
55232         Include cycle-check.h and hash.h, since fts_.h no longer does.
55233         Remove unnecessary casts of closedir to void.
55234         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
55235         decide whether to decrement nlinks.
55236         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
55237         (FTS): Use struct hash_table * instead of Hash_table, so that
55238         we no longer need to include hash.h here.
55239
55240 2005-05-18  Jim Meyering  <jim@meyering.net>
55241
55242         * modules/dirfd (License): Change to LGPL.  Most of the code
55243         is already in the public domain.
55244
55245 2005-05-18  Jim Meyering  <jim@meyering.net>
55246
55247         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
55248         Reported by Yoann Vandoorselaere.
55249
55250 2005-05-17  Jim Meyering  <jim@meyering.net>
55251
55252         * m4/fts.m4: New file, from coreutils.
55253
55254 2005-05-17  Jim Meyering  <jim@meyering.net>
55255
55256         * lib/fts.c, lib/fts_.h: New files, from coreutils.
55257
55258 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55259
55260         Sync from coreutils.
55261         * m4/unlinkdir.m4: New file.
55262
55263 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55264
55265         Sync from coreutils.
55266         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
55267         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
55268         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
55269         White space changes only.
55270         * lib/makepath.c (make_path): Port to hosts where leading "//" is
55271         special.
55272         * lib/yesno.c: Include getline.h, not ctype.h.
55273         (yesno): Don't remove leading white space; POSIX doesn't allow it.
55274         Use getline to remove arbitrary restriction on response length.
55275
55276 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55277
55278         * config/srclist-update: Spell out "Street" in FSF postal
55279         mail address; this is the style the FSF seems to prefer.
55280
55281         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
55282         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
55283         this updates FSF postal mail address.
55284
55285         Sync from coreutils.
55286         * modules/unlinkdir: New file.
55287         * modules/yesno (Depends-on): Add getline.
55288         * MODULES.html.sh (File system functions): Add unlinkdir.
55289
55290 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55291
55292         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
55293         lib/strsep.h:
55294         Change the initial comment to refer to GPL, not LGPL.
55295         gnulib-tool will change it to LGPL as needed.
55296
55297         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
55298         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
55299         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
55300         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
55301         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
55302         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
55303         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
55304         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
55305         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
55306         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
55307         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
55308         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
55309         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
55310         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
55311         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
55312         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
55313         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
55314         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
55315         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
55316         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
55317         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
55318         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
55319         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
55320         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
55321         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
55322         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
55323         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
55324         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
55325         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
55326         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
55327         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
55328         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
55329         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
55330         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
55331         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
55332         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
55333         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
55334         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
55335         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
55336         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
55337         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
55338         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
55339         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
55340         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
55341         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
55342         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
55343         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
55344         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
55345         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
55346         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
55347         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55348         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
55349         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
55350         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
55351         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
55352         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
55353         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
55354         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
55355         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
55356         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
55357         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
55358         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
55359         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
55360         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
55361         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
55362         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
55363         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
55364         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
55365         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
55366         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
55367         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
55368         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
55369         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
55370         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
55371         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
55372         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
55373         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
55374         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
55375         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
55376         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
55377         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
55378         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
55379         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
55380         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
55381         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
55382         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
55383         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
55384         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
55385         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
55386         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
55387         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
55388         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
55389         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
55390         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
55391         lib/yesno.c, lib/yesno.h:
55392         Update FSF postal mail address.
55393
55394 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55395
55396         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
55397         tests/test-memmem.c, tests/test-stpncpy.c:
55398         Update FSF postal mail address.
55399
55400 2005-05-13  Bruno Haible  <bruno@clisp.org>
55401
55402         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
55403         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
55404         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
55405         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
55406         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
55407         Add support for 64-bit integers in the MSVC compiler.
55408
55409 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55410
55411         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
55412
55413 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
55414
55415         * gnulib-tool (func_import): Sort and uniquify recommended includes.
55416
55417 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
55418
55419         * doc/getdate.texi (General date syntax): Don't say that date
55420         date --iso-8601=ns generates acceptable dates; it doesn't yet.
55421         Problem reported by Nic Ferrier.
55422
55423 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55424
55425         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
55426         specified in ai_socktype. Fix invalid ai_protocol
55427         check. ai_protocol is usually set to 0 or depending on
55428         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
55429         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
55430         ai_socktype / ai_protocol in the returned addrinfo structure.
55431
55432 2005-05-10  Simon Josefsson  <jas@extundo.com>
55433
55434         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
55435         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55436
55437 2005-05-10  Karl Berry  <karl@gnu.org>
55438
55439         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
55440         (from http://www.gnu.org/licenses).
55441         * doc/COPYING.LIB: also rename to COPYING.LESSER.
55442         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
55443         fdl.texi suffices.
55444
55445 2005-05-10  Karl Berry  <karl@gnu.org>
55446
55447         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
55448         (COPYING.DOC): remove.
55449
55450         * config/srclist-update: new FSF address.
55451
55452 2005-05-10  Derek Price  <derek@ximbiot.com>
55453
55454         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
55455         possible.
55456
55457 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55458             Bruno Haible  <bruno@clisp.org>
55459
55460         * modules/inet_ntop: New file.
55461         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55462         inet_ntop.
55463
55464 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55465             Bruno Haible  <bruno@clisp.org>
55466
55467         * m4/inet_ntop.m4: New file.
55468
55469 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55470             Bruno Haible  <bruno@clisp.org>
55471
55472         * lib/inet_ntop.h: New file.
55473         * lib/inet_ntop.c: New file, from glibc with modifications.
55474
55475 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
55476
55477         * modules/time_r (License): Change to LGPL.
55478         * modules/extensions (License): Change to LGPL.  Actually,
55479         the license is more permissive than that, but currently gnulib-tool
55480         doesn't know how to handle more-permissive licenses.
55481
55482         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
55483         Problem reported by Dave Love.
55484
55485 2005-05-08  Jim Meyering  <jim@meyering.net>
55486
55487         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
55488         blank.
55489
55490 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
55491
55492         * modules/argmatch (Depends-on): Add stdbool.
55493         * modules/backupfile (Depends-on): Likewise.
55494         * modules/chdir-long (Depends-on): Likewise.
55495         * modules/closeout (Depends-on): Likewise.
55496         * modules/cycle-check (Depends-on): Likewise.
55497         * modules/dirname (Depends-on): Likewise.
55498         * modules/fnmatch (Depends-on): Likewise.
55499         * modules/fsusage (Depends-on): Likewise.
55500         * modules/fwriteerror (Depends-on): Likewise.
55501         * modules/getcwd (Depends-on): Likewise.
55502         * modules/getloadavg (Depends-on): Likewise.
55503         * modules/hard-locale (Depends-on): Likewise.
55504         * modules/makepath (Depends-on): Likewise.
55505         * modules/mountlist (Depends-on): Likewise.
55506         * modules/nanosleep (Depends-on): Likewise.
55507         * modules/posixtm (Depends-on): Likewise.
55508         * modules/quotearg (Depends-on): Likewise.
55509         * modules/readtokens (Depends-on): Likewise.
55510         * modules/readtokens0 (Depends-on): Likewise.
55511         * modules/readutmp (Depends-on): Likewise.
55512         * modules/save-cwd (Depends-on): Likewise.
55513         * modules/strftime (Depends-on): Likewise.
55514         * modules/userspec (Depends-on): Likewise.
55515         * modules/utimecmp (Depends-on): Likewise.
55516         * modules/xgetcwd (Depends-on): Likewise.
55517         * modules/xnanosleep (Depends-on): Likewise.
55518         * modules/xstrtod (Depends-on): Likewise.
55519         * modules/yesno (Depends-on): Likewise.
55520
55521 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55522
55523         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
55524         needless checks.
55525
55526 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55527
55528         Merge from coreutils.  Among other things,
55529         add bulletproofing for cases where stdin, stdout, or stderr are closed.
55530         * lib/fd-safer.c: New file.
55531         * lib/fcntl-safer.h, open-safer.c: Remove.
55532         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
55533         * lib/dup-safer.c: Include unistd-safer.h first.
55534         Don't include errno.h.
55535         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
55536         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
55537         * lib/file-type.c: Rely on file-type.h change.
55538         * lib/getloadavg.c: Include unistd-safer.h.
55539         (getloadavg): Use safer open.
55540         * lib/getusershell.c: Include "stdio-safer.h".
55541         (getusershell): Use safer fopen.
55542         * lib/long-options.c (long_options): Use NULL rather than 0.
55543         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
55544         'free'.
55545         * lib/modechange.c: Likewise.
55546         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
55547         (MODE_DONE): New constant.
55548         (struct mode_change): Remove 'next' member.
55549         (make_node_op_equals): New function; like the old one of the
55550         same name, except it allocates an array.
55551         (mode_compile, mode_create_from_ref): Use it.
55552         (mode_compile): Allocate result as an array, not a linked list.
55553         Parse octal string ourself, so that we catch mistakes like "+0".
55554         (mode_adjust): Arg is an array, not a linked list.
55555         * lib/modechange.c: Include stat-macros.h, xalloc.h.
55556         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
55557         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
55558         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
55559         Remove.  This is now stat-macros.h's job.
55560         (talloc): Remove.  All callers replaced by xalloc, so that
55561         our invokers don't have to worry about reporting memory failures.
55562         (make_node_op_equals): Remove.
55563         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
55564         New constants.
55565         (struct mode_change): Moved here from modechange.h.
55566         (mode_append_entry): Remove.
55567         (mode_compile): Remove MASKED_OPS arg, since it encouraged
55568         apps to have incorrect behavior.  Use simpler algorithm for head
55569         and tail.  Don't futz with umask; that's now the job of mode_adjust.
55570         Detect more invalid usages rather than having somewhat-random behavior.
55571         Don't insert an "a=" action, as that leads to incorrect behavior.
55572         (mode_compile, mode_create_from_ref): Return NULL on error instead
55573         of an enum, since now there's only one way to have an error.  All
55574         callers changed.
55575         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
55576         at the correct time.  Simplify calculation of "+u" and its ilk.
55577         Don't mishandle "+X".
55578         (mode_free): Remove "register" and localize decls.
55579         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
55580         (struct mode_change): Move to modechange.c; callers don't
55581         need to see this stuff.
55582         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
55583         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
55584         (mode_change, mode_adjust): Reflect the new signatures noted above.
55585         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
55586         that might redefine system include files.
55587         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
55588         (my_usleep): Use NULL rather than (void *) 0.
55589         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
55590         Use siginterrupt to specify that system calls should be interrupted.
55591         (rpl_nanosleep): Move initialization of suspended closer to call of
55592         my_usleep.
55593         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
55594         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
55595         (desirable_utmp_entry): New function.
55596         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
55597         using x2nrealloc, to simplify logic.
55598         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
55599         size calculation.  Do not assume utmp file is a regular file.
55600         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
55601         (READ_UTMP_CHECK_PIDS): New constant.
55602         * lib/save-cwd.c: Include unistd-safer.h.
55603         (save_cwd): Use fd_safer.
55604         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
55605         [!_LIBC] Include "stat-macros.h" instead.
55606         * lib/unistd-safer.h (fd_safer): New decl.
55607
55608 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55609
55610         * modules/getloadavg (Depends-on): Add unistd-safer.
55611         * modules/getusershell (Depends-on): Add stdio-safer.
55612         * modules/lstat (Depends-on): Remove xalloc.
55613         * modules/mkstemp (Depends-on): Add stat-macros.
55614         * modules/modechange (Depends-on): Remove xstrtol.
55615         Add stat-macros, xalloc.
55616         * modules/save-cwd (Depends-on): Add unistd-safer.
55617         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
55618         * modules/unistd-safer (Files): Add lib/fd-safer.c
55619         (Makefile.am): Remove lib_SOURCES.
55620
55621         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
55622         Remove fcntl-safer; unistd-safer supersedes it.
55623
55624 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55625
55626         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
55627         AC_HEADER_STAT.
55628         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
55629         (gl_PREREQ_CHOWN): Remove.
55630         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
55631         it.  Don't require AC_HEADER_STAT.
55632         (gl_PREREQ_LSTAT): Remove.
55633         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
55634         Don't require AC_HEADER_STAT.
55635         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
55636         (gl_PREREQ_RMDIR): Remove.
55637         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
55638         mention stat-macros.h or AC_HEADER_STAT, since we'll make
55639         the stat-macros module a prerequisite.
55640         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
55641         * m4/filemode.m4 (gl_FILEMODE): Likewise.
55642         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
55643         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
55644         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
55645         variable names.
55646         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
55647         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
55648         variable prefixes.
55649         * m4/fcntl-safer.m4: Remove.
55650         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
55651         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
55652         Invoke gl_PREREQ_FD_SAFER.
55653         (gl_PREREQ_FD_SAFER): New macro.
55654         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
55655         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
55656         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
55657         Remove duplicate call to AC_LIBOBJ(readutmp).
55658         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
55659
55660         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
55661         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
55662
55663 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55664
55665         * MODULES.html.sh (Misc): Add byteswap.
55666
55667 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55668
55669         * modules/getcwd (Depends-on): Add extensions.
55670         * modules/openat (Depends-on): Likewise.
55671
55672 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55673
55674         * modules/byteswap: New file.
55675
55676 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55677
55678         * m4/byteswap.m4: New file.
55679
55680 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
55681
55682         * lib/byteswap_.h: New file.
55683
55684 2005-04-25  Karl Berry  <karl@gnu.org>
55685
55686         * m4/gettext.m4: Update from GNU gettext 0.14.4.
55687
55688 2005-04-25  Albert Chin  <china@thewrittenword.com>
55689
55690         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
55691         Toolkit C bug.
55692
55693 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
55694
55695         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
55696         (func_ln_if_changed) Remove forcibly for no error message
55697         in case file does not exist.
55698
55699 2005-04-19  Simon Josefsson  <jas@extundo.com>
55700
55701         * gnulib-tool (Options): Make --symlink mean --symbolic.
55702
55703 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
55704
55705         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
55706
55707 2005-04-16  Simon Josefsson  <jas@extundo.com>
55708
55709         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
55710
55711 2005-04-15  Simon Josefsson  <jas@extundo.com>
55712
55713         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
55714
55715 2005-04-15  Simon Josefsson  <jas@extundo.com>
55716
55717         * gnulib-tool: Rename --symlink to --symbolic.
55718
55719 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
55720
55721         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
55722         symbolic links to files instead of copying/moving.  Add --aux-dir,
55723         specifying directory relative --dir where auxiliary build tools
55724         are placed.
55725
55726 2005-04-14  Bruno Haible  <bruno@clisp.org>
55727
55728         * modules/allocsa (License): Change to LGPL.
55729         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55730
55731 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55732
55733         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
55734         that "UTC +1 second" continues to work.  Problem reported
55735         by Dmitry V. Levin.
55736         (relunit_snumber): New rule.
55737         (relunit): Use it.
55738
55739 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
55740
55741         * lib/getdate.y (universal_time_zone_table): New constant.
55742         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
55743         universal_time_zone_table.
55744         (lookup_zone): Prefer universal_time_zone_table to
55745         local_time_zone_table, so that "GMT" time stamps are allowed in
55746         London during the summer.  Problem reported by Ian Abbott.
55747
55748 2005-04-12  Jim Meyering  <jim@meyering.net>
55749
55750         * lib/human.c (humblock): Set *options even when returning due to
55751         xstrtoumax conversion failure.  Thanks to a used-uninitialized
55752         warning from gcc-4.
55753
55754 2005-04-09  Jim Meyering  <jim@meyering.net>
55755
55756         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
55757         -Wuninitialized: initialize tm0.tm_year.
55758
55759 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55760
55761         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
55762         count, since there's no maximum.  All uses changed.
55763         Add member dsts_seen.
55764         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
55765         not being INT_MAX.
55766         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
55767         Use pc_rels_seen to decide whther a date is absolute.
55768
55769         * lib/getdate.y (number): Don't overwrite year.
55770         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
55771         check.
55772
55773 2005-04-02  Simon Josefsson  <jas@extundo.com>
55774
55775         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
55776         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
55777
55778 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
55779
55780         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
55781         where no absolute path name can be longer than PATH_MAX.
55782
55783 2005-03-27  Jim Meyering  <jim@meyering.net>
55784
55785         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
55786
55787 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
55788
55789         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
55790         "one's complement" -> "ones' complement" in comment, as per Knuth.
55791         "value of type" -> "type or expression" in comment.
55792         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
55793
55794 2005-03-26  Jim Meyering  <jim@meyering.net>
55795
55796         Comment nits.
55797         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
55798         Correct typos: s/or/of/.
55799
55800 2005-03-26  Jim Meyering  <jim@meyering.net>
55801
55802         * modules/check-include-files: Move to ../ and rename to...
55803         * check-module: ...this.
55804
55805 2005-03-25  Jim Meyering  <jim@meyering.net>
55806
55807         * modules/xvasprintf (Files): Add xalloc.h.
55808
55809 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
55810
55811         * modules/gettext (Files): config/config.rpath ->
55812         build-aux/config.rpath
55813         * modules/iconv (Files): Likewise.
55814         Problem reported by Oskar Liljeblad.
55815
55816 2005-03-23  Jim Meyering  <jim@meyering.net>
55817
55818         * modules/check-include-files: New script to check for
55819         missing dependencies, multiple includes, etc.
55820
55821         * modules/c-strtold (Depends-on): Add xalloc.
55822         * modules/c-strtod (Depends-on): Add xalloc.
55823         * modules/hash (Depends-on): Add xalloc.
55824         (Files): Remove lib/xalloc.h.
55825
55826         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
55827         * modules/userspec (Files): Add lib/inttostr.h.
55828
55829 2005-03-23  Jim Meyering  <jim@meyering.net>
55830
55831         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
55832
55833 2005-03-22  Jim Meyering  <jim@meyering.net>
55834
55835         * modules/stat-macros: New module.
55836         * modules/canonicalize, modules/euidaccess, modules/file-type,
55837         * modules/filemode, modules/lchown, modules/makepath,
55838         * modules/rmdir, modules/stat: Depend on new stat-macros module
55839         rather than listing lib/stat-macros.h manually.
55840         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
55841
55842 2005-03-22  Jim Meyering  <jim@meyering.net>
55843
55844         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
55845
55846 2005-03-22  Bruno Haible  <bruno@clisp.org>
55847
55848         * config/srclist.txt: Replace target directory 'config' with
55849         'build-aux'.
55850         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
55851         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
55852         ../build-aux/.
55853
55854 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
55855
55856         * modules/chdir-long (Depends-on): Add mempcpy.
55857
55858         * modules/acl, modules/backupfile, modules/c-strtod,
55859         modules/c-strtold, modules/canon-host, modules/canonicalize,
55860         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
55861         modules/exclude, modules/exitfail, modules/file-type,
55862         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
55863         modules/getdate, modules/getline, modules/getpagesize,
55864         modules/getpass, modules/getugroups, modules/group-member,
55865         modules/hard-locale, modules/hash, modules/human, modules/idcache,
55866         modules/inttostr, modules/long-options, modules/makepath,
55867         modules/md5, modules/memcasecmp, modules/memcoll,
55868         modules/modechange, modules/mountlist, modules/path-concat,
55869         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
55870         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
55871         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
55872         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
55873         modules/strftime, modules/strndup, modules/strverscmp,
55874         modules/timespec, modules/unlocked-io, modules/userspec,
55875         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
55876         modules/yesno:
55877         Remove lib_SOURCES line from Makefile.am section, as this is now
55878         done automatically by the corresponding Autoconf macro.
55879
55880 2005-03-21  Jim Meyering  <jim@meyering.net>
55881
55882         Changes imported from coreutils.
55883
55884         * lib/cycle-check.c: Don't include xalloc.h.
55885
55886         * lib/path-concat.c: Don't include assert.h.
55887         (path_concat): Remove assertion that would have triggered
55888         for ABASE starting with more than one slash.
55889         Reported by Andreas Schwab.
55890
55891         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
55892         properly when ABASE is an absolute file name.
55893         Correct the description of this function.
55894         Include <assert.h>.
55895         Add an assertion and a test driver.
55896         This fixes a bug introduced on 2004-07-02.
55897         Andreas Schwab reported the resulting failure of cp --parents:
55898         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
55899
55900 2005-03-21  Jim Meyering  <jim@meyering.net>
55901
55902         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
55903         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
55904
55905 2005-03-21  Jim Meyering  <jim@meyering.net>
55906         and  Paul Eggert  <eggert@cs.ucla.edu>
55907
55908         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
55909         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
55910         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
55911         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
55912         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
55913         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
55914         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
55915         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
55916         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
55917         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
55918         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
55919         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
55920         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
55921         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
55922         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
55923         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
55924         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
55925         for these modules.
55926
55927 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
55928
55929         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
55930         (which shouldn't happen), generate nothing instead of returning 0
55931         immediately, so that nstrftime (NULL, ...) doesn't return 0.
55932
55933 2005-03-16  Bruno Haible  <bruno@clisp.org>
55934
55935         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
55936         HAVE_LONGLONG_64BIT.
55937
55938 2005-03-16  Bruno Haible  <bruno@clisp.org>
55939
55940         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
55941         HAVE_LONGLONG_64BIT.
55942
55943 2005-03-16  Bruno Haible  <bruno@clisp.org>
55944
55945         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
55946         HAVE_LONGLONG_64BIT.
55947
55948 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
55949
55950         * lib/strftime.c (my_strftime): Prepend space to format so that we can
55951         reliably distinguish strftime failure from empty output on POSIX
55952         hosts.
55953
55954 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
55955
55956         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
55957         (iconv_string): Don't guess a size-zero buffer, as that might cause
55958         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
55959         result would be 'too large', where 'too large' is (heuristically)
55960         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
55961         overflow concerns.  This will prevent some unwanted malloc failures
55962         when the inputs are very large.
55963
55964 2005-03-15  Karl Berry  <karl@gnu.org>
55965
55966         * config/srclist.txt (config.rpath): from gettext.
55967         * config/config.rpath: update.
55968
55969 2005-03-15  Bruno Haible  <bruno@clisp.org>
55970
55971         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
55972         to 'negate'.
55973
55974         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
55975         variable.
55976
55977         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
55978         results.
55979
55980 2005-03-14  Simon Josefsson  <jas@extundo.com>
55981
55982         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
55983         <fx@gnu.org>.
55984
55985 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
55986
55987         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
55988         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
55989         intprops.h.
55990         * lib/strtol.c: Likewise.
55991
55992 2005-03-14  Jim Meyering  <jim@meyering.net>
55993
55994         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
55995         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
55996         to be nonzero so that we (and caller) can detect the difference
55997         between a valid zero-length expansion and an error return, even
55998         when the underlying strftime fails before writing anything into
55999         that location.
56000
56001 2005-03-14  Bruno Haible  <bruno@clisp.org>
56002
56003         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
56004         Update from GNU gettext 0.14.3.
56005
56006 2005-03-10  Jim Meyering  <jim@meyering.net>
56007
56008         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
56009
56010 2005-03-10  Jim Meyering  <jim@meyering.net>
56011
56012         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
56013         so that this module works on systems without fchdir.
56014
56015 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
56016
56017         Factor int-properties macros into a single file, except for
56018         glibc-related files.
56019         * lib/intprops.h: New file.
56020         * lib/getloadavg.c: Include it instead of limits.h.
56021         (INT_STRLEN_BOUND): Remove.
56022         * lib/human.c: Include intprops.h.
56023         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
56024         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
56025         302/1000.
56026         * lib/inttostr.h: Include intprops.h instead of limits.h.
56027         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
56028         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
56029         for consistency with intprops.h.
56030         (time_t_is_integer, twos_complement_arithmetic): Use them.
56031         * lib/sig2str.h: Include <signal.h>, intprops.h.
56032         (INT_STRLEN_BOUND): Remove.
56033         * lib/strftime.c (TYPE_SIGNED): Remove.
56034         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
56035         * lib/strtol.c: Adjust comments to match intprops.h.
56036         * lib/userspec.c: Include intprops.h.
56037         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
56038         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
56039         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
56040         instead of rolling our own expressions.
56041         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
56042
56043         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
56044         instead of int.
56045         (my_strftime): Do not mishandle years close to INT_MAX, by doing
56046         the right thing even if adding 1900 would overflow.  Similarly
56047         for tm_mon + 1 and tm_yday + 1.
56048         Make %Y always equivalent to %C%y, and similarly for %G and %g.
56049         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
56050         (DO_SIGNED_NUMBER): New macro.
56051         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
56052
56053 2005-03-07  Bruno Haible  <bruno@clisp.org>
56054
56055         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
56056
56057 2005-03-07  Bruno Haible  <bruno@clisp.org>
56058
56059         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
56060
56061 2005-03-04  Derek R. Price  <derek@ximbiot.com>
56062
56063         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
56064         (func_import): Only replace files via --import when they have actually
56065         changed.
56066
56067 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56068
56069         * m4/mmap-anon.m4: New file.
56070         * m4/pagealign_alloc.m4: New file.
56071
56072 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56073             Bruno Haible  <bruno@clisp.org>
56074
56075         * modules/pagealign_alloc: New file.
56076         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
56077
56078 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56079             Bruno Haible  <bruno@clisp.org>
56080
56081         * lib/pagealign_alloc.h: New file.
56082         * lib/pagealign_alloc.c: New file.
56083
56084 2005-03-03  Bruno Haible  <bruno@clisp.org>
56085
56086         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
56087         Use an all-permissive copyright notice, recommended by RMS.
56088
56089 2005-03-02  Bruno Haible  <bruno@clisp.org>
56090
56091         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
56092         of AIX, the replacement has to be done only after <string.h> is
56093         included, therefore not in config.h. stpncpy.h does the replacement,
56094         and stpncpy.c uses it.
56095
56096 2005-03-02  Bruno Haible  <bruno@clisp.org>
56097
56098         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
56099         stpncpy.c uses it.
56100
56101 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56102
56103         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
56104         The workaround isn't strictly needed for POSIX conformance, and
56105         it's too much of a pain to configure and maintain.  We'll ask
56106         people to fix their kernels instead.
56107         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
56108         (NANOSLEEP_BUG_WORKAROUND): Remove.
56109         (xnanosleep): Remove the workaround.
56110
56111 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56112
56113         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
56114         Reported by Derek Price.
56115         (Include): Add "timespec.h".
56116
56117         * modules/xnanosleep (Depends-on): Remove gethrxtime.
56118
56119 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56120
56121         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
56122         to detect nanosleep bug.
56123
56124 2005-03-01  Bruno Haible  <bruno@clisp.org>
56125
56126         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
56127
56128 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
56129
56130         * modules/gethrxtime: New file.
56131         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
56132         (Depends-on): Add gethrxtime.
56133         (configure.ac): Add gl_XNANOSLEEP.
56134         (Makefile.am): Remove lib_SOURCES line.
56135
56136 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56137
56138         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
56139         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
56140
56141 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56142
56143         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
56144         * lib/timespec.h (gettime): Return void, since it always
56145         succeeds now.  All uses changed.
56146         * lib/gettime.c (gettime) Likewise.
56147         [HAVE_NANOTIME]: Prefer nanotime.
56148         Assume gettimeofday succeeds, as POSIX requires.
56149         Assime time () succeeds, since other code already does.
56150         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
56151         (timespec_subtract): Remove.
56152         (NANOSLEEP_BUG_WORKAROUND): New constant.
56153         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
56154         things considerably.  Use it only on GNU/Linux hosts, since the
56155         workaround shouldn't be needed elsewhere.
56156
56157 2005-02-24  Bruno Haible  <bruno@clisp.org>
56158
56159         * modules/gettext (Files): Add m4/glibc2.m4.
56160
56161 2005-02-24  Bruno Haible  <bruno@clisp.org>
56162
56163         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
56164         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
56165         * m4/progtest.m4:
56166         Update from GNU gettext 0.14.2.
56167         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
56168
56169 2005-02-24  Bruno Haible  <bruno@clisp.org>
56170
56171         * lib/localcharset.c: Update from GNU gettext 0.14.2.
56172         * lib/config.charset: Update from GNU gettext 0.14.2.
56173
56174 2005-02-24  Bruno Haible  <bruno@clisp.org>
56175
56176         * lib/gettext.h: Update from GNU gettext 0.14.2.
56177
56178 2005-02-23  Simon Josefsson  <jas@extundo.com>
56179
56180         * m4/iconvme.m4: New file.
56181
56182 2005-02-23  Jim Meyering  <jim@meyering.net>
56183
56184         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
56185         change.
56186         Thanks to Bruno Haible for catching it.
56187
56188 2005-02-22  Simon Josefsson  <jas@extundo.com>
56189
56190         * modules/iconvme: New file.
56191
56192         * MODULES.html.sh: Add iconvme.
56193
56194 2005-02-22  Simon Josefsson  <jas@extundo.com>
56195
56196         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
56197
56198 2005-02-22  Simon Josefsson  <jas@extundo.com>
56199
56200         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
56201
56202 2005-02-22  Jim Meyering  <jim@meyering.net>
56203
56204         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
56205         s/ifndef/ifdef/.
56206
56207 2005-02-20  Neil Conway  <neilc@samurai.com>
56208
56209         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
56210         returned by OSX/Darwin if the specified buffer is not large
56211         enough for the hostname.
56212
56213 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56214
56215         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
56216         pass it to _help, otherwise the latter coredumps trying to
56217         dereference state.root_argp.
56218
56219 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56220
56221         * modules/chdir-long (Depends-on): Add memrchr.
56222         * modules/memrchr (Files): Add lib/memrchr.h.
56223         (Include): "memrchr.h".
56224
56225 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56226
56227         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
56228
56229 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56230
56231         * lib/memrchr.h: New file.
56232         * lib/chdir-long.c: Include it.
56233         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
56234         Don't bother including stddef.h.
56235
56236 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56237
56238         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
56239         inclusion.
56240         Include <sys/types.h>, for dev_t.
56241         (ME_DUMMY, ME_REMOTE): Move from here....
56242         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
56243         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
56244         Dmitry V. Levin.
56245         Include mountlist.h first, to test the interface.
56246
56247 2005-01-29  Bruno Haible  <bruno@clisp.org>
56248
56249         * lib/progname.c (program_name): Initialize.
56250         Needed when linking statically on MacOS X.
56251
56252 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56253
56254         Sync from coreutils.
56255         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
56256         (Depends-on): Add c-strtod.
56257         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
56258
56259 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56260
56261         Sync from coreutils.
56262         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
56263
56264         Remove files that are specific to coreutils.
56265         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
56266
56267 2005-01-28  Bruno Haible  <bruno@clisp.org>
56268
56269         * modules/javacomp: New file.
56270         * MODULES.html.sh (Java): Add javacomp.
56271
56272 2005-01-28  Bruno Haible  <bruno@clisp.org>
56273
56274         * m4/javacomp.m4: New file, from GNU gettext.
56275
56276 2005-01-28  Bruno Haible  <bruno@clisp.org>
56277
56278         * lib/javacomp.sh.in: New file, from GNU gettext.
56279         * lib/javacomp.h: New file, from GNU gettext.
56280         * lib/javacomp.c: New file, from GNU gettext.
56281
56282 2005-01-26  Simon Josefsson  <jas@extundo.com>
56283
56284         * lib/gai_strerror.c: Use GPL in header.
56285
56286 2005-01-26  Bruno Haible  <bruno@clisp.org>
56287
56288         * modules/javaexec: New file.
56289         * MODULES.html.sh (Java): Add javaexec.
56290
56291 2005-01-26  Bruno Haible  <bruno@clisp.org>
56292
56293         * m4/javaexec.m4: New file, from GNU gettext.
56294
56295 2005-01-26  Bruno Haible  <bruno@clisp.org>
56296
56297         * lib/javaexec.sh.in: New file, from GNU gettext.
56298         * lib/javaexec.h: New file, from GNU gettext.
56299         * lib/javaexec.c: New file, from GNU gettext.
56300
56301 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56302
56303         * modules/lchown (Depends-on): Remove lchown.h
56304
56305 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56306
56307         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
56308         must be defined if the header file was not found, in order
56309         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
56310
56311 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56312
56313         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
56314         initializers for struct pentry_state.
56315         (__argp_error): Check return value of __asprintf
56316         (__argp_failure): Translate error message
56317
56318         * lib/argp-parse.c: Removed braces around the expansion of N_()
56319
56320 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56321
56322         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
56323         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
56324         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
56325         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
56326         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
56327         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
56328         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
56329         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
56330         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
56331         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
56332         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
56333         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
56334         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
56335         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
56336         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
56337         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
56338         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
56339         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
56340         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
56341         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
56342         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
56343         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
56344         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
56345         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
56346         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
56347         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
56348         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
56349         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
56350         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
56351         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
56352         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
56353         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
56354         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
56355         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
56356         xstrtol.m4, xstrtoumax.m4, yesno.m4:
56357         Use an all-permissive copyright notice, recommended by RMS.
56358
56359 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
56360
56361         * modules/chdir-long (Depends-on): Remove mempcpy.
56362
56363 2005-01-21  Jim Meyering  <jim@meyering.net>
56364
56365         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
56366         same value as for Solaris 9.
56367
56368         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
56369         component length.  This included changing the parameter to be
56370         of type `char *' rather than `char const *'.
56371         * lib/chdir-long.h (chdir_long): Update prototype.
56372
56373         * lib/openat.c (fdopendir, fstatat): New functions.
56374         * lib/openat.h: Include headers required for use of DIR and struct
56375         stat.
56376         [AT_SYMLINK_NOFOLLOW]: Define.
56377         (fdopendir, fstatat): Add prototypes.
56378
56379 2005-01-21  Bruno Haible  <bruno@clisp.org>
56380
56381         * modules/classpath: New file.
56382         * MODULES.html.sh (Java): Add classpath.
56383
56384 2005-01-21  Bruno Haible  <bruno@clisp.org>
56385
56386         * lib/classpath.h: New file, from GNU gettext.
56387         * lib/classpath.c: New file, from GNU gettext.
56388
56389 2005-01-20  Simon Josefsson  <jas@extundo.com>
56390
56391         * modules/version-etc-fsf: New file.
56392
56393 2005-01-20  Simon Josefsson  <jas@extundo.com>
56394
56395         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
56396         * lib/version-etc.c: Remove version_etc_copyright.
56397         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
56398         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
56399
56400 2005-01-20  Simon Josefsson  <jas@extundo.com>
56401
56402         * lib/base64.h (isbase64): Add.
56403
56404         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
56405         using a unsigned prototype, don't inline.
56406         (base64_decode): Use it.
56407
56408 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56409
56410         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
56411         it.
56412
56413 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56414
56415         * lib/save-cwd.c (save_cwd): Remove code to support the case
56416         where fchdir is missing or flaky.
56417
56418 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56419
56420         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
56421
56422 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
56423
56424         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
56425         AC_LIBSOURCES now does this.
56426         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
56427         with new ullong_max module.
56428
56429 2005-01-19  Bruno Haible  <bruno@clisp.org>
56430
56431         * modules/sh-quote: New file.
56432         * MODULES.html.sh (Executing programs): Add sh-quote.
56433
56434 2005-01-19  Bruno Haible  <bruno@clisp.org>
56435
56436         * lib/sh-quote.h: New file, from GNU gettext.
56437         * lib/sh-quote.c: New file, from GNU gettext.
56438
56439 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56440
56441         Merge from coreutils.
56442         * m4/ullong_max.m4: New file.
56443         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
56444         (gl_MACROS): Assume localeconv exists.
56445
56446 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56447
56448         Merge changes from coreutils, as described below in several
56449         changelogs dated today.
56450
56451         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
56452         (O_DIRECTORY): Remove; not needed here, since "." must be
56453         a directory.  All uses removed.
56454         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
56455         universal on Suns, and we also need to test for IRIX.
56456         Revamp code to use 'if' rather than '#if'.
56457         Avoid unnecessary comparison of cwd->desc to 0.
56458
56459         * lib/utimens.c (futimens): Robustify the previous patch, by checking
56460         for known valid error numbers rather than observed invalid ones.
56461
56462 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56463
56464         * modules/ullong_max: New file.
56465
56466         * modules/chdir-long, modules/openat: New files.
56467         * modules/save-cwd (Depends-on): Depend on chdir-long.
56468         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
56469
56470 2005-01-18  Jim Meyering  <jim@meyering.net>
56471
56472         Merge from coreutils.
56473         * m4/chdir-long.m4, m4/openat.m4: New files.
56474         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
56475         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
56476         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
56477         is sane and DOES follow symlinks.  Besides, testing 20 different
56478         systems found no broken chown implementations.
56479         Prompted by a change in rsync's copy of this macro.
56480         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
56481
56482         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
56483
56484         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
56485         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
56486         NULL-means-set-to-current-time semantics.
56487         Remove temporary file immediately, rather than waiting
56488         for configure's at-exit trap code to do it.
56489
56490 2005-01-18  Jim Meyering  <jim@meyering.net>
56491
56492         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56493
56494         * lib/utimens.c (futimens): Account for the fact that futimes
56495         can also fail with errno == ENOSYS or errno == ENOENT.
56496         Patch from Dmitry V. Levin.
56497
56498         Change the name of the robust chdir function from chdir to chdir_long.
56499         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
56500         (restore_cwd): Use chdir_long, not chdir.
56501         * lib/chdir-long.c: Renamed from chdir.c.
56502         * lib/chdir-long.h: Renamed from chdir.h.
56503         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
56504         Hurd.
56505
56506 2005-01-18  Bruno Haible  <bruno@clisp.org>
56507
56508         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
56509         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
56510         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
56511         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
56512         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
56513         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
56514         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
56515         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
56516         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
56517         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
56518         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
56519         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
56520         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
56521         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
56522         Use an all-permissive copyright notice, recommended by RMS.
56523
56524 2005-01-18  Bob Proulx  <bob@proulx.com>
56525
56526         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
56527         simplify offsetof() macro construct to avoid compile failure with
56528         native HP-UX 11.0 ANSI C compiler.
56529
56530 2005-01-17  Bruno Haible  <bruno@clisp.org>
56531
56532         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
56533         redundant because stpncpy.m4 takes care of it.
56534
56535 2005-01-17  Bruno Haible  <bruno@clisp.org>
56536
56537         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
56538
56539 2005-01-17  Bruno Haible  <bruno@clisp.org>
56540
56541         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
56542         used.
56543
56544 2005-01-17  Bruno Haible  <bruno@clisp.org>
56545
56546         * lib/fwriteerror.h (fwriteerror): Change specification to include
56547         fclose.
56548         * lib/fwriteerror.c: Include <stdbool.h>.
56549         (fwriteerror): At the end, close the file stream. Record whether
56550         stdout was already closed.
56551
56552 2005-01-17  Bruno Haible  <bruno@clisp.org>
56553
56554         * lib/execute.c (environ): Declare if needed.
56555         * lib/pipe.c (environ): Likewise.
56556         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
56557
56558 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56559
56560         * modules/argp: Depend on vsnprintf
56561
56562 2005-01-10  Jim Meyering  <jim@meyering.net>
56563
56564         * modules/closeout (Depends-on): Add atexit.
56565
56566 2005-01-06  Bruno Haible  <bruno@clisp.org>
56567
56568         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
56569
56570 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56571
56572         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
56573         definitions to be after all include files, to avoid collisions.
56574         Problem reported by Bob Proulx.
56575
56576 2005-01-04  Jim Meyering  <jim@meyering.net>
56577
56578         Changes imported from coreutils.
56579         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
56580         as the mkstemp template, use a temporary directory and an
56581         8.3-friendly template to avoid trouble on systems like DJGPP.
56582         Reported by Juan M. Guerrero via Stepan Kasal.
56583         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
56584         close. Remove the temporary directory right away, rather than waiting
56585         for configure's at-exit trap code to do it.
56586         Suggestion from Stepan Kasal.
56587
56588 2005-01-01  Simon Josefsson  <jas@extundo.com>
56589
56590         * gnulib-tool: Print #include directives when --import'ing.
56591
56592 2004-12-28  Simon Josefsson  <jas@extundo.com>
56593
56594         * tests/test-base64.c: Include required header files.  Remove
56595         unused variables.
56596
56597 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56598
56599         * modules/error (Depends-on): Remove gettext.
56600
56601 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
56602
56603         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
56604         not needed.  This removes a dependency on the gettext module.
56605         [defined _LIBC]: Do not include <libintl.h>; not needed.
56606
56607 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
56608
56609         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
56610         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
56611
56612 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
56613
56614         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
56615         HAVE_DECL_STRTOLD.
56616
56617 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56618
56619         * modules/getdate (Depends-on): Remove alloca-opt.
56620
56621 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56622
56623         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
56624
56625 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
56626
56627         * lib/argp-parse.c: Include <stddef.h>.
56628         (alignof, alignto): New macros.
56629         (parser_init): Don't assume that void * is aligned sufficiently
56630         for struct option.
56631
56632         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
56633         need to extend the stack.
56634         (YYINITDEPTH): New macro, so that the initial stack isn't overly
56635         large.
56636
56637 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56638
56639         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
56640
56641 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
56642
56643         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
56644         (2004-10-24) change.  Apparently this was a false alarm.
56645
56646         * modules/getdate: Depend on alloca-opt, not alloca.
56647
56648 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
56649
56650         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
56651         Remove now-obsolete comment about AIX.
56652         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
56653         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
56654         (YYMAXDEPTH): New macro.
56655
56656 2004-12-18  Simon Josefsson  <jas@extundo.com>
56657
56658         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
56659
56660 2004-12-18  Bruno Haible  <bruno@clisp.org>
56661
56662         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
56663
56664 2004-12-18  Bruno Haible  <bruno@clisp.org>
56665
56666         * lib/fatal-signal.c (fatal_signals): Make non-const.
56667         (init_fatal_signals): New function.
56668         (uninstall_handlers, install_handlers): Ignore signals that were set to
56669         SIG_IGN.
56670         (at_fatal_signal): Call init_fatal_signals.
56671         (init_fatal_signal_set): Likewise. Ignore signals that were set to
56672         SIG_IGN.
56673         Reported by Paul Eggert.
56674
56675 2004-12-18  Bruno Haible  <bruno@clisp.org>
56676
56677         * doc/alloca.texi: New file.
56678         * doc/alloca-opt.texi: New file.
56679
56680 2004-12-17  Jim Meyering  <jim@meyering.net>
56681
56682         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
56683         Otherwise, install-sh could exit with improper exit status when
56684         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
56685
56686 2004-12-16  Simon Josefsson  <jas@extundo.com>
56687
56688         * tests/test-base64.c: Add license.
56689
56690 2004-12-15  Stepan Kasal  <address@hidden>
56691
56692         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
56693
56694 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
56695
56696         * modules/getcwd (Files): Add m4/d-ino.m4.
56697         Suggested by Mark D. Baushke.
56698
56699 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
56700
56701         * lib/getdate.y (textint): New member "negative".
56702         (time_zone_hhmm): New function.
56703         Expect 14 shift-reduce conflicts, not 13.
56704         (o_colon_minutes): New rule.
56705         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
56706         (yylex): Set the "negative" member of signed numbers.
56707
56708 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
56709
56710         * doc/getdate.texi (Time of day items, Time zone items):
56711         Describe new formats +00:00, UTC+00:00.
56712
56713 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
56714
56715         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
56716         spurious "-l"s.  Problem reported by Stepan Kasal.
56717
56718 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
56719
56720         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
56721         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
56722
56723 2004-12-04  Simon Josefsson  <jas@extundo.com>
56724
56725         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
56726         Vandoorselaere <yoann@prelude-ids.org>.
56727
56728 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
56729
56730         Changes imported from coreutils.
56731         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
56732         exist.
56733         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
56734
56735 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
56736
56737         Changes imported from coreutils.
56738         * lib/hard-locale.c: Assume <locale.h> exists.
56739         Include "strdup.h".
56740         (GLIBC_VERSION): New macro.
56741         (hard_locale): Assume setlocale exists.
56742         Rewrite to avoid #ifdef.
56743         Use strdup rather than malloc + strcpy.
56744         * lib/human.c: Assume <locale.h> exists.
56745         (human_readable): Assume localeconv exists.
56746
56747 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
56748
56749         * modules/hard-locale (Depends-on): Add strdup.
56750
56751 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
56752
56753         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
56754         convert T2, not T.  (Imported from libc.)
56755
56756 2004-11-30  Simon Josefsson  <jas@extundo.com>
56757
56758         * modules/restrict (License): Change to LGPL.
56759
56760 2004-11-30  Simon Josefsson  <jas@extundo.com>
56761
56762         * m4/restrict.m4: Add copyright and copying conditions.
56763
56764 2004-11-30  Simon Josefsson  <jas@extundo.com>
56765
56766         * m4/base64.m4: New file.
56767
56768 2004-11-30  Simon Josefsson  <jas@extundo.com>
56769
56770         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
56771         base64.
56772
56773         * tests/test-base64.c: New file.
56774
56775         * modules/base64: New file.
56776
56777 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
56778
56779         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
56780         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
56781
56782         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
56783
56784 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
56785
56786         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
56787         (__getcwd.c): Don't restore errno; glibc doesn't.
56788         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
56789         first, falling back to our code only if its results look suspicious.
56790         Ensure that the resulting buffer is only as large as necessary.
56791
56792         * lib/readutmp.c: Include readutmp.h first.
56793         Include <errno.h>, since readutmp.h no longer does that.
56794         * lib/readutmp.h: Don't include <errno.h>,
56795         <sys/param.h>, <time.h>; not needed to establish interface.
56796         (errno): Remove decl.
56797         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
56798         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
56799         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
56800
56801 2004-11-28  Simon Josefsson  <jas@extundo.com>
56802
56803         * lib/base64.h, base64.c: New file.
56804
56805 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
56806
56807         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
56808
56809 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
56810
56811         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
56812         (Depends-on): Remove pathmax, same.  Add mempcpy.
56813         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
56814         (Makefile.am): Append getcwd.h to lib_SOURCES.
56815         (Include): Add getcwd.h.
56816         (Maintainer): Change from Jim Meyering to "all, glibc",
56817         since getdate now uses intended-for-glibc code.
56818         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
56819         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
56820
56821 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
56822
56823         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
56824         HP's ANSI C compiler.
56825         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
56826         Declaring int functions causes warnings on some modern systems and
56827         shouldn't be needed to compile on ancient ones.
56828         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
56829         defined.
56830
56831         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
56832         with the following changes.
56833         (__set_errno): Parenthesize properly.
56834         Include <stdbool.h>.
56835         (MIN, MAX, MATCHING_INO): New macros.
56836         (__getcwd): Define with prototype, not K&R form.
56837         Use heuristics to allocate default buffer on stack if possible.
56838         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
56839         behavior, and to avoid the PATH_MAX limit when computing
56840         ../../../../...
56841         Use MATCHING_INO to compare inode number to file.
56842         Check for arithmetic overflow in size calculations.
56843         Fix bug in reallocation of dot array that caused getcwd to fail
56844         on directories nested deeper than 75.
56845         Be more careful about saving errno on error.
56846         Do not use realloc; use only free+malloc, as this is a bit
56847         more flexible and avoids a needless copy operation.
56848         Do not inspect st_dev and st_ino for symbolic links; POSIX
56849         doesn't specify the latter.
56850         Check for closedir errors.
56851         Avoid needless casts.
56852         Use "#ifdef weak_alias" around weak_alias, to be like other
56853         glibc code.
56854         The following changes to getcwd.c have effect only when used in
56855         gnulib; they have no effect inside glibc proper.
56856         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
56857         as alloca isn't used.
56858         (alloca, __alloca): Likewise.
56859         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
56860         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
56861         unconditionally, as gnulib assumes C89 or better.
56862         Do not include <sys/param.h>.
56863         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
56864         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
56865         better.
56866         (NULL) [!defined NULL]: Remove; we assume C89 or better.
56867         Include <dirent.h> in a way that is compatible with modern Autoconf.
56868         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
56869         New macros, if not already defined.
56870         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
56871         Use "_LIBC", not "defined _LIBC", for consistency.
56872         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
56873         a mempcpy module.
56874         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
56875         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
56876         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
56877         credit only to Jim Meyering and adjust the copyright dates.
56878         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
56879         <stdlib.h>, <unistd.h>, "pathmax.h".
56880         Instead, include "xgetcwd.h" (first) and "getcwd.h".
56881         (INITIAL_BUFFER_SIZE): Remove.
56882         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
56883
56884 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
56885
56886         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
56887         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
56888         Use the _ONCE methods, for efficiency.
56889         Check for fcntl.h.  In test program, include <errno.h>
56890         and <fcntl.h> if available.  Remove old K&R cruft from
56891         test program.  Check for common errors in GNU/Linux,
56892         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
56893         don't do AC_LIBOBJ, as that's getcwd.m4's job.
56894         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
56895         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
56896         name accordingly.
56897         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
56898         accommodate new getcwd.c.
56899         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
56900         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
56901         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
56902         that's all we need now.
56903
56904 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56905
56906         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
56907         argp-parse.c depends on getopt internals, that means we should
56908         always use our getopt, to be on the safe side.
56909         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
56910         order not to spoil the result of an eventual previous invocation
56911         of gl_GETOPT_SUBSTITUTE.
56912
56913 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56914
56915         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
56916         redefinition warnings. To avoid them, include the defines
56917         in `#if !defined __need_getopt ... #endif'. The only place
56918         where __getopt_argv_const is used is in definitions
56919         of getopt_long and getopt_long_only below, which are as well
56920         protected by `#ifndef __need_getopt'.
56921         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
56922         __need_getopt after including <stdio.h> and <unistd.h> These
56923         headers might have defined it.
56924
56925 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
56926
56927         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
56928
56929 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
56930
56931         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
56932         (futimens): New function, which uses futimes if available.
56933         (futimens, utimens): Support timespec==NULL, with same semantics
56934         as utime and utimens.
56935         * lib/utimens.h (futimens): New decl.
56936
56937 2004-11-23  Jim Meyering  <jim@meyering.net>
56938
56939         * lib/getopt_.h: Remove trailing blanks.
56940
56941 2004-11-23  Jim Meyering  <jim@meyering.net>
56942
56943         * lib/__fpending.c: Add comment.
56944
56945 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
56946
56947         * modules/canonicalize (Depends-on): Add xreadlink.
56948         Problem reported by James Youngman.
56949
56950 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56951
56952         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
56953         New macros.
56954         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
56955         optopt): Use them instead of invoking ## directly; otherwise, the
56956         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
56957
56958 2004-11-19  Bruno Haible  <bruno@clisp.org>
56959
56960         * lib/strtok_r.c: Move comments from here...
56961         * lib/strtok_r.h: ... to here.
56962
56963 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56964
56965         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
56966         implementations that mishandle size_t overflow.
56967
56968 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56969
56970         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
56971         might fail.  Problem reported by Yoann Vandoorselaere.
56972         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
56973         implementations that mishandle size_t overflow.
56974
56975 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56976
56977         * modules/canon-host (Depends-on): Add strdup.
56978
56979 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56980
56981         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
56982
56983 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56984
56985         * lib/canon-host.c: Include "strdup.h".
56986         (canon_host): Use getaddrinfo if available, so that IPv6 works.
56987         Use strdup instead of malloc/strcpy to duplicate strings.
56988
56989         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
56990         (human_space_before_unit): New constant.
56991         * lib/human.c (human_readable): Support it.
56992
56993         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
56994         (xgetcwd): Set errno correctly when failing.
56995         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
56996         the failure is actually due to a PATH_MAX problem.
56997
56998         Further getopt changes to make it more likely that glibc will
56999         buy the changes back.
57000         * lib/getopt.c (POSIXLY_CORRECT): New constant.
57001         (getopt): Use it, so to preserve glibc semantic
57002         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
57003         when compiling for libc.
57004         * lib/getopt_.h (__getopt_argv_const): Bring it back.
57005         (getopt_long, getopt_long_only): Use it.
57006
57007         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57008         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
57009         (getopt): Argv is now char * const *, as per standard.
57010         (_getopt_internal_r, _getopt_internal): Argv is now char **,
57011         not char *__getopt_argv_const *.
57012         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57013         _getopt_long_only_r): Likewise.
57014         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
57015         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57016         _getopt_long_r, _getopt_long_only_r): Likewise.
57017         * lib/getopt_.h (__getopt_argv_const): Remove.
57018         (getopt): Argv is now char * const *, as per standard.
57019
57020         * lib/getdate.y (tORDINAL): New token.
57021         (day, relunit): Allow it for relative times.
57022         (relative_time_table): Use tORDINAL for ordinals.
57023
57024 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57025
57026         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
57027         Document that "second" isn't allowed as an ordinal number.
57028
57029 2004-11-16  Jim Meyering  <jim@meyering.net>
57030
57031         * modules/closeout (Depends-on): Add fpending.
57032
57033 2004-11-15  Jim Meyering  <jim@meyering.net>
57034
57035         * lib/closeout.c: Include "__fpending.h" once again.
57036         Include <stdbool.h>.
57037         (close_stdout): Don't fail just because stdout was closed initially,
57038         since some programs don't write to stdout in the normal course of
57039         operation (other than --version and --help), and we don't want this
57040         function to make e.g. `touch file >&-' fail.
57041         But do fail if it was closed and someone has tried to write to it.
57042         E.g., `printf foo >&-' must fail.
57043
57044 2004-11-13  Jim Meyering  <jim@meyering.net>
57045
57046         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
57047
57048 2004-11-12  Simon Josefsson  <jas@extundo.com>
57049
57050         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
57051         small doc fix is still pending.
57052
57053 2004-11-11  Simon Josefsson  <jas@extundo.com>
57054
57055         * modules/strtok_r: New file.
57056
57057         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57058         strtok_r.
57059
57060 2004-11-11  Simon Josefsson  <jas@extundo.com>
57061
57062         * m4/strtok_r.m4: New file.
57063
57064         * m4/getopt.m4: Replace opterr.
57065
57066 2004-11-11  Simon Josefsson  <jas@extundo.com>
57067
57068         * lib/strtok_r.h, strtok_r.c: New file.
57069
57070 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57071
57072         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
57073         of replacing opterr, getopt, etc.  This should handle the
57074         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
57075
57076 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57077
57078         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
57079         we can stop lying to compilers about the constness of argv when we
57080         are compiled outside glibc.
57081         (getopt, getopt_long, getopt_long_only): Use it.
57082         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57083         _getopt_internal, getopt): Likewise.
57084         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57085         _getopt_long_only_r): Likewise.
57086         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57087         _getopt_long_r, _getopt_long_only_r): Likewise.
57088
57089         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
57090         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
57091         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
57092         the other external symbols.
57093         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
57094         declaration, since the above renaming now works around collisions.
57095
57096 2004-11-11  Jim Meyering  <jim@meyering.net>
57097
57098         * lib/linebreak.c: Remove trailing blanks.
57099         * lib/alloca_.h: Likewise.
57100         * lib/acosl.c: Likewise.
57101         * lib/euidaccess.c: Likewise.
57102         * lib/allocsa.h: Likewise.
57103
57104 2004-11-10  Simon Josefsson  <jas@extundo.com>
57105
57106         * m4/getaddrinfo.m4: New file.
57107
57108 2004-11-10  Simon Josefsson  <jas@extundo.com>
57109
57110         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
57111
57112 2004-11-10  Simon Josefsson  <jas@extundo.com>
57113
57114         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57115         getaddrinfo.
57116
57117         * modules/getaddrinfo: New file.
57118
57119 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57120
57121         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
57122
57123 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57124
57125         * lib/mktime.c (SHR): New macro, which is a portable
57126         substitute for >> that should work even on Crays.
57127         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
57128         Problem reported by Mark D. Baushke in
57129         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
57130         * lib/getdate.y (SHR): Likewise.
57131         (tm_diff): Use it.
57132         * lib/strftime.c (SHR): Likewise.
57133         (tm_diff): Use it.
57134         * lib/quotearg.c (struct quoting_options): Use unsigned int for
57135         quote_these_too, so that right shifts are well defined.  All uses
57136         changed.
57137
57138 2004-11-10  Jim Meyering  <jim@meyering.net>
57139
57140         Ensure that no close failure goes unreported.
57141         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
57142         return early when it seems there's nothing to flush.
57143         Don't include __fpending.h.
57144
57145 2004-11-10  Jim Meyering  <jim@meyering.net>
57146
57147         * modules/closeout (Depends-on): Remove fpending.
57148
57149 2004-11-10  Jim Meyering  <jim@meyering.net>
57150
57151         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
57152
57153 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57154
57155         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
57156         gl_FUNC_STRFTIME.
57157         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
57158         and AC_REQUIRE when possible, to avoid duplicate checks.
57159         Check for <wchar.h>.
57160
57161 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57162
57163         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
57164
57165 2004-11-09  Bruno Haible  <bruno@clisp.org>
57166
57167         * m4/sockpfaf.m4: New file.
57168
57169 2004-11-05  Bruno Haible  <bruno@clisp.org>
57170
57171         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
57172         Reported by Mark D. Baushke <mdb@cvshome.org>.
57173
57174 2004-11-04  Bruno Haible  <bruno@clisp.org>
57175
57176         2004-09-11  Bruno Haible  <bruno@clisp.org>
57177                 * allocsa.valgrind: New file.
57178         2004-02-06  Bruno Haible  <bruno@clisp.org>
57179                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
57180                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
57181                 Reported by Christopher Seip <chris.seip@hp.com>.
57182
57183 2004-11-04  Bruno Haible  <bruno@clisp.org>
57184
57185         * modules/allocsa (Files): Add lib/allocsa.valgrind.
57186         (Makefile.am): Distribute it.
57187
57188 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57189
57190         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
57191         with errno == ERANGE if the buffer is too small.
57192         Problem reported by Mark D. Baushke.
57193
57194 2004-11-03  Albert Chin  <china@thewrittenword.com>
57195             Paul Eggert  <eggert@cs.ucla.edu>
57196
57197         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
57198         equivalent, substitute $ac_type for equivalent type rather than
57199         blindly using uint32_t *always* which won't work if uint32_t is not
57200         available.  Define _UINT32_T to work around typedef of uint32_t if
57201         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
57202         2.5.1.
57203
57204 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57205
57206         * m4/jm-macros.m4: Sync from coreutils.
57207         (gl_MACROS): Check for mbrlen, for pathchk.
57208         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
57209
57210 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57211
57212         * lib/xreadlink.c (MAXSIZE): New macro.
57213         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
57214         size does not exceed MAXSIZE.  Avoid cast.
57215         As suggested by Mark D. Baushke in
57216         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
57217         if readlink fails with buffer size just under MAXSIZE, try again
57218         with MAXSIZE.
57219
57220 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57221
57222         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
57223
57224 2004-11-02  Derek R. Price  <derek@ximbiot.com>
57225         and  Paul Eggert  <eggert@cs.ucla.edu>
57226
57227         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
57228         (get_date): Overparenthesize to avoid GCC warning.
57229
57230 2004-11-02  Bruno Haible  <bruno@clisp.org>
57231
57232         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
57233         returns void.
57234
57235 2004-11-02  Bruno Haible  <bruno@clisp.org>
57236
57237         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
57238         function returns void.
57239
57240 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57241
57242         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
57243         fflush_unlocked, flockfile, funlockfile, funlockfile,
57244         fputs_unlocked, putc_unlocked.
57245
57246 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57247
57248         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57249         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
57250         already declared.
57251
57252 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57253
57254         * modules/getdate (Files): Add doc/getdate.texi.
57255         (Depends-on): Add setenv, xalloc.
57256
57257 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57258
57259         * lib/getdate.y: Add support for TZ="foo" within a date string.
57260         Fix some bugs near time_t boundaries.  Reject dates with
57261         out-of-range components, e.g., "Sept 31".
57262         Include <stdlib.h>, "setenv.h", "xalloc.h".
57263         (ISDIGIT_LOCALE): Remove; unused.
57264         Note that the TZ and time functions used here are not reentrant.
57265         (mktime_ok, get_tz): New functions.
57266         (TZBUFSIZE): New constant.
57267         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
57268         This requires that we sometimes generate our own TZ="XXX..." setting.
57269
57270 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57271
57272         * doc/getdate.texi: New file, from coreutils with modifications for
57273         the new TZ parsing.
57274
57275 2004-10-27  Derek R. Price  <derek@ximbiot.com>
57276
57277         * lib/mktime.c (not_equal_tm): Remove redundant check.
57278
57279 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57280
57281         * modules/regex (lib_SOURCES): Add regex.c.
57282         Reported by James Youngman in
57283         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
57284
57285 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57286
57287         * lib/getdate.y: Use Bison 1.875 features, and some minor
57288         code cleanups.  This change does not affect semantics.
57289         Don't include <stdlib.h>; no longer needed.
57290         Don't include unlocked-io.h; only the "#if TEST" code uses
57291         stdio, and performance isn't crucial there.
57292         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
57293         Bison 1.875 features as described below.
57294         All uses of "PC." replaced by "pc->".
57295         (YYSTYPE): Add a forward declaration.
57296         (yylex, yyerror): Use full prototypes in forward decls.
57297         Use "%pure-parser" rather than obsolescent "%pure_parser".
57298         Use %parse-param and %lex-param instead of obsolescent
57299         YYPARSE_PARAM and YYLEX_PARAM.
57300         (meridian_table, month_and_day_table, time_units_table,
57301         relative_time_table, time_zone_table, military_table,
57302         lookup_zone, lookup_word, get_date):
57303         Use NULL instead of 0 where appropriate.
57304         (to_hour): Avoid abort (), to avoid a dependency on
57305         stdlib.h.
57306         (yyerror, yylex): Now accepts parser_control * arg.
57307         (main) [TEST]: Use '\0' rather than 0 for char.
57308
57309 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57310
57311         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
57312
57313 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57314
57315         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
57316         It's now the caller's responsibility to handle the case where
57317         !HAVE_GETPAGESIZE && !defined getpagesize.
57318
57319         * lib/mktime.c (leapyear): Arg is long int, not int.
57320
57321 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
57322
57323         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
57324
57325 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57326
57327         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
57328         missing.  Problem reported by James Youngman.
57329
57330 2004-10-16  Simon Josefsson  <jas@extundo.com>
57331
57332         * gnulib-tool: Fix comments.  Fix parse problem.
57333         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
57334
57335 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
57336
57337         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
57338         implementation of getopt_long.  Problem reported by Alexander Taler in:
57339         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
57340
57341 2004-10-15  Bruno Haible  <bruno@clisp.org>
57342
57343         * gnulib-tool: Untabify. Initialize supplied_libname.
57344         (func_usage): More homogenous output.
57345         (func_modules_transitive_closure, func_modules_to_filelist,
57346         func_emit_lib_Makefile_am): New functions.
57347         (func_import): New function, extracted from big case statement. Use
57348         func_get_license, func_modules_transitive_closure,
57349         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
57350         opt_lgpl. Don't use test -a, as it's not portable.
57351         (func_create_testdir): Use func_modules_transitive_closure,
57352         func_modules_to_filelist, func_emit_lib_Makefile_am.
57353
57354 2004-10-15  Bruno Haible  <bruno@clisp.org>
57355
57356         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
57357
57358 2004-10-15  Bruno Haible  <bruno@clisp.org>
57359
57360         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
57361         the portions belonging to each module.
57362         Suggested by Derek Robert Price <derek@ximbiot.com>.
57363
57364 2004-10-12  Simon Josefsson  <jas@extundo.com>
57365
57366         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57367         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
57368         to real functions.
57369
57370 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57371
57372         * modules/vsnprintf: New file.
57373
57374 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57375
57376         * m4/vsnprintf.m4: New file.
57377
57378 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57379
57380         * lib/vsnprintf.h: New file.
57381         * lib/vsnprintf.c: New file.
57382
57383 2004-10-11  Bruno Haible  <bruno@clisp.org>
57384
57385         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
57386         vsnprintf.
57387
57388 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57389
57390         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
57391
57392 2004-10-07  Bruno Haible  <bruno@clisp.org>
57393
57394         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
57395         fits into the provided buffer.
57396
57397 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57398
57399         * lib/diacrit.c, diacrit.h: Add GPL notice.
57400
57401         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
57402         notice.
57403         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
57404         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
57405         This avoids a potential constant-folding bug.
57406
57407 2004-10-05  Bruno Haible  <bruno@clisp.org>
57408
57409         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
57410         for the declaration of strsep.
57411
57412 2004-10-05  Bruno Haible  <bruno@clisp.org>
57413
57414         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
57415
57416 2004-10-04  Simon Josefsson  <jas@extundo.com>
57417
57418         * modules/memmem: New file.
57419         * tests/test-memmem.c: New file.
57420         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
57421
57422 2004-10-04  Simon Josefsson  <jas@extundo.com>
57423
57424         * m4/memmem.m4: New file.
57425
57426 2004-10-04  Simon Josefsson  <jas@extundo.com>
57427
57428         * lib/memmem.h: New file.
57429         * lib/memmem.c: New file, taken from glibc.
57430
57431 2004-10-04  Simon Josefsson  <jas@extundo.com>
57432
57433         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
57434         '#ifdef USE_UNLOCKED_IO'.
57435
57436 2004-10-04  Simon Josefsson  <jas@extundo.com>
57437
57438         * config/srclist.txt: Add memmem from glibc.
57439
57440 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57441
57442         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
57443
57444         * modules/argmatch, modules/argp, modules/closeout, modules/error,
57445         modules/exclude, modules/getdate, modules/getline,
57446         modules/getndelim2, modules/getpass, modules/getpass-gnu,
57447         modules/getusershell, modules/linebuffer, modules/md5,
57448         modules/mountlist, modules/posixtm, modules/readtokens,
57449         modules/readutmp, modules/regex, modules/sha1,
57450         modules/version-etc, modules/yesno:
57451         Remove dependency on unlocked-io.
57452
57453 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57454
57455         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
57456
57457         * m4/unlocked-io.m4: Add copyright notice.
57458         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
57459
57460 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57461
57462         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
57463         * lib/xmalloc.c (xmemdup): Likewise.
57464         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
57465         XFREE): Remove these long-obsolescent macros.
57466         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
57467         * lib/xstrdup.c: Remove.
57468
57469         * lib/regex.c (re_comp): Cast gettext return value to char *,
57470         Problem reported by Martin Neitzel via Mark D. Baushke.
57471
57472 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57473
57474         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
57475         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
57476         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
57477         regex.c, sha1.c, version-etc.c, yesno.c:
57478         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
57479         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
57480         the includer's responsibility.
57481
57482         Sync from coreutils.
57483
57484         * lib/modechange.c (mode_compile): Don't decrement a pointer that
57485         points to the start of a string, as the C Standard says the
57486         resulting behavior is undefined.
57487
57488         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
57489         simple -> simple_backups, numbered_existing ->
57490         numbered_existing_backups, numbered -> numbered_backups
57491         to avoid shadowing problems.  All uses changed.
57492         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
57493         * lib/backupfile.c (check_extension, numbered_backup):
57494         Rename locals to avoid shadowing 'basename'.
57495         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
57496         once.
57497
57498         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
57499         * lib/.cvsignore: Add getopt.h.
57500
57501 2004-10-04  Bruno Haible  <bruno@clisp.org>
57502
57503         * modules/README: New file.
57504         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
57505         not a module.
57506
57507 2004-10-02  Jim Meyering  <jim@meyering.net>
57508
57509         * lib/dirfd.h, getpagesize.h: Add copyright notice.
57510
57511 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57512
57513         * modules/strsep: New file.
57514
57515 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57516
57517         * m4/strsep.m4: New file.
57518
57519 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57520
57521         * lib/strsep.h: New file.
57522         * lib/strsep.c: New file.
57523
57524 2004-10-01  Simon Josefsson  <jas@extundo.com>
57525
57526         * lib/snprintf.c (snprintf): Handle size==0.
57527
57528 2004-10-01  Simon Josefsson  <jas@extundo.com>
57529             Bruno Haible  <bruno@clisp.org>
57530
57531         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
57532         (snprintf): Declare 'args'.
57533
57534 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
57535
57536         * lib/snprintf.c: Remove comments as to why each header is needed.
57537
57538 2004-10-01  Bruno Haible  <bruno@clisp.org>
57539
57540         * MODULES.html.sh: Add strsep.
57541
57542 2004-09-30  Simon Josefsson  <jas@extundo.com>
57543
57544         * modules/snprintf: New file.
57545
57546 2004-09-30  Simon Josefsson  <jas@extundo.com>
57547
57548         * m4/snprintf.m4: New file.
57549
57550 2004-09-30  Simon Josefsson  <jas@extundo.com>
57551
57552         * lib/snprintf.h, lib/snprintf.c: New files.
57553
57554 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57555
57556         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
57557         (hol_entry_help): Never translate an empty string.
57558         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
57559         * lib/argp.h (OPTION_NO_TRANS): New option.
57560
57561 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57562
57563         * modules/argp (Maintainer): Replace Simon Josefsson
57564         by Sergey Poznyakoff.
57565
57566 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57567
57568         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
57569         changes merged back into glibc.
57570
57571 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
57572
57573         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
57574
57575 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
57576
57577         * lib/xvasprintf.c: Include xalloc.h.
57578         (xvasprintf): Use xalloc_die, not xmalloc_die.
57579
57580 2004-09-29  Bruno Haible  <bruno@clisp.org>
57581
57582         * modules/alloca-opt: New file, derived from modules/alloca.
57583         * modules/allocsa: Depend on alloca-opt instead of alloca.
57584         * modules/setenv: Likewise.
57585         * modules/vasnprintf: Likewise.
57586         * MODULES.html.sh: Add alloca-opt.
57587
57588 2004-09-28  Simon Josefsson  <jas@extundo.com>
57589
57590         * gnulib-tool: New parameter --lgpl, to asseert that modules are
57591         LGPL, and to replace license template from GPL to LGPL.
57592
57593 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
57594
57595         * modules/dummy: Change license to LGPL.
57596
57597 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
57598
57599         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
57600
57601 2004-09-24  Simon Josefsson  <jas@extundo.com>
57602
57603         * modules/minmax (License): Change from GPL to LGPL.
57604
57605 2004-09-23  Simon Josefsson  <jas@extundo.com>
57606
57607         * gnulib-tool (--import): Typo.
57608
57609 2004-09-23  Simon Josefsson  <jas@extundo.com>
57610
57611         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
57612
57613 2004-09-22  Bruno Haible  <bruno@clisp.org>
57614
57615         * modules/*: Add 'License' field.
57616         * gnulib-tool: Accept --extract-license option.
57617         (func_get_license): New function.
57618
57619 2004-09-21  Bruno Haible  <bruno@clisp.org>
57620
57621         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
57622         Reported by Simon Josefsson.
57623
57624 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57625
57626         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
57627         gl_AC_TYPE_LONG_LONG.
57628
57629 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57630
57631         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
57632
57633 2004-09-18  Simon Josefsson  <jas@extundo.com>
57634         and  Paul Eggert  <eggert@cs.ucla.edu>
57635
57636         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
57637         calls with autoreconf.  Define GL_LIB.
57638
57639 2004-09-14  Karl Berry  <karl@gnu.org>
57640
57641         * config/srclist.txt: unsync setenv.c, sigh.
57642
57643 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57644
57645         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
57646         Problem reported by Bruno Haible in:
57647         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
57648
57649 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57650
57651         * config/srclist.txt: Comment out argp-pvh.c.
57652
57653 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
57654
57655         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
57656         in case some system header has #define'd it.  Problem reported by
57657         Soeren D. Schulze in
57658         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
57659
57660 2004-09-09  Karl Berry  <karl@gnu.org>
57661
57662         * regex.[ch]: delete from the root.  These were supposed to be
57663                 synced with emacs cvs, but this has not happened for about
57664                 a year, and anyway nothing else uses emacs regex.[ch].
57665                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
57666                 lib/regex[.ch] is untouched.
57667
57668 2004-09-09  Bruno Haible  <bruno@clisp.org>
57669
57670         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
57671
57672 2004-09-09  Bruno Haible  <bruno@clisp.org>
57673
57674         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
57675         modifications.
57676         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
57677
57678 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
57679
57680         * modules/xvasprintf: New file.
57681         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
57682
57683 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
57684
57685         * lib/xvasprintf.h: New file.
57686         * lib/xvasprintf.c: New file.
57687         * lib/xasprintf.c: New file.
57688
57689 2004-09-08  Bruno Haible  <bruno@clisp.org>
57690
57691         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
57692
57693 2004-09-08  Bruno Haible  <bruno@clisp.org>
57694
57695         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
57696         length is > INT_MAX.
57697         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
57698         more.
57699
57700 2004-09-08  Bruno Haible  <bruno@clisp.org>
57701
57702         * lib/stdint_.h: New file, taken from GNU clisp.
57703
57704 2004-09-08  Bruno Haible  <bruno@clisp.org>
57705             Oskar Liljeblad  <oskar@osk.mine.nu>
57706
57707         * modules/stdint: New file.
57708         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
57709
57710 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57711
57712         Import from coreutils.
57713         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
57714         strings on unbounded length.  alloca's performance benefits aren't
57715         that important here.
57716         (V_STRDUP): Remove.
57717         (parse_with_separator): New function, with most of the internals
57718         of the old parse_user_spec.  Allow user to omit both user and group,
57719         for compatibility with FreeBSD.
57720         Clone only the user name, not the entire spec.
57721         Do not set *uid, *gid unless entirely successful.
57722         Avoid memory leak in some failing cases.
57723         Fix regression for USER.GROUP reported by Dmitry V. Levin in
57724         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
57725         (parse_user_spec): Rewrite to use parse_with_separator.
57726
57727 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57728
57729         * modules/userspec: Don't depend on alloca.
57730
57731 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57732
57733         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
57734
57735 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57736
57737         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
57738         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
57739         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
57740
57741 2004-08-16  Simon Josefsson  <jas@extundo.com>
57742
57743         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
57744         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
57745         Add --dry-run for --import.
57746         Let user provided command line parameters override configure.ac
57747         settings.
57748
57749 2004-08-12  Simon Josefsson  <jas@extundo.com>
57750
57751         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
57752         as discussed with Paul Eggert in threads rooted at
57753         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
57754         and
57755         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
57756         Before, the test was empty, and relied on ELIDE_CODE in source
57757         code.)
57758         (gl_PREREQ_GETOPT): New macro.
57759         (gl_GETOPT): Use them.
57760
57761 2004-08-12  Simon Josefsson  <jas@extundo.com>
57762
57763         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
57764         * lib/getopt_.h: Renamed from getopt.h.
57765
57766 2004-08-12  Simon Josefsson  <jas@extundo.com>
57767
57768         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
57769         Change default library name from libfoo to libgnu.
57770         Now, if you have a configure.ac that says:
57771                 gl_SOURCE_BASE(gl)
57772                 gl_M4_BASE(gl/m4)
57773                 gl_MODULES(error getopt etcetera)
57774                 gl_INIT
57775         you can import all you need by running:
57776                 ../gnulib/gnulib-tool --import
57777
57778         * modules/getopt (Files): Rename getopt.h to getopt_.h.
57779         (Makefile.am): Rewrite, use logic from argz.
57780         (Include): Use <getopt.h> instead of "getopt.h".
57781
57782 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57783
57784         * modules/argp (Files): Add m4/unlocked-io.m4.
57785         (Depends-on): Add extensions.
57786
57787 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57788
57789         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
57790         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
57791         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
57792         Check for program_invocation_name, program_invocation_short_name,
57793         flockfile, funlockfile, features.h, _getopt_long_only_r.
57794
57795 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57796
57797         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
57798         its complicated substitute.
57799         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
57800         and program_invocation_name.
57801         (__argp_basename) [!_LIBC]: Remove; the only use was
57802         replaced by its body.
57803         (__argp_short_program_name): Change condition from
57804         !defined __argp_short_program_name to
57805         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
57806         to match argp-namefrob.h.
57807         (__argp_failure): Don't assume strerror_r returns char *.
57808         * lib/argp-parse.c (N_): Define unconditionally.
57809         (argp_default_options): Fill out initializers with 0 to avoid
57810         gcc warnings.
57811
57812 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
57813
57814         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
57815         getopt1.c.
57816
57817 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57818
57819         Merge from coreutils.
57820
57821         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
57822
57823         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
57824         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
57825
57826 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57827
57828         Merge from coreutils.
57829
57830         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
57831         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
57832         for Reliant Unix 5.43.
57833
57834         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
57835         (union fooround): Use uintmax_t, not long int.
57836         The rest is a merge from libc:
57837         [defined _LIBC]: Include <shlib-compat.h>.
57838         (_obstack) [defined _LIBC]: Remove after 2.3.4.
57839
57840         * lib/settime.c (settime): Recode to avoid warning with
57841         Sun Forte C 6U2.
57842
57843         * lib/strverscmp.c: Convert to UTF-8.
57844
57845 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57846
57847         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
57848         m4/uintmax_t.m4.
57849
57850 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57851
57852         * modules/xalloc-die: New file.
57853         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
57854
57855         * modules/md5 (Files): Add m4/uint32_t.m4.
57856         * modules/sha1: Renamed from modules/sha.
57857         (Files):
57858         Rename lib/sha.h to lib/sha1.h.
57859         Rename lib/sha.c to lib/sha1.c.
57860         Rename m4/sha.m4 to m4/sha1.m4.
57861         (lib_SOURCES): Likewise.
57862         (configure.ac): Rename gl_SHA to gl_SHA1.
57863         (Include): sha.h -> sha1.h.
57864
57865 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57866
57867         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
57868         * m4/sha1.m4: Renamed from sha.m4.
57869         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
57870
57871 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57872
57873         * lib/obstack.h (obstack_empty_p):
57874         Don't assume that chunk->contents is suitably aligned.
57875         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
57876         Likewise. Problem reported by Benno in
57877         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
57878
57879         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
57880         readable.  This could be improved further but it'd take some work.
57881
57882 2004-08-08  Simon Josefsson  <jas@extundo.com>
57883
57884         * modules/xgethostname (Depends-on): Remove exit and error (not
57885         used).
57886
57887         * modules/getpass-gnu: Add getpass.h.
57888         (Depends-on): Add stdbool.
57889         * modules/getpass: Add getpass.h.
57890
57891 2004-08-08  Simon Josefsson  <jas@extundo.com>
57892
57893         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
57894         Check getpass declaration.
57895
57896 2004-08-08  Simon Josefsson  <jas@extundo.com>
57897
57898         * lib/xgethostname.c: Don't include error.h (not used).
57899
57900         * lib/getpass.h: Add.
57901         * lib/getpass.c: Include getpass.h first.
57902
57903 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
57904
57905         * lib/xalloc-die.c: New file.
57906         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
57907         All uses removed.
57908         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
57909         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
57910         xalloc-die.c.
57911         (_, N_, xalloc_die): Move to xalloc-die.c.
57912         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
57913         so that we needn't mess with xalloc_msg_memory_exhausted.
57914
57915         * lib/sha1.h: Renamed from sha.h.
57916         (SHA1_H): Renamed from _SHA_H.
57917         (sha1_ctx): Renamed from sha_ctx.
57918         (sha1_init_ctx): Renamed from sha_init_ctx.
57919         (sha1_process_block): Renamed from sha_process_block.
57920         (sha1_process_bytes): Renamed from sha_process_bytes.
57921         (sha1_finish_ctx): Renamed from sha_finish_ctx.
57922         (sha1_read_ctx): Renamed from sha_read_ctx.
57923         (sha1_stream): Renamed from sha_stream.
57924         (sha1_buffer): Renamed from sha_buffer.
57925         * lib/sha1.c: Likewise; renamed from sha.c.
57926         Do not include <sys/types.h>.
57927         Include <stddef.h> rather than <stdlib.h>.
57928
57929 2004-08-08  Bruno Haible  <bruno@clisp.org>
57930
57931         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
57932         FILESYSTEM_PREFIX_LEN.
57933         * lib/progreloc.c: Likewise.
57934         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
57935
57936 2004-08-06  Simon Josefsson  <jas@extundo.com>
57937
57938         * modules/progname (Depends-on): Don't depend on stdbool.
57939
57940 2004-08-06  Simon Josefsson  <jas@extundo.com>
57941
57942         * modules/getsubopt: New file.
57943         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57944         getsubopt.
57945
57946 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57947
57948         More merge from coreutils.
57949
57950         * m4/utimens.m4, m4/utimecmp.m4: New files.
57951         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
57952         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
57953         prereq.m4, sha.m4: Import changes from coreutils.
57954
57955 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57956
57957         More merge from coreutils.
57958         * modules/raise, modules/readtokens0, modules/utimens:
57959         * modules/utimecmp, module/xnanosleep: New files.
57960         * modules/strftime: Add lib/strftime.h.
57961         Change include from <time.h> to "strftime.h".
57962         * modules/yesno: Add lib/yesno.h.
57963         * modules/backupfile: Remove lib/addext.c.
57964         * modules/euidaccess: Add stat-macros.h.
57965         * modules/canonicalize, modules/euidaccess,
57966         modules/filemode, modules/lchown, modules/makepath,
57967         modules/rmdir, modules/stat: Likewise.
57968
57969 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
57970
57971         Merge from tar.
57972         * lib/argp-help.c (make_hol, hol_append): Don't assume that
57973         SIZE_MAX is a valid preprocessor constant.
57974         (__argp_basename): Change from "#ifndef _LIBC"
57975         to "#ifndef __argp_short_program_name", so that
57976         we don't compile these functions for tar.
57977
57978         More merges from coreutils.
57979         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
57980         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
57981         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
57982         * lib/addext.c: Remove; no longer needed.
57983         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
57984         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
57985         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
57986         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
57987         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
57988         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
57989         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
57990         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
57991         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
57992         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
57993         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
57994         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
57995         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
57996         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
57997         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
57998         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
57999         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
58000         Import changes from coreutils.
58001
58002 2004-08-05  Simon Josefsson  <jas@extundo.com>
58003
58004         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
58005
58006 2004-08-05  Simon Josefsson  <jas@extundo.com>
58007
58008         * m4/getsubopt.m4: New file.
58009
58010 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58011
58012         Merge from coreutils.
58013
58014         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
58015         * m4/getcwd-path-max.m4: New files.
58016
58017         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
58018         FILESYSTEM_PREFIX_LEN ->
58019         FILE_SYSTEM_PREFIX_LEN.
58020         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
58021         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
58022         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
58023         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
58024
58025         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
58026         prerequisite modules now handle the DOS stuff.
58027         Don't check for unistd.h.
58028
58029 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58030
58031         Merge from coreutils.
58032
58033         * lib/.gdb-history: Remove; this doesn't belong here.
58034
58035         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
58036         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
58037         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
58038         * lib/getcwd.c: New files.
58039
58040         * lib/dirname.h: Include <stdbool.h>.
58041         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
58042         for consistency with POSIX terminology.  All uses changed.
58043         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
58044         (strip_trailing_slashes): Use bool for booleans.
58045         * lib/stripslash.c (strip_trailing_slashes): Likewise.
58046
58047         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
58048         sometimes returns a positive errno value even when it succeeds.
58049         (print_errno_message) [!LIBC]: Fall back on strerror if
58050         __strerror_r fails.
58051
58052         * lib/path-concat.c (mempcpy): Don't define if a system header defines
58053         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
58054         (longest_relative_suffix): New function.
58055         (path_concat): Use it.  Assume first argument is not NULL.
58056         Port to DOS.  Omit redundant separators.
58057         Report an error instead of returning NULL.
58058         Use mempcpy instead of memcpy.
58059         (xpath_concat): Remove: not declared or used.
58060
58061         * lib/same.h: Include <stdbool.h>
58062         (same_name): Return bool, not int.
58063         * lib/same.c (same_name): Likewise.
58064         (errno): Don't declare; we assume C89 or better now.
58065
58066         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
58067         if not already defined.
58068
58069         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
58070         * lib/dup-safer.c (errno): Likewise.
58071
58072 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58073
58074         Merge from coreutils.
58075         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
58076         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
58077         * modules/path-concat: Don't depend on strdup.
58078
58079 2004-08-03  Simon Josefsson  <jas@extundo.com>
58080
58081         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
58082         * lib/progname.h: Don't include stdbool.h.
58083
58084 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58085
58086         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
58087         * MODULES.html.sh (func_all_modules): Remove fatal.
58088
58089 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58090
58091         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
58092
58093 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58094
58095         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
58096         working.
58097
58098 2004-08-02  Simon Josefsson  <jas@extundo.com>
58099
58100         * lib/getsubopt.h: New file, with comments from Bruno Haible.
58101         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
58102         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
58103
58104 2004-08-01  Simon Josefsson  <jas@extundo.com>
58105
58106         * lib/xgetdomainname.c: Include stdlib.h, for free().
58107
58108 2004-07-19  Bruno Haible  <bruno@clisp.org>
58109
58110         * MODULES.html.sh (func_all_modules): Add dummy.
58111
58112 2004-07-16  Simon Josefsson  <jas@extundo.com>
58113
58114         * modules/dummy: New file.
58115
58116 2004-07-16  Simon Josefsson  <jas@extundo.com>
58117
58118         * lib/dummy.c: New file.
58119
58120 2004-07-16  Bruno Haible  <bruno@clisp.org>
58121
58122         * lib/backupfile.h: Add extern "C" for C++.
58123         * lib/closeout.h: Likewise.
58124         * lib/copy-file.h: Likewise.
58125         * lib/findprog.h: Likewise.
58126         * lib/full-write.h: Likewise.
58127         * lib/pathname.h: Likewise.
58128         * lib/progname.h: Likewise.
58129         * lib/stpcpy.h: Likewise.
58130         * lib/stpncpy.h: Likewise.
58131         * lib/strcase.h: Likewise.
58132         * lib/strstr.h: Likewise.
58133         * lib/xalloc.h: Likewise.
58134
58135         * lib/mbswidth.h: Add extern "C" for C++.
58136         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
58137
58138 2004-07-13  Robert Millan  <robertmh@gnu.org>
58139
58140         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
58141
58142 2004-07-09  Simon Josefsson  <jas@extundo.com>
58143
58144         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
58145         failed without this.)
58146
58147 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58148
58149         * modules/chown (Files): Add lib/fchown-stub.c, since
58150         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
58151
58152 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58153
58154         * lib/fchown-stub.c: New file.
58155
58156 2004-06-24  Jim Meyering  <jim@meyering.net>
58157
58158         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
58159
58160 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58161
58162         * modules/argz: Omit "#include".
58163
58164         * MODULES.html.sh (func_all_modules): Add calloc, to match
58165         2004-06-01 addition of calloc module.
58166
58167 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58168
58169         * m4/argz.m4: New file, which is autoupdated from libtool.
58170
58171 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58172
58173         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
58174         libtool.
58175
58176 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58177
58178         * config/srclist-update: Don't insist on "USA." before the
58179         close-comment, as libtool omits the period and puts the */ on a
58180         separate line.
58181         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
58182         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
58183
58184 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
58185
58186         * modules/argz: New file.
58187         * MODULES.html.sh (func_all_modules): Add argz.
58188
58189 2004-06-12  Jim Meyering  <jim@meyering.net>
58190         and  Paul Eggert  <eggert@cs.ucla.edu>
58191
58192         * modules/hash (Files): Add lib/xalloc.h.
58193         * modules/pipe (Depends-on): Add wait-process.
58194         * modules/stat (Depends-on): Add xalloc.
58195         * modules/userspec (Files): Add lib/userspec.h.
58196         * modules/xstrto
58197
58198         Upgrade from gettext-0.13.
58199         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
58200         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
58201         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
58202
58203 2004-06-10  Jim Meyering  <jim@meyering.net>
58204
58205         * lib/calloc.c: New file.
58206
58207 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58208
58209         * lib/getdate.y (yylex): Allow space between sign and number.
58210         Problem reported by Dan Jacobson.
58211
58212 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58213
58214         Merge from coreutils CVS.
58215
58216         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
58217         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
58218         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
58219         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
58220         xstrtol.m4: Fix copyright date and/or serial number.
58221
58222         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
58223         See if we need an fchown replacement.
58224         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
58225         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
58226         and use the replacement function if we detect either defect.
58227
58228         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
58229         gl_UTIMECMP.
58230
58231 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58232         and  Jim Meyering  <jim@meyering.net>
58233
58234         Merge from coreutils CVS.
58235
58236         * lib/stat-macros.h: New file, with contents from file-type.h
58237         and coreutils' system.h.
58238         * lib/file-type.c: Include "stat-macros.h".
58239         * lib/file-type.h (file_type): Move all macro definitions to new file,
58240         stat-macros.h.
58241
58242         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
58243         Wrap old code with this conditional.
58244         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
58245         function that does not dereference symlinks.
58246         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
58247
58248         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
58249         dependency problems.
58250         (xreadlink): Accept new arg SIZE, for efficiency.
58251         All decls and uses changed.
58252         * lib/xreadlink.h: Include <stddef.h>, for size_t.
58253
58254         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
58255         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
58256
58257         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
58258         sysexits.h.
58259
58260 2004-06-01  Jim Meyering  <jim@meyering.net>
58261
58262         * m4/calloc.m4: New file.
58263
58264 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
58265
58266         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
58267         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
58268         Also, fix a typo in a diagnostic.
58269
58270 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58271
58272         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
58273         or AC_FUNC_REALLOC.
58274
58275 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58276
58277         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
58278         macros to be defined.
58279         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
58280         the allocator returns NULL because the requested size is zero.
58281
58282 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58283
58284         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
58285         var.  Add comment explaining why libc still defines it.  This
58286         merges the following patch from glibc:
58287         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
58288
58289 2004-05-20  Andreas Schwab  <schwab@suse.de>
58290
58291         * m4/free.m4: Replace free if it not known to work, not the other
58292         way round.
58293
58294 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
58295
58296         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
58297         present in glibc since revision 1.1 of this file.
58298         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
58299         obstack_alignment_mask, obstack_alloc, obstack_base,
58300         obstack_blank, obstack_blank_fast, obstack_chunk_size,
58301         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
58302         obstack_grow0, obstack_init, obstack_int_grow,
58303         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
58304         obstack_next_free, obstack_object_size, obstack_ptr_grow,
58305         obstack_ptr_grow_fast, obstack_room): Remove declarations of
58306         nonexistent functions.
58307
58308 2004-05-18  Karl Berry  <karl@gnu.org>
58309
58310         * config/srclist.txt: break link for vasnprintf.c.
58311
58312 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58313
58314         Port obstack to the AS/400, where pointers are 16 bytes wide and
58315         you cannot cast an integer to a valid pointer.  This patch is
58316         currently waiting to be integrated into glibc; see
58317         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
58318
58319         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
58320         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
58321         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
58322         (struct obstack): temp member is now a union of a pointer and
58323         an integer, instead of an integer.  All integer uses changed.
58324         This does not affect the physical layout of struct obstack,
58325         except on hosts (like the AS/400) where the size or alignment of
58326         void * is greater than that of ptrdiff_t.
58327         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
58328         __STDC__)]: Store temporary in pointer member of union, not
58329         integer member.
58330         * lib/obstack.c: Include <stddef.h>, for offsetof.
58331         (struct fooalign): Remove; it doesn't need a name.
58332         (union fooround): Change double to long double, and add void *.
58333         (DEFAULT_ALIGNMENT): Use offsetof to compute.
58334         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
58335         not a macro.  Hence the values are always int; so remove all
58336         casts-to-int in uses.
58337
58338 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58339
58340         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
58341         we can get this patch merged into glibc.
58342
58343 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58344             Paul Eggert  <eggert@cs.ucla.edu>
58345
58346         * m4/argp: Depend on alloca.
58347
58348 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58349             Paul Eggert  <eggert@cs.ucla.edu>
58350
58351         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
58352         freecoding.
58353
58354 2004-05-17  Bruno Haible  <bruno@clisp.org>
58355
58356         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
58357         precision that consists of a '.' followed by an empty digit string.
58358         Patch by Tor Lillqvist <tml@iki.fi>.
58359
58360 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58361
58362         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
58363         for backward compatibility with older code.  We need our own
58364         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
58365         it under some other name, and our alloca.h will define it.
58366
58367 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58368             Derek Price  <derek@ximbiot.com>
58369
58370         * lib/alloca.c: Include <alloca.h>, to get our interface.
58371         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
58372         include <alloca.h> first.  Use C89 prototype for alloca; this
58373         requires including <stddef.h> for size_t.  Use extern "C" if C++.
58374         Use #elif for simplicity, since we can assume C89 now.
58375         Don't try to source the system alloca.h since it will not be found
58376         and to prevent recursively including its replacement.
58377         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
58378         * lib/regex.c: Likewise.
58379
58380 2004-05-16  Derek Price  <derek@ximbiot.com>
58381             Paul Eggert  <eggert@cs.ucla.edu>
58382
58383         getline cleanup.  This changes the getndelim2 API: both order of
58384         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
58385         no delimiter).
58386
58387         * lib/getline.c: Don't include stddef.h or stdio.h, since our
58388         interface does that.
58389         (getline): Always use getdelim, so that we don't have two
58390         copies of this code.
58391         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
58392         if available.
58393         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
58394         (GETNDELIM2_MAXIMUM): New macro.
58395         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
58396         instead of the old practice of delim2==0.  All callers changed.
58397         Return -1 on overflow, instead of returning junk.
58398         Do not set *linesize unless allocation succeeds.
58399         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
58400         that we include sys/types.h.
58401         * lib/getnline.h: Likewise.
58402         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
58403         (getndelim2): Reorder arguments.
58404         * lib/getnline.c (getnline, getndelim):
58405         Don't discard the NMAX argument.
58406         (getnline): Invoke getndelim, to avoid code duplication.
58407         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
58408         of (size_t) -1 by callers of the getnline family.
58409
58410 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58411
58412         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
58413         Check for gettimeofday.
58414         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
58415         Check for settimeofday, stime.
58416
58417 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58418
58419         * lib/nanosleep.c (suspended): Change its type from int to
58420         sig_atomic_t volatile.
58421         (first_call): Make it private to rpl_nanosleep, and have it
58422         be zero initially as that's a bit faster.
58423         (my_usleep): Round up fractional times instead of truncating them,
58424         as this is the usual meaning for 'sleep'.
58425
58426         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
58427         doesn't work.
58428         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
58429         (ENOSYS): Define if not defined.
58430         (settime): Fall back on stime if it exists and settimeofday fails.
58431         But don't bother with fallbacks if a method fails with errno == EPERM.
58432
58433 2004-05-11  Jim Meyering  <jim@meyering.net>
58434
58435         Prior to this change, the save_cwd caller required read access to the
58436         current directory on most systems (ones with the fchdir function).
58437
58438         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
58439         fails, try write-only, and finally, resort to using xgetcwd.
58440
58441 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
58442
58443         * lib/obstack.c, obstack.h: Import changes from libc.
58444
58445 2004-04-28  Bruno Haible  <bruno@clisp.org>
58446
58447         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
58448         also implicitly appends .exe to executables.
58449         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
58450         accepts Windows pathnames.
58451         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58452         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58453         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58454         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58455         Reported by Derek Robert Price <derek@ximbiot.com>.
58456
58457 2004-04-21  Karl Berry  <karl@gnu.org>
58458
58459         * config/srclist.txt (localcharset.c): break sync.
58460
58461 2004-04-20  Paul Eggert  <eggert@twinsun.com>
58462
58463         * m4/host-os.m4: Add a copyright notice.
58464
58465 2004-04-20  Jim Meyering  <jim@meyering.net>
58466
58467         Change UTILS_ to gl_ in AC_DEFINE'd names.
58468         Change utils_- and jm_-prefixed variables, too.
58469         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
58470         UTILS_FUNC_MKDIR_TRAILING_SLASH.
58471         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
58472
58473         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
58474         Don't emit trailing blanks.
58475         Also rename jm_-prefixed variables to have gl_ prefix.
58476
58477         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
58478         Also rename jm_-prefixed variables to have gl_ prefix.
58479
58480         * m4/jm-macros.m4: Reflect the renamings.
58481         * m4/prereq.m4: Likewise.
58482
58483 2004-04-20  Jim Meyering  <jim@meyering.net>
58484
58485         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
58486         memory.
58487
58488 2004-04-20  Jim Meyering  <jim@meyering.net>
58489             Bruno Haible  <bruno@clisp.org>
58490
58491         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
58492         memory when realloc fails.
58493
58494 2004-04-19  Jim Meyering  <jim@meyering.net>
58495
58496         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
58497         now that readutmp.c may call `free (0)'.
58498
58499 2004-04-19  Bruno Haible  <bruno@clisp.org>
58500
58501         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
58502         * m4/inttypes_h.m4: Likewise.
58503         * m4/stdint_h.m4: Likewise.
58504         * m4/intmax_t.m4: Likewise.
58505         * m4/uintmax_t.m4: Likewise.
58506
58507 2004-04-18  Jim Meyering  <jim@meyering.net>
58508
58509         * m4/prereq.m4: Don't forbid jm_ prefix.
58510
58511         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
58512         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
58513         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
58514         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
58515         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
58516         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
58517         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
58518         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
58519         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
58520         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
58521         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
58522         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
58523         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
58524         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
58525         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
58526         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
58527         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
58528         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
58529         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
58530
58531 2004-04-18  Jim Meyering  <jim@meyering.net>
58532
58533         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
58534         failure, don't leak memory and do call END_UTMP_ENT.
58535
58536 2004-04-16  Jim Meyering  <jim@meyering.net>
58537
58538         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
58539         coreutils' stat program.
58540         (gl_PREREQ): Don't require jm_PREREQ_STAT.
58541
58542 2004-04-11  Paul Eggert  <eggert@twinsun.com>
58543
58544         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
58545         C89.
58546         (CHAR_BIT): Remove, since we assume C89.
58547         Include <stdint.h> if available, as per current Autoconf CVS advice.
58548
58549 2004-03-31  Jim Meyering  <jim@meyering.net>
58550
58551         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
58552         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
58553         * m4/xalloc.m4: Likewise.
58554
58555 2004-03-30  Paul Eggert  <eggert@twinsun.com>
58556
58557         Merge from coreutils.
58558
58559         * m4/inttostr.m4: New file.
58560         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
58561         Require AM_STDBOOL_H and gl_TIMESPEC instead.
58562         Require gl_CLOCK_TIME.
58563         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
58564
58565 2004-03-30  Paul Eggert  <eggert@twinsun.com>
58566
58567         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
58568         not bool, to be more consistent with Unix conventions.
58569         Suggested by Bruno Haible.
58570
58571         Merge from coreutils.
58572
58573         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
58574         * lib/umaxtostr.c: New files.
58575
58576         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
58577         the usual <time.h> dance.
58578         (get_date): Change signature to support fractional time stamps.
58579         All callers changed.
58580         * lib/getdate.y: Include "getdate.h" first, as we can now
58581         assume C89 and don't need to worry about 'const'.
58582         Similarly, include "unlocked-io.h" near start, not in middle.
58583         Include <limits.h>.
58584         (textint.value): Use long int rather than int.
58585         (textint.digits): Use size_t rather than int.
58586         (BILLION, LOG10_BILLION): New constants.
58587         (parser_control): New member rel_ns.  Members day_ordinal,
58588         time_zone, month, day, hour, minutes, rel_year, rel_month,
58589         rel_day, rel_hour, rel_minutes, rel_seconds
58590         are now long int, not int.  Member seconds is now struct timespec,
58591         not int.  New member timespec_seen.  Members dates_seen, days_seen,
58592         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
58593         not int.
58594         (%union.intval): Now long int, not int.
58595         New member timespec.
58596         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
58597         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
58598         (spec): Now is a timespec or an item list.
58599         (timespec, items): New nonterminals.
58600         (time, rel, relunit, number, get_date):
58601         Add support for fractional seconds.
58602         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
58603         (gmtime, localtime, mktime): Remove decls; not needed with C89.
58604         (to_hour): First arg is now long int, not int.
58605         (to_year): Returns long int, not int.
58606         Don't treat year -70 like 70.
58607         (tm_diff): Returns long int, not int.
58608         (lookup_word): Use bool instead of int when appropriate.
58609         (yylex): Use size_t for count, not int.
58610         Detect overflow when parsing large integer constants.
58611         Add support for fractions.
58612         (get_date): Make pointers 'const' if possible.
58613         Use more-portable code to detect integer overflow.
58614         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
58615         Don't use ctime; it's not reliable if the year has >4 digits.
58616
58617         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
58618         This is for compatibility with BSD.
58619
58620         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
58621         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
58622         From coreutils' system.h.
58623
58624         * lib/userspec.c: Don't include "posixver.h".
58625         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
58626         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
58627         compatible extension.  Simplify code by removing a boolean int
58628         that was always nonzero if a string was nonnull.
58629
58630 2004-03-30  Jim Meyering  <jim@meyering.net>
58631
58632         Merge from coreutils.
58633
58634         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
58635         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
58636         on some systems one must include <grp.h> before it.
58637         Reported by Christian Krackowizer.
58638
58639 2004-03-30  Jim Meyering  <jim@meyering.net>
58640
58641         Merge from coreutils.
58642
58643         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
58644
58645         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
58646         an empty input stream.
58647
58648         * lib/readtokens.c: Include <stdbool.h>.
58649         (readtoken): Use `size_t' rather than int/long.
58650         All callers adjusted.
58651         Use `bool' rather than `int' where appropriate.
58652         Use memset rather than an explicit loop.
58653         Use x2nrealloc rather than xrealloc.
58654         Allow the use of `\0' as a delimiter.
58655         (readtokens): Likewise.
58656         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
58657
58658 2004-03-30  Jim Meyering  <jim@meyering.net>
58659
58660         * m4/realloc.m4: Remove file, since now it does no more than
58661         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
58662         the `configure.ac' section of module/realloc.
58663         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
58664
58665 2004-03-30  Bruno Haible  <bruno@clisp.org>
58666
58667         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
58668         nonnull.
58669
58670 2004-03-29  Paul Eggert  <eggert@twinsun.com>
58671
58672         Merge changes to getloadavg.c from coreutils and Emacs.
58673
58674         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
58675         Define to an expression, not to the empty string.
58676         Include cloexec.h and xalloc.h.
58677         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
58678         Use set_cloexec_flag rather than rolling our own.
58679         * lib/cloexec.c, lib/cloexec.h: New files.
58680
58681 2004-03-29  Paul Eggert  <eggert@twinsun.com>
58682
58683         * m4/cloexec.m4: New file.
58684
58685 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58686
58687         * lib/getopt.h: Sync with libc CVS.
58688
58689 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58690             Bruno Haible  <bruno@clisp.org>
58691
58692         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
58693         mbswidth.
58694
58695 2004-03-18  Paul Eggert  <eggert@twinsun.com>
58696             Bruno Haible  <bruno@clisp.org>
58697
58698         * lib/mbswidth.h: Include <wchar.h> only if
58699         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
58700         <wchar.h>.
58701         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
58702
58703 2004-03-09  Paul Eggert  <eggert@twinsun.com>
58704
58705         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
58706         Sync with libc CVS.
58707         * lib/getopt_int.h: New file, also synced from libc.
58708
58709 2004-03-09  Paul Eggert  <eggert@twinsun.com>
58710
58711         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
58712         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
58713         Bring back getopt.c, getopt.h, getopt1.c.
58714
58715 2004-03-07  Paul Eggert  <eggert@twinsun.com>
58716
58717         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
58718         All uses changed.  Check for sa_sigaction member; this fixes
58719         a bug first reported by Jason Andrade in
58720         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
58721
58722 2004-03-07  Paul Eggert  <eggert@twinsun.com>
58723
58724         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
58725         '#if' expressions.  Unlike the code it replaces, it does not
58726         depend on (defined _SC_PAGESIZE).  However, it does depend on
58727         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
58728         first reported by Jason Andrade in
58729         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
58730
58731 2004-02-25  Simon Josefsson  <jas@extundo.com>
58732
58733         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
58734
58735 2004-02-25  Simon Josefsson  <jas@extundo.com>
58736
58737         * lib/strdup.h: New file.
58738         * lib/strdup.c: Include it.
58739         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
58740         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
58741
58742 2004-02-23  Karl Berry  <karl@gnu.org>
58743
58744         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
58745         (from fencepost.gnu.org:/gd/gnuorg).
58746
58747 2004-02-23  Karl Berry  <karl@gnu.org>
58748
58749         * config/srclistvars.sh (GNUORG) [karl]: redefine.
58750         * config/srclist.txt: add maintain/standards documents.
58751
58752 2004-02-18  Bruno Haible  <bruno@clisp.org>
58753
58754         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
58755         Reported by Derek Robert Price <derek@ximbiot.com>.
58756
58757 2004-02-16  Karl Berry  <karl@gnu.org>
58758
58759         * config/mkinstalldirs, install-sh: update from automake.
58760
58761 2004-02-06  Karl Berry  <karl@gnu.org>
58762
58763         * m4/po.m4: update from gettext 0.14.1.
58764
58765 2004-02-06  Karl Berry  <karl@gnu.org>
58766
58767         * lib/config.charset: update from gettext 0.14.1.
58768
58769 2004-02-05  Paul Eggert  <eggert@twinsun.com>
58770
58771         Add comments and code, prompted by suggestions from Bruno Haible
58772         for sh-quote.
58773         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
58774         describing the enum quoting_style values.
58775         * lib/quotearg.c (quotearg_alloc): New function.
58776         (quotearg_buffer_restyled): Treat lone { and } as special.
58777         Treat = as special.  Work around bug with older shells
58778         that "see" a '\' that is really the 2nd byte of a multibyte char.
58779         Quote empty string with shell_quoting_style.
58780
58781 2004-02-03  Bruno Haible  <bruno@clisp.org>
58782
58783         * m4/pipe.m4: New file, from GNU gettext.
58784
58785 2004-02-03  Bruno Haible  <bruno@clisp.org>
58786
58787         * lib/pipe.h: New file, from GNU gettext.
58788         * lib/pipe.c: New file, from GNU gettext.
58789
58790 2004-01-27  Bruno Haible  <bruno@clisp.org>
58791
58792         * m4/execute.m4: New file, from GNU gettext.
58793
58794 2004-01-27  Bruno Haible  <bruno@clisp.org>
58795
58796         * lib/execute.h: New file, from GNU gettext.
58797         * lib/execute.c: New file, from GNU gettext.
58798         * lib/w32spawn.h: New file, from GNU gettext.
58799
58800 2004-01-24  Paul Eggert  <eggert@twinsun.com>
58801
58802         Merge from diffutils.
58803
58804         * lib/file-type.c (file_type): Add typed memory objects.
58805         * lib/file-type.h (S_TYPEISTMO): New macro.
58806
58807         * lib/c-stack.h (c_stack_action): Remove argv argument.
58808         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
58809         (die): Don't calculate message unless segv_action returns.
58810         (get_stack_location, min_address_from_argv, max_address_from_argv,
58811         volatile stack_base, volatile_stack_size): Remove.
58812         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
58813         that every segmentation violation is a stack overflow.  (Ouch!)
58814         See Debian bug 136249 (still outstanding) for more info about why
58815         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
58816
58817 2004-01-24  Paul Eggert  <eggert@twinsun.com>
58818
58819         Exit-status fix from coreutils.
58820
58821         Use exit_failure consistently in place of EXIT_FAILURE,
58822         so that program exit statuses are consistent on failure.
58823
58824         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
58825         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
58826         * lib/argmatch.h: Comment fix to match the above.
58827         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
58828         Now a macro referring to exit_failure, instead of a separate
58829         variable.  Include "exitfail.h" to get it.
58830         * lib/xstrtol.h: Include "exitfail.h".
58831         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
58832
58833         * lib/long-options.c (parse_long_options): Use prototype
58834         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
58835         for clarity.
58836
58837 2004-01-21  Jim Meyering  <jim@meyering.net>
58838
58839         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
58840         so as not to conflict with a different-sized __mktime_internal
58841         function in GNU libc.
58842         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
58843         Problem building statically-linked `ls' reported by Michael Brunnbauer.
58844
58845 2004-01-20  Karl Berry  <karl@gnu.org>
58846
58847         * config/config.guess: update from config.
58848
58849         * config/srclistvars.sh: GNUWWWLICENSES for karl.
58850
58851 2004-01-20  Bruno Haible  <bruno@clisp.org>
58852
58853         Safer stack allocation.
58854         * lib/setenv.c: Include allocsa.h.
58855         (alloca): Remove fallback definition.
58856         (freea): Remove macro.
58857         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
58858         instead of freea.
58859
58860 2004-01-20  Bruno Haible  <bruno@clisp.org>
58861
58862         * m4/eealloc.m4: New file, from GNU gettext.
58863
58864 2004-01-20  Bruno Haible  <bruno@clisp.org>
58865
58866         * m4/allocsa.m4: New file, from GNU gettext.
58867
58868 2004-01-20  Bruno Haible  <bruno@clisp.org>
58869
58870         * lib/xallocsa.h: New file, from GNU gettext.
58871         * lib/xallocsa.c: New file, from GNU gettext.
58872
58873 2004-01-20  Bruno Haible  <bruno@clisp.org>
58874
58875         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
58876
58877 2004-01-20  Bruno Haible  <bruno@clisp.org>
58878
58879         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
58880         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
58881         specially.
58882
58883 2004-01-20  Bruno Haible  <bruno@clisp.org>
58884
58885         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
58886         patch.
58887
58888 2004-01-20  Bruno Haible  <bruno@clisp.org>
58889
58890         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
58891
58892 2004-01-20  Bruno Haible  <bruno@clisp.org>
58893
58894         * lib/eealloc.h: New file.
58895
58896 2004-01-20  Bruno Haible  <bruno@clisp.org>
58897
58898         * lib/binary-io.h: Avoid warnings on Cygwin.
58899
58900 2004-01-20  Bruno Haible  <bruno@clisp.org>
58901
58902         * lib/allocsa.h: New file, from GNU gettext.
58903         * lib/allocsa.c: New file, from GNU gettext.
58904
58905 2004-01-18  Karl Berry  <karl@gnu.org>
58906
58907         * doc/gpl.texi, doc/lgpl.texi: new files.
58908
58909 2004-01-18  Karl Berry  <karl@gnu.org>
58910
58911         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
58912         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
58913
58914 2004-01-15  Paul Eggert  <eggert@twinsun.com>
58915
58916         Merge from coreutils.
58917
58918         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
58919         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
58920         (gl_DEFAULT_POSIX2_VERSION): Move
58921         the documentation from 'configure' into 'config.hin',
58922         so that 'configure --help' isn't burdened by it and
58923         we don't have to worry about its formatting there.
58924         Reword the documentation so that it's more succinct
58925         and can be run together into a single paragraph.
58926         * m4/same.m4 (gl_SAME): Check for pathconf.
58927
58928 2004-01-15  Paul Eggert  <eggert@twinsun.com>
58929
58930         Merge from coreutils.
58931
58932         * lib/posixver.c: Include posixver.h.
58933
58934         * lib/same.c: Include <stdbool.h>, <limits.h>.
58935         (_POSIX_NAME_MAX): Define if not defined.
58936         (MIN): New macro.
58937         (same_name): If file names are silently truncated, report
58938         that the file names are the same if they are the same after
58939         the silent truncation.
58940
58941         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
58942         conversion function.
58943         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
58944         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
58945         longer needed.
58946
58947 2004-01-15  Jim Meyering  <jim@meyering.net>
58948
58949         Merge from coreutils.
58950
58951         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
58952         if no library is required.
58953         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
58954         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
58955         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
58956         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
58957         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
58958         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
58959         value, $ac_cv_search_crypt, if it's "none required".
58960         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
58961         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
58962         not gl_FUNC_GETLOADAVG.
58963         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
58964         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
58965
58966 2004-01-15  Jim Meyering  <jim@meyering.net>
58967
58968         Merge from coreutils.
58969
58970         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
58971         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
58972         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
58973
58974         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
58975         optional configure-time default.
58976
58977         * lib/version-etc.c (version_etc_copyright): Update copyright date.
58978
58979         * lib/xreadlink.c (xreadlink): Correct outdated comment.
58980
58981 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
58982
58983         Merge from coreutils.
58984
58985         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
58986         value, $ac_cv_search_nanosleep, if it's "none required".
58987
58988 2004-01-14  Paul Eggert  <eggert@twinsun.com>
58989
58990         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
58991         with like-named macro in fnmatch.c.
58992         (EXT): Use an internal constant instead.
58993
58994         Merge fnmatch patches from glibc.
58995         * lib/fnmatch.c (mbsinit): Remove define.
58996         Add libc_hidden_ver (__fnmatch, fnmatch).
58997         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
58998         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
58999
59000 2004-01-14  Karl Berry  <karl@gnu.org>
59001
59002         * config/install-sh: update from automake.
59003
59004 2004-01-13  Karl Berry  <karl@gnu.org>
59005
59006         * config/install-sh: update from automake.
59007
59008 2004-01-09  Karl Berry  <karl@gnu.org>
59009
59010         * config/install-sh: update from automake.
59011
59012 2004-01-05  Karl Berry  <karl@gnu.org>
59013
59014         * config/config.{sub,guess}: update from config.
59015
59016 2003-12-31  Karl Berry  <karl@gnu.org>
59017
59018         * config/depcomp: update from automake.
59019
59020 2003-12-14  Karl Berry  <karl@gnu.org>
59021
59022         * lib/config.charset: update from gettext-runtime.
59023
59024 2003-12-03  Paul Eggert  <eggert@twinsun.com>
59025
59026         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
59027         Bug reported by Alfred M. Szmidt.
59028
59029 2003-12-03  Bruno Haible  <bruno@clisp.org>
59030
59031         * m4/gettext.m4: Upgrade from gettext-0.13.
59032         * m4/po.m4: Upgrade from gettext-0.13.
59033         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
59034         * m4/intmax.m4: New file, from gettext-0.13.
59035         * m4/printf-posix.m4: New file, from gettext-0.13.
59036
59037 2003-11-29  Karl Berry  <karl@gnu.org>
59038
59039         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
59040
59041 2003-11-25  Paul Eggert  <eggert@twinsun.com>
59042             Bruno Haible  <bruno@clisp.org>
59043
59044         * lib/printf-parse.h: Don't include sys/types.h.
59045         (ARG_NONE): New macro.
59046         (char_directive): Change type of *arg_index fields to size_t.
59047         * lib/printf-parse.c: Don't include sys/types.h.
59048         (SSIZE_MAX): Remove macro.
59049         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
59050         Remove unnecessary overflow check.
59051         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
59052         fields.
59053
59054 2003-11-25  Bruno Haible  <bruno@clisp.org>
59055
59056         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
59057
59058 2003-11-25  Bruno Haible  <bruno@clisp.org>
59059
59060         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
59061         gt_TYPE_SSIZE_T.
59062
59063 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59064
59065         * modules/alloca: Remove dependency on xalloc.
59066
59067 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59068
59069         * lib/alloca.c: Remove dependency on xalloc module.
59070         (xalloc_die): Remove.
59071         (memory_full) [!defined emacs]: New macro.
59072         [!defined emacs]: Don't include xalloc.h.
59073         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
59074         address arithmetic overflows.  Change datatypes a bit to avoid
59075         unnecessary casts.
59076
59077 2003-11-22  Jim Meyering  <jim@meyering.net>
59078
59079         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
59080         s/size/size_t/.
59081
59082 2003-11-21  Karl Berry  <karl@gnu.org>
59083
59084         * config/config.{sub,guess}: update from config.
59085
59086 2003-11-18  Karl Berry  <karl@gnu.org>
59087
59088         * config/config.{sub,guess}: update from config.
59089
59090         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
59091
59092 2003-11-17  Paul Eggert  <eggert@twinsun.com>
59093
59094         * README: Mention that S+T cannot overflow if S is the size of
59095         an existing object and T is sufficiently small.
59096
59097 2003-11-17  Jim Meyering  <jim@meyering.net>
59098
59099         On systems without utime and without a utimes function capable of
59100         dealing with a NULL struct utimbuf* argument, this utime replacement
59101         could -- in unusual circumstances -- leak a file descriptor.
59102         * lib/utime.c: Include <unistd.h> and <errno.h>.
59103         (utime_null): Be sure to close `fd' and to preserve errno.
59104         Reported by Geoff Collyer via Arnold Robbins.
59105
59106 2003-11-17  Bruno Haible  <bruno@clisp.org>
59107
59108         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
59109         (Depends-on): Add xsize.
59110
59111 2003-11-17  Bruno Haible  <bruno@clisp.org>
59112
59113         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
59114
59115 2003-11-17  Bruno Haible  <bruno@clisp.org>
59116
59117         * lib/vasnprintf.c (alloca): Remove fallback definition.
59118         (freea): Remove definition.
59119         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
59120         Reported by Paul Eggert.
59121
59122 2003-11-16  Paul Eggert  <eggert@twinsun.com>
59123             Bruno Haible  <bruno@clisp.org>
59124
59125         Protect against address arithmetic overflow.
59126         * lib/printf-args.h: Include stddef.h.
59127         (arguments): Change type of field 'count' to size_t.
59128         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
59129         'unsigned int' where appropriate.
59130         * lib/printf-parse.h: Include sys/types.h.
59131         (char_directive): Change type of *arg_index fields to ssize_t.
59132         (char_directives): Change type of fields 'count', max_*_length to
59133         size_t.
59134         * lib/printf-parse.c: Include sys/types.h and xsize.h.
59135         (SSIZE_MAX): Define fallback value.
59136         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
59137         instead of 'int' where appropriate. Check a_allocated, d_allocated
59138         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
59139         * lib/vasnprintf.c: Include xsize.h.
59140         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
59141         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
59142         overflow. Avoid wraparound when converting a width or precision from
59143         decimal to binary.
59144
59145 2003-11-16  Bruno Haible  <bruno@clisp.org>
59146
59147         Update from GNU gettext.
59148         * lib/printf-parse.c: Generalize to it can be compiled for wide
59149         strings.
59150         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
59151         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
59152         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
59153         SNPRINTF): New macros.
59154         Don't include <alloca.h> if the file is used inside libintl.
59155         (local_wcslen): New function, for Solaris 2.5.1.
59156         (VASNPRINTF): Use it instead of wcslen.
59157
59158 2003-11-16  Bruno Haible  <bruno@clisp.org>
59159
59160         * lib/xsize.h (xmax): New function.
59161         (xsum, xsum3, xsum4): Declare as "pure" functions.
59162
59163 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59164
59165         * modules/xalloc (Files): Undo latest change, since xalloc.h
59166         no longer needs SIZE_MAX or PTRDIFF_MAX.
59167
59168 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59169
59170         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
59171         gl_PTRDIFF_MAX.
59172
59173 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59174
59175         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
59176         "return", to pacify some unknown compiler.  Problem reported
59177         by Joerg Schilling.
59178
59179 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59180
59181         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
59182         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
59183         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
59184         heuristic is just as accurate as far as we know, and it removes a
59185         dependency on size_max.m4 and ptrdiff_max.m4.
59186
59187 2003-11-11  Bruno Haible  <bruno@clisp.org>
59188
59189         * modules/xsize (Files): Add m4/size_max.m4.
59190         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
59191
59192 2003-11-11  Bruno Haible  <bruno@clisp.org>
59193
59194         * m4/size_max.m4: New file.
59195         * m4/ptrdiff_max.m4: New file.
59196         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
59197         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
59198         (gl_XALLOC): Invoke it.
59199
59200 2003-11-11  Bruno Haible  <bruno@clisp.org>
59201
59202         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
59203         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
59204         defined.
59205
59206 2003-11-10  Paul Eggert  <eggert@twinsun.com>
59207
59208         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
59209         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
59210         rejected some allocations of exactly SIZE_MAX - 2 bytes.
59211         From Bruno Haible.
59212         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
59213         not (size_t) -1, since it's defined here.
59214
59215 2003-11-09  Karl Berry  <karl@gnu.org>
59216
59217         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
59218
59219 2003-11-06  Paul Eggert  <eggert@twinsun.com>
59220
59221         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
59222         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
59223         Reject sizes of exactly SIZE_MAX bytes.
59224         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
59225         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
59226
59227 2003-11-05  Bruno Haible  <bruno@clisp.org>
59228
59229         * lib/xsize.h: Include limits.h, to avoid a possible collision with
59230         SIZE_MAX defined in <limits.h> on Solaris.
59231
59232 2003-11-04  Jim Meyering  <jim@meyering.net>
59233
59234         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
59235         variable names, rather than @VAR@.
59236         * modules/poll: Likewise.
59237
59238 2003-11-04  Bruno Haible  <bruno@clisp.org>
59239
59240         * modules/xsize: New file.
59241         * modules/linebreak: Depend on xsize.
59242         * MODULES.html.sh (func_all_modules): Add xsize.
59243
59244 2003-11-04  Bruno Haible  <bruno@clisp.org>
59245
59246         * m4/xsize.m4: New file.
59247
59248 2003-11-04  Bruno Haible  <bruno@clisp.org>
59249
59250         * lib/xsize.h: New file.
59251         * lib/linebreak.c: Include xsize.h.
59252         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
59253         argument for overflow.
59254         Suggested by Paul Eggert.
59255
59256 2003-11-03  Karl Berry  <karl@gnu.org>
59257
59258         * config/config.{guess,sub}: update from config.
59259
59260 2003-11-03  Jim Meyering  <jim@meyering.net>
59261
59262         * modules/userspec (lib_SOURCES): Add userspec.h.
59263         (Include): Add "userspec.h".
59264         Improve description.
59265
59266 2003-11-03  Jim Meyering  <jim@meyering.net>
59267
59268         * lib/userspec.c: Include "userspec.h".
59269         * lib/userspec.h: New file.
59270
59271 2003-11-03  Bruno Haible  <bruno@clisp.org>
59272
59273         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
59274
59275 2003-11-03  Bruno Haible  <bruno@clisp.org>
59276
59277         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
59278         available, to avoid (extremely rare) race condition.
59279         Suggested by Paul Eggert.
59280
59281 2003-11-02  Karl Berry  <karl@gnu.org>
59282
59283         * config/srclist.txt (vasprintf.c): sync broken, sigh.
59284
59285 2003-10-31  Paul Eggert  <eggert@twinsun.com>
59286
59287         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
59288         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
59289         (read_filesystem_list): Set and use me_type_malloced.
59290         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
59291         whatever the type happens to be), for brevity and consistency.
59292         Check for size calculation overflow on Alphas running OSF/1.
59293
59294 2003-10-31  Jim Meyering  <jim@meyering.net>
59295
59296         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
59297
59298         * lib/linebuffer.c: Include <string.h> for declaration of memset.
59299
59300 2003-10-30  Paul Eggert  <eggert@twinsun.com>
59301             Bruno Haible  <bruno@clisp.org>
59302
59303         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
59304         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
59305
59306 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59307
59308         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
59309         netbsd*-gnu*.  Suggested by Robert Millan.
59310
59311 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59312
59313         * modules/group-member: Depend on stdbool.
59314
59315 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59316
59317         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
59318
59319 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59320
59321         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
59322         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
59323         after the 'gnu' in these cases.  This fixes some bugs in the
59324         previous change, and is based on suggestions by Robert Millan.
59325
59326 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59327
59328         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
59329         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
59330         no longer needed.
59331         * lib/quotearg.c (quotearg_n_options): Use it.
59332         * lib/group-member.c: Include <stdbool.h>.
59333         (free_group_info): Arg is now const *; don't free arg.
59334         (get_group_info): Now returns bool and accepts struct group_info *,
59335         rather than returning a malloc'ed struct group_info *.
59336         All uses changed.  Check for overflow in internal size calculation.
59337
59338         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
59339         rather than xmalloc/xrealloc.
59340         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
59341         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
59342         conformance bug: the old code used a pointer after freeing the
59343         storage that it addressed.
59344         * lib/hash.c (hash_initialize): Simplify the code by using
59345         xalloc_oversized rather than doing it by hand.
59346         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
59347         the buffer preserved.  Use free and xmalloc instead.
59348         * lib/quotearg.c (quotearg_n_options): Likewise.
59349         Use a simpler test for size overflow.  Don't use xalloc_oversized
59350         because unsigned int might be wider than size_t (!); this suggests
59351         that we should switch from unsigned int to size_t for slot numbers.
59352
59353 2003-10-28  Paul Eggert  <eggert@twinsun.com>
59354
59355         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
59356         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
59357         NetBSD kernels.  Requested by Richard Stallman.
59358
59359 2003-10-27  Paul Eggert  <eggert@twinsun.com>
59360
59361         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
59362         to allocate the returned structure.  Do not allocate a subarray,
59363         as x2nrealloc will do that.
59364         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
59365         instead of xnrealloc.
59366         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
59367
59368 2003-10-27  Bruno Haible  <bruno@clisp.org>
59369
59370         * lib/stdbool_.h: Better support for BeOS.
59371
59372 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59373
59374         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
59375         now uses inline.
59376
59377 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59378
59379         * lib/xalloc.h (xalloc_oversized): New static inline function, for
59380         callers that want to do their own size-overflow checking.  Include
59381         <stdbool.h>, since xalloc_oversized returns bool.
59382         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
59383         to use xalloc_oversized.
59384
59385         Add two functions x2realloc, x2nrealloc, for programs that grow
59386         arrays dynamically by doubling their sizes.
59387         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
59388         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
59389         New functions.
59390
59391         Port to C99 semantics for 'inline' of external functions.
59392         Bug reported by Bruno Haible.
59393         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
59394         with the old contents of xnmalloc.
59395         (xnmalloc, xmalloc): Use it.
59396         (xnrealloc_inline): New static inline function,
59397         with the old contents of xnrealloc.
59398         (xnrealloc, xrealloc): Use it.
59399
59400         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
59401         that.
59402
59403 2003-10-26  Karl Berry  <karl@gnu.org>
59404
59405         * config/srclist.txt (COPYING.DOC): no longer available from
59406         /gd/gnuorg; don't know where the ultimate source is.
59407
59408 2003-10-25  Paul Eggert  <eggert@twinsun.com>
59409
59410         Fix several address-calculation bugs in the hash modules,
59411         plus some minor code cleanup.
59412
59413         * lib/hash.h: Include <stdbool.h>, for bool.
59414         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
59415         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
59416         hash_get_n_entries, hash_get_max_bucket_length,
59417         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
59418         hash_rehash): Use size_t rather than unsigned.
59419         * lib/hash.c (struct hash_table, hash_get_n_buckets,
59420         hash_get_n_buckets_used, hash_get_n_entries,
59421         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
59422         hash_get_entries, hash_do_for_each, hash_string, is_prime,
59423         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
59424         Likewise.
59425         (SIZE_MAX): Define if not defined.
59426         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
59427         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
59428         hash_print):
59429         Use const * when possible.
59430         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
59431         (check_tuning): Fix bug: if tuning parameters were very close to
59432         0 or 1, rounding errors could have caused subscript violations.
59433         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
59434         (hash_initialize): Add 'fail:' label
59435         to free table and return NULL, and use it to simplify code.
59436         Use calloc rather than clearing the storage ourself.
59437         (hash_initialize, hash_rehash): Check for arithmetic overflow in
59438         buffer size calculations.
59439         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
59440         Include <stddef.h>, for size_t.
59441         * lib/hash-pjw.c (hash_pjw): Likewise.
59442         Switch to method described by Bruno Haible.
59443         Include <limits.h>, for CHAR_BIT.
59444         (SIZE_BITS): New macro.
59445
59446 2003-10-23  Paul Eggert  <eggert@twinsun.com>
59447
59448         * m4/getline.m4 (AM_FUNC_GETLINE):
59449         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
59450         hosts.  Problem reported by Derek Robert Price in
59451         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
59452         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
59453         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
59454
59455 2003-10-21  Paul Eggert  <eggert@twinsun.com>
59456
59457         * lib/getndelim2.c (getndelim2): When size calculation overflows,
59458         ceiling the allocation at NMAX bytes rather than silently
59459         discarding input bytes before NMAX is reached.  This makes
59460         a difference only if NMAX exceeds SIZE_MAX / 2.
59461
59462         * lib/obstack.c: Merge from glibc.
59463         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
59464         Add libc_hidden_def (_obstack_newchunk).
59465         (_obstack_free) [! defined _LIBC]: Remove.
59466         [defined _LIBC]: Make a strong alias from obstack_free, rather than
59467         a clone of the function body.
59468         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
59469         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
59470
59471         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
59472         glibc.
59473         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
59474         arg to memcpy.
59475
59476         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
59477         (obstack_ptr_grow_fast, obstack_int_grow_fast):
59478         Don't use lvalue casts, as GCC plans to remove support for them
59479         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
59480         was also present in the non-GCC version, indicating that this
59481         code had always been buggy and had never been widely used.
59482         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
59483         Use the fast variant of each macro, rather than copying the
59484         definiens of the fast variant; that way, we'll be more likely to
59485         catch future bugs in the fast variants.
59486
59487 2003-10-20  Bruno Haible  <bruno@clisp.org>
59488
59489         * modules/wait-process: New file.
59490         * MODULES.html.sh (func_all_modules): Add wait-process.
59491
59492 2003-10-20  Bruno Haible  <bruno@clisp.org>
59493
59494         * m4/wait-process.m4: New file.
59495
59496 2003-10-20  Bruno Haible  <bruno@clisp.org>
59497
59498         * lib/wait-process.h: New file, from GNU gettext.
59499         * lib/wait-process.c: New file, from GNU gettext.
59500
59501 2003-10-19  Jim Meyering  <jim@meyering.net>
59502
59503         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
59504         HPUX 10.20.
59505
59506 2003-10-18  Karl Berry  <karl@gnu.org>
59507
59508         * config/config.guess: update from config.
59509
59510 2003-10-16  Paul Eggert  <eggert@twinsun.com>
59511
59512         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
59513         (getgroups): First arg is int, not size_t.
59514         Don't let 'free' mangle errno.
59515
59516 2003-10-16  Paul Eggert  <eggert@twinsun.com>
59517
59518         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
59519
59520 2003-10-16  Karl Berry  <karl@gnu.org>
59521
59522         * config/config.{guess,sub}: update from config.
59523
59524 2003-10-16  Jim Meyering  <jim@meyering.net>
59525
59526         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
59527         memcpy.
59528
59529 2003-10-15  Paul Eggert  <eggert@twinsun.com>
59530
59531         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
59532         (SIZE_MAX): Remove.
59533         (new_exclude, add_exclude_file): Initial size no longer needs to
59534         be a power of 2.
59535         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
59536         our own address arithmetic overflow checking.
59537
59538         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
59539         (fnmatch): Do not alloca more than 2000 wide characters;
59540         instead, use malloc for large buffers.
59541         Check for address arithmetic overflow, and return -1
59542         with errno set to ENOMEM in that case.
59543         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
59544         (NEW_PATTERN): Do not alloca more than 8000 bytes;
59545         instead, return -1.  Check for address arithmetic overflow.
59546
59547 2003-10-14  Paul Eggert  <eggert@twinsun.com>
59548
59549         Handle invalid suffixes and overflow independently, so that
59550         callers can treat them independently as needed.  Fix some bugs in
59551         suffix handling, e.g., "100k@" was not diagnosed as an invalid
59552         suffix for a human-readable blocksize.  The major caller-visible
59553         change is the addition of a new
59554         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
59555         that both overflow and suffix chars were found.
59556
59557         * lib/human.c (humblock): Don't check separately for invalid suffix
59558         char; that is xstrtoumax's job (now that its bug is fixed).
59559         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
59560         INTMAX_MAX]: New macros.
59561         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
59562         TYPE_MAXIMUM): New macros.
59563         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
59564         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
59565         if overflow occurs, as it's what __strtol does and it's more useful
59566         in practice.
59567         (__xstrtol): If __strtol reports some error other than ERANGE,
59568         reflect it to the caller as LONGINT_INVALID.  If it reports
59569         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
59570         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
59571         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
59572         value.
59573         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
59574         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
59575         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
59576         [defined UINTMAX_MAX]: New macros.
59577
59578 2003-10-14  Bruno Haible  <bruno@clisp.org>
59579
59580         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
59581
59582 2003-10-14  Bruno Haible  <bruno@clisp.org>
59583
59584         * m4/sig_atomic_t: New file, from GNU gettext.
59585         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
59586
59587 2003-10-14  Bruno Haible  <bruno@clisp.org>
59588
59589         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
59590         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
59591         Also use volatile where needed.
59592
59593 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59594
59595         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
59596         Change maintainer from Bruno Haible to 'all'.
59597
59598 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59599
59600         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
59601
59602 2003-10-12  Paul Eggert  <eggert@twinsun.com>
59603
59604         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
59605         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
59606         and define in terms of the other primitives.
59607         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
59608         (SIZE_MAX): Define if not already defined.
59609         (array_size_overflow): New function.
59610         (xalloc_die): Abort instead of exiting if 'error' returns.
59611         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
59612         (xmalloc, xrealloc): Use them.
59613         (xcalloc): Check for address arithmetic overflow.
59614         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
59615         a bit faster than strcpy.
59616
59617 2003-10-10  Simon Josefsson  <jas@extundo.com>
59618
59619         * modules/argp (Depends-on): Add restrict and strcase.
59620
59621 2003-10-10  Simon Josefsson  <jas@extundo.com>
59622
59623         * m4/argp.m4: Add AC_C_INLINE.
59624
59625 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59626
59627         Merge getpass from libc, plus a few fixes.
59628
59629         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
59630         Include <stdbool.h>.
59631         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
59632         __fsetlocking to empty.
59633         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
59634         do include <bits/libc-lock.h>.
59635         Do not include <fcntl.h>; not needed.
59636         [_LIBC]: Include <wchar.h>.
59637         (NOTCANCEL_MODE): New macro.
59638         (flockfile, funlockfile) [_LIBC]: New macros.
59639         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
59640         [!_LIBC]: New macros.
59641         (call_fclose): New function.
59642         (getpass): Use it.  Save tty stream separately; this simplifies the
59643         code and makes it more reliable if stdin happens to equal stdout.
59644         Invoke __fsetlocking on tty.
59645         Handle thread cancellation if needed.
59646         Namespace cleanup (use __tcgetattr, __getline).
59647         Use bool for Booleans.
59648         [USE_IN_LIBIO]: Handle wide streams.
59649         [!_LIBC]: Unconditionally do the fseek, since we don't know what
59650         stream might go where.
59651
59652         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
59653         doesn't have to include <stdio.h> before us.
59654         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
59655         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
59656         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
59657         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
59658         if not declared, so that we can use getpass.c code from libc without
59659         rewriting it.
59660         (flockfile, ftrylockfile, funlockfile): New macros.
59661
59662 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59663
59664         * modules/getpass: Depend on stdbool.
59665
59666 2003-10-08  Paul Eggert  <eggert@twinsun.com>
59667
59668         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
59669
59670 2003-10-07  Karl Berry  <karl@gnu.org>
59671
59672         * config/config.{guess,sub}: update from config.
59673
59674 2003-10-06  Jim Meyering  <jim@meyering.net>
59675             Bruno Haible  <bruno@clisp.org>
59676
59677         This lets translators provide better translations for the
59678         "Written by ..." part of --version output.
59679         * lib/version-etc.h: Include stdarg.h.
59680         (version_etc_copyright): Declare as readonly.
59681         (version_etc): Make this function variadic with a NULL-terminated list
59682         of author name strings.
59683         (version_etc_va): New declaration.
59684         * lib/version-etc.c: Include stdarg.h, stdlib.h.
59685         (version_etc_copyright): Declare as readonly.
59686         (version_etc_va): New function. Provide a different translatable string
59687         for each possible number of authors < 10. Abbreviate when there are 10
59688         authors or more.
59689         (version_etc): Make this function variadic. Call version_etc_va.
59690         Suggestion from Gary V. Vaughan.
59691
59692         * lib/long-options.h (parse_long_options): Change prototype: the
59693         authors string is moved to the end and becomes variadic.
59694         * lib/long-options.c: Include stdarg.h.
59695         (parse_long_options): Make this function variadic, too.
59696         Call version_etc_va, not version_etc.
59697
59698 2003-10-06  Bruno Haible  <bruno@clisp.org>
59699
59700         * modules/version-etc-2: Remove file.
59701         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
59702
59703 2003-10-06  Bruno Haible  <bruno@clisp.org>
59704
59705         * modules/fatal-signal: New file.
59706         * MODULES.html.sh (func_all_modules): Add fatal-signal.
59707
59708 2003-10-06  Bruno Haible  <bruno@clisp.org>
59709
59710         * m4/fatal-signal.m4: New file.
59711         * m4/signalblocking.m4: New file, from GNU gettext.
59712
59713 2003-10-06  Bruno Haible  <bruno@clisp.org>
59714
59715         * lib/version-etc-2.h: Remove file.
59716         * lib/version-etc-2.c: Remove file.
59717
59718 2003-10-06  Bruno Haible  <bruno@clisp.org>
59719
59720         * lib/fatal-signal.h: New file, from GNU gettext.
59721         * lib/fatal-signal.c: New file, from GNU gettext.
59722
59723 2003-10-05  Paul Eggert  <eggert@twinsun.com>
59724
59725         * README: Rework advice for preventing empty .o files.
59726         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
59727         not <sys/types.h>.
59728
59729 2003-10-04  Karl Berry  <karl@gnu.org>
59730
59731         * lib/argp*: update from libc.
59732
59733 2003-10-04  Karl Berry  <karl@gnu.org>
59734
59735         * config/config.{guess,sub}: update from config.
59736
59737 2003-10-02  Bruno Haible  <bruno@clisp.org>
59738
59739         * modules/lchown (Include): Add lchown.h.
59740         * modules/time_r (Include): Use "..." syntax.
59741         * modules/xgetdomainname (Include): Add xgetdomainname.h.
59742
59743 2003-10-01  Simon Josefsson  <jas@extundo.com>
59744
59745         * MODULES.html.sh (func_all_modules): Move gethostname from section
59746         'based on' to section 'lacking' POSIX:2001.
59747
59748 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
59749
59750         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
59751         to output mode on the same stream.
59752
59753 2003-09-29  Paul Eggert  <eggert@twinsun.com>
59754
59755         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
59756         Fix arg typo in previous patch.
59757
59758 2003-09-28  Jim Meyering  <jim@meyering.net>
59759
59760         * lib/error.c: Correct cpp indentation.
59761
59762 2003-09-27  Paul Eggert  <eggert@twinsun.com>
59763
59764         * modules/free: New file.
59765
59766 2003-09-27  Paul Eggert  <eggert@twinsun.com>
59767
59768         * m4/free.m4: New file.
59769
59770 2003-09-27  Paul Eggert  <eggert@twinsun.com>
59771
59772         * lib/minmax.h (MIN, MAX)
59773         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
59774         Omit the special code that used __typeof__, since we worry that
59775         it could be more trouble than it's worth.  See:
59776         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
59777         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
59778
59779         * lib/free.c: New file.
59780
59781 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
59782
59783         Trivial fixes to Makefile.am parts of module listings.
59784         * modules/strstr: Append strstr.h to lib_SOURCES.
59785         * modules/strcase: Likewise, for strcase.h.
59786
59787 2003-09-27  Karl Berry  <karl@gnu.org>
59788
59789         * config/mkinstalldirs: update from automake.
59790
59791 2003-09-26  Paul Eggert  <eggert@twinsun.com>
59792
59793         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
59794         (error_tail): Do not loop, reallocating temporary buffer, since
59795         the output cannot contain more wide characters than the input
59796         contains bytes, the size must be big enough already.  This avoids
59797         one potential size overflow calculation.  Check for size overflow
59798         when calculating temporary buffer size.  Free temporary buffer
59799         when done, if it was allocated with malloc; this plugs a memory
59800         leak.  Remove casts from void * to pointers, that are no longer
59801         needed now that we're assuming C89 or better.
59802
59803         Merge error changes from glibc.
59804
59805         * lib/error.c, error.h: Update copyright notice header to match glibc.
59806         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
59807         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
59808         Disable cancellation while printing error.
59809         * lib/error.h: Prepend __ to parameter names.
59810
59811 2003-09-26  Jim Meyering  <jim@meyering.net>
59812
59813         * lib/error.c (error_tail): Move some declarations
59814         into inner scope where the local variables are used.
59815
59816 2003-09-26  Bruno Haible  <bruno@clisp.org>
59817
59818         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
59819         stpncpy().
59820         Don't define stpncpy through config.h; it's now done through stpncpy.h.
59821
59822 2003-09-26  Bruno Haible  <bruno@clisp.org>
59823
59824         * lib/stpncpy.h (gnu_stpncpy): New declaration.
59825         (stpncpy): Define as alias for gnu_stpncpy.
59826         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
59827
59828 2003-09-25  Simon Josefsson  <jas@extundo.com>
59829
59830         * lib/xgetdomainname.h: New file.
59831         * lib/xgetdomainname.c: New file.
59832
59833 2003-09-25  Simon Josefsson  <jas@extundo.com>
59834             Bruno Haible  <bruno@clisp.org>
59835
59836         * modules/getdomainname: New file.
59837         * modules/xgetdomainname: New file.
59838         * MODULES.html.sh (func_all_modules): Add getdomainname,
59839         xgetdomainname.
59840
59841 2003-09-25  Simon Josefsson  <jas@extundo.com>
59842             Bruno Haible  <bruno@clisp.org>
59843
59844         * m4/getdomainname.m4: New file.
59845
59846 2003-09-25  Simon Josefsson  <jas@extundo.com>
59847             Bruno Haible  <bruno@clisp.org>
59848
59849         * lib/getdomainname.h: New file.
59850         * lib/getdomainname.c: New file.
59851
59852 2003-09-25  Karl Berry  <karl@gnu.org>
59853
59854         * lib/argp-fmtstream.c, argp-help.c: update from libc.
59855
59856 2003-09-25  Karl Berry  <karl@gnu.org>
59857
59858         * config/install-sh: update from automake.
59859
59860 2003-09-25  Bruno Haible  <bruno@clisp.org>
59861
59862         * modules/version-etc-2: New file, from modules/version-etc with
59863         modifications.
59864         * MODULES.html.sh (func_all_modules): Add version-etc-2.
59865
59866 2003-09-25  Bruno Haible  <bruno@clisp.org>
59867
59868         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
59869         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
59870
59871 2003-09-24  Simon Josefsson  <jas@extundo.com>
59872
59873         * modules/xgethostname: Add xgethostname.h.
59874
59875 2003-09-24  Paul Eggert  <eggert@twinsun.com>
59876
59877         * lib/linebuffer.c (freebuffer): Don't free the argument, just
59878         the buffer associated with the argument.  Bug reported by
59879         Simon Josefsson.
59880
59881 2003-09-24  Paul Eggert  <eggert@twinsun.com>
59882
59883         * README: Document assumptions that 'int' is at least 32 bits
59884         wide, that integer arithmetic is 2's complement without overflow,
59885         that there are no holes in integer values, that adding sizes of
59886         two nonoverlapping objects can't overflow, and that all-bits-zero
59887         yields scalar zero.  Fix spelling and capitalization typos.
59888
59889 2003-09-19  Karl Berry  <karl@gnu.org>
59890
59891         * lib/argp.h: update from libc.
59892
59893 2003-09-17  Paul Eggert  <eggert@twinsun.com>
59894
59895         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
59896         to avoid spurious warnings like "AC_RUN_IFELSE was called before
59897         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
59898
59899 2003-09-17  Paul Eggert  <eggert@twinsun.com>
59900
59901         * gnulib-tool: Use "test -h", not "test -L", for portability
59902         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
59903         (tags_regexp): Remove, since \| doesn't conform to POSIX.
59904         (sed_extract_prog): Issue s commands one-by-one, rather than
59905         using \| in one s command.
59906
59907 2003-09-16  Paul Eggert  <eggert@twinsun.com>
59908
59909         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
59910         input error, instead of returning NULL the next time we are called
59911         (and therefore losing track of errno).
59912
59913 2003-09-16  Bruno Haible  <bruno@clisp.org>
59914
59915         * gnulib-tool (func_create_testdir): Warn about duplicated
59916         dependencies.
59917
59918 2003-09-15  Paul Eggert  <eggert@twinsun.com>
59919
59920         * modules/argmatch, modules/fatal, modules/obstack,
59921         modules/xalloc, modules/xgethostname: Sort dependencies by
59922         importance, not alphabetically.
59923
59924 2003-09-15  Paul Eggert  <eggert@twinsun.com>
59925
59926         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
59927         fails, so that the caller gets the proper errno.
59928
59929         * lib/readutmp.c (read_utmp): Likewise.
59930         Check for fstat error.  Close stream and free storage
59931         when failing.
59932
59933 2003-09-14  Karl Berry  <karl@gnu.org>
59934
59935         * config/srclist.txt (strdup.c): disable for c89 changes.
59936
59937 2003-09-14  Jim Meyering  <jim@meyering.net>
59938
59939         * lib/getloadavg.c: Correct cpp indentation.
59940         * lib/strdup.c: Likewise.
59941         * lib/vasnprintf.c: Likewise.
59942
59943 2003-09-14  Bruno Haible  <bruno@clisp.org>
59944
59945         * modules/fwriteerror: New file.
59946         * MODULES.html.sh (func_all_modules): Add fwriteerror.
59947
59948 2003-09-14  Bruno Haible  <bruno@clisp.org>
59949
59950         * lib/fwriteerror.h: New file.
59951         * lib/fwriteerror.c: New file.
59952
59953 2003-09-12  Paul Eggert  <eggert@twinsun.com>
59954
59955         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
59956         modules/xgethostname, modules/xalloc: Depend on exit.
59957
59958 2003-09-12  Paul Eggert  <eggert@twinsun.com>
59959
59960         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
59961
59962         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
59963         and AC_MINIX, too, so that their extensions are available.
59964
59965         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
59966         This macro has been superseded by gl_BACKUPFILE.
59967
59968         More patches to assume C89 or better.
59969
59970         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
59971
59972         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
59973         unconditionally.
59974         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
59975         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
59976         Include <string.h>, <stdlib.h> unconditionally.
59977         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
59978         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
59979         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
59980         headers or for string.h.
59981         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
59982         or strtoul.
59983
59984         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
59985         headers.
59986         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
59987         * m4/userspec.m4 (gl_USERSPEC): Likewise.
59988         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
59989         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
59990         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59991         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
59992         memcpy, memset.
59993         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
59994         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
59995         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
59996         strtol.
59997         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
59998         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
59999         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
60000         strtoul.
60001
60002 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60003
60004         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
60005         * lib/obstack.c [!defined _LIBC]: Likewise.
60006         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
60007         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
60008         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
60009
60010         More changes to assume C89 or better.
60011
60012         * lib/error.c (error_tail): Assume vprintf.
60013
60014         * lib/argmatch.c (getenv): Remove decl.
60015         * lib/progreloc.c (get_full_program_name): Define via prototype.
60016         * lib/setenv.c (clearenv): Likewise.
60017         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
60018         needed.
60019         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
60020         (malloc, memcpy): Remove decls.
60021         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
60022         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
60023         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60024         (memcpy): Remove macro.
60025         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
60026         (__P): Remove.  All uses removed.
60027         (PTR): Remove.  All uses changed to void *.
60028         (CHAR_BIT, NULL): Remove.
60029         (spaces, zeros, memset_space, memset_zero)
60030         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
60031         Remove.
60032         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
60033         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
60034         Define with prototype.
60035         Remove now-unnecessary prototype decl.
60036         (extra_args_spec): Assume ANSI C.  All uses changed.
60037         (extra_args_spec_iso): Remove.
60038         (my_strftime, emacs_strftimeu): Define via prototype.
60039         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
60040         unconditionally.
60041         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
60042         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
60043         (strtoul, strtol): Remove decls.
60044         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
60045         LONG_MAX): Remove.
60046         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60047         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
60048         (LOCALE_PARAM_PROTO): New macro.
60049         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
60050         (INTERNAL (strtol), strtol): Define with a prototype.
60051         (PARAMS): Remove.  All uses removed.
60052         * lib/tempname.c: Include <string.h> unconditionally.
60053         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
60054         * lib/xgethostname.c (main): Define with a prototype.
60055         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
60056         Include <stdlib.h> unconditionally.
60057         (calloc, malloc, realloc, free): Remove decls.
60058         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
60059         Include <stdlib.h> unconditionally.  Sort include file names.
60060         (strtod): Remove.
60061         (xstrtod): Define with a prototype.
60062         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
60063         (strtol, strtoul): Remove decls.
60064
60065 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60066
60067         More patches to assume C89 or better.
60068         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
60069         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
60070         string.h, memchr, STDC_HEADERS.
60071
60072 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60073
60074         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
60075         Include <stdlib.h>, <string.h> unconditionally.
60076         Remove now-unnecessary cast to char *.
60077         * lib/strnlen.c: Include <string.h> unconditionally.
60078         * lib/yesno.c (yesno): Define with a prototype.
60079
60080 2003-09-11  Bruno Haible  <bruno@clisp.org>
60081
60082         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
60083
60084 2003-09-10  Jim Meyering  <jim@meyering.net>
60085
60086         * lib/error.c: Correct indentation of cpp directives.
60087
60088 2003-09-10  Bruno Haible  <bruno@clisp.org>
60089
60090         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
60091         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
60092         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
60093         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
60094         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
60095         <stdlib.h> and <string.h> checks.
60096         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
60097         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
60098
60099 2003-09-10  Bruno Haible  <bruno@clisp.org>
60100
60101         * lib/strcspn.c: Include <string.h> unconditionally.
60102         * lib/strpbrk.c: Include <string.h> unconditionally.
60103         * lib/strstr.c: Include <string.h> unconditionally.
60104         * lib/unicodeio.c: Include <string.h> unconditionally.
60105         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
60106         * lib/unsetenv.c: Likewise.
60107         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
60108         * lib/yesno.c: Include <stdlib.h> unconditionally.
60109         (rpmatch): Add prototype.
60110
60111 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60112
60113         More patches to assume C89 or better.
60114         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
60115         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
60116         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
60117         or for string.h.
60118         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
60119         stdlib.h.
60120         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
60121         C headers.
60122         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
60123         string.h.
60124         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
60125         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
60126         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
60127         or for string.h.
60128         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
60129         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
60130         C headers.
60131         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
60132         memcpy.
60133         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
60134         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
60135         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
60136         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
60137         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
60138         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
60139         string.h, free.
60140         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
60141         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
60142         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
60143         C headers, or for string.h.
60144         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
60145         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
60146         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
60147         headers, memory.h, stdlib.h, string.h, strings.h.
60148         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
60149         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
60150         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
60151         strchr.
60152         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
60153         headers, memory.h, string.h.
60154         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
60155         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
60156         free.
60157         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
60158         headers.
60159         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
60160         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
60161         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
60162         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
60163         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
60164
60165 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60166
60167         More K&R removal.
60168
60169         * lib/acosl.c (main): Use a prototype.
60170         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
60171         tanl.c: Likewise.
60172
60173         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
60174
60175         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
60176         (getopt, etopt_long, getopt_long_only, _getopt_internal)
60177         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
60178         with a prototype.
60179         * lib/getopt.c (const): Remove macro.
60180         Include <string.h> unconditionally.
60181         (my_index): Remove; all uses changed to strchr.
60182         (strlen): Remove decl.
60183         (exchange): Remove forward decl; no longer needed.
60184         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
60185         Define with prototype.
60186         * lib/getopt1.c (const): Remove macro.
60187         (getopt_long, getopt_long_only, main): Define with prototype.
60188
60189         * lib/getugroups.c: Include <string.h> unconditionally.
60190
60191         * lib/getusershell.c: Include <stdlib.h> unconditionally.
60192         (getusershell, setusershell, endusershell, readname, main):
60193         Define with prototypes.
60194
60195         * lib/group-member.c: Include group-member.h first.
60196         Include <stdlib.h> unconditionally.
60197
60198         * lib/hard-locale.c: Include hard-locale.h first.
60199         Include <stdlib.h>, <string.h> unconditionally.
60200
60201         * lib/hash.c (free, malloc): Remove decls.
60202         Include <stdlib.h> unconditionally.
60203
60204         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
60205         (getenv): Do not declare.
60206
60207         * lib/idcache.c: Include <string.h> unconditionally.
60208
60209         * lib/long-options.c: Include long-options.h first, to test interface.
60210         Include <stdlib.h> unconditionally.
60211
60212         * lib/makepath.c: Include makepath.h first, to test interface.
60213         Include <stdlib.h> and <string.h> unconditionally.
60214
60215         * lib/linebuffer.c: Include <stdlib.h>.
60216         (free): Remove decl.
60217
60218         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
60219         stddef.h. rpl_malloc returns void *, not char *.
60220         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
60221         prototype.
60222
60223         * lib/md5.h: Include <limits.h> unconditionally.
60224         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
60225         (__P): Remove; all uses removed.
60226         * lib/md5.c: Include "md5.h" first.
60227         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
60228         md5_buffer, md5_process_bytes, md5_process_block):
60229         Define with prototypes.
60230         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
60231         * lib/sha.c: Include "sha.h" first.
60232         Include <stdlib.h>, <string.h> unconditionally.
60233
60234         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
60235         * lib/memcmp.c (__ptr_t): Likewise.
60236         * lib/memrchr.c (__ptr_t): Likewise.
60237         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
60238         Include <string.h> unconditionally.
60239         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
60240         * lib/memchr.c: Include <stdlib.h> unconditionally.
60241         * lib/memchr.c (LONG_MAX): Remove.
60242         * lib/memrchr.c (LONG_MAX): Likewise.
60243         * lib/memchr.c (__memchr): Define via a prototype.
60244         * lib/memrchr.c (__memrchr): Likewise.
60245         * lib/memcmp.c (__P): Remove, and remove all uses.
60246         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
60247         Remove forward decls; no longer needed.
60248         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
60249         Use types required by C89 in prototype.
60250
60251         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
60252         * lib/savedir.c: Likewise.
60253         * lib/mkdir.c (free): Remove decl.
60254         * lib/rmdir.c (rmdir): Define with a prototype.
60255         * lib/savedir.c: Include savedir.h first, to test interface.
60256
60257         * lib/mktime.c (STDC_HEADERS): Remove.
60258         Include <stdlib.h>, <string.h> unconditionally.
60259
60260         * lib/modechange.c: Include <stdlib.h> unconditionally.
60261         (malloc): Remove decl.
60262
60263         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
60264         (free): Remove decl.
60265
60266         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
60267         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
60268         (This type really should be intptr_t, but that's a C99ism.)
60269         (_obstack_memcpy): Remove: all uses changed to memcpy.
60270         Include <string.h> unconditionally.
60271         (struct obstack): Assume __STDC__ for types of members
60272         chunkfun, freefun, extra_arg.
60273         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
60274         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
60275         obstack_begin, obstack_specify_allocation,
60276         obstack_specify_allocation_with_arg, obstack_chunkfun,
60277         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
60278         Remove unprototyped decls and the macros that use them.
60279         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
60280         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
60281         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
60282         (defined __STDC__ && __STDC__)]:
60283         Remove nonprototyped code.
60284         Include <stdlib.h> unconditionally.
60285         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
60286         _obstack_allocated_p, _obstack_free, obstack_free,
60287         _obstack_memory_used, print_and_abort):
60288         Define using prototypes.
60289         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
60290         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
60291         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
60292         obstack_next_free, obstack_object_size, obstack_room) [0]:
60293         Remove unused, unprototyped code.
60294
60295         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
60296
60297         * lib/physmem.c (physmem_total, physmem_available, main): Define
60298         with prototypes.
60299
60300         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
60301         (main): Define with a prototype.
60302
60303         * lib/posixver.c (getenv): Remove decl.
60304
60305         * lib/putenv.c (malloc): Returns void *, not char *.
60306         Include <string.h> unconditionally.
60307         (strchr, memcpy, NULL): Do not define.
60308
60309         * lib/readtokens.c: Include readtokens.h first, to test interface.
60310         Include <stdlib.h>, <string.h> unconditionally.
60311         (init_tokenbuffer): Define with a prototype.
60312
60313         * lib/regex.c (PARAMS): Remove.  All uses removed.
60314         All uses of _RE_ARGS removed, too.
60315         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
60316         unconditionally.
60317         (bzero): Assume memset exists.
60318         (memcmp, memcpy, NULL): Remove.
60319         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
60320         char, or assignments to local vars of type signed char.
60321         (init_syntax_once, PREFIX(extract_number_and_incr),
60322         PREFIX(print_partial_compiled_pattern),
60323         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
60324         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
60325         PREFIX(regex_grow_registers), PREFIX(regex_compile),
60326         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
60327         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
60328         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
60329         wcs_compile_range, byte_compile_range, truncate_wchar,
60330         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
60331         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
60332         count_mbs_length, wcs_re_match_2_internal,
60333         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
60334         PREFIX(alt_match_null_string_p),
60335         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
60336         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
60337         regfree, PREFIX(extract_number)): Define with prototype.  Remove
60338         now-unnecessary declaration, if any.
60339         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
60340         regcomp, regexec):
60341         Remove now-unnecessary casts among pointer types.
60342         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
60343
60344         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
60345         (free): Remove decl.
60346
60347         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
60348
60349         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
60350         (free): Remove decl.
60351
60352         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
60353         * lib/xgetcwd.c: Likewise.
60354
60355         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
60356         (free): Remove decl.
60357
60358         * lib/strchrnul.c (strchrnul): Define with a prototype.
60359         Fix bug: c_in was not converted to char before searching.
60360
60361         The following changes are not K&R related:
60362
60363         * lib/group-member.h: Include <sys/types.h>, so that this file is
60364         self-contained.
60365         * lib/makepath.h: Likewise.
60366
60367         * lib/getusershell.c (readname, default_index, line_size, readname):
60368         Use size_t, not int, for sizes.
60369         (readname): If the size overflows, report an error instead of
60370         looping forever.
60371
60372 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60373
60374         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
60375         libc.
60376
60377 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60378
60379         * README: New section: portability guidelines.
60380
60381 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60382
60383         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
60384         C89 spec.
60385
60386 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60387
60388         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
60389
60390 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60391
60392         Assume C89 or better; remove K&R cruft.
60393         A few of these changes were first proposed by Derek Robert Price
60394         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
60395
60396         * lib/addext.c: Include <string.h> unconditionally.
60397         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
60398         Don't declare getenv or malloc.
60399
60400         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
60401         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
60402         (NULL): Remove.
60403         (find_stack_direction, alloca): Use prototypes.
60404
60405         * lib/atexit.c (atexit): Define using a prototype.
60406
60407         * lib/basename.c, dirname.c, stripslash.c:
60408         Include <string.h> unconditionally.
60409
60410         * lib/bcopy.c: Include <stddef.h>.
60411         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
60412
60413         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
60414
60415         * lib/error.h (error, error_at_line, error_print_progname)
60416         [! (defined (__STDC__) && __STDC__)]: Remove decls.
60417         * lib/error.c: Include error.h first, to check interface.
60418         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
60419         (VA_START): Remove; all uses changeed to va_start.
60420         (exit, strerror): Remove decls.
60421         (error_print_progname): Prototype uncondionally.
60422         Don't include <errno.h>; no longer needed.
60423         (private_strerror): Remove.
60424         (error_tail): Always define.
60425         (error, error_at_line): Assume C89 or better; always use prototypes.
60426         * lib/fatal.c: Include "fatal.h" first, to test interface.
60427         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
60428         (VA_START): Remove; all uses changed to va_start.
60429         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
60430         this case.
60431         (exit): Remove decl.
60432         (fatal): Prototype unconditionally.  Assume va_start works.
60433         Abort at end, to pacify gcc.
60434
60435         * lib/euidaccess.c (main): Define with a prototype.
60436
60437         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
60438
60439         * lib/exitfail.c: Include <stdlib.h> unconditionally.
60440
60441         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
60442         prototypes.
60443         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
60444         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
60445         (getenv): Remove decl.
60446         (fnmatch): Define using a prototype.
60447         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
60448         (FCT): Define using a prototype.
60449
60450         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
60451
60452         * lib/gethostname.c: Include <stddef.h>.
60453         (gethostname): Define with prototype.  Length is size_t, not int.
60454
60455 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60456
60457         Assume C89 or better; remove K&R cruft.
60458         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
60459         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
60460         string.h, getenv, malloc.
60461         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
60462         headers.
60463         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
60464         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
60465         do not check for strerror.
60466         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
60467         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
60468         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
60469         do not check for doprnt or vprintf.
60470         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
60471         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
60472
60473 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60474
60475         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
60476         getversion.c should have been removed then, but was accidentally
60477         preserved.
60478
60479         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
60480         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
60481
60482 2003-09-08  Karl Berry  <karl@gnu.org>
60483
60484         * config/config.sub, config.guess, srclistvars.sh: update from savannah
60485                 config, forget about prep.
60486
60487         * config/depcomp, missing: update from automake.
60488
60489 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60490
60491         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
60492         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60493
60494 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60495
60496         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
60497         copy_tm_result.  Bug reported by Simon Josefsson in
60498         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60499
60500 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60501
60502         * m4/time_r.m4: New file.
60503         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
60504         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
60505         is. Check for timegm declaration.
60506         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
60507         Do not check for gmtime_r.
60508         Replace mktime if __mktime_internal does not exist and if mktime
60509         hasn't been replaced already.
60510
60511 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60512
60513         * lib/time_r.c, lib/time_r.h: New files.
60514
60515         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
60516         __localtime_r.
60517         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
60518         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
60519
60520         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
60521         __gmtime_r.
60522         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
60523         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
60524         Include <time_r.h>.
60525
60526         * lib/timegm.c: Switch to glibc implementation, with the following
60527         changes:
60528         [defined HAVE_CONFIG_H]: Include <config.h>.
60529         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
60530         (__mktime_internal) [!defined _LIBC]: New decl.
60531         (__gmtime_r) [!defined _LIBC]: New macro and function.
60532         (timegm): Use a prototype, since gnulib assumes C89.
60533         Do not bother declaring tmp to be const, as it's not really usefu.
60534         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
60535         (timegm): Declare only if HAVE_DECL_TIMEGM.
60536
60537 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60538
60539         * MODULES.html.sh (func_all_modules): Add time_r.
60540         * modules/time_r: New file.
60541         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
60542         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
60543
60544 2003-09-03  Paul Eggert  <eggert@twinsun.com>
60545
60546         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
60547         Bug reported by Lute Kamstra in
60548         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
60549
60550         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
60551         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
60552         course with correspondingly smaller numbers for tomorrow and
60553         yesterday.  From Tadayoshi Funaba.  Originally installed into
60554         sh-utils on 1999-08-07, but the patch got lost (I guess during the
60555         coreutils merge?).
60556
60557 2003-08-31  Simon Josefsson  <jas@extundo.com>
60558
60559         * modules/timegm: New file.
60560         * MODULES.html.sh (func_all_modules): Add timegm.
60561
60562 2003-08-31  Simon Josefsson  <jas@extundo.com>
60563
60564         * m4/timegm.m4: New file.
60565
60566 2003-08-31  Simon Josefsson  <jas@extundo.com>
60567
60568         * lib/timegm.h: New file.
60569         * lib/timegm.c: New file.  Based on
60570         wget-1.8.2/src/http.c:mktime_from_utc.
60571
60572 2003-08-31  Karl Berry  <karl@gnu.org>
60573
60574         * lib/argp.h: update from libc.
60575
60576 2003-08-28  Bruno Haible  <bruno@clisp.org>
60577
60578         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
60579         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
60580         followed by '#define fnmatch fnmatch_posix' gives an error.
60581
60582 2003-08-28  Bruno Haible  <bruno@clisp.org>
60583
60584         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
60585         warning on QNX, which defines O_BINARY to 000000.
60586
60587 2003-08-27  Jim Meyering  <jim@meyering.net>
60588
60589         * m4/mkstemp.m4: Require that the system mkstemp be able to create
60590         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
60591         would fail after 32.  Reported by Danny Levinson.  Details here:
60592         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
60593
60594 2003-08-24  Bruno Haible  <bruno@clisp.org>
60595
60596         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
60597         MSVC7 <stdio.h> is included later.
60598
60599 2003-08-22  Simon Josefsson  <jas@extundo.com>
60600
60601         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
60602
60603 2003-08-20  Karl Berry  <karl@gnu.org>
60604
60605         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
60606
60607 2003-08-20  Bruno Haible  <bruno@clisp.org>
60608
60609         * modules/progname: New file.
60610         * MODULES.html.sh (func_all_modules): Add progname.
60611
60612 2003-08-20  Bruno Haible  <bruno@clisp.org>
60613
60614         * lib/progname.h: New file, from GNU gettext.
60615         * lib/progname.c: New file, from GNU gettext.
60616         * lib/progreloc.c: New file, from GNU gettext.
60617
60618 2003-08-19  Jim Meyering  <jim@meyering.net>
60619
60620         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
60621         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
60622
60623 2003-08-19  Bruno Haible  <bruno@clisp.org>
60624
60625         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
60626         more.
60627
60628 2003-08-19  Bruno Haible  <bruno@clisp.org>
60629
60630         * lib/xstrdup.c: Assume <string.h> exists.
60631
60632 2003-08-18  Paul Eggert  <eggert@twinsun.com>
60633
60634         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
60635         in makefile rules.
60636
60637 2003-08-18  Jim Meyering  <jim@meyering.net>
60638
60639         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
60640         * m4/lib-ld.m4: Likewise.
60641
60642 2003-08-18  Jim Meyering  <jim@meyering.net>
60643
60644         * lib/setenv.h: Indent nested cpp directive.
60645         * lib/vasnprintf.c: Remove trailing blanks.
60646
60647 2003-08-17  Simon Josefsson  <jas@extundo.com>
60648
60649         * modules/xstrndup: New file.
60650         * MODULES.html.sh (func_all_modules): Add xstrndup.
60651
60652 2003-08-17  Simon Josefsson  <jas@extundo.com>
60653
60654         * modules/argp: Fix autoconf macro name. Add more dependencies.
60655
60656 2003-08-17  Simon Josefsson  <jas@extundo.com>
60657
60658         * m4/xstrndup.m4: New file.
60659
60660 2003-08-17  Simon Josefsson  <jas@extundo.com>
60661
60662         * m4/argp.m4: New file.
60663
60664 2003-08-17  Simon Josefsson  <jas@extundo.com>
60665             Bruno Haible  <bruno@clisp.org>
60666
60667         * lib/xstrndup.h: New file.
60668         * lib/xstrndup.c: New file.
60669
60670 2003-08-17  Bruno Haible  <bruno@clisp.org>
60671
60672         * modules/strndup (Files, Include): Add lib/strndup.h.
60673
60674 2003-08-17  Bruno Haible  <bruno@clisp.org>
60675
60676         * modules/euidaccess (Files): Add lib/euidaccess.h.
60677
60678 2003-08-17  Bruno Haible  <bruno@clisp.org>
60679
60680         * lib/strndup.h: New file.
60681
60682 2003-08-17  Bruno Haible  <bruno@clisp.org>
60683
60684         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
60685         like AC_GNU_SOURCE.
60686         * modules/extensions (configure.ac): Comment out the invocation of
60687         gl_USE_SYSTEM_EXTENSIONS.
60688
60689 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60690
60691         Merges from coreutils, etc.
60692         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
60693         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
60694         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
60695         fixing a typo.
60696         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
60697         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
60698
60699 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60700
60701         Document merge from coreutils.
60702         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
60703         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
60704         * modules/utime: Add m4/utimes-null.m4.
60705
60706 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60707
60708         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
60709         space, undoing this 2003-08-12 change:
60710         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
60711
60712 2003-08-16  Paul Eggert  <eggert@twinsun.com>
60713
60714         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
60715         strtoul.c from libc, undoing this 2003-08-12 change:
60716         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
60717
60718 2003-08-16  Jim Meyering  <jim@meyering.net>
60719
60720         Merges from coreutils.
60721         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
60722         prefix.  Adjust cache variables similarly.  Create 500 rather than
60723         just 300 files, to exercise bug on Darwin6.5, too.
60724         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
60725         $missing_dir.
60726         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
60727         AM_SYS_POSIX_TERMIOS.
60728         Reported by mkc@mathdogs.com.
60729         Also change use of $am_cv_sys_posix_termios
60730         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
60731         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
60732         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
60733         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
60734         in /proc/mounts until it finds one with matching device number.  This
60735         is unnecessary when the FILE argument *is* a mount point.  No stat call
60736         is necessary in that case.  So, disable the statvfs-testing code on
60737         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
60738         as RedHat bug# 84846.
60739         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
60740         to 1MB, so as not to render systems with no stack size limit (e.g.,
60741         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
60742         Include <unistd.h>.  On some systems,
60743         it is required for the definition of _SC_PAGESIZE.
60744
60745 2003-08-16  Jim Meyering  <jim@meyering.net>
60746
60747         Merge from coreutils.
60748         * lib/xstrtoimax.c: #else #if -> #elif.
60749         * lib/xstrtoumax.c: Likewise.
60750
60751 2003-08-16  Jim Meyering  <jim@meyering.net>
60752
60753         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
60754         * m4/utimes.m4: Removed.
60755         * m4/utimes-null.m4: Renamed from utimes.m4.
60756
60757         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
60758         to 1MB, so as not to render systems with no stack size limit (e.g.,
60759         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
60760         Include <unistd.h>.  On some systems,
60761         it is required for the definition of _SC_PAGESIZE.
60762
60763 2003-08-16  Jim Meyering  <jim@meyering.net>
60764         and Paul Eggert  <eggert@cs.ucla.edu>
60765
60766         Merges from coreutils, etc.
60767
60768         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
60769         using the latest version from cvs.  This avoids problems with #line
60770         directives using a vendor (Sun) compiler.
60771         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
60772         Don't set GETGROUPS_LIB here; now it's
60773         done via getgroups.m4's wrapper function.
60774         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
60775         rather than just in sh-util/configure.in, so that the
60776         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
60777         same.
60778         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
60779         AC_FUNC_GETLOADAVG where to find getloadavg.c.
60780         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
60781         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
60782         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
60783         Remove code that is now done by the newly-required macros.
60784         Append $(EXEEXT) to DF_PROG.
60785         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
60786         Do not invoke or require the following here,
60787         since prereq.m4 or some gnulib .m4 now does this for us:
60788         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
60789         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
60790         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
60791         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
60792         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
60793         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
60794         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
60795         AC_FUNC_OBSTACK.
60796         Do not replace the following functions, as this is now the job
60797         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
60798         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
60799         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
60800         atexit getpass, strdup, getpagesize.
60801         Replace 'raise'.
60802         Do not check for the following functions, as this is now the job
60803         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
60804         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
60805         setregid.
60806         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
60807         Check for sys/sysctl.h.
60808         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
60809         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
60810         of checking for ssize_t ourselves.
60811
60812         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
60813         Require every macro that gnulib/modules/* suggests for us.
60814         (jm_PREREQ_ADDEXT): New macro.
60815         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
60816         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
60817
60818         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
60819         (gl_PHYSMEM): Use it.
60820         Also check for `table' function.
60821         Check for new headers and functions.
60822         Add check for sys/sysmp.h.
60823         With suggestions from Kaveh Ghazi.
60824         Ignore headers that are present but cannot be compiled.  This
60825         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
60826         C 5.4.
60827
60828 2003-08-15  Paul Eggert  <eggert@twinsun.com>
60829
60830         Document merge from coreutils.
60831         * modules/userspec: Depend on posixver.
60832         * modules/strftime: Depend on tzset.
60833
60834 2003-08-15  Paul Eggert  <eggert@twinsun.com>
60835
60836         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
60837         rather than tab, after '#' in shell-script copyright notices.
60838         Suggested by Bruno Haible.
60839
60840 2003-08-15  Paul Eggert  <eggert@twinsun.com>
60841
60842         * config/srclist-update: Use three spaces, rather than tab, after '#'
60843         in shell-script copyright notices.  Suggested by Bruno Haible.
60844         Remove unnecessary parenthesization in regular expression.
60845
60846 2003-08-15  Jim Meyering  <jim@meyering.net>
60847
60848         Merge from coreutils.
60849         * lib/xgethostname.c: Include <stdlib.h>.
60850         (xghostname): Don't exit for anything other than memory-related
60851         failure; just return NULL.
60852         * lib/userspec.c: Include "posixver.h".
60853         (parse_user_spec): Accept `.' as a separator only
60854         in pre-POSIX-200112 mode.
60855         * lib/strtoimax.c: Use #elif rather than #else #if.
60856         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
60857         Remove function, now that we can rely on a working tzset function.
60858         [!_LIBC]: Ensure that the required autoconf test has been run.
60859         [!defined _NL_CURRENT && HAVE_STRFTIME]:
60860         Use underlying_strftime for %r.
60861         * lib/sha.c: Merge in some clean-up and optimization changes from
60862         glibc.
60863         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
60864         Ensure that it is a multiple of 64.
60865         Rearrange loop exit tests so as to avoid performing an
60866         additional fread after encountering an error or EOF.
60867         * lib/realloc.c: Update copyright date.
60868
60869 2003-08-15  Jim Meyering  <jim@meyering.net>
60870         and Paul Eggert  <eggert@twinsun.com>
60871
60872         Merge from coreutils.
60873         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
60874         member but strut utmpx does not.  Needed for AIX 4.3.3.
60875         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
60876
60877 2003-08-15  Jim Meyering  <jim@meyering.net>
60878         and Paul Eggert  <eggert@cs.ucla.edu>
60879
60880         Merges from coreutils, etc.
60881         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
60882         Require gl_FUNC_TZSET_CLOBBER.
60883         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
60884         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
60885         members.
60886
60887 2003-08-14  Paul Eggert  <eggert@twinsun.com>
60888
60889         Help the merge from coreutils.
60890         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
60891         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
60892         * m4/tzset.m4: Use it too.
60893
60894 2003-08-14  Paul Eggert  <eggert@twinsun.com>
60895
60896         * modules/tzset: New file.
60897
60898 2003-08-14  Jim Meyering  <jim@meyering.net>
60899
60900         Merges from coreutils.
60901         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
60902         variable names, rather than @FNMATCH_H@.
60903         * modules/alloca: Likewise for $(ALLOCA_H).
60904
60905         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
60906         the three copies of the literal target, `fnmatch.h'.
60907         * modules/alloca (alloca.h): Likewise.
60908
60909 2003-08-14  Jim Meyering  <jim@meyering.net>
60910
60911         Merge from coreutils.
60912         * m4/tzset.m4: New file.
60913         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
60914         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
60915         otherwise, AIX 5.1 systems would end up using the latter.
60916         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
60917         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
60918         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
60919         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
60920
60921 2003-08-14  Jim Meyering  <jim@meyering.net>
60922
60923         Merge from coreutils.
60924         * lib/obstack.h: Whitespace changes.
60925         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
60926         and xcalloc return values.
60927         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
60928         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
60929         hang on OSF/1 5.1 for DIR on both local and remote file systems.
60930         Reported by (and fix confirmed by) Nelson H. F. Beebe.
60931         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
60932         error from mntctl.
60933         Use mntctl's return value to drive the entry-processing loop, since
60934         we can't rely on the value of the vmt_length member in the last
60935         entry.  On some systems doing so could result in exhausting
60936         virtual memory.  Based in part on a patch from Mike Jetzer.
60937
60938 2003-08-14  Jim Meyering  <jim@meyering.net>
60939         and Paul Eggert  <eggert@twinsun.com>
60940
60941         Merges from coreutils, plus other fixes.
60942         * lib/physmem.c: Merge in portability changes from gcc/libiberty
60943         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
60944         for credits and details.  Thanks to Kaveh Ghazi for helping
60945         to keep these files in sync.
60946         (ARRAY_SIZE): Define it.
60947         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
60948         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
60949         (memcasecmp): Don't assume size_t fits in unsigned int.
60950         Remove casts and duplicate code.
60951         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
60952         (memcpy): Remove definition.
60953         Merge in some clean-up and optimization changes from glibc.
60954         [BLOCKSIZE]: Move definition to top of file.
60955         Ensure that it is a multiple of 64.
60956         Rearrange loop exit tests so as to avoid performing an
60957         additional fread after encountering an error or EOF.
60958         * lib/md5.h (md5_uintptr): Define.
60959         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
60960         return to the initial working directory.  Preserve errno
60961         for caller.
60962         * lib/idcache.c: Include "xalloc.h".
60963         (xmalloc, xrealloc): Remove decls.
60964         (getuser): Remove casts no longer required in C89.
60965         * lib/human.c: Include stdio.h, for sprintf.
60966         * lib/group-member.c: Include "xalloc.h".
60967         (xmalloc, xrealloc): Remove decls.
60968         (get_group_info): Remove casts no longer required in C89.
60969         * lib/getusershell.c (readname): Remove casts no longer required in
60970         C89.
60971         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
60972         * lib/getline.c: Whitespace fix, from coreutils.
60973
60974 2003-08-13  Paul Eggert  <eggert@twinsun.com>
60975
60976         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
60977         Check for isascii.
60978
60979         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
60980         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
60981         Undo previous (whitespace-only) change.
60982
60983 2003-08-13  Paul Eggert  <eggert@twinsun.com>
60984
60985         * lib/exclude.c: Include <ctype.h>
60986         (IN_CTYPE_DOMAIN): New macro.
60987         (is_space): New fn.
60988         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
60989         and empty lines.
60990
60991         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
60992         Undo previous (whitespace-only) change.
60993
60994 2003-08-13  Paul Eggert  <eggert@twinsun.com>
60995
60996         * config/srclist-update: Change update back to the old behavior,
60997         leaving whitespace alone.  Use one 'sed' command rather than a
60998         pipeline.
60999         (fixlicense): Now a variable, not a function.
61000         (remove_trailing_blanks): Remove.
61001         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
61002         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61003         Undo previous (whitespace-only) change.
61004
61005 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61006
61007         Merge from coreutils.
61008         * modules/euidaccess: Add lib_SOURCES, include for new
61009         file euidaccess.h
61010
61011 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61012
61013         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61014         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61015         Normalize leading white space and remove trailing white space.
61016
61017         Merge from coreutils
61018         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
61019
61020         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
61021         0.12.1.  These files are now being upgraded automatically by
61022         ../config/srclist-update.
61023
61024 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61025
61026         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61027         Normalize leading white space and remove trailing white space.
61028         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
61029         notice, as per ../config/srclist-update.
61030
61031         Merge from coreutils.
61032         * lib/euidaccess.h: New file.
61033         * lib/euidaccess.c: Include it.
61034         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
61035         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
61036         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
61037
61038 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61039
61040         * config/srclist-update: Add copyright notice.
61041         (remove_id_lines, remove_trailing_blanks): New constants.
61042         (fixfile): Use them to normalize spacing a bit in copied files.
61043         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61044         Normalize leading white space and remove trailing white space.
61045
61046         * config/texinfo.tex: Sync with texinfo.
61047
61048         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
61049         strtoul.c from libc, to merge coreutils whitespace changes.
61050
61051         * config/srclist.txt: Get the following m4 files from gettext:
61052         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
61053         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
61054         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
61055         wint_t.m4.
61056
61057 2003-08-12  Karl Berry  <karl@gnu.org>
61058
61059         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
61060         been made.
61061
61062 2003-08-11  Paul Eggert  <eggert@twinsun.com>
61063
61064         * modules/gnu-source, m4/gnu-source.m4:
61065         Remove; we're assuming Autoconf 2.54 or later now.
61066         Suggested by Bruno Haible.
61067         * MODULES.html.sh (func_all_modules): Remove gnu-source.
61068
61069 2003-08-11  Bruno Haible  <bruno@clisp.org>
61070
61071         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
61072
61073 2003-08-11  Bruno Haible  <bruno@clisp.org>
61074
61075         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
61076         (vasnprintf): Use it instead of wcslen.
61077
61078 2003-08-11  Bruno Haible  <bruno@clisp.org>
61079
61080         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
61081         value to ensure that _Bool promotes to int. Use #define for _Bool when
61082         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
61083
61084 2003-08-10  Karl Berry  <karl@gnu.org>
61085
61086         * lib/regex.h: update from libc (whitespace fix).
61087
61088 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61089
61090         Merge some files from coreutils.  These changes were
61091         originally made by Jim Meyering.
61092         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
61093         many older Unixes require this.
61094         * lib/alloca.c (alloca): Remove cast to argument of free;
61095         no longer needed in C89.
61096         * lib/alloca_.h, regex.h: Fix white space to match
61097         what GNU indent does.
61098
61099 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61100
61101         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
61102         apparently Emacs's Unicode mode got confused before my 2003-08-05
61103         checkin.
61104
61105 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61106
61107         * m4/extensions.m4: New file.
61108         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
61109         Require gl_USE_SYSTEM_EXTENSIONS.
61110         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
61111         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
61112
61113 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61114
61115         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
61116         * modules/extensions, modules/gnu-source: New files.
61117         * modules/timespec, modules/unlocked-io: Depend on extensions.
61118
61119 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61120
61121         * modules/restrict: New file.
61122         * MODULES.html.sh (func_all_modules): Add restrict.
61123         * modules/regex: Depend on restrict.
61124
61125 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61126
61127         * m4/restrict.m4: New file.
61128         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
61129
61130 2003-08-07  Bruno Haible  <bruno@clisp.org>
61131
61132         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
61133         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
61134
61135 2003-08-07  Bruno Haible  <bruno@clisp.org>
61136
61137         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
61138         makes the module 'getndelim2' compatible with the module 'getline'.
61139
61140 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61141
61142         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
61143         byte with "\201" to avoid glitches when editing that source file
61144         with multi-gnome-terminal.
61145
61146 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61147
61148         * lib/bumpalloc.h: Remove.
61149
61150 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61151
61152         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
61153         * modules/bumpalloc: Remove.
61154
61155 2003-08-04  Paul Eggert  <eggert@twinsun.com>
61156
61157         * lib/getloadavg.c: Change copyright notice and spacing to conform to
61158         GNU coding style.
61159
61160         Merge from coreutils.
61161         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
61162         1. From glibc.
61163         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
61164         from Karl Berry, implemented by Jim Meyering.
61165         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
61166         from Dmitry V. Levin.
61167         Remove anachronistic cast of xrealloc.
61168         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
61169         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
61170         type. Otherwise, it wouldn't compile with at least /bin/cc on
61171         ymp-cray-unicos9.0.2.X.
61172         Combine two mostly-identical uses of alloca into one.
61173         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
61174
61175 2003-08-04  Dave Love  <d.love@dl.ac.uk>
61176
61177         [From Emacs.]
61178
61179         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
61180         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
61181         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
61182         obsolete NLIST_NAME_UNION.
61183         [__GNU__]: Undef BSD and FSCALE.
61184         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
61185
61186 2003-08-03  Paul Eggert  <eggert@twinsun.com>
61187
61188         * lib/stdbool_.h (_Bool): Make it signed char, instead of
61189         an enum type, so that it's guaranteed to promote to int.  See:
61190         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
61191
61192 2003-08-03  Karl Berry  <karl@gnu.org>
61193
61194         * config/depcomp: update from automake.
61195
61196 2003-07-31  Paul Eggert  <eggert@twinsun.com>
61197
61198         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
61199         (strerror): Don't assume that a printable int fits in 14 bytes.
61200
61201 2003-07-31  Bruno Haible  <bruno@clisp.org>
61202
61203         * modules/getpass-gnu: New file.
61204         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
61205
61206 2003-07-31  Bruno Haible  <bruno@clisp.org>
61207
61208         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
61209
61210 2003-07-24  Karl Berry  <karl@gnu.org>
61211
61212         * config/missing: update from automake.
61213
61214 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
61215             Bruno Haible  <bruno@clisp.org>
61216
61217         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
61218         * lib/getline.c (getline, getdelim): Likewise.
61219         Remove _GNU_SOURCE define; now it's defined in config.h through
61220         m4/getline.m4.
61221
61222 2003-07-23  Karl Berry  <karl@gnu.org>
61223
61224         * config/config.sub: update from prep.
61225
61226 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61227
61228         * modules/xalloc (Depends-on): Add exitfail.
61229         * modules/xmemcoll: Likewise.
61230
61231 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61232
61233         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
61234         over-parenthesization in macros.
61235
61236         Sync with coreutils.
61237
61238         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
61239         required by C99.
61240
61241         Use `exit_failure' for xalloc and xmemcoll instead of their own
61242         private exit-failure variables.
61243         * lib/xalloc.h (xalloc_exit_failure): Remove.
61244         * lib/xmalloc.c: Likewise.  Include exitfail.h.
61245         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
61246         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
61247         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
61248         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
61249
61250 2003-07-20  Jim Meyering  <jim@meyering.net>
61251
61252         * modules/closeout (Depends-on): Add exitfail.
61253         Suggestion from Bruno Haible.
61254
61255 2003-07-19  Karl Berry  <karl@gnu.org>
61256
61257         * config/config.sub: update from prep.
61258
61259 2003-07-18  Paul Eggert  <eggert@twinsun.com>
61260
61261         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
61262         Remove.
61263         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
61264         to test that it can stand by itself.  Include "exitfail.h".
61265         Clients should set exit_failure instead.
61266         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
61267
61268 2003-07-18  Bruno Haible  <bruno@clisp.org>
61269
61270         * modules/getndelim2: New file.
61271         * modules/getline: Share files with module getndelim2.
61272         * modules/getnline: Depend on getndelim2 instead of sharing files with
61273         it. Add getnline.c to lib_SOURCES.
61274         * MODULES.html.sh (func_all_modules): Add getndelim2.
61275
61276 2003-07-18  Bruno Haible  <bruno@clisp.org>
61277
61278         * m4/getndelim2.m4: New file.
61279         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
61280         invoke gl_PREREQ_GETNDELIM2.
61281         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
61282         gl_PREREQ_GETNDELIM2.
61283         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
61284         gl_GETNDELIM2.
61285
61286 2003-07-18  Bruno Haible  <bruno@clisp.org>
61287
61288         * lib/getndelim2.h: New file.
61289         * lib/getndelim2.c: Make into a module of its own. Include config.h,
61290         getndelim2.h.
61291         (getndelim2): Make non-static. Change return type to ssize_t.
61292         * lib/getline.h: Change argument names.
61293         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
61294         * lib/getnline.c: Include getndelim2.h.
61295
61296 2003-07-18  Andreas Schwab  <schwab@suse.de>
61297
61298         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
61299
61300 2003-07-17  Karl Berry  <karl@gnu.org>
61301
61302         * config/config.sub: update from prep.
61303
61304 2003-07-17  Bruno Haible  <bruno@clisp.org>
61305
61306         * modules/getnline: New file.
61307         * modules/getline: Add lib/getndelim2.c to source file list.
61308         * MODULES.html.sh (func_all_modules): Add getnline.
61309
61310 2003-07-17  Bruno Haible  <bruno@clisp.org>
61311
61312         * m4/getnline.m4: New file.
61313
61314 2003-07-17  Bruno Haible  <bruno@clisp.org>
61315
61316         * m4/Makefile.am.in: Remove file.
61317         * m4/Makefile.am: Remove file.
61318         * m4/Makefile.in: Remove file.
61319
61320 2003-07-17  Bruno Haible  <bruno@clisp.org>
61321
61322         * lib/getnline.h: New file.
61323         * lib/getnline.c: New file.
61324         * lib/getndelim2.c: New file, extracted from getline.c.
61325         (getndelim2): Renamed from getdelim2, with added nmax argument.
61326         * lib/getline.c: Include getndelim2.c.
61327         (getdelim2): Moved out to getndelim2.c.
61328         (getline, getdelim): Update.
61329
61330 2003-07-17  Bruno Haible  <bruno@clisp.org>
61331
61332         * lib/Makefile.am: Remove file.
61333         * lib/Makefile.in: Remove file.
61334
61335 2003-07-17  Bruno Haible  <bruno@clisp.org>
61336
61337         * configure.in: Remove file.
61338         * Makefile.in: Remove file.
61339
61340 2003-07-17  Bruno Haible  <bruno@clisp.org>
61341
61342         * MODULES.html.sh: Put the </BODY> right before </HTML>.
61343
61344 2003-07-16  Karl Berry  <karl@gnu.org>
61345
61346         * config/srclist-update: was running fixlicense twice, which caused
61347                 texinfo.tex to be nullified for some reason.  Simplify,
61348                 $gplsrc is no longer needed as far as I can see?
61349
61350 2003-07-16  Jim Meyering  <jim@meyering.net>
61351
61352         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
61353
61354 2003-07-15  Paul Eggert  <eggert@twinsun.com>
61355
61356         * config/srclist.txt: Get the following files from gettext-runtime/intl
61357         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
61358         ref-del.sin.  From Bruno Haible.
61359         * config/srclist-update (fixfile): Change grep pattern again, since the
61360         previous fix didn't work (there was another trailing $).  Use
61361         '[$]' to escape the $s.
61362
61363 2003-07-15  Karl Berry  <karl@gnu.org>
61364
61365         * lib/vasnprintf.c: update from gettext.
61366
61367 2003-07-15  Karl Berry  <karl@gnu.org>
61368
61369         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
61370         gets expanded when surrounded by '$'.
61371
61372 2003-07-15  Jim Meyering  <jim@meyering.net>
61373
61374         * modules/save-cwd: Don't depend on error.  From Derek Price.
61375
61376 2003-07-15  Jim Meyering  <jim@meyering.net>
61377
61378         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
61379
61380 2003-07-14  Simon Josefsson  <jas@extundo.com>
61381
61382         * modules/mempcpy: New file.
61383         * MODULES.html.sh (func_all_modules): Add mempcpy.
61384
61385 2003-07-14  Simon Josefsson  <jas@extundo.com>
61386
61387         * m4/mempcpy.m4: New file.
61388
61389 2003-07-14  Simon Josefsson  <jas@extundo.com>
61390
61391         * lib/mempcpy.h: New file.
61392         * lib/mempcpy.c: New file.
61393
61394 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61395
61396         * modules/getdate, modules/posixtm: Depend on mktime.
61397
61398 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61399
61400         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
61401         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
61402         unicodeio.c, unicodeio.h, unlocked-io.h:
61403         Switch from LGPL to GPL.
61404
61405 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61406
61407         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
61408         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
61409         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
61410         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
61411         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
61412         updated automatically by ../config/srclist-update.  This changes
61413         their license from LPGL to GPL.
61414
61415 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61416
61417         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
61418         assumed to refer to the root of the most recent stable gettext version.
61419         * config/srclistvars.sh: Add defaults for eggert.
61420         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
61421         Match "This program" as well as "The program".  This is needed
61422         for gettext.
61423
61424 2003-07-14  Jim Meyering  <jim@meyering.net>
61425
61426         Don't emit diagnostics.  Let callers do that.
61427         * lib/save-cwd.c: Don't include "error.h".
61428         (save_cwd): Don't call error.  Ensure that errno is valid
61429         when returning nonzero.
61430
61431         * lib/save-cwd.h (restore_cwd): Update prototype.
61432         * lib/save-cwd.c (restore_cwd): Remove two parameters.
61433         Simplify.  Don't call error upon failure.  Let callers do that.
61434         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
61435         when auditing is enabled.  But don't bother updating the #if.
61436
61437 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
61438
61439         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
61440         it breaks C++ compilation.
61441         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
61442
61443 2003-07-10  Simon Josefsson  <jas@extundo.com>
61444
61445         * modules/strchrnul (Makefile.am): Add strchrnul.h.
61446
61447 2003-07-10  Jim Meyering  <jim@meyering.net>
61448
61449         * m4/clock_time.m4: Remove trailing blank.
61450         * m4/intmax_t.m4: Likewise.
61451
61452 2003-07-10  Jim Meyering  <jim@meyering.net>
61453
61454         * lib/vasnprintf.c: Remove trailing blanks.
61455         Make cpp indentation consistent.
61456
61457 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61458
61459         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
61460         posixver.c, strftime.c, strnlen.c, strverscmp.c:
61461         Switch from LGPL to GPL.
61462
61463 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61464
61465         * config/srclist.txt: Sort sublists.  Add
61466         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
61467         that differ from gnulib for one reason or another; we'd like this list
61468         to be smaller but for now let's document what we have.
61469
61470 2003-07-08  Paul Eggert  <eggert@twinsun.com>
61471
61472         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
61473         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
61474         and sweeter "eval x=$x".
61475         * config/srclist.txt: Get lib/argp* from glibc.
61476
61477 2003-07-07  Paul Eggert  <eggert@twinsun.com>
61478
61479         * lib/mktime.c: Fix some boundary cases and remove need for floating
61480         point.
61481
61482         Issue a compile-time diagnostic if time_t is floating point, or if
61483         two's complement arithmetic is not in effect, or if arithmetic
61484         right shift does not propagate the sign.  These assumptions were
61485         all in the original code but they weren't checked.
61486
61487         (TIME_T_MIDPOINT, verify): New macros.
61488         (__isleap): Remove; it has integer overflow problems.
61489         (leapyear): New function, without those problems.
61490         (ydhms_tm_diff): Remove; splitting into two parts.
61491         (ydhms_diff): New function, containing the arithmetic part of
61492         the old ydhms_tm_diff function.  Issue a compile-time
61493         diagnostic if we are not using C99 integer division.
61494         Avoid casts when possible.
61495         (guess_time_tm): New function, containing the checking part of
61496         the old ydhms_tm_diff function.  Return the new value, rather than
61497         the difference between it and the old.  Accept a new argument T
61498         so that *T specifies the old value.  Check for overflow in the result.
61499
61500         (__mktime_internal): Use a time_t offset, not a long int offset.
61501         This undoes the 2003-06-04 change, which is no longer needed now
61502         that we have better overflow checking.
61503         (localtime_offset): Likewise.
61504
61505         (__mktime_internal): Avoid harmful overflow on hosts where time_t
61506         and long are 64-bit but int is only 32-bit.
61507         (ydhms_diff): Use long int to store year1 and yday1.
61508         Issue a compile-time diagnostic if long int is not wide enough.
61509
61510         (__mktime_internal): Use long int to store adjusted year and yday.
61511         Use plain C rather than preprocessor commands, if that doesn't
61512         affect efficiency.
61513         Check for overflow (and try to repair) after each probe
61514         rather than checking only at the very end.  This avoids some bugs
61515         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
61516         does not equal GMT offset at maximum time).
61517         Use integer to check for overflow rather than floating point; this
61518         is more portable to non-IEEE hosts, and is a tad faster.
61519         When we detect that we are oscillating between two values,
61520         don't check whether tm_isdst has the requested value, since
61521         we already know the answer.  When tm_isdst has the wrong value,
61522         use a different heuristic to find the right one, based on the
61523         extreme values actually observed in practice in tz2003a,
61524         rather than the (overly optimistic) "previous 3 calendar quarters".
61525
61526         (not_equal_tm, print_tm, check_result): Use "const T" rather than
61527         "T const" to accommodate glibc style.
61528         (check_result): Use less-confusing report format.  "long" -> "long int.
61529         (main): Likewise.
61530         Don't loop if the iteration overflows time_t.
61531         Allow a negative step in the iteration.
61532
61533 2003-07-06  Karl Berry  <karl@gnu.org>
61534
61535         * config/depcomp: update from automake.
61536         * config/config.sub: update from prep.
61537
61538 2003-07-03  Karl Berry  <karl@gnu.org>
61539
61540         * config/config.guess: update from prep.
61541
61542 2003-07-01  Paul Eggert  <eggert@twinsun.com>
61543
61544         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
61545         xreadlink.c now includes it unconditionally.
61546
61547 2003-07-01  Paul Eggert  <eggert@twinsun.com>
61548
61549         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
61550         having it depend on HAVE_SYS_TYPES_H.
61551
61552 2003-07-01  Bruno Haible  <bruno@clisp.org>
61553
61554         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
61555         <sys/types.h> should be sufficient.
61556         Reported by Paul Eggert.
61557
61558 2003-06-26  Karl Berry  <karl@gnu.org>
61559
61560         * config/depcomp: update from automake.
61561
61562 2003-06-26  Bruno Haible  <bruno@clisp.org>
61563
61564         * modules/human: Depend on module stdbool.
61565
61566 2003-06-25  Bruno Haible  <bruno@clisp.org>
61567
61568         * modules/readlink: New file.
61569         * modules/xreadlink: Depend on it.
61570         * MODULES.html.sh (func_all_modules): Add readlink.
61571
61572 2003-06-25  Bruno Haible  <bruno@clisp.org>
61573
61574         * m4/readlink.m4: New file.
61575
61576 2003-06-25  Bruno Haible  <bruno@clisp.org>
61577
61578         * lib/readlink.c: New file.
61579
61580 2003-06-22  Karl Berry  <karl@gnu.org>
61581
61582         * config/srclist.txt: update mkinstalldirs from automake.
61583         * config/mkinstalldirs: update.
61584
61585 2003-06-22  Bruno Haible  <bruno@clisp.org>
61586
61587         Portability to mingw32.
61588         * m4/ssize_t.m4: New file, from GNU gettext.
61589         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
61590         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
61591
61592 2003-06-22  Bruno Haible  <bruno@clisp.org>
61593
61594         * modules/safe-read: Add m4/ssize_t.m4.
61595         * modules/xreadlink: Add m4/ssize_t.m4.
61596
61597 2003-06-20  Bruno Haible  <bruno@clisp.org>
61598
61599         Assume C89, so PARAMS isn't needed.
61600         * lib/unicodeio.h (PARAMS): Remove.
61601         * lib/unicodeio.c: Don't use PARAMS.
61602
61603 2003-06-18  Karl Berry  <karl@gnu.org>
61604
61605         * config/config.{guess,sub}: update from prep.
61606
61607 2003-06-18  Jim Meyering  <jim@meyering.net>
61608
61609         Merge changes from coreutils.
61610         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
61611         Remove explicit declarations of xmalloc and realloc.
61612         Include xalloc.h.
61613         (read_utmp): Remove anachronistic cast of xmalloc.
61614
61615 2003-06-17  Paul Eggert  <eggert@twinsun.com>
61616
61617         Assume C89, so PARAMS isn't needed.
61618         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
61619         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
61620         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
61621         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
61622         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
61623         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
61624         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
61625         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
61626         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
61627         lib/xstrtod.h, lib/xstrtol.h: Likewise.
61628         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
61629         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
61630         no longer needed. Anyway, config.h should always be included before any
61631         other file.
61632
61633 2003-06-11  Simon Josefsson  <jas@extundo.com>
61634
61635         * modules/sysexits: New file.
61636         * MODULES.html.sh (func_all_modules): Add sysexits.
61637
61638 2003-06-11  Simon Josefsson  <jas@extundo.com>
61639
61640         * lib/sysexit_.h: New file.
61641
61642 2003-06-11  Derek Price  <derek@ximbiot.com>
61643
61644         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
61645         necessary.
61646
61647 2003-06-11  Bruno Haible  <bruno@clisp.org>
61648
61649         * m4/sysexits.m4: New file.
61650
61651 2003-06-10  Simon Josefsson  <jas@extundo.com>
61652
61653         * lib/argp.h: New file, from glibc.
61654         * lib/argp-ba.c: New file, from glibc.
61655         * lib/argp-eexst.c: New file, from glibc.
61656         * lib/argp-fmtstream.c: New file, from glibc.
61657         * lib/argp-fmtstream.h: New file, from glibc.
61658         * lib/argp-fs-xinl.c: New file, from glibc.
61659         * lib/argp-help.c: New file, from glibc.
61660         * lib/argp-namefrob.h: New file, from glibc.
61661         * lib/argp-parse.c: New file, from glibc.
61662         * lib/argp-pv.c: New file, from glibc.
61663         * lib/argp-pvh.c: New file, from glibc.
61664         * lib/argp-xinl.c: New file, from glibc.
61665
61666 2003-06-10  Simon Josefsson  <jas@extundo.com>
61667
61668         * modules/strchrnul: New file.
61669
61670 2003-06-10  Simon Josefsson  <jas@extundo.com>
61671
61672         * modules/argp: New file.
61673
61674 2003-06-10  Simon Josefsson  <jas@extundo.com>
61675
61676         * m4/strchrnul.m4: New file.
61677
61678 2003-06-10  Simon Josefsson  <jas@extundo.com>
61679
61680         * lib/strchrnul.h: New file.
61681         * lib/strchrnul.c: New file.
61682
61683 2003-06-10  Bruno Haible  <bruno@clisp.org>
61684
61685         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
61686
61687 2003-06-07  Karl Berry  <karl@gnu.org>
61688
61689         * config/config.{guess,sub}: update from prep.
61690
61691 2003-06-07  Jim Meyering  <jim@meyering.net>
61692
61693         * modules/strtod: Use $(...) notation, not @...@ for
61694         AC_REPLACE'd variables.
61695         * modules/localcharset: Likewise.
61696
61697 2003-06-07  Jim Meyering  <jim@meyering.net>
61698
61699         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
61700         in place of my name in the copyright comment.
61701         Remove definition and uses of __P.
61702
61703         From coreutils.
61704         * lib/stat.c: Don't declare xmalloc explicitly.
61705         Instead, include "xalloc.h".
61706         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
61707         xrealloc, and xcalloc return values.
61708         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
61709         Improve comment.
61710         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
61711
61712 2003-06-07  Bruno Haible  <bruno@clisp.org>
61713
61714         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
61715         avoid AC_CONFIG_LINKS.
61716         * modules/fnmatch (Makefile.am): Use explicit creation rule for
61717         fnmatch.h, to avoid AC_CONFIG_LINKS.
61718         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
61719
61720 2003-06-07  Bruno Haible  <bruno@clisp.org>
61721
61722         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
61723         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
61724         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
61725         directory.
61726         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
61727         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
61728         directory.
61729
61730 2003-06-06  Jim Meyering  <jim@meyering.net>
61731
61732         Merge from coreutils.
61733         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
61734         Consolidate declarations and initializations of *_base* locals.
61735
61736         Merge from coreutils.
61737         This avoids a core dump on systems without GNU putenv,
61738         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
61739         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
61740         (unsetenv): New static function, from GNU libc.
61741         (rpl_putenv): Use it.
61742
61743         * lib/modechange.c: Remove trailing blanks.
61744
61745         Merge from coreutils.
61746         * lib/fsusage.c: Remove declaration of statfs.
61747         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
61748
61749         * lib/posixtm.c: Include <stdbool.h> unconditionally.
61750
61751 2003-06-06  Jim Meyering  <jim@meyering.net>
61752
61753         * lib/stdbool_.h: Renamed from stdbool.h.in.
61754
61755 2003-06-06  Jim Meyering  <jim@meyering.net>
61756             Bruno Haible  <bruno@clisp.org>
61757
61758         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
61759         Adjust Makefile.am snippet not to redirect directly to target.
61760         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
61761
61762 2003-06-05  Paul Eggert  <eggert@twinsun.com>
61763
61764         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
61765         mismatch, look in future quarters as well as past.  This fixes a
61766         bug when processing fall-backwards gaps immediately after a long
61767         period of daylight-saving time.
61768
61769         * lib/mktime.c: Assume freestanding C89 or better.
61770         (HAVE_LIMITS_H): Remove.  Assume it's 1.
61771         (__P): Remove; not used.
61772         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
61773         (mktime, not_equal_tm, print_tm, check_result,
61774         main): Use prototypes.  Use const * where appropriate.
61775         (main): Fix typo in testing code that uncovered by above changes.
61776         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
61777
61778 2003-06-04  Paul Eggert  <eggert@twinsun.com>
61779
61780         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
61781         locale.h, localeconv.  This merges changes from coreutils.
61782
61783         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
61784         It can be removed after the next Autoconf is released.
61785         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
61786         needed.
61787
61788 2003-06-04  Paul Eggert  <eggert@twinsun.com>
61789
61790         * lib/mktime.c: Fix Debian bug 177940
61791         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
61792         (localtime_offset): Now long int, not time_t, because we want it
61793         to be guaranteed to be signed.  All uses changed.
61794         (__mktime_internal): If overflow would occur when adding offset,
61795         don't add it.
61796
61797         Merge 'human' changes from coreutils.  Rewrite to support
61798         locale-specific notations like thousands separators.
61799         * lib/human.c: Simplify authorship notice.
61800         Include human.h immediately after config.h.
61801         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
61802         <limits.h>: Do not include, since human.h does.
61803         (SIZE_MAX, UINTMAX_MAX): New macros.
61804         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
61805         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
61806         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
61807         (power_letter): Renamed from suffixes.
61808         (generate_suffix_backwards): Remove.
61809         (adjust_value): Now takes int style (because of human.h changes)
61810         and long double value (for greater precision on some platforms).
61811         (group_number): New function.
61812         (human_readable): Use it.  Use integer options, not enum.
61813         Put the options before the sizes in the arg list.
61814         Support all the new options.
61815         The old human_readable function has been removed;
61816         use inttostr.h instead.
61817         (human_readable, default_block_size, humblock):
61818         Use uintmax_t, not int, for block sizes.
61819         (human_readable_inexact, block_size_types): Remove.
61820         (block_size_opts): New constant.
61821         (human_options): Renamed from human_block_size, with new signature
61822         that allows block sizes up to UINTMAX_MAX.  All callers changed.
61823         * lib/human.h: Add copyright and authorship notice.
61824         Include <limits.h> and <stdbool.h> unconditionally.
61825         (PARAMS): Remove.  All uses removed.
61826         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
61827         (enum human_inexact_style): Remove tag; now a nameless enum.
61828         (human_floor, human_ceiling, human_round_to_even): Now have
61829         values 2, 0, 1 rather than -1, 1, 0.
61830         (human_group_digits, human_suppress_point_zero, human_autoscale,
61831         human_base_1024, human_SI, human_B): New constants.
61832         (human_readable_inexact, human_block_size): Remove.
61833         (human_readable): Size args are now uintmax_t, not int.
61834         (human_options): New decl.
61835
61836         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
61837         unnecessary now that we assume C89 or better.  This change
61838         imported from coreutils.
61839
61840         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
61841         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
61842         in the 2003-05-30 sync from glibc.
61843
61844         .h files should stand alone, but we shouldn't include <sys/types.h>
61845         if we can get away with just <stddef.h>.
61846
61847         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
61848         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
61849         rather than <sys/types.h>, as we merely need size_t.
61850         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
61851         to get size_t.
61852         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
61853         Include <stdio.h>, to get FILE.
61854         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
61855         memcasecmp.h has included <stddef.h> and all we need is size_t.
61856         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
61857         our interface, instead of including <sys/types.h>
61858
61859 2003-06-04  Paul Eggert  <eggert@twinsun.com>
61860
61861         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
61862         now, as glibc mktime is buggy on non-glibc systems.
61863
61864 2003-06-03  Karl Berry  <karl@gnu.org>
61865
61866         * config/config.sub: update from prep.
61867
61868 2003-06-02  Paul Eggert  <eggert@twinsun.com>
61869
61870         [from coreutils]
61871         Fix some minor time-related bugs with POSIX time arguments.
61872         Some valid time stamps were being rejected (notably -1, and
61873         time stamps before 1900 on 64-bit hosts).  And some invalid
61874         time stamps were being accepted, e.g. September 31.
61875
61876         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
61877         that we can return (time_t) -1 successfully.
61878         * lib/posixtm.c: Likewise.
61879         [HAVE_STDBOOL_H]: Include <stdbool.h>.
61880         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
61881         (t): Remove static var.
61882         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
61883         of static var.  All uses changed.
61884         (year): Do not reject years before 1900; they can occur with
61885         64-bit time_t.
61886         (posix_time_parse): Do not check for out-of-range components;
61887         that is now the caller's responsibility, since our checks were
61888         only approximations.
61889         (posixtime): Use mktime to check for out-of-range components,
61890         since it knows them exactly.
61891         If mktime returns (time_t) -1, check whether an error actually occurred
61892         by invoking localtime on -1.
61893         (main) [TEST_POSIXTIME]: Check for input data errors, and report
61894         posixtime failures better.
61895         Improve the test data (in comments only).
61896
61897 2003-06-02  Karl Berry  <karl@gnu.org>
61898
61899         * config/mkinstalldirs (version): new variable.
61900         (--version): new option.
61901         (usage): improve message.
61902
61903 2003-05-30  Karl Berry  <karl@gnu.org>
61904
61905         * lib/mktime.c: update from libc.
61906
61907 2003-05-30  Bruno Haible  <bruno@clisp.org>
61908
61909         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
61910         * config/config.rpath: Upgrade to gettext-0.12.1.
61911
61912 2003-05-30  Bruno Haible  <bruno@clisp.org>
61913
61914         * m4/gettext.m4: Upgrade to gettext-0.12.1.
61915         * m4/nls.m4: New file, from gettext-0.12.1.
61916         * m4/po.m4: New file, from gettext-0.12.1.
61917         * m4/progtest.m4: Upgrade to gettext-0.12.1.
61918
61919 2003-05-30  Bruno Haible  <bruno@clisp.org>
61920
61921         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
61922         * lib/localcharset.h: Likewise.
61923         * lib/localcharset.c: Likewise.
61924
61925 2003-05-29  Karl Berry  <karl@gnu.org>
61926
61927         * config/config.rpath: update from gettext.
61928
61929 2003-05-28  Paul Eggert  <eggert@twinsun.com>
61930
61931         Assume the headers required for C89 freestanding compilers.
61932         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
61933         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
61934         * m4/human.m4 (gl_HUMAN): Likewise.
61935         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
61936         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
61937         * m4/userspec.m4 (gl_USERSPEC): Likewise.
61938         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
61939         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61940         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
61941
61942 2003-05-28  Paul Eggert  <eggert@twinsun.com>
61943
61944         Assume the headers required for C89 freestanding compilers.
61945         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
61946         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
61947         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
61948         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
61949         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
61950         define, since <limits.h> is guaranteed to do that.
61951         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
61952         * lib/exclude.c: Include <stdbool.h> unconditionally.
61953         * lib/tempname.c: Include <stddef.h> unconditionally.
61954         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
61955         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
61956         <stddef.h> does that.
61957         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
61958         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
61959         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
61960         needed.
61961         * lib/xstrtol.c: Likewise.
61962         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
61963         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
61964
61965         * lib/addext.c (addext): Use assignment rather than cast, to avoid
61966         warnings on some platforms.
61967
61968         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
61969         arbitrarily.
61970
61971 2003-05-26  Jim Meyering  <jim@meyering.net>
61972
61973         Merge in a change from coreutils:
61974         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
61975         that is guaranteed to be `no'.  Use `no_such_member' to indicate
61976         that condition, rather than `-1' which is slightly misleading.
61977         Change the name of the cache variable to have the gl_ prefix.
61978         Prompted by a patch from Richard Dawe for DJGPP.
61979
61980 2003-05-24  Karl Berry  <karl@gnu.org>
61981
61982         * config/config.guess: update from prep.
61983
61984 2003-05-22  Karl Berry  <karl@gnu.org>
61985
61986         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
61987
61988 2003-05-20  Karl Berry  <karl@gnu.org>
61989
61990         * config/config.guess: update from prep.
61991
61992 2003-05-18  Karl Berry  <karl@gnu.org>
61993
61994         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
61995         might actually be set by the user.
61996
61997         * config/depcomp, install-sh, mdate-sh: update from automake.
61998
61999 2003-05-17  Bruno Haible  <bruno@clisp.org>
62000
62001         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
62002         invalid expansion for AC_EGREP_CPP.
62003         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
62004         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
62005         Suggested by Akim Demaille <akim@epita.fr> in
62006         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
62007
62008 2003-05-12  Jim Meyering  <jim@meyering.net>
62009
62010         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
62011         the space-padded-by-default conversion specifiers, %e, %k, %l.
62012
62013 2003-05-12  Bruno Haible  <bruno@clisp.org>
62014
62015         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
62016         the string is longer than 4 KB.
62017
62018 2003-05-11  Karl Berry  <karl@gnu.org>
62019
62020         * config/config.{guess,sub}: update from prep.
62021
62022 2003-05-09  Bruno Haible  <bruno@clisp.org>
62023
62024         * modules/error: Add m4/strerror_r.m4 to file list.
62025
62026 2003-05-03  Bruno Haible  <bruno@clisp.org>
62027
62028         Upgrade to Unicode-4.0.
62029         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
62030         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
62031         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
62032         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
62033         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
62034         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
62035         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
62036         Change width of U+E0100..U+E01EF from 1 to 0.
62037
62038 2003-04-25  Jim Meyering  <jim@meyering.net>
62039
62040         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
62041         of type size_t, not int.
62042
62043 2003-04-25  Bruno Haible  <bruno@clisp.org>
62044
62045         * lib/copy-file.c: Include <stddef.h>, for size_t.
62046
62047 2003-04-21  Paul Eggert  <eggert@twinsun.com>
62048
62049         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
62050         code which expansion is under static control.  Patch imported from
62051         Akim Demaille's patch to Bison; see
62052         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
62053
62054 2003-04-14  Bruno Haible  <bruno@clisp.org>
62055
62056         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
62057
62058 2003-04-11  Jim Meyering  <jim@meyering.net>
62059
62060         Merge changes from Coreutils.
62061
62062         2003-03-22  Jim Meyering  <jim@meyering.net>
62063
62064         * lib/strftime.c (widen): Cast alloca return value to proper type.
62065
62066         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
62067
62068         From GNU libc.
62069         * lib/strftime.c (my_strftime): Handle very large width
62070         specifications for numeric values correctly.  Improve checks for
62071         overflow.
62072
62073         2003-01-19  Jim Meyering  <jim@meyering.net>
62074
62075         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
62076         definitions.
62077         (nl_get_alt_digit) [! defined my_strftime]: Define.
62078         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
62079         _nl_get_alt_digit and _nl_get_walt_digit.
62080
62081         * lib/strftime.c (my_strftime): Merge in locale-related changes from
62082         libc. These changes have no effect outside of _LIBC.
62083
62084 2003-04-10  Bruno Haible  <bruno@clisp.org>
62085
62086         * modules/findprog: New file.
62087         * MODULES.html.sh (func_all_modules): Add it.
62088
62089 2003-04-10  Bruno Haible  <bruno@clisp.org>
62090
62091         * m4/findprog.m4: New file.
62092         * m4/eaccess.m4: New file.
62093
62094 2003-04-10  Bruno Haible  <bruno@clisp.org>
62095
62096         * lib/findprog.h: New file, from GNU gettext.
62097         * lib/findprog.c: New file, from GNU gettext.
62098
62099 2003-04-05  Jim Meyering  <jim@meyering.net>
62100
62101         Merge changes from Coreutils.
62102
62103         * lib/exclude.h (PARAMS): Remove definition and uses.
62104         * lib/exclude.c: Remove uses of `PARAMS'.
62105
62106         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
62107         Add test-cases for DOS filenames. Declare program_name.
62108         (main): Set up program_name.  Patch by Rich Dawe.
62109
62110         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
62111         error from mntctl.
62112         Use mntctl's return value to drive the entry-processing loop, since
62113         we can't rely on the value of the vmt_length member in the last
62114         entry.  On some systems doing so could result in exhausting
62115         virtual memory.  Based in part on a patch from Mike Jetzer.
62116
62117 2003-04-04  Bruno Haible  <bruno@clisp.org>
62118
62119         * modules/linebreak: New file.
62120         * MODULES.html.sh (func_all_modules): Add it.
62121
62122 2003-04-04  Bruno Haible  <bruno@clisp.org>
62123
62124         * m4/linebreak.m4: New file.
62125
62126 2003-04-04  Bruno Haible  <bruno@clisp.org>
62127
62128         * lib/linebreak.h: New file, from GNU gettext.
62129         * lib/linebreak.c: New file, from GNU gettext with slight
62130         modifications.
62131         * lib/lbrkprop.h: New file, from GNU gettext.
62132
62133 2003-04-03  Bruno Haible  <bruno@clisp.org>
62134
62135         * modules/utf8-ucs4: New file.
62136         * modules/utf16-ucs4: New file.
62137         * modules/ucs4-utf8: New file.
62138         * modules/ucs4-utf16: New file.
62139         * MODULES.html.sh (func_all_modules): Add them.
62140
62141 2003-04-03  Bruno Haible  <bruno@clisp.org>
62142
62143         * m4/utf-ucs4.m4: New file.
62144         * m4/ucs4-utf.m4: New file.
62145
62146 2003-04-03  Bruno Haible  <bruno@clisp.org>
62147
62148         * lib/utf8-ucs4.h: New file, from GNU gettext.
62149         * lib/utf16-ucs4.h: New file, from GNU gettext.
62150         * lib/ucs4-utf8.h: New file, from GNU gettext.
62151         * lib/ucs4-utf16.h: New file, from GNU gettext.
62152
62153 2003-04-02  Bruno Haible  <bruno@clisp.org>
62154
62155         * modules/binary-io: New file.
62156         * MODULES.html.sh (func_all_modules): Add it.
62157
62158 2003-04-02  Bruno Haible  <bruno@clisp.org>
62159
62160         * lib/binary-io.h: New file, from GNU gettext.
62161
62162 2003-04-01  Bruno Haible  <bruno@clisp.org>
62163
62164         * modules/pathname: New file.
62165         * MODULES.html.sh (func_all_modules): Add it.
62166
62167 2003-04-01  Bruno Haible  <bruno@clisp.org>
62168
62169         * lib/pathname.h: New file, from GNU gettext.
62170         * lib/concatpath.c: New file, from GNU gettext.
62171
62172 2003-03-30  Bruno Haible  <bruno@clisp.org>
62173
62174         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
62175
62176 2003-03-30  Bruno Haible  <bruno@clisp.org>
62177
62178         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
62179         function chown() doesn't exist.
62180
62181 2003-03-28  Bruno Haible  <bruno@clisp.org>
62182
62183         * modules/copy-file: New file.
62184         * MODULES.html.sh (func_all_modules): Add it.
62185
62186 2003-03-28  Bruno Haible  <bruno@clisp.org>
62187
62188         * m4/copy-file.m4: New file.
62189
62190 2003-03-28  Bruno Haible  <bruno@clisp.org>
62191
62192         * lib/copy-file.h: New file, from GNU gettext.
62193         * lib/copy-file.c: New file, from GNU gettext.
62194
62195 2003-03-18  Jim Meyering  <jim@meyering.net>
62196
62197         * lib/quote.c (quote_n): Fix typo in comment.
62198
62199 2003-03-18  Bruno Haible  <bruno@clisp.org>
62200
62201         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
62202         checking.
62203         * m4/onceonly_2_57.m4: Likewise.
62204
62205 2003-03-17  Bruno Haible  <bruno@clisp.org>
62206
62207         * m4/onceonly.m4: Require autoconf 2.54 or newer.
62208         (m4_quote): Remove macro.
62209         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
62210
62211 2003-03-14  Jim Meyering  <jim@meyering.net>
62212
62213         Merge changes from Coreutils.
62214         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
62215         to be const, in order to avoid warnings.
62216         (obstack_room): Likewise.
62217         (obstack_empty_p): Likewise.
62218
62219 2003-03-14  Bruno Haible  <bruno@clisp.org>
62220
62221         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
62222         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
62223
62224 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62225
62226         Merge changes from Bison.
62227         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
62228         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
62229         when compiling Bison 1.875's `bitset bset = obstack_alloc
62230         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
62231         * lib/hash.c: Include <stdbool.h> unconditionally.
62232
62233 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62234
62235         * m4/onceonly.m4 (m4_quote): New macro.
62236         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
62237         Quote AC_FOREACH variable-expansions properly.
62238
62239 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62240
62241         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
62242
62243 2003-03-09  Paul Eggert  <eggert@twinsun.com>
62244
62245         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
62246         Reported by Bruce Becker; see:
62247         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
62248
62249 2003-03-03  Paul Eggert  <eggert@twinsun.com>
62250             Bruno Haible  <bruno@clisp.org>
62251
62252         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
62253         Reported by John Hughes, see
62254         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
62255
62256 2003-02-20  Bruno Haible  <bruno@clisp.org>
62257
62258         * MODULES.html.sh (func_all_modules): Add poll.
62259
62260 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62261
62262         * modules/poll: New file.
62263
62264 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62265
62266         * lib/poll_.h: New file.
62267         * lib/poll.c: New file.
62268
62269 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62270
62271         * m4/poll.m4: New file.
62272
62273 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62274
62275         * modules/mathl: New file.
62276
62277 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62278
62279         * lib/mathl.h: New file.
62280         * lib/acosl.c: New file.
62281         * lib/asinl.c: New file.
62282         * lib/atanl.c: New file.
62283         * lib/ceill.c: New file.
62284         * lib/cosl.c: New file.
62285         * lib/expl.c: New file.
62286         * lib/floorl.c: New file.
62287         * lib/frexpl.c: New file.
62288         * lib/ldexpl.c: New file.
62289         * lib/logl.c: New file.
62290         * lib/sincosl.c: New file.
62291         * lib/sinl.c: New file.
62292         * lib/sqrtl.c: New file.
62293         * lib/tanl.c: New file.
62294         * lib/trigl.c: New file.
62295         * lib/trigl.h: New file.
62296
62297 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62298
62299         * m4/mathl.m4: New file.
62300
62301 2003-02-18  Bruno Haible  <bruno@clisp.org>
62302
62303         * MODULES.html.sh (func_all_modules): Add mathl.
62304
62305 2003-02-17  Bruno Haible  <bruno@clisp.org>
62306
62307         * modules/mkdtemp: New module.
62308         * MODULES.html.sh (func_all_modules): Add it.
62309
62310 2003-02-17  Bruno Haible  <bruno@clisp.org>
62311
62312         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
62313
62314 2003-02-17  Bruno Haible  <bruno@clisp.org>
62315
62316         * lib/mkdtemp.h: New file, from GNU gettext.
62317         * lib/mkdtemp.c: New file, from GNU gettext.
62318
62319 2003-02-02  Jim Meyering  <jim@meyering.net>
62320
62321         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
62322         e.g. glibc-2.2.93.
62323
62324 2003-01-31  Bruno Haible  <bruno@clisp.org>
62325
62326         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
62327         'rpl_rename'.
62328         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
62329         'rpl_strnlen'.
62330         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
62331         'rpl_strtod'.
62332         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
62333         'rpl_utime'.
62334
62335 2003-01-31  Bruno Haible  <bruno@clisp.org>
62336
62337         * lib/rename.c: #undef rename before defining rpl_rename.
62338         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
62339
62340 2003-01-30  Bruno Haible  <bruno@clisp.org>
62341
62342         * modules/vasnprintf, modules/vasprintf: New modules.
62343         * MODULES.html.sh (func_all_modules): Add them.
62344
62345 2003-01-30  Bruno Haible  <bruno@clisp.org>
62346
62347         * m4/signed.m4: New file, from GNU gettext.
62348         * m4/longdouble.m4: New file, from GNU gettext.
62349         * m4/wchar_t.m4: New file, from GNU gettext.
62350         * m4/wint_t.m4: New file, from GNU gettext.
62351         * m4/vasnprintf.m4: New file.
62352         * m4/vasprintf.m4: New file.
62353
62354 2003-01-30  Bruno Haible  <bruno@clisp.org>
62355
62356         * lib/printf-args.h: New file, from GNU gettext.
62357         * lib/printf-args.c: New file, from GNU gettext.
62358         * lib/printf-parse.h: New file, from GNU gettext.
62359         * lib/printf-parse.c: New file, from GNU gettext.
62360         * lib/vasnprintf.h: New file, from GNU gettext.
62361         * lib/vasnprintf.c: New file, from GNU gettext.
62362         * lib/asnprintf.c: New file, from GNU gettext.
62363         * lib/vasprintf.h: New file, from GNU gettext with modifications.
62364         * lib/vasprintf.c: New file, from GNU gettext.
62365         * lib/asprintf.c: New file, from GNU gettext.
62366
62367 2003-01-29  Bruno Haible  <bruno@clisp.org>
62368
62369         * modules/stpncpy: New module.
62370         * MODULES.html.sh (func_all_modules): Add it.
62371
62372 2003-01-29  Bruno Haible  <bruno@clisp.org>
62373
62374         * m4/stpncpy.m4: New file.
62375
62376 2003-01-29  Bruno Haible  <bruno@clisp.org>
62377
62378         * lib/stpncpy.h: New file, from GNU gettext with modifications.
62379         * lib/stpncpy.c: New file, from GNU gettext with modifications.
62380
62381 2003-01-28  Bruno Haible  <bruno@clisp.org>
62382
62383         * modules/c-ctype: New module.
62384         * MODULES.html.sh (func_all_modules): Add it.
62385
62386 2003-01-28  Bruno Haible  <bruno@clisp.org>
62387
62388         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
62389         Paul Eggert.
62390         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
62391         Paul Eggert.
62392
62393 2003-01-27  Bruno Haible  <bruno@clisp.org>
62394
62395         * modules/xsetenv: New module.
62396         * MODULES.html.sh (func_all_modules): Add it.
62397
62398 2003-01-27  Bruno Haible  <bruno@clisp.org>
62399
62400         * lib/xsetenv.h: New file, from GNU gettext.
62401         * lib/xsetenv.c: New file, from GNU gettext.
62402
62403 2003-01-23  Jim Meyering  <jim@meyering.net>
62404
62405         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
62406         from working on systems without dirfd (at least Irix and OSF1/Tru64).
62407
62408 2003-01-23  Bruno Haible  <bruno@clisp.org>
62409
62410         * modules/minmax: New module.
62411         * MODULES.html.sh (func_all_modules): Add it.
62412
62413 2003-01-23  Bruno Haible  <bruno@clisp.org>
62414
62415         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
62416         Eggert.
62417
62418 2003-01-22  Bruno Haible  <bruno@clisp.org>
62419
62420         * modules/exit: New module.
62421         * MODULES.html.sh (func_all_modules): Add it.
62422
62423 2003-01-22  Bruno Haible  <bruno@clisp.org>
62424
62425         * lib/exit.h: New file, from GNU gettext.
62426
62427 2003-01-19  Bruno Haible  <bruno@clisp.org>
62428
62429         * gnulib-tool: Recognize option --extract-maintainer.
62430         (func_get_maintainer): New function.
62431         * modules/*: Add Maintainer entry.
62432
62433 2003-01-16  Jim Meyering  <jim@meyering.net>
62434
62435         * m4/regex.m4: The `regex' struct is both input and output.
62436         Initialize it before each use.  Patch by Tim Waugh.
62437
62438 2003-01-16  Bruno Haible  <bruno@clisp.org>
62439
62440         * MODULES.html.sh: Add a table of contents. Add the module name as
62441         leftmost column. Add hyperlinks.
62442
62443 2003-01-15  Bruno Haible  <bruno@clisp.org>
62444
62445         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
62446
62447 2003-01-15  Bruno Haible  <bruno@clisp.org>
62448
62449         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
62450         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
62451         suffix.
62452
62453 2003-01-15  Bruno Haible  <bruno@clisp.org>
62454
62455         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
62456
62457 2003-01-15  Bruno Haible  <bruno@clisp.org>
62458
62459         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
62460         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
62461
62462 2003-01-14  Jim Meyering  <jim@meyering.net>
62463
62464         * lib/same.c (same_name): Tweak a comment.
62465
62466 2003-01-14  Bruno Haible  <bruno@clisp.org>
62467
62468         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
62469         when a string comparison is sufficient.
62470
62471 2003-01-14  Bruno Haible  <bruno@clisp.org>
62472
62473         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
62474         'unsigned int'.
62475
62476 2003-01-14  Bruno Haible  <bruno@clisp.org>
62477
62478         * lib/hash-pjw.c: Add comment about low quality of this function.
62479
62480 2003-01-13  Bruno Haible  <bruno@clisp.org>
62481
62482         * modules/stpcpy: Distribute lib/stpcpy.h.
62483         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
62484
62485 2003-01-13  Bruno Haible  <bruno@clisp.org>
62486
62487         * modules/*: Add a description.
62488         * modules/strpbrk: Fix Makefile.am snippet.
62489         * modules/strtoimax: Fix dependencies.
62490         * modules/strtoumax: Likewise.
62491
62492 2003-01-13  Bruno Haible  <bruno@clisp.org>
62493
62494         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
62495         * modules/alloca (Makefile.am): All object files depend on alloca.h.
62496         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
62497
62498 2003-01-13  Bruno Haible  <bruno@clisp.org>
62499
62500         * gnulib-tool (func_create_testdir): Store config/* files in the main
62501         directory.
62502         * config.rpath: Move to ...
62503         * config/config.rpath: ... here.
62504         * modules/gettext: Contains config/config.rpath, not config.rpath.
62505         * modules/iconv: Likewise.
62506
62507 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62508
62509         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62510         to avoid collisions with libcurses and libreadline.
62511
62512         * m4/getstr.m4: Remove.
62513         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
62514
62515 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62516
62517         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62518         to avoid collisions with libcurses and libreadline.
62519
62520         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
62521         * lib/getstr.h, getstr.c: Remove.
62522         * lib/getline.c: Include "getline.h", to check interface.
62523         Move body of old getstr.c here: this defines MIN_CHUNK and
62524         declares getdelim2, which is renamed from getstr.
62525         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
62526
62527         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
62528         All uses changed.
62529         * lib/linebuffer.h: Likewise.
62530         (readline): Remove backward-compatibility macro.
62531
62532 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62533
62534         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
62535         to avoid collisions with libcurses and libreadline.
62536         * getstr: Remove.
62537         * MODULES.html.sh: Remove getstr.
62538         * modules/getline: Depend on unlocked-io, not getstr.
62539
62540 2003-01-12  Jim Meyering  <jim@meyering.net>
62541
62542         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
62543
62544 2003-01-10  Bruno Haible  <bruno@clisp.org>
62545
62546         * modules/alloca: Change Makefile.am requirements. Simplify Include
62547         requirements. Add lib/alloca_.h to file list.
62548
62549 2003-01-10  Bruno Haible  <bruno@clisp.org>
62550
62551         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
62552
62553 2003-01-10  Bruno Haible  <bruno@clisp.org>
62554
62555         * lib/alloca_.h: New file.
62556         * lib/getdate.y: Unconditionally include alloca.h.
62557         * lib/makepath.c: Likewise.
62558         * lib/setenv.c: Likewise.
62559         * lib/userspec.c: Likewise.
62560
62561 2003-01-09  Karl Berry  <karl@gnu.org>
62562
62563         * MODULES.html.sh: include `dirname $0` in PATH, to find
62564         gnulib-tool.
62565
62566 2003-01-09  Bruno Haible  <bruno@clisp.org>
62567
62568         * modules/stdbool: Change configure.ac, Makefile.am requirements.
62569         Simplify Include requirements. Add lib/stdbool.h.in to file list.
62570
62571 2003-01-09  Bruno Haible  <bruno@clisp.org>
62572
62573         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
62574
62575 2003-01-09  Bruno Haible  <bruno@clisp.org>
62576
62577         * lib/stdbool.h.in: New file.
62578
62579 2003-01-09  Bruno Haible  <bruno@clisp.org>
62580
62581         * gnulib-tool (func_all_modules): Ignore files ending in ~.
62582         * MODULES.html.sh: Likewise.
62583
62584 2003-01-08  Jim Meyering  <jim@meyering.net>
62585
62586         * lib/full-write.c: Undefine and define-away `const' after inclusion
62587         of errno.h, not before.  Suggestion from Bruno Haible.
62588
62589 2003-01-08  Bruno Haible  <bruno@clisp.org>
62590
62591         * modules/full-read: Depend on full-write.
62592
62593 2003-01-08  Bruno Haible  <bruno@clisp.org>
62594
62595         * lib/safe-read.c: Include specification header first, to ensure its
62596         selfcontainedness.
62597         * lib/full-write.c: Likewise.
62598
62599 2003-01-07  Jim Meyering  <jim@meyering.net>
62600
62601         * lib/full-write.c: Rework so that it may serve to define full_read,
62602         too.
62603         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
62604
62605 2003-01-07  Bruno Haible  <bruno@clisp.org>
62606
62607         * lib/strtoimax.c: Include <stdint.h> as an alternative to
62608         <inttypes.h>.
62609         * lib/xstrtol.h: Likewise.
62610         * lib/xstrtoimax.c: Likewise.
62611         * lib/xstrtoumax.c: Likewise.
62612         * lib/human.h: Likewise.
62613
62614         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
62615         on systems that have <inttypes.h> but not <stdint.h>.
62616
62617 2003-01-07  Bruno Haible  <bruno@clisp.org>
62618
62619         * MODULES.html.sh: Add copyright notice.
62620         (missed_files): Omit CVS directory entries.
62621         (func_module): Make it work with sed-3.02.
62622         * MODULES.txt: Remove file.
62623
62624 2003-01-06  Jim Meyering  <jim@meyering.net>
62625
62626         * lib/version-etc.c: Update year in translatable copyright string.
62627
62628 2003-01-03  Karl Berry  <karl@gnu.org>
62629
62630         * config/config.{guess,sub}: update from prep.
62631
62632 2003-01-02  Karl Berry  <karl@gnu.org>
62633
62634         * doc/COPYING.DOC: belatedly updated to 1.2.
62635
62636 2003-01-01  Karl Berry  <karl@gnu.org>
62637
62638         * gnulib-tool (func_verify_module): report module name $module in
62639         error message, not $1.
62640         * gnulib-tool (create-testdir): don't complain if destdir couldn't
62641         be created, only if it doesn't exist.
62642         * gnulib-tool (last_checkin_date): don't expand the $Date here.
62643
62644 2002-12-31  Paul Eggert  <eggert@twinsun.com>
62645
62646         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
62647
62648 2002-12-31  Paul Eggert  <eggert@twinsun.com>
62649
62650         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
62651         memcmp if strcoll doesn't work.
62652
62653 2002-12-31  Bruno Haible  <bruno@clisp.org>
62654
62655         * lib/utime.c (utime_null): No need to call ftruncate if the file was
62656         nonempty.
62657
62658 2002-12-31  Bruno Haible  <bruno@clisp.org>
62659
62660         * lib/memcoll.c (STRCOLL): New macro.
62661         (memcoll): Use it.
62662
62663 2002-12-31  Bruno Haible  <bruno@clisp.org>
62664
62665         * lib/localcharset.h: New file.
62666         * lib/localcharset.c: Include it.
62667         * lib/unicodeio.c: Likewise.
62668
62669 2002-12-31  Bruno Haible  <bruno@clisp.org>
62670
62671         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
62672         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
62673
62674 2002-12-31  Bruno Haible  <bruno@clisp.org>
62675
62676         * lib/getline.h: Include <stddef.h>, for size_t.
62677
62678         * lib/unicodeio.h: Include <stddef.h>, for size_t.
62679         * lib/unicodeio.c: Don't include <stddef.h>.
62680
62681 2002-12-31  Bruno Haible  <bruno@clisp.org>
62682
62683         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
62684         HAVE_TM_ZONE.
62685
62686 2002-12-24  Karl Berry  <karl@gnu.org>
62687
62688         * config/config.guess: update from prep.
62689
62690 2002-12-24  Bruno Haible  <bruno@clisp.org>
62691
62692         General infrasructure.
62693         * m4/README: Rewritten.
62694         * m4/onceonly.m4: New file.
62695         * m4/onceonly_2_57.m4: New file.
62696
62697         Module atexit.
62698         * m4/atexit.m4: New file.
62699
62700         Module strtod.
62701         * m4/strtod.m4: New file.
62702
62703         Module strtol.
62704         * m4/strtol.m4: New file.
62705
62706         Module strtoul.
62707         * m4/strtoul.m4: New file.
62708
62709         Module memchr.
62710         * m4/memchr.m4: New file.
62711
62712         Module memcmp.
62713         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
62714         (jm_FUNC_MEMCMP): Invoke it.
62715
62716         Module memcpy.
62717         * m4/memcpy.m4: New file.
62718
62719         Module memmove.
62720         * m4/memmove.m4: New file.
62721
62722         Module memset.
62723         * m4/memset.m4: New file.
62724
62725         Module strcspn.
62726         * m4/strcspn.m4: New file.
62727
62728         Module strpbrk.
62729         * m4/strpbrk.m4: New file.
62730
62731         Module strstr.
62732         * m4/strstr.m4: New file.
62733
62734         Module strerror.
62735         * m4/strerror.m4: New file.
62736
62737         Module mktime.
62738         * m4/mktime.m4: Renamed from jm-mktime.m4.
62739         (gl_PREREQ_MKTIME): New macro.
62740         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
62741
62742         Module malloc.
62743         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
62744         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
62745         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
62746
62747         Module realloc.
62748         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
62749         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
62750         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
62751
62752         Module strftime.
62753         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
62754         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
62755         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
62756         gl_TM_GMTOFF.
62757         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
62758
62759         Module xalloc.
62760         * m4/xalloc.m4: New file.
62761
62762         Module alloca.
62763         * m4/alloca.m4: New file.
62764
62765         Module putenv.
62766         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
62767         (jm_FUNC_PUTENV): Invoke it.
62768
62769         Module setenv.
62770         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
62771         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
62772         when invoked twice.
62773         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
62774         gt_FUNC_SETENV.
62775
62776         Module memrchr.
62777         * m4/memrchr.m4: New file.
62778
62779         Module stpcpy.
62780         * m4/stpcpy.m4: New file.
62781
62782         Module strcase.
62783         * m4/strcase.m4: New file.
62784
62785         Module strdup.
62786         * m4/strdup.m4: New file.
62787
62788         Module strnlen.
62789         * m4/strnlen.m4: New file.
62790
62791         Module strndup.
62792         * m4/strndup.m4: New file.
62793
62794         Module xstrtod.
62795         * m4/xstrtod.m4: New file.
62796
62797         Module xstrtol.
62798         * m4/xstrtol.m4: New file.
62799
62800         Module getdate.
62801         * m4/getdate.m4: New file.
62802
62803         Module unlocked-io.
62804         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
62805         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
62806         * m4/jm-glibc-io.m4n: Remove file.
62807
62808         Module long-options.
62809         * m4/long-options.m4: New file.
62810
62811         Module md5.
62812         * m4/md5.m4: New file.
62813
62814         Module sha.
62815         * m4/sha.m4: New file.
62816
62817         Module getstr.
62818         * m4/getstr.m4: New file.
62819
62820         Module getline.
62821         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
62822         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
62823         <sys/types.h>, for size_t. Use the function name gnu_getline, not
62824         simply getline. Infoke gl_PREREQ_GETLINE.
62825
62826         Module obstack.
62827         * m4/obstack.m4: New file.
62828
62829         Module hash.
62830         * m4/hash.m4: New file.
62831
62832         Module readtokens.
62833         * m4/readtokens.m4: New file.
62834
62835         Module strverscmp.
62836         * m4/strverscmp.m4: New file.
62837
62838         Module stdbool.
62839         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
62840         OSF/1.
62841
62842         Module strtoll.
62843         * m4/strtoll.m4: New file.
62844
62845         Module strtoull.
62846         * m4/strtoull.m4: New file.
62847
62848         Module strtoimax.
62849         * m4/strtoimax.m4: New file.
62850
62851         Module strtoumax.
62852         * m4/strtoumax.m4: New file.
62853
62854         Module xstrtoimax.
62855         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
62856         jm_AC_PREREQ_XSTRTOIMAX.
62857         Moved the strtol prerequisites to strtol.m4.
62858         Moved the strtoll prerequisites to strtoll.m4.
62859         Moved the strtoimax prerequisites to strtoimax.m4.
62860
62861         Module xstrtoumax.
62862         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
62863         jm_AC_PREREQ_XSTRTOUMAX.
62864         Moved the strtoul prerequisites to strtoul.m4.
62865         Moved the strtoull prerequisites to strtoull.m4.
62866         Moved the strtoumax prerequisites to strtoumax.m4.
62867
62868         Module chown.
62869         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
62870         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
62871
62872         Module dup2.
62873         * m4/dup2.m4: New file.
62874
62875         Module ftruncate.
62876         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
62877         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
62878
62879         Module getgroups.
62880         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
62881         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
62882
62883         Module gettimeofday.
62884         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
62885         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
62886         gl_PREREQ_GETTIMEOFDAY.
62887
62888         Module mkdir.
62889         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
62890         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
62891
62892         Module mkstemp.
62893         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
62894         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
62895         jm_AC_TYPE_UINTMAX_T.
62896         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
62897
62898         Module stat.
62899         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
62900         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
62901
62902         Module lstat.
62903         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
62904         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
62905
62906         Module timespec.
62907         * m4/timespec.m4 (gl_TIMESPEC): New macro.
62908         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
62909         * m4/st_mtim.m4: Indentation.
62910
62911         Module nanosleep.
62912         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
62913         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
62914         gl_PREREQ_NANOSLEEP.
62915
62916         Module regex.
62917         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
62918         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
62919         (gl_REGEX): New macro.
62920
62921         Module rename.
62922         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
62923         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
62924
62925         Module rmdir.
62926         * m4/rmdir.m4: New file.
62927
62928         Module utime.
62929         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
62930         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
62931         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
62932
62933         Module dirname.
62934         * m4/dirname.m4: New file.
62935
62936         Module getopt.
62937         * m4/getopt.m4: New file.
62938
62939         Module unistd-safer.
62940         * m4/unistd-safer.m4: New file.
62941
62942         Module fnmatch.
62943         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
62944         declaration.
62945         (gl_PREREQ_FNMATCH_EXTRA): New macro.
62946         (gl_FUNC_FNMATCH_POSIX): New macro.
62947         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
62948         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
62949         simply fnmatch.
62950
62951         Module exclude.
62952         * m4/exclude.m4: New file.
62953
62954         Module human.
62955         * m4/human.m4: New file.
62956
62957         Module acl.
62958         * m4/acl.m4: Nop.
62959
62960         Module backupfile.
62961         * m4/backupfile.m4: New file.
62962         * m4/d-ino.m4: Indentation.
62963
62964         Module fsusage.
62965         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
62966         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
62967         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
62968
62969         Module dirfd.
62970         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
62971         requirements.
62972
62973         Module euidaccess.
62974         * m4/euidaccess.m4: New file.
62975
62976         Module file-type.
62977         * m4/file-type.m4: New file.
62978
62979         Module fileblocks.
62980         * m4/fileblocks.m4: New file.
62981
62982         Module filemode.
62983         * m4/filemode.m4: New file.
62984
62985         Module isdir.
62986         * m4/isdir.m4: New file.
62987
62988         Module lchown.
62989         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
62990         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
62991
62992         Module makepath.
62993         * m4/makepath.m4: New file.
62994
62995         Module modechange.
62996         * m4/modechange.m4: New file.
62997
62998         Module mountlist.
62999         * m4/mountlist.m4: New file.
63000         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
63001         Indentation.
63002
63003         Module path-concat.
63004         * m4/path-concat.m4: New file.
63005
63006         Module pathmax.
63007         * m4/pathmax.m4: New file.
63008
63009         Module same.
63010         * m4/same.m4: New file.
63011
63012         Module save-cwd.
63013         * m4/save-cwd.m4: New file.
63014
63015         Module savedir.
63016         * m4/savedir.m4: New file.
63017
63018         Module xgetcwd.
63019         * m4/xgetcwd.m4: New file.
63020         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
63021
63022         Module xreadlink.
63023         * m4/xreadlink.m4: New file.
63024
63025         Module safe-read.
63026         * m4/safe-read.m4: New file.
63027
63028         Module safe-write.
63029         * m4/safe-write.m4: New file.
63030
63031         Module closeout.
63032         * m4/closeout.m4: New file.
63033
63034         Module stdio-safer.
63035         * m4/stdio-safer.m4: New file.
63036
63037         Module getpass.
63038         * m4/getpass.m4: New file.
63039
63040         Module getugroups.
63041         * m4/getugroups.m4: New file.
63042
63043         Module group-member.
63044         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
63045         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
63046
63047         Module idcache.
63048         * m4/idcache.m4: New file.
63049
63050         Module userspec.
63051         * m4/userspec.m4: New file.
63052
63053         Module gettime.
63054         * m4/clock_time.m4: New file.
63055         * m4/gettime.m4: New file.
63056
63057         Module settime.
63058         * m4/settime.m4: New file.
63059
63060         Module posixtm.
63061         * m4/posixtm.m4: New file.
63062
63063         Module gethostname.
63064         * m4/gethostname.m4: New file.
63065
63066         Module canon-host.
63067         * m4/canon-host.m4: New file.
63068
63069         Module gettext.
63070         * m4/codeset.m4: New file, from gettext-0.11.5.
63071         * m4/gettext.m4: New file, from gettext-0.11.5.
63072         * m4/glibc21.m4: New file, from gettext-0.11.5.
63073         * m4/iconv.m4: New file, from gettext-0.11.5.
63074         * m4/intdiv0.m4: New file, from gettext-0.11.5.
63075         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
63076         * m4/inttypes.m4: New file, from gettext-0.11.5.
63077         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
63078         * m4/isc-posix.m4: New file, from gettext-0.11.5.
63079         * m4/lcmessage.m4: New file, from gettext-0.11.5.
63080         * m4/lib-ld.m4: New file, from gettext-0.11.5.
63081         * m4/lib-link.m4: New file, from gettext-0.11.5.
63082         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
63083         * m4/progtest.m4: New file, from gettext-0.11.5.
63084         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
63085         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
63086         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
63087
63088         Module localcharset.
63089         * m4/localcharset.m4: New file.
63090
63091         Module hard-locale.
63092         * m4/hard-locale.m4: New file.
63093
63094         Module mbswidth.
63095         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
63096         onceonly macros.
63097         * m4/mbrtowc.m4: Add comment.
63098
63099         Module memcasecmp.
63100         * m4/memcasecmp.m4: New file.
63101
63102         Module memcoll.
63103         * m4/memcoll.m4: New file.
63104
63105         Module unicodeio.
63106         * m4/unicodeio.m4: New file.
63107
63108         Module rpmatch.
63109         * m4/rpmatch.m4: New file.
63110
63111         Module yesno.
63112         * m4/yesno.m4: New file.
63113
63114         Module exitfail.
63115         * m4/exitfail.m4: New file.
63116
63117         Module c-stack.
63118         * m4/c-stack.m4 (gl_C_STACK): New macro.
63119         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
63120
63121         Module error.
63122         * m4/error.m4 (gl_ERROR): New macro.
63123         (jm_PREREQ_ERROR): Use onceonly macros.
63124
63125         Module fatal.
63126         * m4/fatal.m4: New file.
63127
63128         Module getloadavg.
63129         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
63130         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
63131
63132         Module getpagesize.
63133         * m4/getpagesize.m4: New file.
63134
63135         Module getusershell.
63136         * m4/getusershell.m4: New file.
63137
63138         Module physmem.
63139         * m4/physmem.m4: New file.
63140
63141         Module posixver.
63142         * m4/posixver.m4: New file.
63143
63144         Module quotearg.
63145         * m4/quotearg.m4: New file.
63146
63147         Module quote.
63148         * m4/quote.m4: New file.
63149
63150         Module readutmp.
63151         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
63152
63153         Module sig2str.
63154         * m4/sig2str.m4: New file.
63155
63156         Other.
63157         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
63158         ulonglong.m4.
63159         * m4/intmax_t.m4: New file.
63160         * m4/d-type.m4: Indentation.
63161         * m4/jm-macros.m4: Update.
63162         * m4/prereq.m4 (jm_PREREQ): Update.
63163         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
63164         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
63165         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
63166         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
63167         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
63168         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
63169         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
63170         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
63171         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
63172         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
63173         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
63174         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
63175         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
63176         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
63177         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
63178         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
63179         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
63180         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
63181         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
63182
63183 2002-12-24  Bruno Haible  <bruno@clisp.org>
63184
63185         * MODULES.txt: Update according to m4/ changes.
63186
63187         Module gettext.
63188         * config.rpath: New file, from gettext-0.11.5.
63189
63190         * modules/*: New module descriptions.
63191         * gnulib-tool: New file.
63192         * MODULES.html.sh: New file.
63193
63194 2002-12-21  Karl Berry  <karl@gnu.org>
63195
63196         * doc/fdl.texi: update to version 1.2.
63197
63198 2002-12-19  Karl Berry  <karl@gnu.org>
63199
63200         * config/config.guess: update from prep.
63201
63202 2002-12-18  Bruno Haible  <bruno@clisp.org>
63203
63204         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
63205         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
63206
63207 2002-12-17  Bruno Haible  <bruno@clisp.org>
63208
63209         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
63210         stdlib.h, string.h.
63211
63212 2002-12-17  Bruno Haible  <bruno@clisp.org>
63213
63214         * lib/canon-host.c (strdup): Remove unused declaration.
63215
63216         * lib/fsusage.c: Include full_read.h.
63217         (get_fs_usage): Use full_read instead of safe_read.
63218
63219         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
63220
63221 2002-12-12  Karl Berry  <karl@gnu.org>
63222
63223         * config/config.guess: update from prep.
63224
63225 2002-12-11  Bruno Haible  <bruno@clisp.org>
63226
63227         * m4/setenv.m4: New file, from gettext-0.11.5.
63228
63229 2002-12-11  Bruno Haible  <bruno@clisp.org>
63230
63231         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
63232         not unsetenv().
63233         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
63234         modifications:
63235
63236         2002-12-11  Bruno Haible  <bruno@clisp.org>
63237
63238                 * setenv.c (alloca): Fall back to malloc.
63239                 (freea): New macro.
63240                 (setenv): Use freea() to free memory allocated with alloca().
63241
63242         2002-11-13  Bruno Haible  <bruno@clisp.org>
63243
63244                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
63245                 function declarations.
63246                 * unsetenv.c (unsetenv): Likewise.
63247
63248         2002-03-04  Bruno Haible  <bruno@clisp.org>
63249
63250                 Portability to AIX 4.3.3.
63251                 * unsetenv.c: New file, extracted from setenv.c.
63252                 * setenv.c: Move the unsetenv() function to unsetenv.c.
63253
63254         2001-12-20  Bruno Haible  <bruno@clisp.org>
63255
63256                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
63257                 use malloc instead. For SunOS 4.
63258
63259         2001-12-11  Bruno Haible  <bruno@clisp.org>
63260
63261                 * setenv.c: Declare alloca.
63262                 (compar_fn_t): New typedef.
63263                 (KNOWN_VALUE, STORE_VALUE): Use it.
63264
63265         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
63266         setenv.h.
63267
63268 2002-12-10  Paul Eggert  <eggert@twinsun.com>
63269
63270         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
63271         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
63272         Choose values that are less likely to collide with system fnmatch
63273         options.
63274         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
63275         defined (e.g., a pure POSIX system).
63276         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
63277         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
63278
63279 2002-12-06  Paul Eggert  <eggert@twinsun.com>
63280
63281         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
63282         a pain in practice to deal with generated m4 files.  This change
63283         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
63284
63285         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
63286         and jm-glibc-io.m4, as they are no longer a special case.
63287         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
63288         kludge and the auto-generation stuff.  Check only whether the
63289         functions are declared, not whether they exist, since older hosts
63290         that don't declare the functions can't use the optimization anyway.
63291
63292 2002-12-06  Jim Meyering  <jim@meyering.net>
63293
63294         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
63295
63296         Merge in changes from libc's misc/error.c, in preparation
63297         for the merge of gnulib's changes back into libc.
63298
63299         * lib/error.c (_): Define only if not already defined.
63300         Move definition to follow all #include directives.
63301         Include unlocked-io.h only if !_LIBC.
63302         [_LIBC]: Include <libio/libioP.h>.
63303         [USE_IN_LIBIO]: Include <libio/iolibio.h>
63304         (fflush): Tweak definition to use INTUSE.
63305         (putc): Define.
63306
63307 2002-12-05  Paul Eggert  <eggert@twinsun.com>
63308
63309         * lib/alloca.c [defined emacs]: Include "lisp.h".
63310         (xalloc_die) [defined emacs]: New macro.
63311         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
63312         [! defined emacs]: Include <xalloc.h>.
63313         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
63314         (pointer): Typedef to POINTER_TYPE *.
63315         (malloc): Remove decl; we now always use xmalloc.
63316         (alloca): Use old-style definition, since Emacs needs this.
63317         Check for arithmetic overflow when computing combined size.
63318
63319 2002-12-04  Paul Eggert  <eggert@twinsun.com>
63320
63321         Do not generate unlocked-io.h automatically, since it's easier to
63322         maintain it by hand.
63323
63324         * lib/unlocked-io.h: New file, from GNU diffutils,
63325         but with proper copyright notice and attribution.
63326         * lib/gen-uio: Remove.
63327         * lib/Makefile.am: Add copyright notice.
63328         (libfetish_a_SOURCES): Add unlocked-io.h.
63329         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
63330         (DISTCLEANFILES, io_functions): Remove macros.
63331         (EXTRA_DIST): Remove gen_uio.
63332         (unlocked-io.h): Remove rule.
63333
63334 2002-12-04  Jim Meyering  <jim@meyering.net>
63335
63336         Reflect the fact that stat.c and lstat.c are no longer generated.
63337         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
63338         (DISTCLEANFILES): Likewise.
63339         (EXTRA_DIST): Likewise.
63340         (all_local): Don't depend on stat.c or lstat.c.
63341         (stat.c, lstat.c): Remove rules.
63342         (EXTRA_DIST): Remove xstat.in.
63343
63344         * lib/xstat.in: Remove file.  Contents moved into stat.c.
63345         * lib/stat.c: New file.  Contents mostly from xstat.in.
63346         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
63347         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
63348
63349         * lib/safe-read.c: Rework so that it may serve to define safe_write,
63350         too.
63351         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
63352
63353 2002-12-03  Jim Meyering  <jim@meyering.net>
63354
63355         * lib/safe-read.c, safe-write.c: Change variable names and comments,
63356         but not semantics, to minimize the differences between these two files.
63357         (safe_read): Change comment to mention SAFE_READ_ERROR.
63358
63359         * lib/safe-read.c (IS_EINTR): Define.
63360         (safe_read): Use IS_EINTR in place of in-function cpp directives.
63361
63362 2002-12-02  Jim Meyering  <jim@meyering.net>
63363
63364         * lib/safe-read.c (EINTR): Define.
63365         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63366         (INT_MAX): Provide fallback.
63367         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
63368
63369         * lib/safe-read.h (SAFE_READ_ERROR): Define.
63370
63371 2002-12-02  Bruno Haible  <bruno@clisp.org>
63372
63373         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
63374         Define, taken from safe-read.c.
63375         (INT_MAX): Provide fallback.
63376         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
63377         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
63378
63379         * lib/safe-read.c (EINTR): Remove definition.
63380         (safe_read): Don't use EINTR if it is absent.
63381
63382 2002-12-01  Jim Meyering  <jim@meyering.net>
63383
63384         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
63385         zero.
63386         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
63387
63388 2002-11-27  Paul Eggert  <eggert@twinsun.com>
63389
63390         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
63391         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
63392         with `if (! (value < limit)) abort ();', for readability.
63393
63394 2002-11-26  Karl Berry  <karl@gnu.org>
63395
63396         * lib/strdup.c: copy from libc again, with jim's ok.
63397         * lib/.cppi-disable: re-add strdup.c
63398
63399 2002-11-25  Karl Berry  <karl@gnu.org>
63400
63401         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
63402         instead of "strtol.c".
63403
63404 2002-11-25  Karl Berry  <karl@gnu.org>
63405
63406         * config/install-sh: update from automake for variable quoting, $0 in
63407         error msgs, etc.
63408
63409         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
63410         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
63411         entry.
63412
63413 2002-11-25  Jim Meyering  <jim@meyering.net>
63414
63415         * lib/mktime.c: Sync from libc, now that it has the latest fix.
63416
63417 2002-11-24  Karl Berry  <karl@gnu.org>
63418
63419         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
63420         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
63421
63422 2002-11-24  Jim Meyering  <jim@meyering.net>
63423
63424         Update from coreutils:
63425
63426         * lib/mktime.c: Merge in changes from libc.
63427
63428         Avoid a link-time failure on some Linux systems.
63429         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
63430         (otherwise).
63431         (__mon_yday): Declare with the STATIC attribute.
63432         (__mktime_internal): Likewise.
63433         Based on a report from Greg Schafer.
63434
63435 2002-11-23  Jim Meyering  <jim@meyering.net>
63436
63437         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
63438         Use `unsigned', not `int', as type of index.
63439
63440         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
63441
63442         * lib/fsusage.c: Remove unneeded parentheses around operands of
63443         `defined'.
63444
63445 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63446
63447         * lib/quotearg.h: Allow multiple inclusion by surrounding with
63448         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
63449         so that we can be included first.
63450         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
63451         * lib/quotearg.c: Include quotearg.h immediately after config.h.
63452         No need to include stddef.h or sys/types.h any more.
63453         Surround local include files with "", not "<>".
63454         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
63455         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
63456         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
63457         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
63458         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
63459         (ISPRINT): Remove; no longer needed now that we assume C89.
63460
63461         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
63462         Preserve errno.
63463
63464         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
63465         quotearg_char): Use SIZE_MAX rather than
63466         (size_t) -1 when we are talking about "infinity".
63467
63468         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
63469
63470 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63471
63472         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
63473         hint that one should use `if (! x) abort ();' rather than `assert
63474         (x);', and anyway it's one less thing to worry about configuring.
63475         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
63476         hash_rehash, hash_insert): Use abort rather than assert.
63477
63478 2002-11-22  Bruno Haible  <bruno@clisp.org>
63479
63480         * lib/safe-read.h: Assume C89. Add comments.
63481         (safe_read): Change return type to size_t.
63482         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
63483         byte counts > SSIZE_MAX correctly.
63484         * lib/safe-write.h: New file.
63485         * lib/safe-write.c: New file.
63486         * lib/full-read.h: New file.
63487         * lib/full-read.c: New file.
63488         * lib/full-write.h: Assume C89. Add comments.
63489         * lib/full-write.c: Include safe-write.h.
63490         (full_write): Rewritten to use safe_write.
63491         Suggested by Jim Meyering and Paul Eggert.
63492
63493 2002-11-21  Jim Meyering  <jim@meyering.net>
63494
63495         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
63496
63497         Merge in changes from the coreutils.
63498
63499         2002-09-25  Paul Eggert  <eggert@twinsun.com>
63500         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
63501         <stdint.h>.
63502         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
63503         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
63504         int.  Work more efficiently if X is the same width as uintmax_t.
63505         Do not compare X to -1, to avoid bogus compiler warning.
63506         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
63507         Don't assume that f_frsize and f_bsize are the same type.
63508
63509         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
63510         warning on FreeBSD.
63511
63512         * lib/makepath.c (make_path): Restore umask *before* creating the final
63513         component.
63514         (make_path): Minor reformatting.
63515
63516         * lib/xmalloc.c: Adjust to work with new autoconf macros,
63517         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
63518         HAVE_MALLOC/HAVE_REALLOC.
63519
63520         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
63521         dummy ones.  At least on GNU/Linux systems, `auto' means something
63522         else.
63523         From Michael Stone.
63524
63525 2002-11-21  Bruno Haible  <bruno@clisp.org>
63526
63527         Remove case insensitive option matching.
63528         * lib/argmatch.h (argcasematch): Remove declaration.
63529         (ARGCASEMATCH): Remove macro.
63530         (__xargmatch_internal): Remove case_sensitive argument.
63531         (XARGMATCH): Update.
63532         (XARGCASEMATCH): Remove macro.
63533         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
63534         case_sensitive argument.
63535         (argcasematch): Remove function.
63536         (__xargmatch_internal): Remove case_sensitive argument.
63537         (main): Use XARGMATCH instead of XARGCASEMATCH.
63538
63539         * lib/xmalloc.c: Change compile-time error message. Add comment about
63540         required autoconf version.
63541
63542 2002-11-20  Paul Eggert  <eggert@twinsun.com>
63543
63544         Merge argmatch cleanups from Bison.  Assume C89.
63545
63546         * lib/argmatch.c: Include config.h here, not in argmatch.h.
63547         Include stdlib.h, for EXIT_FAILURE.
63548         Always include <string.h>, since we assume C89.
63549         (EXIT_FAILURE): Remove pre-C89 bug workaround.
63550         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
63551         Include <stddef.h> instead, since it's all we need for size_t.
63552         (PARAMS): Remove.  All uses removed.
63553         (ARRAY_CARDINALITY): Do not bother to #undef.
63554         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
63555         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
63556         Remove unnecessary parentheses.
63557         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
63558         Insert necessary parentheses.
63559         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
63560         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
63561
63562 2002-11-19  Bruno Haible  <bruno@clisp.org>
63563
63564         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
63565         * lib/mbswidth.h: Include <stddef.h>, for size_t.
63566
63567         * lib/mbswidth.h (PARAMS): Remove macro.
63568         (mbswidth, mbsnwidth): Use ANSI C function declarations.
63569         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
63570
63571         * lib/gcd.h (PARAMS): Remove macro.
63572         (gcd): Use ANSI C function declarations.
63573         * lib/gcd.c (gcd): Likewise.
63574
63575 2002-11-15  Bruno Haible  <bruno@clisp.org>
63576
63577         * lib/strcspn.c: Include <stddef.h>.
63578         (strcspn): Use ANSI C function declaration. Change return type to
63579         size_t. Use NULL.
63580         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
63581         (strpbrk): Use NULL.
63582         * lib/strpbrk.h (PARAMS): Remove macro.
63583         (strpbrk): Use ANSI C function declaration.
63584         * lib/strstr.c: Don't include <sys/types.h>.
63585         * lib/strstr.h (PARAMS): Remove macro.
63586         (strstr): Use ANSI C function declarations.
63587
63588 2002-11-14  Karl Berry  <karl@gnu.org>
63589
63590         * config/mkinstalldirs: `do' on separate line, instead of
63591         `for var; do'.
63592
63593 2002-11-06  Bruno Haible  <bruno@clisp.org>
63594
63595         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
63596         * lib/gcd.c (gcd): Likewise.
63597
63598 2002-11-05  Bruno Haible  <bruno@clisp.org>
63599
63600         * lib/gcd.h: New file, from gettext-0.11.5.
63601         * lib/gcd.c: New file, from gettext-0.11.5.
63602
63603 2002-11-05  Bruno Haible  <bruno@clisp.org>
63604
63605         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63606         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63607         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63608         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
63609
63610         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
63611         <libintl.h>.
63612         * lib/makepath.c: Include gettext.h instead of <locale.h> and
63613         <libintl.h>.
63614
63615         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
63616         * lib/human.c: Include gettext.h instead of <libintl.h>.
63617         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
63618         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
63619         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
63620         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
63621         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
63622         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
63623         (textdomain): Remove definition.
63624         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
63625
63626         * lib/long-options.c: Remove include of <libintl.h> and definition of
63627         _.
63628         * lib/same.c: Remove include of <libintl.h> and definition of _.
63629
63630 2002-11-04  Owen Taylor  <otaylor@redhat.com>
63631
63632         * lib/config.charset: A few additions for Solaris.
63633
63634 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
63635
63636         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
63637         * lib/localcharset.c (locale_charset): Declare as extern "C".
63638
63639 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
63640
63641         * lib/config.charset: msdos in uk_UA uses CP1125.
63642
63643 2002-11-04  Bruno Haible  <bruno@clisp.org>
63644
63645         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
63646         * lib/strcase.h: New file, from GNU gettext-0.11.5.
63647         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
63648         * lib/strstr.h: New file, from GNU gettext-0.11.5.
63649         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
63650
63651 2002-11-04  Bruno Haible  <bruno@clisp.org>
63652
63653         * lib/localcharset.c (locale_charset): Don't return an empty string.
63654
63655 2002-11-04  Bruno Haible  <bruno@clisp.org>
63656
63657         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
63658         aliases.
63659
63660 2002-11-04  Bruno Haible  <bruno@clisp.org>
63661
63662         * lib/config.charset: Update for newest glibc. Add canonical names
63663         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
63664
63665 2002-11-04  Bruno Haible  <bruno@clisp.org>
63666
63667         * lib/config.charset: Add support for NetBSD.
63668
63669 2002-11-04  Bruno Haible  <bruno@clisp.org>
63670
63671         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
63672
63673 2002-11-01  Bruno Haible  <bruno@clisp.org>
63674
63675         * configure.in: Add AC_CONFIG_AUX_DIR call.
63676         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
63677         test/Makefile.
63678         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
63679
63680 2002-09-28  Karl Berry  <karl@gnu.org>
63681
63682         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
63683         installed automake until the next release, since changes have been
63684         made.
63685
63686 2002-09-25  Karl Berry  <karl@gnu.org>
63687
63688         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
63689         * lib/getopt*: copy from libc/posix.
63690         * lib/gettext.h: copy from gettext.
63691         * lib/.cppi-disable: add strdup.c, gettext.h.
63692
63693 2002-09-25  Karl Berry  <karl@gnu.org>
63694
63695         * config/srclist.txt: enable gettext.h check.
63696         * config/config.{guess,sub}: update from prep.
63697         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
63698                 from automake 1.6.3.
63699         See srclist*.
63700
63701 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
63702
63703         * regex.c (PATFETCH): Remove the translating fetch.
63704         (PATFETCH_RAW): Rename to PATFETCH.
63705         (set_image_of_range): New fun.
63706         (SET_RANGE_TABLE_WORK_AREA): Use it.
63707         (regex_compile): Don't translate the pattern chars so eagerly.
63708         Only do it when inserting an `exactn' bytecode or when handling
63709         a char-range.
63710         (mutually_exclusive_p): Avoid empty statement.
63711
63712 2002-07-06  Jim Meyering  <meyering@lucent.com>
63713
63714         * m4/README: Don't mention Makefile.am.in.
63715         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
63716
63717 2002-07-01  Jim Meyering  <meyering@lucent.com>
63718
63719         * lib/c-stack.c: Include sys/time.h.
63720         From Volker Borchert.
63721
63722 2002-06-26  Paul Eggert  <eggert@twinsun.com>
63723
63724         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
63725
63726 2002-06-26  Paul Eggert  <eggert@twinsun.com>
63727
63728         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
63729         New macro.  Use it uniformly instead of
63730         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
63731         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
63732         reported by Vin Shelton.
63733
63734 2002-06-22  Paul Eggert  <eggert@twinsun.com>
63735
63736         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
63737         Do not assume SA_SIGINFO behavior.
63738         Bug reported by Jim Meyering on NetBSD 1.5.2.
63739
63740 2002-06-22  Jim Meyering  <meyering@lucent.com>
63741
63742         * m4/c-stack.m4: New file, from diffutils-2.8.2.
63743         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
63744
63745         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
63746         now that configure.ac uses AC_GNU_SOURCE.
63747         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
63748         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
63749
63750         Update to latest tools.  Suggestions from Paul Eggert.
63751         * m4/stdbool.m4: New file, from diffutils-2.8.2.
63752         * m4/gnu-source.m4: Update from diffutils-2.8.2.
63753         * m4/fnmatch.m4: Likewise.
63754         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
63755         to AC_HEADER_STDBOOL
63756
63757 2002-06-22  Jim Meyering  <meyering@lucent.com>
63758
63759         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
63760         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
63761
63762 2002-06-22  Jim Meyering  <meyering@lucent.com>
63763
63764         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
63765
63766         * lib/exitfail.c, exitfail.h: Likewise.
63767         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
63768
63769         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
63770         of fnmatch.h.
63771         (EXTRA_DIST): Add fnmatch_loop.c.
63772         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
63773
63774         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
63775         * lib/fnmatch.c: Update from diffutils-2.8.2.
63776         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
63777         * lib/fnmatch.h: Remove file.
63778
63779 2002-06-21  Jim Meyering  <meyering@lucent.com>
63780
63781         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
63782         * m4/mbrtowc.m4: Likewise.
63783
63784         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
63785         * m4/mbswidth.m4: Reflect name change:
63786         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
63787         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
63788
63789         * m4/lib-link.m4: Update from gettext-0.11.2.
63790         * m4/gettext.m4: Likewise.
63791
63792         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
63793         From Alfred M. Szmidt.
63794
63795 2002-06-18  Paul Eggert  <eggert@twinsun.com>
63796
63797         * lib/file-type.h: Report an error if neither S_ISREG nor
63798         S_IFREG is defined, instead of using a test specific to glibc
63799         2.2.  This should be safe, since POSIX requires S_ISREG and
63800         Unix Version 7 had S_IFREG.  We don't need to check for
63801         <sys/types.h> since we don't use any symbols that it defines.
63802
63803 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
63804
63805         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
63806         $@-t, so that each temporary file name is unique and valid in the first
63807         8 characters, for operation under DOS.
63808
63809 2002-06-15  Paul Eggert  <eggert@twinsun.com>
63810
63811         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
63812
63813 2002-06-15  Jim Meyering  <meyering@lucent.com>
63814
63815         Work even with DJGPP 2.03, which lacks support for symlinks.
63816         From Richard Dawe.
63817         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
63818         is defined.
63819         * lib/lchown.c (S_ISLNK): Likewise.
63820
63821 2002-06-15  Jim Meyering  <meyering@lucent.com>
63822
63823         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
63824         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
63825         have been included before this file.
63826
63827 2002-06-14  Jim Meyering  <meyering@lucent.com>
63828
63829         * lib/file-type.h: Use the version from diffutils-2.8.2.
63830         * lib/file-type.c: Likewise.
63831
63832 2002-06-07  Jim Meyering  <meyering@lucent.com>
63833
63834         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
63835         They're needed at least for NetBSD 1.5.2.
63836         ($statxfs_includes): Include those same headers.
63837         ($statxfs_includes): Include sys/vfs.h if available.
63838         ($statxfs_includes): Likewise for sys/statvfs.h.
63839         Check for the following members in both structs statfs and statvfs:
63840         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
63841
63842 2002-06-01  Jim Meyering  <meyering@lucent.com>
63843
63844         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
63845         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
63846
63847 2002-05-28  Jim Meyering  <meyering@lucent.com>
63848
63849         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
63850         Reported by Volker Borchert.
63851
63852 2002-05-27  Jim Meyering  <meyering@lucent.com>
63853
63854         Fix a problem seen only on nonconforming systems whereby ls.c's
63855         use of localtime, and then of gettimeofday would cause trouble:
63856         the localtime call used to initialize rpl_gettimeofday's save
63857         mechanism would clobber ls's current local time information so
63858         that in any long listing the first file would always be listed
63859         with date 1970-01-01.  Analysis by Volker Borchert.
63860
63861         * lib/gettimeofday.c (localtime): Undefine.
63862         (rpl_localtime): New function.
63863
63864 2002-05-27  Jim Meyering  <meyering@lucent.com>
63865
63866         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
63867         localtime.
63868
63869         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
63870         use the replacement function; it wouldn't resolve at link time.
63871         Reported by Volker Borchert.
63872
63873 2002-05-22  Jim Meyering  <meyering@lucent.com>
63874
63875         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
63876         file-type.h.
63877         * lib/file-type.h: New file.
63878         * lib/file-type.c (file_type): New file/function.  Extracted from
63879         diffutils.
63880
63881 2002-04-30  Jim Meyering  <meyering@lucent.com>
63882
63883         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
63884
63885 2002-04-29  Paul Eggert  <eggert@twinsun.com>
63886
63887         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
63888
63889 2002-04-29  Paul Eggert  <eggert@twinsun.com>
63890
63891         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
63892         Do not check for alloca.h (no longer used) or stdbool.h (was never
63893         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
63894
63895 2002-04-29  Paul Eggert  <eggert@twinsun.com>
63896
63897         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
63898
63899 2002-04-29  Jim Meyering  <meyering@lucent.com>
63900
63901         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
63902         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
63903         Use AC_FUNC_STRNLEN here instead.
63904
63905         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
63906         With autoconf-2.53a, it's part of AC_PROG_CC.
63907
63908 2002-04-28  Paul Eggert  <eggert@twinsun.com>
63909
63910         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
63911         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
63912
63913 2002-04-28  Paul Eggert  <eggert@twinsun.com>
63914
63915         * lib/sig2str.h, lib/sig2str.c: New files.
63916         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
63917
63918 2002-04-28  Paul Eggert  <eggert@twinsun.com>
63919
63920         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
63921         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
63922         of 127, since 64 is the largest conceivable number for ancient
63923         nonstandard hosts.
63924         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
63925
63926 2002-04-28  Jim Meyering  <meyering@lucent.com>
63927
63928         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
63929
63930 2002-04-24  Jim Meyering  <meyering@lucent.com>
63931
63932         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
63933         (jm_PREREQ): Use it.
63934
63935         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
63936         mach/mach.h fcntl.h.
63937         Check for this function: setlocale.
63938
63939 2002-04-24  Jim Meyering  <meyering@lucent.com>
63940
63941         * lib/gettext.h: New file, from Gettext.
63942         * lib/Makefile.am (INCLUDES): Remove -I../intl.
63943         (libfetish_a_SOURCES): Add gettext.h.
63944
63945 2002-04-16  Jim Meyering  <meyering@lucent.com>
63946
63947         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
63948         ut_pid, ut_id, ut_exit.
63949
63950 2002-04-16  Jim Meyering  <meyering@lucent.com>
63951
63952         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
63953         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
63954         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
63955
63956 2002-04-12  Jim Meyering  <meyering@lucent.com>
63957
63958         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
63959         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
63960         existence of the getmntinfo function.  Needed for Darwin 5.3.
63961
63962         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
63963         This is necessary at least on Darwin 5.3.
63964
63965         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
63966         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
63967         strnlen.o in the library, and that makes some versions of ranlib
63968         object.
63969
63970 2002-04-12  Jim Meyering  <meyering@lucent.com>
63971
63972         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
63973
63974 2002-04-09  Jim Meyering  <meyering@lucent.com>
63975
63976         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
63977         to be more precise.  Rather than saying we're checking whether the
63978         function `works', say what we're testing.
63979         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
63980         Reported by Bruno Haible.
63981
63982 2002-03-10  Jim Meyering  <meyering@lucent.com>
63983
63984         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
63985         Suggestion from Santiago Vila.
63986
63987 2002-03-08  Jim Meyering  <meyering@lucent.com>
63988
63989         * lib/rename.c: Mention that this wrapper is needed also on
63990         mips-dec-ultrix4.4 systems.
63991
63992 2002-03-02  Jim Meyering  <meyering@lucent.com>
63993
63994         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
63995         not HAVE_CLOCK_SETTIME.
63996
63997 2002-02-27  Paul Eggert  <eggert@twinsun.com>
63998
63999         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
64000         Check for clock_settime.
64001
64002 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64003
64004         * lib/nanosleep.h: Rename to....
64005         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
64006
64007         * lib/gettime.c: New file.
64008         * lib/settime.c: New file.
64009         * lib/stime.c: Remove.
64010
64011         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
64012         timespec.h.  Remove nanosleep.h.
64013
64014 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64015
64016         * m4/acl.m4: New file.
64017         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
64018         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
64019
64020 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64021
64022         * lib/acl.c, lib/acl.h: New files.
64023         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
64024
64025 2002-02-24  Jim Meyering  <meyering@lucent.com>
64026
64027         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
64028         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
64029         cause trouble.  Reported by Nelson Beebe.
64030
64031 2002-02-23  Paul Eggert  <eggert@twinsun.com>
64032
64033         * lib/path-concat.c (xpath_concat): Reorder code to pacify
64034         compilers that don't know that xalloc_die never returns.
64035
64036 2002-02-20  Jim Meyering  <meyering@lucent.com>
64037
64038         * lib/getdate.c: Regenerate using bison-1.33.
64039
64040 2002-02-17  Jim Meyering  <meyering@lucent.com>
64041
64042         * config/config.guess (main): Don't use `head -1'; it's no longer
64043         portable. Use `sed 1q' instead.
64044
64045 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
64046
64047         * m4/codeset.m4: Upgrade to gettext-0.11.
64048         * m4/gettext.m4: Upgrade to gettext-0.11.
64049         * m4/glibc21.m4: Upgrade to gettext-0.11.
64050         * m4/iconv.m4: Upgrade to gettext-0.11.
64051         * m4/isc-posix.m4: Upgrade to gettext-0.11.
64052         * m4/lcmessage.m4: Upgrade to gettext-0.11.
64053         * m4/lib-ld.m4: New file, from gettext-0.11.
64054         * m4/lib-link.m4: New file, from gettext-0.11.
64055         * m4/lib-prefix.m4: New file, from gettext-0.11.
64056         * m4/progtest.m4: Upgrade to gettext-0.11.
64057
64058 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64059
64060         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
64061         (jm_PREREQ): Use it.
64062
64063 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64064
64065         * lib/posixver.c, lib/posixver.h: New files.
64066         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64067
64068 2002-02-02  Paul Eggert  <eggert@twinsun.com>
64069             Bruno Haible  <bruno@clisp.org>
64070
64071         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
64072         (fwrite_success_callback): New declaration.
64073         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
64074         print_unicode_char. Call failure callback instead of error.
64075         (fwrite_success_callback): New function.
64076         (exit_failure_callback): New function.
64077         (fallback_failure_callback): New function.
64078         (print_unicode_char): Call unicode_to_mb.
64079
64080 2002-01-26  Jim Meyering  <meyering@lucent.com>
64081
64082         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
64083         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
64084
64085 2002-01-26  Jim Meyering  <meyering@lucent.com>
64086
64087         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
64088
64089 2002-01-22  Paul Eggert  <eggert@twinsun.com>
64090
64091         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
64092
64093 2002-01-22  Jim Meyering  <meyering@lucent.com>
64094
64095         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
64096         Otherwise, some versions of automake would omit the rule that makes
64097         Makefile from Makefile.in.
64098
64099 2002-01-21  Paul Eggert  <eggert@twinsun.com>
64100
64101         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
64102         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64103         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
64104         (memcoll): Set errno to zero if there is no error.
64105
64106         * lib/quotearg.c (quotearg_buffer_restyled):
64107         Fix bug with quoting buffers containing NUL when backslashing escapes.
64108         This bug was exposed by the other changes in this patch.
64109         (quotearg_n_options): New arg ARGSIZE.
64110         All callers changed.
64111         (quoting_options_from_style): New function.
64112         (quotearg_n_style): Use it.
64113         (quotearg_n_style_mem): New function.
64114
64115         * lib/quotearg.h (quotearg_n_style_mem): New function.
64116
64117 2002-01-19  Jim Meyering  <meyering@lucent.com>
64118
64119         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
64120         Remove useless quotes: DF_PROG="df".
64121         * m4/strnlen.m4: New file.
64122
64123 2002-01-16  Paul Eggert  <eggert@twinsun.com>
64124
64125         * lib/backupfile.c (ISDIGIT): Comment fix.
64126         * lib/getdate.y (ISDIGIT): Likewise.
64127         * lib/posixtm.c (ISDIGIT, year): Likewise.
64128         * lib/strverscmp.c (ISDIGIT): Likewise.
64129         * lib/userspec.c (ISDIGIT): Likewise.
64130
64131 2002-01-16  Jim Meyering  <meyering@lucent.com>
64132
64133         * lib/getdate.y: Add three semicolons, each just before a closing
64134         brace. Bison (as of version 1.31) no longer papers over that mistake.
64135
64136 2002-01-05  Jim Meyering  <meyering@lucent.com>
64137
64138         * lib/version-etc.c (version_etc_copyright): Update copyright year.
64139
64140 2001-12-19  Paul Eggert  <eggert@twinsun.com>
64141
64142         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
64143         not silently exit merely because the output buffer happens to
64144         have nothing pending.
64145
64146 2001-12-18  Paul Eggert  <eggert@twinsun.com>
64147
64148         See the big note in ../ChangeLog.
64149         * lib/human.c (suffixes): Prefer K to k for 1024.
64150         (generate_suffix_backwards): New function.
64151         (human_readable_inexact): Use it.
64152         * lib/xstrtol.c (__xstrtol): If there is no number but there
64153         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
64154         Accept 'K' as well as 'k'.
64155
64156 2001-12-15  Jim Meyering  <meyering@lucent.com>
64157
64158         * lib/regex.h (__restrict_arr): Update from libc.
64159
64160         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
64161         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
64162         (STREQ): Define.
64163
64164 2001-12-14  Jim Meyering  <meyering@lucent.com>
64165
64166         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
64167         Suggestion from Bruno Haible.
64168
64169 2001-12-10  Jim Meyering  <meyering@lucent.com>
64170
64171         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
64172         xrealloc, Instead, include "xalloc.h".
64173         (initbuffer): Don't cast xmalloc return value to char*.
64174         (readline): Reword comment.
64175         Don't cast xrealloc return value to char*
64176         Return NULL, not 0.
64177
64178 2001-12-09  Jim Meyering  <meyering@lucent.com>
64179
64180         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
64181         about `signed and unsigned type in conditional expression'.
64182         * lib/posixtm.c (posix_time_parse): Likewise.
64183
64184         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
64185
64186         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
64187         to avoid a pedantic warning.
64188
64189         * lib/getstr.c: Don't include assert.h.
64190         (getstr): Remove warning-evoking assertions.
64191         Return -1 if offset parameter is out of bounds.
64192         Change the type of a local from int to size_t.
64193
64194         * lib/strftime.c (my_strftime_localtime_r): Include this function
64195         definition in the `#if ! HAVE_TM_GMTOFF' block.
64196
64197         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
64198         Include xalloc.h instead.
64199
64200 2001-12-02  Jim Meyering  <meyering@lucent.com>
64201
64202         * lib/tempname.c: Don't declare getenv, thus reverting the change of
64203         2001-11-18.  It's no longer necessary, now that stdlib.h is always
64204         included.
64205
64206         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
64207         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
64208
64209 2001-11-30  Akim Demaille  <akim@epita.fr>
64210
64211         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
64212         before being defined.
64213
64214 2001-11-27  Paul Eggert  <eggert@twinsun.com>
64215
64216         * lib/quotearg.h (quotearg_n, quotearg_n_style):
64217         First arg is int, not unsigned.
64218         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
64219         (SIZE_MAX, UINT_MAX): New macros.
64220         (quotearg_n_options): Abort if N is negative.
64221         Avoid overflow check on hosts where size_t is 64 bits and int
64222         is 32 bits, as overflow is impossible there.
64223         Fix off-by-one typo that caused unnecessary reallocation.
64224
64225 2001-11-27  Jim Meyering  <meyering@lucent.com>
64226
64227         * lib/tempname.c: Merge with version from libc.
64228         * lib/regex.c: Likewise.
64229
64230         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
64231         systems for which STDC_HEADERS is 0, it was not included, resulting in
64232         a warning about an integer-to-pointer conversion problem with getenv.
64233         Reported by Volker Borchert.
64234
64235 2001-11-26  Jim Meyering  <meyering@lucent.com>
64236
64237         * lib/gtod.h: Remove file.
64238         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
64239         * lib/gettimeofday.c: Don't include gtod.h.
64240         (GTOD_init): Remove function.
64241         (rpl_gettimeofday): Do its job here instead, rather than aborting.
64242         Suggestion from Volker Borchert.
64243
64244 2001-11-23  Jim Meyering  <meyering@lucent.com>
64245
64246         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
64247         it.
64248         * lib/hash.c (struct hash_table): Define it here instead.
64249
64250 2001-11-22  Jim Meyering  <meyering@lucent.com>
64251
64252         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
64253
64254 2001-11-20  Jim Meyering  <meyering@lucent.com>
64255
64256         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
64257         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
64258
64259 2001-11-19  Jim Meyering  <meyering@lucent.com>
64260
64261         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
64262         directory.  Use "conftestXXXXXX" as the template.
64263         Suggestion from Paul Eggert.
64264
64265         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
64266         immediately, so the test doesn't mistakenly hit the max-open-files
64267         limit.
64268
64269 2001-11-18  Paul Eggert  <eggert@twinsun.com>
64270
64271         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
64272         (TEMPORARIES): New macro.
64273         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
64274         removes an artificial limitation (e.g. HP-UX 10.20, where
64275         TMP_MAX is 17576).
64276
64277 2001-11-18  Jim Meyering  <meyering@lucent.com>
64278
64279         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
64280
64281 2001-11-18  Jim Meyering  <meyering@lucent.com>
64282
64283         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
64284         on SunOS 4.
64285
64286         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
64287         files will be created before anything else.
64288
64289 2001-11-17  Paul Eggert  <eggert@twinsun.com>
64290
64291         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
64292         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
64293
64294 2001-11-17  Jim Meyering  <meyering@lucent.com>
64295
64296         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
64297         Prompted by a report from Bob Proulx.
64298
64299         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
64300         Instead, require UTILS_FUNC_MKSTEMP.
64301
64302 2001-11-17  Jim Meyering  <meyering@lucent.com>
64303
64304         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
64305         Now, that's done as part of AC_FUNC_STRTOD.
64306
64307 2001-11-17  Jim Meyering  <meyering@lucent.com>
64308
64309         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
64310         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
64311         rather than group writable.  Patch by Juan F. Codagnone.
64312
64313         * lib/readtokens.c: Remove explicit declarations of xmalloc and
64314         xrealloc, Instead, include "xalloc.h".
64315
64316         * lib/mountlist.c: Include unlocked-io.h after all system headers.
64317         Remove explicit declarations of xmalloc, xrealloc,
64318         and xstrdup.  Instead, include "xalloc.h".
64319
64320         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
64321         unlocked-io.h.
64322         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
64323         Likewise.
64324         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
64325
64326         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
64327         Reported by Padraig Brady.
64328
64329         * lib/mkstemp.c: #undef mkstemp.
64330         Include config.h.
64331         (rpl_mkstemp): Rename from mkstemp.
64332         Protoize.
64333
64334 2001-11-16  Jim Meyering  <meyering@lucent.com>
64335
64336         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
64337         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
64338         determine the amount of total physical memory, use pstat_getstatic.
64339         HPUX-11 doesn't define _SC_PHYS_PAGES.
64340         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
64341         If sysconf couldn't be used to determine the amount of available
64342         physical memory, use both pstat_getstatic and pstat_getdynamic.
64343         Based on a patch from Bob Proulx.
64344
64345 2001-11-10  Jim Meyering  <meyering@lucent.com>
64346
64347         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
64348         (jm_PREREQ): Use it.
64349
64350 2001-11-09  Jim Meyering  <meyering@lucent.com>
64351
64352         * m4/jm-macros.m4: Require autoconf-2.52f.
64353         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
64354         Use these AC_-prefixed names, not the AM_-prefixed ones.
64355
64356         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
64357
64358 2001-11-05  Jim Meyering  <meyering@lucent.com>
64359
64360         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
64361
64362 2001-11-04  Jim Meyering  <meyering@lucent.com>
64363
64364         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
64365         $DEFS.
64366
64367 2001-11-03  Jim Meyering  <meyering@lucent.com>
64368
64369         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
64370         of AC_DEFUN.
64371
64372         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
64373         know the name of the variable in the macro definition.
64374
64375 2001-11-03  Jim Meyering  <meyering@lucent.com>
64376
64377         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
64378         in argmatch_to_argument call.
64379
64380         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
64381         argument.
64382
64383         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
64384         e.g., a fault due to an attempt to free a NULL pointer.
64385
64386 2001-11-01  Jim Meyering  <meyering@lucent.com>
64387
64388         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
64389         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
64390
64391 2001-11-01  Jim Meyering  <meyering@lucent.com>
64392
64393         * lib/dirfd.c, lib/dirfd.h: New files.
64394         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
64395
64396         * lib/hash.c (hash_print) [TESTING]: Clean up.
64397
64398 2001-10-22  Paul Eggert  <eggert@twinsun.com>
64399
64400         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
64401         to avoid a warning if -Wall.
64402
64403 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
64404
64405         * README: New file
64406         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
64407         (per RMS's instructions, this is now the canonical source)
64408         * lgpl/, gpl/: New directories.
64409
64410 2001-10-21  Paul Eggert  <eggert@twinsun.com>
64411
64412         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
64413
64414 2001-10-21  Jim Meyering  <meyering@lucent.com>
64415
64416         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
64417         this code would end up calling gettext even in packages built
64418         with --disable-nls.
64419         * lib/getopt.c (_): Likewise.
64420         * lib/regex.c (_): Likewise.
64421
64422 2001-10-20  Paul Eggert  <eggert@twinsun.com>
64423
64424         * m4/error.m4 (jm_PREREQ_ERROR):
64425         Do not invoke AC_CHECK_FUNCS with strerror_r, as
64426         AC_FUNC_STRERROR_R does that.
64427         Check for strerror declaration.
64428
64429         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
64430         are supposed to have them these days.
64431         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
64432         Merge changes from latest Autoconf CVS.
64433         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
64434         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
64435         POSIX decided to standardize on the int flavor of strerror_r.
64436
64437 2001-10-20  Paul Eggert  <eggert@twinsun.com>
64438
64439         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
64440         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
64441         Use strerror_r that is only a macro, even if it is not a function.
64442         (strerror): Check for HAVE_DECL_STRERROR before declaring.
64443         (private_strerror): Use prototypes, not old-style function definition.
64444         (print_errno_message): New function.
64445         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
64446         char*-flavored one.
64447         (error_tail, error, error_at_line): Use it.
64448
64449 2001-10-11  Jim Meyering  <meyering@lucent.com>
64450
64451         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
64452         and quote_n (1, ... to avoid clobbering a buffer.
64453
64454 2001-10-05  Jim Meyering  <meyering@lucent.com>
64455
64456         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
64457         hash-pjw.h.
64458         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
64459         * lib/hash-pjw.h: New file.
64460
64461 2001-09-30  Jim Meyering  <meyering@lucent.com>
64462
64463         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
64464         `struct fsstat' has the `f_fstypename' member.
64465         Use that to define FS_TYPE, which is now used to make
64466         the getfsstat link test tighter.
64467
64468 2001-09-30  Jim Meyering  <meyering@lucent.com>
64469
64470         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
64471         Include <sys/ucred.h>, for Apple Darwin.
64472         Include sys/mount.h and sys/fs_types.h only if available.
64473         (FS_TYPE): Define.
64474         (read_filesystem_list): Use FS_TYPE.
64475
64476 2001-09-29  Paul Eggert  <eggert@twinsun.com>
64477
64478         * lib/exclude.c (excluded_filename): 0 -> false, since it's
64479         a boolean context.
64480
64481 2001-09-29  Jim Meyering  <meyering@lucent.com>
64482
64483         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64484         [one-argument getmntent function]): Include stdio.h before mntent.h.
64485         SunOS 4.1.x needs it for the declaration of `FILE'.
64486         Patch by Volker Borchert.
64487
64488         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64489         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
64490         sys/fs_types.h, and make the link-test for getfsstat guard #include
64491         directives with appropriate #if HAVE_*_H tests so that we can
64492         detect getfsstat on Apple Darwin1.3.7 systems.
64493         Reported by Nelson Beebe.
64494         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
64495
64496 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64497
64498         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
64499         #defines strtoimax.  Also treat the other strto* functions
64500         like strtoimax.
64501
64502         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
64503         Check for strtoul and strtoumax,
64504         as those declarations are made even in the signed case.
64505         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
64506         Likewise, for strtol and strtoimax.
64507
64508 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64509
64510         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
64511         #defines strtoimax.  Also treat the other strto* functions
64512         like strtoimax.
64513
64514         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
64515         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
64516         (strtoimax, strtoumax): Do not declare if already defined as a macro.
64517
64518 2001-09-26  Jim Meyering  <meyering@lucent.com>
64519
64520         Most macros in unlocked-io.h had the wrong number of arguments.
64521         * lib/gen-uio: New script.
64522         (USE_UNLOCKED_IO): Define to 1 if not already defined.
64523         * lib/unlocked-io.hin: Remove file.
64524         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
64525         rather than trying to embed it here.
64526         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
64527         Reported by Padraig Brady.
64528
64529 2001-09-25  Volker Borchert  <bt@teknon.de>
64530
64531         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
64532         `result'.
64533
64534 2001-09-24  Jim Meyering  <meyering@lucent.com>
64535
64536         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
64537
64538 2001-09-23  Jim Meyering  <meyering@lucent.com>
64539
64540         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
64541         instead of the mere test for existence of mntent.h.  The latter
64542         would get a false-positive on AIX 3.4 systems.
64543         In the outer getmntent if-block, don't die if neither of the getmntent
64544         tests succeeds.  Instead, just fall through and continue with the
64545         remaining tests.
64546
64547 2001-09-23  Jim Meyering  <meyering@lucent.com>
64548
64549         * lib/mountlist.c: Remove useless parentheses in #if directives.
64550         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
64551         the deprecated MOUNTED symbol is no longer defined in mntent.h.
64552
64553 2001-09-22  Jim Meyering  <meyering@lucent.com>
64554
64555         * m4/gettext.m4: New file.  From gettext.
64556         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
64557         * m4/progtest.m4: Likewise
64558         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
64559         * m4/glibc21.m4: Likewise.
64560
64561         * m4/libintl.m4: Remove.  No longer used.
64562
64563 2001-09-22  Jim Meyering  <meyering@lucent.com>
64564
64565         * lib/localcharset.c: Update from latest gettext.
64566         * lib/config.charset: Likewise.
64567
64568 2001-09-20  Jim Meyering  <meyering@lucent.com>
64569
64570         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
64571         strtoimax.
64572         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
64573         strtoumax.
64574
64575 2001-09-20  Jim Meyering  <meyering@lucent.com>
64576
64577         * lib/xstrtol.c (strtoimax): Guard declaration with
64578         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
64579         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
64580         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
64581         (strtoumax): Likewise, for completeness (it wasn't necessary).
64582
64583 2001-09-17  Paul Eggert  <eggert@twinsun.com>
64584
64585         * lib/strtoimax.c (HAVE_LONG_LONG):
64586         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
64587         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
64588         to work around bug in IBM C compiler.
64589
64590 2001-09-17  Jim Meyering  <meyering@lucent.com>
64591
64592         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
64593         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
64594         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
64595         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
64596         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
64597         whenever the right hand side need not be expanded by the shell.
64598
64599 2001-09-16  Paul Eggert  <eggert@twinsun.com>
64600
64601         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
64602         library.  It's not correct, as some older glibcs are buggy.
64603         fnmatch wasn't fixed until glibc 2.2.
64604
64605         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
64606         special shell magic here.
64607
64608 2001-09-16  Jim Meyering  <meyering@lucent.com>
64609
64610         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
64611         * m4/jm-macros.m4: Require it.
64612
64613 2001-09-16  Jim Meyering  <meyering@lucent.com>
64614
64615         * lib/mkdir.c: New file.
64616
64617 2001-09-15  Jim Meyering  <meyering@lucent.com>
64618
64619         * m4/jm-macros.m4: Check for help2man.
64620
64621 2001-09-11  Jim Meyering  <meyering@lucent.com>
64622
64623         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
64624         The body, by Paul Eggert, was moved here from configure.in.
64625         * m4/jm-macros.m4: Require UTILS_HOST_OS.
64626
64627 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64628
64629         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
64630         (jm_PREREQ): Use it.
64631
64632 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64633
64634         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
64635         Use ssize_t, not int, to store result of readlink.
64636         Check for ssize_t overflow as well as size_t overflow,
64637         as POSIX says the result of readlink is implementation-defined
64638         when ssize_t overflows.
64639         Remove unnecessary cast to char*.
64640         Use free+malloc instead of realloc, as the storage doesn't need
64641         to be preserved and it's clearer and can be more efficient that way.
64642         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
64643         * lib/xreadlink.h (xreadlink): Update prototype.
64644
64645 2001-09-04  Paul Eggert  <eggert@twinsun.com>
64646
64647         * lib/xgetcwd.c: Revert some of the previous change; intead,
64648         fix the HAVE_GETCWD_NULL code to behave more like the
64649         !HAVE_GETCWD_NULL code used to.
64650
64651         Include "xalloc.h".
64652         (xgetcwd): Do not return NULL when memory is exhausted; instead,
64653         invoke xalloc_die.
64654
64655 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64656
64657         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
64658         sys/param.h, as pathmax.h includes them.
64659
64660 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64661
64662         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
64663         (jm_PREREQ_XGETCWD): New macro.
64664
64665         * m4/getcwd.m4: New file.
64666
64667 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64668
64669         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
64670         like the HAVE_GETCWD_NULL code.
64671         Include pathmax.h if not HAVE_GETCWD.
64672         Do not include xalloc.h.
64673         (INITIAL_BUFFER_SIZE): New symbol.
64674         Do not use xmalloc / xrealloc, since the caller is responsible for
64675         handling errors.  Preserve errno around `free' during failure.
64676         Do not overrun buffer when using getwd.
64677
64678 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64679
64680         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
64681         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
64682         getcwd (NULL, 0).
64683
64684 2001-09-03  Paul Eggert  <eggert@twinsun.com>
64685
64686         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
64687         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
64688         spotted by Jim Meyering.
64689
64690 2001-09-03  Jim Meyering  <meyering@lucent.com>
64691
64692         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
64693         failure.
64694
64695 2001-09-02  Jim Meyering  <meyering@lucent.com>
64696
64697         * lib/error.c: Update from GNU libc.
64698
64699 2001-09-01  Jim Meyering  <meyering@lucent.com>
64700
64701         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
64702         Used by df.
64703
64704 2001-09-01  Jim Meyering  <meyering@lucent.com>
64705
64706         * lib/xreadlink.c: New file.
64707         * lib/xreadlink.h: New file.
64708         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
64709         xreadlink.h.
64710
64711         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
64712         doesn't conflict with sparc Solaris 7's definition in
64713         /usr/include/sys/int_types.h.
64714
64715         * lib/exclude.c: Use `""', not `<>' to #include non-system header
64716         files.
64717         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
64718         and strncasecmp as r-values.  Unixware didn't have declarations.
64719
64720 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64721
64722         * lib/xstrtol.h: Add copyright notice.
64723         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
64724         LONGINT_INVALID_SUFFIX_CHAR.
64725
64726 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64727
64728         * lib/xstrtol.c (strtoimax): New decl.
64729
64730 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64731
64732         * lib/xgetcwd.c: Don't include pathmax.h.
64733         Include stdlib.h and unistd.h if available.
64734         Include xalloc.h.
64735         (xmalloc, xstrdup, free): Remove decls.
64736         (xgetcwd): Don't assume sizes fit in unsigned.
64737         Check for overflow when computing sizes.
64738         Simplify reallocation code.
64739
64740 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64741
64742         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
64743         a directory's st_size can have an arbitrary value, so the old
64744         usage could waste an arbitrary amount of memory.  All uses
64745         changed.
64746         * lib/savedir.h: Update prototype.
64747
64748 2001-08-31  Paul Eggert  <eggert@twinsun.com>
64749
64750         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
64751
64752         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
64753         old strtoimax.c.
64754
64755         Also, make the following further changes to make this file's
64756         configuration more similar to that of strtol.c:
64757         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
64758         (strtoumax, uintmax_t, strtoull, strtol): Remove.
64759         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
64760         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
64761         changed to signed values.
64762
64763         And make the following changes as well:
64764         Fix copyright notice, as 1999 was missing.
64765         (verify): New macro.
64766         (strtoimax): Check sizes at compile-time, not run-time.
64767         Prefer strtol to strtoll if both work.
64768         (main): Remove; it was not that useful and was a pain to maintain.
64769
64770         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
64771
64772 2001-08-31  Jim Meyering  <meyering@lucent.com>
64773
64774         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
64775         Use an initial, malloc'd, buffer of length 128 rather than
64776         a statically allocated one of length 1024.
64777
64778 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64779
64780         Simplify code, partly by assuming autoconf 2.52 semantics.
64781
64782         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
64783
64784         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
64785         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
64786         All uses removed.
64787         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
64788         Move AC_REQUIRE to next-to-top level, to avoid confusion.
64789         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
64790         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
64791         jm_AC_HEADER_INTTYPES_H.
64792         * m4/jm-macros.m4 (jm_MACROS): Likewise.
64793
64794         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
64795
64796         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
64797         Quote first arg of AC_DEFUN.
64798         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
64799         since they are needed to parse the include file even if we need
64800         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
64801         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
64802         but with opposite signedness.
64803
64804 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64805
64806         Merge 'exclude' changes from tar 1.13.22.
64807         This fixes one or two unlikely storage allocation overflow bugs,
64808         but doesn't change user-visible behavior otherwise.
64809
64810 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64811
64812         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
64813         (jm_PREREQ_EXCLUDE): New macro.
64814
64815 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64816
64817         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
64818         tm to be declared.
64819
64820 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64821
64822         * lib/hash.c: Remove '2001' from copyright notice.
64823
64824 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64825
64826         * lib/full-write.h: New file.
64827         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
64828         * lib/full-write.c: Correct credits, as cccp.c no longer
64829         exists and anyway it was so heavily changed from the old cccp
64830         code as to be unrecognizable.  Include full-write.h.
64831         (full_write) Return size_t, with short writes meaning failure.
64832         All callers changed.  This fixes a bug with large buffers
64833         on 64-bit hosts.
64834         * lib/utime.c: Include full-write.h.
64835
64836 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64837
64838         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
64839         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
64840         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
64841         Include if available.
64842         (<xalloc.h>): Include
64843         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
64844         (verify): New macro.  Use it to verify that EXCLUDE macros do not
64845         collide with FNM macros.
64846         (struct patopts): New struct.
64847         (struct exclude): Use it, as exclude patterns now come with options.
64848         (new_exclude): Support above changes.
64849         (new_exclude, add_exclude_file):
64850         Initial size must now be a power of two to simplify overflow checking.
64851         (free_exclude, fnmatch_no_wildcards): New function.
64852         (excluded_filename): No longer requires options arg, as the options
64853         are determined by add_exclude.  Now returns bool, not int.
64854         (excluded_filename, add_exclude):
64855         Add support for the fancy new exclusion options.
64856         (add_exclude, add_exclude_file): Now takes int options arg.
64857         Check for arithmetic overflow when computing sizes.
64858         (add_exclude_file): xrealloc might modify errno, so don't
64859         realloc until after errno might be used.
64860
64861         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
64862         New macros.
64863         (free_exclude): New decl.
64864         (add_exclude, add_exclude_file): Now takes int options arg.
64865         (excluded_filename): No longer requires options arg, as the options
64866         are determined by add_exclude.  Now returns bool, not int.
64867
64868 2001-08-30  Paul Eggert  <eggert@twinsun.com>
64869
64870         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
64871
64872 2001-08-27  Jim Meyering  <meyering@lucent.com>
64873
64874         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
64875
64876         * lib/version-etc.c (N_): Remove definition.
64877         Revert most of last change.
64878         Instead, simply don't mark the `Copyright...' string for translation.
64879         Based on advice from Paul Eggert.
64880
64881         * lib/strtoxmax.c: Tweak comment.
64882
64883 2001-08-26  Jim Meyering  <meyering@lucent.com>
64884
64885         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
64886
64887         * m4/xstrtoimax.m4: New file.
64888         * m4/xstrtoumax.m4: Add comments explaining why we
64889         AC_REPLACE_FUNCS(strtol).
64890
64891 2001-08-26  Jim Meyering  <meyering@lucent.com>
64892
64893         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
64894         of copyright with `%s' so translators don't get an untranslated
64895         message in 2002.
64896         (COPYRIGHT_YEAR): Define.
64897         (version_etc): Use fprintf rather than fputs.
64898         Suggestion from Ulrich Drepper.
64899
64900         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
64901
64902         * lib/strtoll.c: New file, from GNU libc.
64903         * lib/xstrtoimax.c: New file.
64904
64905         * lib/xstrtol.h: Add xstrtoimax.
64906         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
64907         * lib/strtoimax.c: New file.  Likewise, but first define
64908         STRTOUXMAX_SIGNED.
64909
64910         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
64911         ...
64912         * lib/strtoxmax.c: ... then renamed to this.
64913
64914 2001-08-18  Paul Eggert  <eggert@twinsun.com>
64915
64916         * m4/inttypes.m4: Add AC_PREREQ(2.13).
64917         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
64918         (jm_AC_TYPE_INTMAX_T): New macro.
64919         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
64920
64921         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
64922
64923         * m4/longlong.m4: Renamed from ulonglong.m4.
64924         * m4/inttypes.m4: Renamed from inttypes_h.m4.
64925         * m4/uintmax_t.m4: Removed.
64926
64927 2001-08-13  Paul Eggert  <eggert@twinsun.com>
64928
64929         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
64930         Port to Solaris 8, where 'sed' requires a space after the 'r'
64931         command, and where sh dislikes "$/".  Clean up the spacing a bit.
64932         Redirect output to $tmp just once.
64933
64934 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
64935
64936         * lib/addext.c (<errno.h>): Include.
64937         (errno): Declare if not defined.
64938         (addext): Work correctly when pathconf returns -1 and leaves
64939         errno alone because there is no limit.  Also, work even if
64940         pathconf returns a value greater than SIZE_MAX.
64941
64942 2001-08-12  Jim Meyering  <meyering@lucent.com>
64943
64944         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
64945         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
64946         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
64947         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
64948         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
64949         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
64950         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
64951         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
64952         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
64953         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
64954         utime.m4, utimes.m4, xstrtoumax.m4:
64955         Quote the first argument in each use of AC_DEFUN.
64956
64957 2001-08-12  Jim Meyering  <meyering@lucent.com>
64958
64959         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
64960         Simply `return getcwd (NULL, 0);'.
64961         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
64962         Use 1300 as initial value for length, not PATH_MAX.
64963
64964         * lib/pathmax.h: Clean up cpp syntax.
64965
64966 2001-08-12  Jim Meyering  <meyering@lucent.com>
64967
64968         * lib/gettimeofday.c: New file.
64969         * lib/gtod.h: New file.
64970         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
64971
64972 2001-08-05  Jim Meyering  <meyering@lucent.com>
64973
64974         * m4/jm-macros.m4: Require autoconf-2.52.
64975
64976 2001-08-04  Jim Meyering  <meyering@lucent.com>
64977
64978         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
64979         stmt, to get in sync with glibc.
64980
64981 2001-08-03  Paul Eggert  <eggert@twinsun.com>
64982
64983         The following changes are from gettext 0.10.39 as maintained by
64984         Bruno Haible.
64985
64986         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
64987         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
64988         with inverted sense.  All uses changed.
64989
64990         * lib/mbswidth.c: Don't include <limits.h>.
64991         Include <stdlib.h> and <string.h> unconditionally.
64992         (iswcntrl, mbsinit, ISCNTRL): New macros.
64993         (mbsnwidth): Use K&R style function declarations.
64994         Don't bother checking for MB_LEN_MAX == 1, since the compiler
64995         can optimize it when MB_CUR_MAX == 1.
64996         The width of control characters is zero, not 1.
64997
64998 2001-08-03  Paul Eggert  <eggert@twinsun.com>
64999
65000         The following changes are from gettext 0.10.39 as maintained by
65001         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
65002
65003         * m4/codeset.m4: Upgrade to serial AM1.
65004         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
65005         all uses changed.  Quote first arg of AC_DEFUN.
65006         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
65007
65008         * m4/iconv.m4: Upgrade to serial AM2.
65009         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
65010         Add --with-libconv-prefix.
65011         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
65012         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
65013         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
65014         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
65015         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
65016
65017         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
65018         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
65019         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
65020         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
65021         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
65022         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
65023         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65024         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
65025         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
65026
65027         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
65028         string.h any more.
65029
65030         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
65031         not the default value.
65032
65033         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
65034         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
65035         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
65036         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
65037         Also check for iswcntrl, used for wcwidth fallback.
65038         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
65039         to Autoconf 2.13.
65040
65041 2001-08-03  Jim Meyering  <meyering@lucent.com>
65042
65043         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
65044         as it was in the original.  Reported by Paul Eggert.
65045
65046 2001-07-16  Jim Meyering  <meyering@lucent.com>
65047
65048         * m4/gettimeofday.m4: New file.
65049         Prompted by a report from Bernhard Baehr.
65050
65051 2001-07-15  Jim Meyering  <meyering@lucent.com>
65052
65053         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
65054         stuff. Now it's in ../Makefile.cfg.
65055
65056 2001-07-15  Jim Meyering  <meyering@lucent.com>
65057
65058         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
65059         (BUILT_SOURCES): Add unlocked-io.h.
65060         (io_functions): Define.
65061         (unlocked-io.h): New rule.
65062         (DISTCLEANFILES): Add unlocked-io.h.
65063         (all-local): Depend on unlocked-io.h, to ensure it is created.
65064
65065         * lib/unlocked-io.hin: New file
65066
65067         * lib/regex.c: Update from glibc.
65068
65069 2001-07-05  Jim Meyering  <meyering@lucent.com>
65070
65071         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
65072         recommendation.
65073         (libfetish_a_SOURCES): Put all .h files here instead.
65074         Remove a thus-exposed (better checks in automake) duplicate and
65075         two unnecessary .h files.
65076
65077 2001-07-04  Jim Meyering  <meyering@lucent.com>
65078
65079         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
65080         that generates jm-glibc-io.m4 so that it doesn't trigger any make
65081         distcheck failure.
65082
65083 2001-07-02  Jim Meyering  <meyering@lucent.com>
65084
65085         The following changes were prompted by suggestions from Bruno Haible.
65086
65087         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
65088         is now generated.
65089         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
65090         definition of EXTRA_DIST.
65091         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
65092         ensure that the generated file is created/updated whenever the list
65093         of $(unlocked_functions) is changed.
65094         (jm-glibc-io.m4): New rule.
65095         (unlocked-io.h): New rule -- currently unused.
65096
65097 2001-06-24  Jim Meyering  <meyering@lucent.com>
65098
65099         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
65100         unmatched right bracket, rather than kludging it with an extra,
65101         falsely-matching quote in a comment.  Patch by Akim Demaille.
65102
65103 2001-06-11  Jim Meyering  <meyering@lucent.com>
65104
65105         * lib/regex.c: Update from GNU libc.
65106
65107 2001-05-27  Jim Meyering  <meyering@lucent.com>
65108
65109         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
65110         Check for ut_type in struct utmp.
65111
65112 2001-05-27  Jim Meyering  <meyering@lucent.com>
65113
65114         * lib/readutmp.h (UT_TYPE): Define.
65115
65116 2001-05-24  Jim Meyering  <meyering@lucent.com>
65117
65118         * lib/argmatch.c: Include "quote.h".
65119         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
65120         quote function.  Reported by Göran Uddeborg.
65121
65122 2001-05-22  Jim Meyering  <meyering@lucent.com>
65123
65124         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
65125         now that we use the package-supplied version unconditionally.
65126         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
65127
65128 2001-05-21  Jim Meyering  <meyering@lucent.com>
65129
65130         * m4/regex.m4: Change a couple backticks to single quotes to avoid
65131         shell syntax errors.
65132
65133 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65134
65135         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
65136
65137 2001-05-20  Paul Eggert  <eggert@twinsun.com>
65138
65139         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
65140         Don't bother to check library strftime, since
65141         we'll be using our own my_strftime function anyway.
65142         Define my_strftime instead of strftime.
65143
65144 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
65145
65146         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
65147         which is not yet declared.
65148
65149 2001-05-15  Jim Meyering  <meyering@lucent.com>
65150
65151         * m4/regex.m4: Use proper quoting so brackets appear in the test
65152         program.
65153         Reported by, and with help from, Bruno Haible.
65154
65155 2001-05-13  Jim Meyering  <meyering@lucent.com>
65156
65157         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
65158         undefined.
65159
65160 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65161
65162         dirname code cleanup.  base_name now behaves more compatibly
65163         with POSIX basename when given file names that have trailing
65164         slashes, and similarly for dir_name.  Add new primitives
65165         base_len and dir_len.  Put the directory-name-related decls
65166         into dirname.h.
65167
65168         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
65169         * lib/backupfile.c (base_name): Likewise.
65170         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
65171         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
65172         * lib/makepath.c (strip_trailing_slashes): Likewise.
65173         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
65174         ISSLASH): Likewise.
65175         * lib/rename.c (strip_trailing_slashes): Likewise.
65176         * lib/same.c (base_name): Likewise.
65177         * lib/stripslash.c (ISSLASH): Likewise.
65178
65179         * lib/addext.c: Include <dirname.h> after size_t is defined.
65180         * lib/backupfile.c: Likewise.
65181
65182         * lib/addext.c (addext): Use base_len to trim redundant
65183         trailing slashes instead of doing it ourselves.
65184         But do not trim the last slash if it is not redundant.
65185
65186         * lib/backupfile.c (find_backup_file_name,
65187         max_backup_version): Use base_len instead of rolling it ourselves.
65188         Handle the case of "" and (on DOS) "C:" correctly.
65189
65190         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
65191         needed. Include <string.h>, <dirname.h>.
65192         (base_name): Allow file names ending in slashes, other than names
65193         that are all slashes.  In this case, return the basename followed
65194         by the slashes.  This is more general, and can be used in places
65195         where the original base_name purposely had an assertion failure.
65196         (base_len): New function.
65197
65198         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
65199         Do not include <assert.h>; no longer needed.
65200         Include xalloc.h.
65201         (memrchr): Remove decl.
65202         (dir_name_r): Remove.
65203         (dir_len): Renamed from dirlen.  All callers changed.
65204         Rewrite in terms of base_name, for simplicity and consistency.
65205         (dir_name): Never return NULL.  All callers changed.
65206         Do not include <stdlib.h> in test program; no longer needed.
65207         return 0; is fine for test program.
65208
65209         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
65210         New macros.
65211         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
65212
65213         * lib/path-concat.c (path_concat): Use base_len to compute
65214         base length, not strlen; this means we cannot rely on memcpy
65215         to null-terminate.
65216
65217         * lib/same.c (STREQ): Remove.
65218         (same_name): Handle the case where the basename ends in trailing '/'.
65219
65220         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
65221         a slash was stripped.  Do not strip the last slash after a
65222         file system prefix.
65223
65224 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65225
65226         * lib/Makefile.am (libfetish_a_SOURCES):
65227         Add strftime.c, since we now compile it on all hosts.
65228
65229         * lib/strftime.c (my_strftime):
65230         Define to nstrftime if emacs, but only if my_strftime is not defined.
65231         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
65232         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
65233         Add one more extra argument: a nanoseconds value.
65234         All uses changed.
65235         (ns): New macro.
65236         (my_strftime function): Add %N format.
65237         (emacs_strftimeu): Renamed from emacs_strftime,
65238         with extra ut argument.
65239
65240 2001-05-09  Paul Eggert  <eggert@twinsun.com>
65241
65242         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
65243
65244 2001-04-21  Jim Meyering  <meyering@lucent.com>
65245
65246         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
65247         doesn't interfere.
65248
65249 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65250
65251         * m4/ftruncate.m4: Check for chsize.
65252         Link with ftruncate.o unconditionally if ftruncate is missing.
65253         This was required when cross-compiling to i586-mingw32msvc.
65254
65255 2001-04-08  Jim Meyering  <meyering@lucent.com>
65256
65257         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
65258         recomputed; that's necessary when the offset spans a DST transition.
65259         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
65260
65261 2001-04-02  Jim Meyering  <meyering@lucent.com>
65262
65263         * lib/regex.h, regex.c: Update from GNU libc.
65264
65265 2001-03-24  Jim Meyering  <meyering@lucent.com>
65266
65267         * m4/jm-macros.m4: Require autoconf-2.49d.
65268
65269 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
65270
65271         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
65272
65273 2001-03-19  Paul Eggert  <eggert@twinsun.com>
65274
65275         * lib/version-etc.c (version_etc_copyright): Update to 2001.
65276
65277 2001-03-17  Jim Meyering  <meyering@lucent.com>
65278
65279         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
65280         now that the version in autoconf is equivalent.
65281         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
65282
65283         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
65284         Suggestion from Akim Demaille.
65285
65286         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
65287         (jm_PREREQ_TEMPNAME): New function.
65288
65289 2001-03-16  Paul Eggert  <eggert@twinsun.com>
65290
65291         * lib/tempname.c (uint64_t): Define to uintmax_t if
65292         not defined, and if UINT64_MAX is not defined.
65293         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
65294         Reported by John David Anglin.
65295
65296 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
65297
65298         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
65299         resolve alias if codeset is empty.
65300         * lib/config.charset (BeOS): Use wildcard syntax.
65301
65302 2001-03-13  Jim Meyering  <meyering@lucent.com>
65303
65304         * lib/path-concat.c (path_concat)
65305         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
65306         concatenating e.g., `C:' and `foo'.
65307         From Bruno Haible.
65308
65309 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65310
65311         * lib/localcharset.c (locale_charset): Don't use
65312         setlocale(LC_CTYPE,NULL). Don't return NULL.
65313         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
65314
65315 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65316
65317         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
65318         support for DOS/DJGPP.
65319
65320 2001-03-01  Paul Eggert  <eggert@twinsun.com>
65321
65322         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
65323         lacks mkstemp.  Compile our own tempname.c if we compile our own
65324         mkstemp.c, as mkstemp relies on tempname.
65325
65326 2001-03-01  Jim Meyering  <meyering@lucent.com>
65327
65328         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
65329         AH_VERBATIM really does output its argument verbatim.
65330
65331 2001-02-28  Paul Eggert  <eggert@twinsun.com>
65332
65333         * lib/Makefile.am (libfetish_a_SOURCES):
65334         Add dup-safer.c, fopen-safer.c.
65335         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
65336
65337         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
65338         * lib/unistd-safer.h: New files.
65339
65340 2001-02-25  Paul Eggert  <eggert@twinsun.com>
65341
65342         The mkstemp replacement is taken from glibc 2.2.2, with some
65343         portability fixes for use outside glibc, as follows:
65344
65345         * lib/tempname.c (struct_stat64): New macro.
65346         (direxists, __gen_tempname): Use it.
65347         This avoids a portability problem with Solaris 8.
65348
65349         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
65350         (<stddef.h>, <stdint.h>, <string.h>):
65351         Include only if STDC_HEADERS || _LIBC.
65352         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
65353         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
65354         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
65355         (__set_errno): Define this macro if <errno.h> doesn't.
65356         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
65357         Define these macros if <stdio.h> doesn't.
65358         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
65359         Define these macros if <sys/stat.h>
65360         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
65361         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
65362         __xstat64): Define if not _LIBC.
65363         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
65364         (__gen_tempname): Invoke gettimeofday only if
65365         HAVE_GETTIMEOFDAY || _LIBC;
65366         otherwise, fall back on plain "time".
65367         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
65368
65369         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
65370
65371         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
65372
65373 2001-02-18  Paul Eggert  <eggert@twinsun.com>
65374
65375         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
65376
65377 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65378
65379         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
65380         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
65381         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
65382         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
65383
65384 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65385
65386         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
65387         Remove workaround macros for hosts that have mbrtowc but not
65388         mbstate_t, as we now insist on proper declarations for both
65389         before using mbrtowc.
65390
65391 2001-02-17  Jim Meyering  <meyering@lucent.com>
65392
65393         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
65394         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
65395         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
65396         UnixWare 7.1.1.
65397
65398         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
65399         rather than AC_CACHE_VAL.
65400
65401 2001-02-17  Jim Meyering  <meyering@lucent.com>
65402
65403         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
65404         around included file name.
65405
65406         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
65407
65408         * lib/strftime.c: Update from GNU libc (the only changes were to
65409         comments).
65410
65411 2001-02-17  Jim Meyering  <meyering@lucent.com>
65412
65413         * lib/regex.c: Update from libc.
65414
65415 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
65416
65417         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
65418         clash.
65419
65420 2001-02-16  Paul Eggert  <eggert@twinsun.com>
65421
65422         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
65423         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
65424         Reported by Mark Hounschell via Paul Eggert.
65425
65426 2001-02-07  Jim Meyering  <meyering@lucent.com>
65427
65428         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
65429
65430 2001-02-05  Jim Meyering  <meyering@lucent.com>
65431
65432         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
65433         it includes the patch required for `large file' support with at least
65434         HP-UX's 10.20 /bin/cc.
65435
65436 2001-02-03  Jim Meyering  <meyering@lucent.com>
65437
65438         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
65439         AS_IF, now that it works once again (mysteriously).
65440         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65441
65442 2001-01-30  Jim Meyering  <meyering@lucent.com>
65443
65444         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
65445         * m4/chown.m4: Rename conftestchown to conftest.chown.
65446         * m4/rename.m4: s/conftestdir/conftest.d1/ and
65447         s/conftestdir2/conftest.d2/.
65448         * m4/utimes.m4: s/conftestdata/conftest.data/
65449         Inspired by Pavel Roskin's change in autoconf.
65450
65451 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
65452
65453         * lib/config.charset: Update for FreeBSD 4.2.
65454
65455 2001-01-27  Jim Meyering  <meyering@lucent.com>
65456
65457         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
65458         a use of AS_IF.
65459         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65460
65461 2001-01-26  Jim Meyering  <meyering@lucent.com>
65462
65463         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
65464         quotearg.c includes it.
65465
65466 2001-01-26  Jim Meyering  <meyering@lucent.com>
65467
65468         * lib/quotearg.c: Include stddef.h.
65469         * lib/quote.c: Include stddef.h.
65470         Reported by Axel Kittenberger.
65471
65472         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
65473         line in double quotes so that it evokes a better diagnostic.
65474         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
65475         Reported by Axel Kittenberger.
65476
65477 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
65478
65479         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
65480         as if it was a `charset'.
65481
65482 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65483
65484         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
65485         has const.
65486
65487 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65488
65489         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
65490         to avoid a warning.  Add back 'const' to inptr.
65491
65492 2001-01-20  Jim Meyering  <meyering@lucent.com>
65493
65494         Be sure that headers are checked before used in code compiled
65495         for the type checks.
65496         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
65497         In place of that, invoke jm_CHECK_ALL_TYPES.
65498         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
65499         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
65500         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
65501         The check for ssize_t was mistakenly run before the test for unistd.h.
65502
65503         The configure-time check for stdbool.h was missing.
65504         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
65505         (jm_PREREQ_HASH): New function.
65506
65507 2001-01-17  Jim Meyering  <meyering@lucent.com>
65508
65509         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
65510         for autoconf-2.49c.
65511         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
65512
65513 2001-01-16  Jim Meyering  <meyering@lucent.com>
65514
65515         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
65516         From Bruno Haible.
65517
65518 2001-01-14  Jim Meyering  <meyering@lucent.com>
65519
65520         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
65521         foo and bar.  Create conftestdir/ in the script, not in the C code.
65522         Remove directories in the script, not in the C code.
65523         Remove conftestdir{,2} before trying to create the directory.
65524         Make the entire configure script fail if the mkdir fails.
65525
65526 2001-01-14  Jim Meyering  <meyering@lucent.com>
65527
65528         * lib/rename.c: New file.  From Volker Borchert.
65529         Include stdlib.h, string.h or strings.h, and xalloc.h.
65530         Use strip_trailing_slashes rather than open-coding it.
65531
65532 2001-01-03  Paul Eggert  <eggert@twinsun.com>
65533
65534         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
65535
65536 2001-01-03  Jim Meyering  <meyering@lucent.com>
65537
65538         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
65539         of local `inptr' to avoid warning with some system declarations of
65540         iconv.
65541
65542 2001-01-02  Volker Borchert  <bt@teknon.de>
65543
65544         * m4/rename.m4: New file.
65545         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
65546
65547 2001-01-01  Jim Meyering  <meyering@lucent.com>
65548
65549         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
65550         even on systems with utmpx.h.  It's necessary for the declaration of
65551         utmp's ut_user member.  Reported by Andreas Jaeger.
65552
65553         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
65554         available. They are required for the declarations of getgrgid and
65555         getpwuid resp.
65556         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
65557         Reported by Andreas Jaeger.
65558
65559 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
65560
65561         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
65562         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
65563         so `make install' also works in VPATH builds.
65564
65565 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
65566
65567         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
65568         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
65569         can be used in subdirectories.
65570
65571 2000-12-29  Paul Eggert  <eggert@twinsun.com>
65572
65573         * lib/modechange.c: Do not assume that mode_t uses the
65574         traditional octal encoding.  E.g. "chmod 1 FOO" should set
65575         the other-execute bit of FOO even if S_IXOTH != 1.
65576
65577         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
65578         WOTH, XOTH, ALLM): New macros.
65579         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
65580          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
65581         Use them.
65582         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
65583         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
65584         (mode_compile):
65585         No need to use uintmax_t; unsigned long is long enough.
65586         Don't bother to get suffix since we don't use it.
65587
65588 2000-12-26  Jim Meyering  <meyering@lucent.com>
65589
65590         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
65591         better with autoheader.
65592
65593 2000-12-24  Jim Meyering  <meyering@lucent.com>
65594
65595         * lib/hash.c (is_prime): Return explicit boolean values.
65596         (hash_get_first): Return NULL to appease Irix5.6's 89.
65597         Reported by Nelson Beebe.
65598
65599 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
65600
65601         * lib/localcharset.c (locale_charset): Add support for Win32.
65602
65603 2000-12-18  Paul Eggert  <eggert@twinsun.com>
65604
65605         * lib/physmem.h, lib/physmem.c: New files.
65606
65607         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
65608         (noinst_HEADERS): Add physmem.h.
65609
65610         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
65611         't' for compatibility with Solaris 8 sort.
65612
65613 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
65614
65615         * lib/config.charset: Add support for BeOS.
65616
65617 2000-12-17  Jim Meyering  <meyering@lucent.com>
65618
65619         * m4/dos.m4 (jm_AC_DOS): New file and macro.
65620         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
65621
65622 2000-12-16  Jim Meyering  <meyering@lucent.com>
65623
65624         This bug had a serious impact on chown: `chown N:M FILE' (for integer
65625         N and M) would have treated it like `chown N:N FILE'.
65626
65627         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
65628
65629 2000-12-16  Jim Meyering  <meyering@lucent.com>
65630
65631         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
65632         SHELLS_FILE to a file name that's useful on djgpp systems.
65633         Include stdlib.h.
65634         (ADDITIONAL_DEFAULT_SHELLS): Define.
65635         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
65636         Based mostly on a patch from Prashant TR.
65637
65638 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
65639
65640         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
65641         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
65642         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
65643
65644 2000-12-08  Andreas Schwab  <schwab@suse.de>
65645
65646         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
65647         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
65648
65649 2000-12-07  Jim Meyering  <meyering@lucent.com>
65650
65651         * lib/stripslash.c (ISSLASH): Define.
65652         (strip_trailing_slashes): Use ISSLASH rather than comparing against
65653         `/'.
65654         From Prashant TR.
65655
65656         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
65657         (dir_name_r): Declare this function as static.
65658         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
65659         manifest itself on a name containing a mix of slashes and
65660         backslashes.
65661         Make this function work with names starting with a DOS-style
65662         drive letter and colon prefix.
65663         (dir_name): Append `.' if necessary.
65664         Based mostly on patches from Prashant TR and Eli Zaretskii.
65665
65666         * lib/dirname.h (dir_name_r): Remove prototype.
65667
65668 2000-12-06  Paul Eggert  <eggert@twinsun.com>
65669
65670         * m4/off_t-format.m4: Remove this file.
65671         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
65672
65673 2000-12-06  Jim Meyering  <meyering@lucent.com>
65674
65675         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
65676         replacement strtoull, we may well need the replacement strtoul, too.
65677         Check for declarations of strtoul and strtoull.
65678         Check for strtol.  Mainly as a cue to cause automake to include
65679         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
65680         Check for limits.h -- strtol.c needs it.
65681
65682 2000-12-05  Jim Meyering  <meyering@lucent.com>
65683
65684         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
65685
65686 2000-12-04  Jim Meyering  <meyering@lucent.com>
65687
65688         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
65689         Also include memory.h, stdlib.h, unistd.h if appropriate.
65690         Reported by Andreas Jaeger (conflicting declaration of malloc).
65691
65692 2000-12-02  Jim Meyering  <meyering@lucent.com>
65693
65694         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
65695         * m4/jm-macros.m4 (jm_MACROS): require it.
65696
65697 2000-12-02  Jim Meyering  <meyering@lucent.com>
65698
65699         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
65700
65701 2000-12-01  Paul Eggert  <eggert@twinsun.com>
65702
65703         * lib/memrchr.c: Include <config.h> before any system include file.
65704
65705 2000-11-30  Jim Meyering  <meyering@lucent.com>
65706
65707         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
65708
65709 2000-11-30  Jim Meyering  <meyering@lucent.com>
65710
65711         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
65712
65713 2000-11-29  Paul Eggert  <eggert@twinsun.com>
65714
65715         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
65716
65717 2000-11-26  Jim Meyering  <meyering@lucent.com>
65718
65719         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
65720
65721 2000-11-22  Paul Eggert  <eggert@twinsun.com>
65722
65723         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
65724         size of (size_t) -1; it's not portable.
65725
65726 2000-11-17  Jim Meyering  <meyering@lucent.com>
65727
65728         * lib/strstr.c: Update from GNU libc.
65729
65730 2000-11-17  Akim Demaille  <akim@epita.fr>
65731
65732         * lib/obstack.h: Formatting changes.
65733         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
65734         prevent type checking.
65735         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
65736         cast the value to (void *): assigning a `foo *' to a `void *'
65737         variable is valid.
65738         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
65739
65740 2000-11-16  Jim Meyering  <meyering@lucent.com>
65741
65742         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
65743
65744 2000-11-11  Jim Meyering  <meyering@lucent.com>
65745
65746         * lib/error.c: Add a couple #includes, merging from GNU libc version.
65747
65748 2000-11-10  Jim Meyering  <meyering@lucent.com>
65749
65750         * lib/obstack.h: Update from GNU libc.
65751         * lib/obstack.c: Likewise.
65752
65753 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
65754
65755         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
65756
65757 2000-11-06  Paul Eggert  <eggert@twinsun.com>
65758
65759         * lib/getusershell.c (setusershell): Use rewind rather than
65760         fseek/fseeko, to avoid configuration hassles with fseeko.
65761         Don't bother opening SHELLS_FILE if shellstream is NULL;
65762         it's not necessary.
65763
65764 2000-11-05  Jim Meyering  <meyering@lucent.com>
65765
65766         * lib/makepath.h (make_dir): Declare.
65767         * lib/makepath.c (make_dir): Remove `static' attribute.
65768         Tweak a comment.
65769
65770 2000-11-04  Jim Meyering  <meyering@lucent.com>
65771
65772         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
65773
65774 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
65775
65776         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
65777         last one in a bucket, advance to the next bucket.
65778
65779 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
65780
65781         * lib/fnmatch.c: Do not comment out all the code if we are using
65782         the GNU C library, because in some cases we are replacing buggy
65783         code in the GNU C library itself.
65784
65785 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
65786
65787         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
65788         (regex_compile): Catch bogus \(\1\).
65789
65790 2000-10-30  Paul Eggert  <eggert@twinsun.com>
65791
65792         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
65793         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
65794         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
65795
65796 2000-10-30  Paul Eggert  <eggert@twinsun.com>
65797
65798         * lib/error.h, getline.h, modechange.h:
65799         Remove "2000" from Copyright line, as the file hasn't been
65800         changed this year other than in the copyright notice.
65801
65802         * lib/xalloc.h: Add "2000" to Copyright line, as this file
65803         was changed this year.
65804
65805 2000-10-29  Jim Meyering  <meyering@lucent.com>
65806
65807         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
65808         renaming.
65809         * m4/ls-mntd-fs.m4: Likewise
65810
65811 2000-10-29  Jim Meyering  <meyering@lucent.com>
65812
65813         * lib/xstat.in: Fix grammar in comment.
65814
65815 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
65816
65817         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
65818         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
65819         doesn't define __restrict_arr.
65820
65821 2000-10-28  Jim Meyering  <meyering@lucent.com>
65822
65823         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
65824         (jm_PREREQ_MEMCHR): New function.
65825
65826 2000-10-28  Jim Meyering  <meyering@lucent.com>
65827
65828         * lib/memchr.c: Update from libc.
65829         Adjust for portability:
65830         [HAVE_STDLIB_H]: Include stdlib.h.
65831         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
65832         Undef __memchr, too.
65833         [!weak_alias]: Define __memchr to memchr.
65834
65835         * lib/regex.c: Update from libc.
65836         * lib/regex.h: Likewise.
65837         * lib/getopt1.c: Likewise.
65838         * lib/memcmp.c: Likewise.
65839
65840         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
65841         Avoid using fseek, when possible -- it's broken by design.
65842         Patch by Ulrich Drepper.
65843
65844 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
65845
65846         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
65847         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
65848         Giving in to popular pressure to shut up the compiler with casts.
65849
65850 2000-10-26  Jim Meyering  <meyering@lucent.com>
65851
65852         * lib/strftime.c: Update from libc.
65853
65854 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
65855
65856         * regex.c: More `unsigned char' -> `re_char' changes.
65857         Also change several `int' into `re_wchar_t'.
65858         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
65859         (PUSH_FAILURE_POINTER): Don't cast any more.
65860         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
65861         We want GCC to complain, since this piece of code makes
65862         re_match non-reentrant, which *should* be fixed.
65863         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
65864         (EXTEND_BUFFER): Use RETALLOC.
65865         (SET_LIST_BIT): Don't cast.
65866         (re_wchar_t): New type.
65867         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
65868         that those two functions will always properly return.
65869         (IMMEDIATE_QUIT_CHECK): Cast to void.
65870         (analyse_first): Use recursion rather than an explicit stack.
65871         (re_compile_fastmap): Can't fail anymore.
65872         (re_search_2): Don't check re_compile_fastmap for failure.
65873         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
65874         Now also sets the new value (passed in a new argument).
65875         (re_match_2_internal): Use it.
65876         Also, use a new var `reg' of type size_t when looping through regs
65877         rather than reuse the inappropriate `mcnt'.
65878
65879 2000-10-25  Jim Meyering  <meyering@lucent.com>
65880
65881         * lib/obstack.c: Update from libc.
65882
65883 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
65884
65885         * regex.c (regex_compile): Change the way of handling a range from
65886         a char less than 256 to a char not less than 256.
65887
65888 2000-10-24  Andrew Innes  <andrewi@gnu.org>
65889
65890         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
65891         NT-Emacs only.
65892         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
65893         so that re_search functions only quit when callers expect them to.
65894
65895 2000-10-23  Jim Meyering  <meyering@lucent.com>
65896
65897         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
65898         wrong.  That set_locale call must not have any side effects.
65899         From Paul Eggert.
65900
65901 2000-10-22  Jim Meyering  <meyering@lucent.com>
65902
65903         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
65904         [CYCLIC]: Remove now-unused definition.
65905
65906         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
65907         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
65908         Suggestion from Ulrich Drepper.
65909
65910 2000-10-21  Jim Meyering  <meyering@lucent.com>
65911
65912         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
65913         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
65914         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
65915
65916 2000-10-21  Jim Meyering  <meyering@lucent.com>
65917
65918         * lib/dirname.c (memrchr): Declare if necessary.
65919         (dir_name): Remove the restriction that there be no
65920         trailing slashes.  Now, this code skips past them, effectively
65921         ignoring them.
65922         [TEST_DIRNAME] (main): New unit tests.
65923
65924         * lib/memrchr.c: New file from GNU libc.
65925         Undef __memrchr, too.
65926         [!weak_alias]: Define __memrchr to memrchr.
65927         Guard weak_alias use with `#ifdef weak_alias'.
65928
65929 2000-10-21  Jim Meyering  <meyering@lucent.com>
65930
65931         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
65932         (dir_name): Use dir_name_r.
65933         * lib/dirname.h (dir_name_r): Declare it.
65934
65935 2000-10-17  Jim Meyering  <meyering@lucent.com>
65936
65937         * lib/quote.h (PARAMS): Define and use.
65938         Reported by Akim Demaille.
65939
65940         * lib/getopt.c: Update from libc.
65941
65942 2000-10-16  Jim Meyering  <meyering@lucent.com>
65943
65944         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
65945         setlocale.
65946         From Jan Fedak.
65947
65948 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
65949
65950         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
65951
65952 2000-09-25  Jim Meyering  <meyering@lucent.com>
65953
65954         * lib/md5.h (rol): Define (from GnuPG).
65955
65956         * lib/sha.c: Give credit (GnuPG) where due.
65957         (M): Use rol rather than open-coding it.
65958         Add a FIXME comment.
65959
65960 2000-09-21  Jim Meyering  <meyering@lucent.com>
65961
65962         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
65963         Reported by Michael Stone.
65964
65965 2000-09-20  Jim Meyering  <meyering@lucent.com>
65966
65967         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
65968         (noinst_HEADERS): Add sha.h.
65969         Based on code from Scott G. Miller and from GnuPG.
65970
65971 2000-09-18  Jim Meyering  <meyering@lucent.com>
65972
65973         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
65974         LIBS. Otherwise, everyone ends up linking with -lelf for some
65975         configurations.
65976         Reported by Mike Stone.
65977
65978 2000-09-15  Jim Meyering  <meyering@lucent.com>
65979
65980         * lib/regex.c: Update from libc.
65981
65982 2000-09-10  Jim Meyering  <meyering@lucent.com>
65983
65984         * lib/getopt.c (_getopt_internal): Update from glibc.
65985
65986 2000-09-09  Jim Meyering  <meyering@lucent.com>
65987
65988         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
65989         think it should be used as a general replacement for isascii.
65990         * lib/fnmatch.c: Likewise.
65991         * lib/mbswidth.c: Likewise
65992         * lib/regex.c: Likewise.
65993
65994         Don't use atoi.
65995         * lib/userspec.c: Include sys/param.h and limits.h.
65996         Include xstrtol.h.
65997         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
65998         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
65999         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
66000         UID, GID.  Check range.
66001
66002 2000-09-06  Jim Meyering  <meyering@lucent.com>
66003
66004         * lib/getopt.c (_getopt_internal): Update from glibc.
66005
66006 2000-08-30  Jim Meyering  <meyering@lucent.com>
66007
66008         * lib/strftime.c: Merge in changes from GNU libc.
66009
66010 2000-08-26  Jim Meyering  <meyering@lucent.com>
66011
66012         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
66013         * m4/fpending.m4: New file.
66014
66015 2000-08-26  Jim Meyering  <meyering@lucent.com>
66016
66017         * lib/closeout.c: Include "__fpending.h".
66018         (close_stdout_status): Return right away if there's nothing to flush.
66019
66020         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
66021         * lib/__fpending.c: New file.
66022         * lib/__fpending.h: New file.
66023
66024 2000-08-20  Jim Meyering  <meyering@lucent.com>
66025
66026         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
66027         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
66028         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
66029
66030 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
66031
66032         Improve fileutils installation on systems where running
66033         programs (like install) can't be unlinked.
66034         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
66035         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
66036
66037 2000-08-07  Paul Eggert  <eggert@twinsun.com>
66038
66039         Standardize on "memory exhausted" instead of "Memory exhausted"
66040         or "virtual memory exhausted".
66041         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
66042         "virtual memory exhausted".
66043         * lib/same.c (same_name): Invoke xalloc_die instead of printing
66044         our own message.
66045         * lib/userspec.c (parse_user_spec): Likewise.
66046         * lib/bumpalloc.h: comment fix
66047         * lib/same.c, userspec.c: Include xalloc.h.
66048
66049         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
66050         not char *const and pointing to a constant array.
66051         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
66052         (xrealloc): Comment fix.
66053
66054         * lib/userspec.c (parse_user_spec):
66055         Don't translate a message until just before returning,
66056         to avoid unnecessary translation.
66057
66058 2000-08-07  Jim Meyering  <meyering@lucent.com>
66059
66060         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
66061         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
66062         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
66063         getgroups.c, gethostname.c, getopt.h, group-member.c,
66064         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
66065         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
66066         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
66067         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
66068         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
66069         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
66070         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
66071         yesno.c: Back out Copyright date changes for each file with no change
66072         this year.  This eases coordination with other programs using the same
66073         source code modules.  From Paul Eggert.
66074
66075 2000-08-06  Paul Eggert  <eggert@twinsun.com>
66076
66077         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
66078         not char, for compatibility with glibc 2.1.3 strftime.c.
66079
66080 2000-08-03  Greg McGary  <greg@mcgary.org>
66081
66082         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
66083         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
66084         (EXTEND_BUFFER): Use them.
66085
66086 2000-08-01  Jim Meyering  <meyering@lucent.com>
66087
66088         * lib/dirname.c (ISSLASH): Define.
66089         (BACKSLASH_IS_PATH_SEPARATOR): Define.
66090         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
66091         both `\' and `/' may be use as path separators.
66092         Based on a patch from Prashant TR.
66093
66094 2000-07-31  Paul Eggert  <eggert@twinsun.com>
66095
66096         * lib/quotearg.c (quotearg_n_options): Don't make the initial
66097         slot vector a constant, since it might get modified.
66098
66099 2000-07-31  Jim Meyering  <meyering@lucent.com>
66100
66101         * lib/xmalloc.c: Use `virtual memory exhausted', not
66102         `Memory exhausted'.
66103         * lib/obstack.c (print_and_abort): Likewise.
66104
66105 2000-07-30  Paul Eggert  <eggert@twinsun.com>
66106
66107         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
66108         buffer, so that the caller can always quote one small
66109         component of a "memory exhausted" message in slot 0.
66110         From a suggestion by Jim Meyering.
66111
66112 2000-07-30  Jim Meyering  <meyering@lucent.com>
66113
66114         * lib/makepath.c (make_path): Quote the other instance, too.
66115
66116         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
66117         (STATIC_BUF_SIZE): Define.
66118         (quotearg_n_options): Use only statically allocated storage when
66119         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
66120         than STATIC_BUF_SIZE.
66121
66122 2000-07-29  Jim Meyering  <meyering@lucent.com>
66123
66124         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
66125         * lib/dirname.c (dir_name): Likewise.
66126
66127         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
66128         `/'.
66129
66130         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
66131         (dir_name): Assert that there are no trailing slashes.
66132
66133 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
66134
66135         * lib/mbswidth.h (mbswidth): Add a flags argument.
66136         (mbswidth): New declaration.
66137         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
66138         * lib/mbswidth.c (mbswidth): Add a flags argument.
66139         (mbsnwidth): New function.
66140
66141 2000-07-24  Jim Meyering  <meyering@lucent.com>
66142
66143         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
66144
66145 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66146
66147         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
66148
66149 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66150
66151         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
66152         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
66153         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
66154         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
66155         invoke multibyte primitives.
66156
66157 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66158
66159         * lib/quotearg.c:
66160         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
66161         so that mbstate_t is always defined.
66162
66163         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
66164         be 1 in at least one GCC installation, and this configuration
66165         error is likely to be common.  Ignoring MB_LEN_MAX hurts
66166         performance on hosts that have mbrtowc but have only unibyte
66167         locales, but I assume these hosts are rare.
66168
66169 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66170
66171         * lib/mbswidth.c (_XOPEN_SOURCE):
66172         Don't define; this causes problems on Solaris 7.
66173         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
66174
66175 2000-07-23  Jim Meyering  <meyering@lucent.com>
66176
66177         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
66178         too: getgrgid, getpwuid, getuid.
66179
66180 2000-07-23  Jim Meyering  <meyering@lucent.com>
66181
66182         * lib/basename.c (base_name): Add an assertion.
66183
66184 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
66185
66186         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
66187         shadow its mbsinit function.
66188
66189 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66190
66191         * lib/mbswidth.h: New file.
66192         * lib/mbswidth.c: New file.
66193         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
66194         (noinst_HEADERS): Add mbswidth.h.
66195
66196 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66197
66198         * lib/config.charset: Add support for FreeBSD. Improve support for
66199         HP-UX and IRIX 6.
66200
66201 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
66202
66203         * m4/mbswidth.m4: New file.
66204         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
66205
66206 2000-07-15  Jim Meyering  <meyering@lucent.com>
66207
66208         * lib/makepath.c: Include quote.h.
66209         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
66210         corresponding argument in a `quote (...)' call.
66211         Give better diagnostics.
66212
66213         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
66214         (noinst_HEADERS): Add quote.h.
66215
66216         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
66217         from tar's src/misc.c.
66218         * lib/quote.h: New file.  Prototypes for same.
66219
66220 2000-07-14  Paul Eggert  <eggert@twinsun.com>
66221
66222         From a suggestion by Bruno Haible.
66223         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
66224         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
66225         to decide whether to define the BeOS workaround macro;
66226         this adjusts to the change to AC_MBSTATE_T.
66227
66228 2000-07-14  Jim Meyering  <meyering@lucent.com>
66229
66230         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
66231         jm_AC_TYPE_UINTMAX_T.
66232
66233 2000-07-13  Paul Eggert  <eggert@twinsun.com>
66234
66235         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
66236
66237         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
66238         quotearg_buffer_restyled): Add support for
66239         clocale_quoting_style.  Undo previous change to
66240         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
66241         and "{RIGHT QUOTATION MARK}" msgids.
66242
66243 2000-07-10  Paul Eggert  <eggert@twinsun.com>
66244
66245         From a suggestion by Bruno Haible.
66246         * m4/mbstate_t.m4 (AC_MBSTATE_T):
66247         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
66248         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
66249         and mbstate_t, to a single-part test that simply defines mbstate_t.
66250         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
66251         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
66252
66253 2000-07-10  Jim Meyering  <meyering@lucent.com>
66254
66255         * m4/strerror_r.m4: Mirror the correction made in autoconf.
66256
66257         * m4/gnu-source.m4: Output to confdefs.h directly.
66258         Suggestion from Akim Demaille.
66259
66260 2000-07-09  Paul Eggert  <eggert@twinsun.com>
66261
66262         The old behavior of quoting `like this' doesn't look good with
66263         newer, ISO-style fonts.  See:
66264         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
66265
66266         Instead, quote "like this" by default.  Let the translator
66267         tailor the locale-specific quoting behavior by providing
66268         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
66269
66270         * lib/quotearg.c (N_): New macro.
66271         (gettext_default): New function.
66272         (quotearg_buffer_restyled): Use
66273         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
66274         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
66275
66276 2000-07-09  Jim Meyering  <meyering@lucent.com>
66277
66278         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
66279         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
66280
66281         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
66282         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
66283
66284 2000-07-09  Jim Meyering  <meyering@lucent.com>
66285
66286         * lib/Most files: Update copyright dates to include 2000.
66287
66288 2000-07-08  Jim Meyering  <meyering@lucent.com>
66289
66290         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
66291         if not defined.
66292         (xgethostname): Remove now-unnecessary #ifdef.
66293         Move declaration of `err' into loop where it's used.
66294
66295 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66296         and Bruno Haible  <haible@clisp.cons.org>
66297
66298         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
66299         only if the test for an object-type mbstate_t fails.  This
66300         prevents us from mistakenly reporting that mbstate_t is a
66301         system object type after we "#define mbstate_t int" to work
66302         around its lack.
66303
66304 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66305         and Bruno Haible  <haible@clisp.cons.org>
66306
66307         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
66308
66309 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66310
66311         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
66312         to strerror_r.
66313         Include <ctype.h> for use of isalpha.
66314
66315 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66316
66317         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
66318         by allocating a larger buffer. Test the gethostname return value for
66319         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
66320         returns an error and ENAMETOOLONG isn't defined.
66321
66322 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66323
66324         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
66325         dimension.
66326
66327 2000-07-04  Jim Meyering  <meyering@lucent.com>
66328
66329         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
66330         of the deprecated AC_CHECKING.
66331
66332 2000-07-04  Jim Meyering  <meyering@lucent.com>
66333
66334         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
66335         Reported by Bruno Haible.
66336
66337 2000-07-04  Jim Meyering  <meyering@lucent.com>
66338
66339         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
66340         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
66341         lacks mbrtowc.
66342
66343 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66344
66345         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
66346         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
66347
66348 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66349         and Bruno Haible  <haible@clisp.cons.org>
66350
66351         * lib/quotearg.c (mbrtowc):
66352         Assign to *pwc, and return 1 only if result is nonzero.
66353         (iswprint): Use ISPRINT when substituting our own mbrtowc.
66354
66355 2000-07-03  Jim Meyering  <meyering@lucent.com>
66356
66357         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
66358
66359 2000-07-03  Jim Meyering  <meyering@lucent.com>
66360
66361         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
66362         This is necessary to get a definition of e.g., UTMP_FILE on
66363         HP-UX 10.20.
66364         From Bob Proulx.
66365
66366 2000-07-02  Jim Meyering  <meyering@lucent.com>
66367
66368         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
66369
66370         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
66371         AC_LIBOBJ(function_name).
66372         * m4/chown.m4: Likewise.
66373         * m4/fnmatch.m4: Likewise.
66374         * m4/ftruncate.m4: Likewise.
66375         * m4/getgroups.m4: Likewise.
66376         * m4/getline.m4: Likewise.
66377         * m4/group-member.m4: Likewise.
66378         * m4/jm-macros.m4: Likewise.
66379         * m4/lstat.m4: Likewise.
66380         * m4/malloc.m4: Likewise.
66381         * m4/memcmp.m4: Likewise.
66382         * m4/nanosleep.m4: Likewise.
66383         * m4/putenv.m4: Likewise.
66384         * m4/realloc.m4: Likewise.
66385         * m4/regex.m4: Likewise.
66386         * m4/stat.m4: Likewise.
66387         * m4/strftime.m4: Likewise.
66388
66389 2000-07-02  Jim Meyering  <meyering@lucent.com>
66390
66391         * lib/quotearg.c (mbstate_t): Don't define here.
66392
66393 2000-07-02  Jim Meyering  <meyering@lucent.com>
66394
66395         * lib/nanosleep.c (SIGCONT): Define if not already defined.
66396
66397 2000-07-01  Jim Meyering  <meyering@lucent.com>
66398
66399         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
66400
66401 2000-07-01  Jim Meyering  <meyering@lucent.com>
66402
66403         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
66404         problem.
66405
66406 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
66407
66408         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
66409         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
66410
66411 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
66412
66413         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
66414         per change in ../m4/ls-mntd-fs.m4.
66415         (read_filesystem_list): Ignore symbolic links.
66416
66417 2000-06-29  Jim Meyering  <meyering@lucent.com>
66418
66419         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
66420         for declaration of strcmp.
66421
66422         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
66423
66424         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
66425         Avoid warning by casting result to `char *' to remove `const'.
66426
66427 2000-06-28  Jim Meyering  <meyering@lucent.com>
66428
66429         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
66430         included by quotearg.c, for which we perform this test.  From
66431         Bruno Haible.
66432
66433 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
66434
66435         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
66436         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
66437         <utmpx.h> exists, put readutmp.o into LIBOBJS.
66438
66439 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
66440
66441         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
66442
66443 2000-06-26  Paul Eggert  <eggert@twinsun.com>
66444
66445         savedir now sets errno on failure and invokes xmalloc to get memory.
66446         Fix a couple of other minor bugs while we're at it.
66447
66448         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
66449         (NAMLEN): Remove macro.
66450         (malloc, realloc): Remove decls.
66451         (stpcpy): Likewise.
66452         ("xalloc.h"): Include.
66453         (NAME_SIZE_DEFAULT): New macro.
66454         (savedir): Use xmalloc / xrealloc to allocate memory.
66455         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
66456         Skip "" directory entries.
66457         Use strlen to calculate directory entry length, since the old method
66458         is rarely used these days and isn't worth supporting.
66459         Don't use a pointer after freeing it.
66460         Check for integer overflow when calculating allocation size.
66461         Use memcpy to copy entries, instead of stpcpy.
66462         Set errno properly when returning NULL.
66463         Check for readdir error.
66464
66465 2000-06-26  Jim Meyering  <meyering@lucent.com>
66466
66467         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
66468
66469 2000-06-25  Jim Meyering  <meyering@lucent.com>
66470
66471         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
66472         Linux header bug when _XOPEN_SOURCE is defined to 500.
66473
66474 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66475
66476         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
66477         deficiency.
66478
66479 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66480
66481         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
66482         Include xalloc.h.
66483         Don't include <stdlib.h>.  Don't declare malloc, realloc.
66484
66485 2000-06-24  Jim Meyering  <meyering@lucent.com>
66486
66487         * m4/strerror_r.m4: Revive this file -- to try out an experimental
66488         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
66489         for which strerror does return char*, but which lacks a conveniently
66490         accessible declaration of the function.  If the compile-test says
66491         strerror_r doesn't work, then resort to a `run'-test that works on
66492         BeOS and segfaults on DEC Unix.
66493
66494 2000-06-24  Jim Meyering  <meyering@lucent.com>
66495
66496         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
66497
66498 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66499
66500         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
66501         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
66502
66503 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66504
66505         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
66506         (mbrtowc, mbstate_t): Define substitutes if
66507         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
66508         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
66509         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
66510
66511 2000-06-23  Jim Meyering  <meyering@lucent.com>
66512
66513         * m4/afs.m4: Add missing AC_MSG_RESULT.
66514         Reported by Bruno Haible.
66515
66516         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
66517         Suggestion from Bruno Haible.
66518
66519 2000-06-23  Jim Meyering  <meyering@lucent.com>
66520
66521         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
66522
66523 2000-06-21  Jim Meyering  <meyering@lucent.com>
66524
66525         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
66526
66527 2000-06-21  Jim Meyering  <meyering@lucent.com>
66528
66529         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
66530         (noinst_HEADERS): Add getstr.h.
66531
66532         * lib/getline.c (getstr): Move into a separate file.
66533         * lib/getstr.c (getstr): New file, extracted from getline.c, with
66534         the following changes: new parameter, delim2; both delim[12]
66535         parameters have type `int', not `char'.  The latter would lose
66536         with 8-bit delimiters.
66537         * lib/getstr.h: New file.
66538
66539 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66540
66541         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
66542         than 1024, return a memory chunk of least possible size, instead
66543         of size PATH_MAX + 2. In the loop, increment the size proportionally.
66544         Use free/xmalloc instead of xrealloc to avoid copying for very long
66545         paths.
66546
66547 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66548
66549         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
66550         the empty string.
66551
66552 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
66553
66554         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
66555         address, not strdup.  Include <stdlib.h> and don't declare free().
66556
66557 2000-06-19  Jim Meyering  <meyering@lucent.com>
66558
66559         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
66560
66561 2000-06-18  Jim Meyering  <meyering@lucent.com>
66562
66563         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
66564
66565         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
66566         `checking whether...' message to be consistent with that of the
66567         lstat test.
66568
66569 2000-06-18  Jim Meyering  <meyering@lucent.com>
66570
66571         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
66572         Besides, these days every porting target provides a mkdir function.
66573
66574         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
66575         needed. (this snippet comes from src/system.h).
66576
66577 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
66578
66579         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
66580
66581 2000-06-15  Paul Eggert  <eggert@twinsun.com>
66582
66583         * lib/human.c (adjust_value): New function.
66584         (human_readable_inexact): Apply rounding style even when
66585         printing approximate values.
66586
66587 2000-06-14  Paul Eggert  <eggert@twinsun.com>
66588
66589         * lib/human.c (human_readable_inexact): Allow an input block
66590         size that is not a multiple of the output block size, and vice versa.
66591         Reported by Piergiorgio Sartor.
66592
66593 2000-06-14  Paul Eggert  <eggert@twinsun.com>
66594
66595         * lib/getdate.y (get_date): Apply relative times after time
66596         zone indicator, not before.  Reported by Todd A. Jacobs.
66597
66598 2000-06-13  Jim Meyering  <meyering@lucent.com>
66599
66600         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
66601
66602         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
66603
66604 2000-06-12  Paul Eggert  <eggert@twinsun.com>
66605
66606         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
66607
66608 2000-06-12  Jim Meyering  <meyering@lucent.com>
66609
66610         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
66611         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
66612         optional argument.
66613         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
66614         the optional argument, `lib'.
66615
66616 2000-06-08  Jim Meyering  <meyering@lucent.com>
66617
66618         * m4/largefile.m4: Remove file (now that it's part of autoconf).
66619
66620 2000-06-04  Paul Eggert  <eggert@twinsun.com>
66621
66622         Rewrite largefile configuration so that we don't need to run
66623         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
66624         AC_CANONICAL_HOST in configure.in -- jmm]
66625
66626         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
66627         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
66628         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
66629         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
66630         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
66631         All uses changed.
66632         Instead of inspecting the output of getconf, try to compile the
66633         test program without and with the macro definition.
66634         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
66635         for getconf.  Instead, check for the needed flags by compiling
66636         test programs.
66637
66638 2000-06-04  Paul Eggert  <eggert@twinsun.com>
66639
66640         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
66641
66642 2000-06-04  Jim Meyering  <meyering@lucent.com>
66643
66644         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
66645         SunOS 4.1.4 for which gid_t is an unsigned type.
66646
66647 2000-06-03  Jim Meyering  <meyering@lucent.com>
66648
66649         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
66650         now that autoconf requires that.
66651
66652         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
66653         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
66654         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
66655
66656 2000-06-03  Jim Meyering  <meyering@lucent.com>
66657
66658         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
66659
66660 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
66661
66662         * m4/glibc21.m4: New file.
66663         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
66664
66665 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
66666
66667         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
66668         newer, don't install charset.alias.
66669         * lib/config.charset: Change the Linux/glibc rules so they become empty
66670         on glibc-2.1 or newer.
66671
66672 2000-06-02  Jim Meyering  <meyering@lucent.com>
66673
66674         * lib/mountlist.c: Back out last change.  Instead, do this...
66675         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
66676         me_dummy member using the same `ignore'-testing code.
66677         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
66678         fs_type strings.
66679         From Mark D. Roth.
66680
66681 2000-05-29  Jim Meyering  <meyering@lucent.com>
66682
66683         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
66684         mounts with the `ignore' attribute.  Based on a patch from
66685         Mark D. Roth.
66686
66687 2000-05-28  Jim Meyering  <meyering@lucent.com>
66688
66689         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
66690         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66691         * m4/stat.m4: Likewise.
66692         * m4/lstat.m4: Likewise.
66693         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
66694
66695         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
66696         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
66697
66698 2000-05-26  Jim Meyering  <meyering@lucent.com>
66699
66700         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
66701
66702 2000-05-24  Jim Meyering  <meyering@lucent.com>
66703
66704         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
66705         autoconf requires that.
66706         * m4/lib-check.m4: Likewise.
66707         * m4/jm-macros.m4: Likewise.
66708         * m4/strftime.m4: Likewise.
66709
66710         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
66711         AC_CHECK_DECLS, now that autoconf requires that.
66712
66713 2000-05-22  Jim Meyering  <meyering@lucent.com>
66714
66715         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66716         * m4/lstat.m4: Likewise.
66717
66718 2000-05-22  Jim Meyering  <meyering@lucent.com>
66719
66720         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
66721
66722 2000-05-20  Jim Meyering  <meyering@lucent.com>
66723
66724         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
66725         (jm_PREREQ): Use it.
66726
66727 2000-05-18  Jim Meyering  <meyering@lucent.com>
66728
66729         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
66730         back, too, since it may have been modified by allocate_entry.
66731         (hash_delete): Rewrite to use neither the assignment operator
66732         nor the comma operator in an if-expression.
66733
66734 2000-05-15  Paul Eggert  <eggert@twinsun.com>
66735
66736         * lib/closeout.c:
66737         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
66738         Remove; no longer needed.
66739         "quotearg.h": Add include.
66740         (file_name): Do not bother to explicitly initialize to NULL; it's less
66741         efficient on some hosts.
66742         (close_stdout_status): Remove test as to whether stdout was already
66743         closed; it breaks for the case "echo x | sort >&-".
66744         Quote file name colons.
66745         Do not assume that _("write error") lacks format strings.
66746
66747 2000-05-15  Jim Meyering  <meyering@lucent.com>
66748
66749         * lib/version-etc.c (version_etc_copyright): Update the copyright
66750         string used in all --version output.
66751
66752 2000-05-14  Jim Meyering  <meyering@lucent.com>
66753
66754         * lib/closeout.c (close_stdout_set_file_name): New function.
66755         (close_stdout_status): Use new file-scoped global.
66756         Return right away if fstat says the stdout file descriptor is invalid.
66757         * lib/closeout.h (close_stdout_set_file_name): Declare.
66758
66759 2000-05-10  Jim Meyering  <meyering@lucent.com>
66760
66761         * lib/closeout.c [default_exit_status]: New file-scoped variable.
66762         (close_stdout_set_status): New function.
66763         * lib/closeout.h (close_stdout_set_status): Declare.
66764
66765 2000-05-09  Jim Meyering  <meyering@lucent.com>
66766
66767         * m4/gettext.m4: Rename this...
66768         * m4/libintl.m4: ...to this.
66769
66770 2000-05-08  Jim Meyering  <meyering@lucent.com>
66771
66772         * lib/long-options.c: Don't include closeout.h.
66773         (parse_long_options): Don't call close_stdout for --version.
66774
66775 2000-05-06  Paul Eggert  <eggert@twinsun.com>
66776
66777         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
66778         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
66779         2.1.3 bug.  This avoids a clash when files like regex.c define
66780         _GNU_SOURCE.
66781
66782 2000-05-06  Jim Meyering  <meyering@lucent.com>
66783
66784         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
66785         (AC_REPLACE_FUNCS): Add strnlen.
66786
66787         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
66788         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
66789
66790         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
66791         AC_SEARCH_LIBS call for nanosleep.
66792         (LIB_NANOSLEEP): Set and AC_SUBST.
66793
66794 2000-05-06  Jim Meyering  <meyering@lucent.com>
66795
66796         * lib/strnlen.c: Undefine __strnlen and strnlen.
66797         [!weak_alias]: Define __strnlen to strnlen.
66798
66799         * lib/atexit.c: New file, from libiberty.
66800
66801 2000-05-06  Jim Meyering  <meyering@lucent.com>
66802
66803         * lib/closeout.c (close_stdout_status): Also check for errors on the
66804         stderr stream.
66805
66806 2000-05-05  Jim Meyering  <meyering@lucent.com>
66807
66808         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
66809         AC_SEARCH_LIBS call for clock_gettime.
66810         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
66811
66812         * m4/search-libs.m4: Update from autoconf.
66813
66814         su doesn't work on Solaris 2.6.
66815         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
66816         <shadow.h>.  Reported by Dragos Harabor.
66817
66818 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
66819
66820         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
66821         memcpy instead of xmalloc, xrealloc, path_concat.
66822         (locale_charset): Treat empty environment variables as absent.
66823         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
66824
66825 2000-05-04  Jim Meyering  <meyering@lucent.com>
66826
66827         * lib/getopt.c: Update from glibc.
66828         * lib/obstack.c: Likewise.
66829         * lib/obstack.h: Likewise.
66830         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
66831         file
66832
66833         * lib/regex.h: Likewise.
66834         * lib/strndup.c: Likewise.
66835         * lib/strnlen.c: New file, from glibc.
66836
66837 2000-05-03  Jim Meyering  <meyering@lucent.com>
66838
66839         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
66840
66841 2000-05-02  Paul Eggert  <eggert@twinsun.com>
66842
66843         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
66844         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
66845         compile-time test, rather than inspecting host and OS, to
66846         decide whether to define _LARGEFILE_SOURCE.
66847
66848 2000-05-01  Jim Meyering  <meyering@lucent.com>
66849
66850         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
66851
66852         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
66853         Based on a patch from Bruno Haible.
66854
66855 2000-05-01  Jim Meyering  <meyering@lucent.com>
66856
66857         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
66858
66859 2000-04-29  Jim Meyering  <meyering@lucent.com>
66860
66861         * lib/path-concat.c: Declare strdup only if it's not defined.
66862         * lib/canon-host.c: Likewise.
66863
66864 2000-04-28  Jim Meyering  <meyering@lucent.com>
66865
66866         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
66867         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
66868         is included first, then limits.h is included by locale.h by libintl.h.
66869         From John David Anglin.
66870
66871 2000-04-25  Jim Meyering  <meyering@lucent.com>
66872
66873         * lib/makepath.c (S_IRWXUGO): Define.
66874         (make_path): Always perform explicit chmod if MODE specifies any
66875         of the `special' permission bits.  Prompted by a bug report against
66876         install from Mate Wierdl and Joost van Baal.
66877
66878 2000-04-18  Jim Meyering  <meyering@lucent.com>
66879
66880         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
66881         (jm_PREREQ): Use it.
66882
66883 2000-04-18  Jim Meyering  <meyering@lucent.com>
66884
66885         * lib/README: New file.
66886
66887         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
66888         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
66889
66890 2000-04-17  Jim Meyering  <meyering@lucent.com>
66891
66892         Get it right :-)
66893         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
66894         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
66895         Suggestion from Akim Demaille.
66896
66897 2000-04-17  Jim Meyering  <meyering@lucent.com>
66898
66899         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
66900         the definition of it to rpl_strftime also defined-away the system's
66901         declaration.
66902
66903 2000-04-15  Jim Meyering  <meyering@lucent.com>
66904
66905         Use `C' to denote so-called `contiguous' files, the same way
66906         that tar does.
66907         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
66908         (ftypelet): Use S_ISCTG.
66909         From Michael Deutschmann.
66910
66911 2000-04-14  Jim Meyering  <meyering@lucent.com>
66912
66913         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
66914         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
66915         clobbered.
66916
66917 2000-04-14  Jim Meyering  <meyering@lucent.com>
66918
66919         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
66920
66921 2000-04-13  Jim Meyering  <meyering@lucent.com>
66922
66923         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
66924         AH_VERBATIM to insert required #ifndef into config.h.in.
66925         Suggestion from Akim Demaille.
66926
66927 2000-04-12  Jim Meyering  <meyering@lucent.com>
66928
66929         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
66930         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
66931         Christian Krackowizer.
66932
66933         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
66934         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
66935         (AC_SYS_LARGEFILE): Require.
66936         (AM_C_PROTOTYPES): Require.
66937
66938 2000-04-08  Jim Meyering  <meyering@lucent.com>
66939
66940         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
66941         names don't conflict.  Reported by Eli Zaretskii.
66942
66943 2000-04-07  Jim Meyering  <meyering@lucent.com>
66944
66945         * lib/putenv.c: Move inclusion of errno.h so it follows that of
66946         sys/types.h, to work around system header problems on AIX 3.2.5.
66947         From Bruno Haible.
66948
66949 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
66950
66951         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
66952         bug.  Deal with the different error behavior of Irix iconv.
66953
66954 2000-04-05  Paul Eggert  <eggert@twinsun.com>
66955
66956         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
66957         IRIX if the installer said otherwise.
66958
66959 2000-04-05  Jim Meyering  <meyering@lucent.com>
66960
66961         Portability tweaks required for ultrix4.3.
66962         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
66963         (jm_CHECK_DECLS): Add getutent to the list of functions.
66964         (_jm_DECL_HEADERS): Add utmpx.h.
66965         From John David Anglin.
66966
66967         * m4/strftime.m4: Back out the 2000-04-02 change.
66968         Instead of that change, simply undefine putenv in the test program.
66969
66970 2000-04-05  Jim Meyering  <meyering@lucent.com>
66971
66972         Portability tweaks required for ultrix4.3.
66973         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
66974         getutent.
66975         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
66976         * lib/canon-host.c: Declare strdup.
66977         * lib/path-concat.c: Likewise.
66978         From John David Anglin.
66979
66980 2000-04-04  Jim Meyering  <meyering@lucent.com>
66981
66982         Be more DOS 8.3-friendly.
66983         * lib/ref-add.sin: Renamed from ref-add.sed.in.
66984         * lib/ref-del.sin: Renamed from ref-del.sed.in.
66985         * lib/Makefile.am: Reflect renaming.
66986         Reported by Eli Zaretskii.
66987
66988         Use a temporary file name that won't clash with `charset.alias'
66989         in the DOS 8.3 name space.
66990         * lib/Makefile.am (charset_tmp): Define.
66991         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
66992         (uninstall-local): Likewise.
66993         Reported by Eli Zaretskii.
66994
66995 2000-04-03  Jim Meyering  <meyering@lucent.com>
66996
66997         * m4/gettext.m4: Fix typo in comment.
66998
66999         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
67000         textutils/configure.in).  Suggestion from Paul Eggert.
67001         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
67002
67003 2000-04-02  Paul Eggert  <eggert@twinsun.com>
67004
67005         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
67006         variable in the shell rather than using putenv, which isn't
67007         portable.  This avoids the configure-time inter-test dependency
67008         on the potentially-renamed putenv function.
67009
67010 2000-03-30  Paul Eggert  <eggert@twinsun.com>
67011
67012         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
67013         before checking struct stat.st_blksize, so that
67014         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
67015
67016 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67017
67018         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
67019         since strftime.c uses HAVE_STRFTIME to decide whether to use
67020         the underlying strftime.
67021
67022 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67023
67024         * lib/time/strftime.c (my_strftime): Make sure we call the system
67025         strftime, not ourselves, when invoking the underlying strftime.
67026
67027 2000-03-24  Jim Meyering  <meyering@lucent.com>
67028
67029         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
67030         (charset_alias): Define.
67031         (install-exec-local): Factor out common code.
67032         (uninstall-local): Split lines longer than 80.
67033         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
67034         (SUFFIXES): Define.
67035         (.sed.in.sed): New rule.  Don't redirect directly to $@.
67036         (CLEANFILES): Add ref-add.sed and ref-del.sed.
67037
67038 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
67039
67040         * lib/config.charset: Output a line containing "Packages using this
67041         file".
67042         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
67043         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
67044         ref-del.sed): New rules.
67045
67046 2000-03-17  Jim Meyering  <meyering@lucent.com>
67047
67048         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
67049         Otherwise, include <strings.h>
67050
67051 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
67052
67053         * lib/unicodeio.c (utf8_wctomb): New function.
67054         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
67055         format instead of in UCS-4 with platform dependent endianness.
67056
67057 2000-03-10  Jim Meyering  <meyering@lucent.com>
67058
67059         * m4/lib-check.m4: Look for getspnam in -lgen, too.
67060         From Marco Franzen.
67061
67062 2000-03-07  Paul Eggert  <eggert@twinsun.com>
67063
67064         * lib/savedir.c (savedir): Work even if directory size is
67065         negative; this can happen with some screwy NFS configurations.
67066
67067 2000-03-06  Jim Meyering  <meyering@lucent.com>
67068
67069         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
67070         if it's NULL (because we ran out of memory).  From Bruno Haible.
67071
67072 2000-03-05  Jim Meyering  <meyering@lucent.com>
67073
67074         * lib/localcharset.c ("path-concat.h"): Include.
67075         (get_charset_aliases): Use path_concat instead of ANSI string
67076         concatenation.
67077
67078         * lib/unicodeio.h (PARAMS): Define.
67079         Use it to guard prototype.
67080
67081 2000-03-04  Jim Meyering  <meyering@lucent.com>
67082
67083         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
67084         for lib/localcharset.c.
67085
67086 2000-03-04  Jim Meyering  <meyering@lucent.com>
67087
67088         * lib/Makefile.am (install-exec-local): Create $(libdir) before
67089         installing into it.
67090         (uninstall-local): Uncomment this rule so `make distcheck' works
67091         once again.
67092
67093         * lib/unicodeio.c (<errno.h>): Include it.
67094         (errno): Declare if not defined.
67095
67096         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
67097
67098         * lib/config.charset: New version, incorporating remarks from a linux
67099         i18n mailing list.  From Bruno Haible.
67100
67101 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
67102
67103         * m4/codeset.m4: New file.
67104         * m4/iconv.m4: New file.
67105         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
67106
67107 2000-03-03  Jim Meyering  <meyering@lucent.com>
67108
67109         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
67110
67111 2000-03-02  Jim Meyering  <meyering@lucent.com>
67112
67113         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
67114         the messages come out on separate lines.
67115
67116         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
67117         rather than jm_CHECK_DECLARATIONS.
67118         * m4/decl.m4: Remove now-unused file.
67119
67120         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
67121         geteuid.
67122
67123 2000-03-02  Jim Meyering  <meyering@lucent.com>
67124
67125         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
67126
67127 2000-03-01  Jim Meyering  <meyering@lucent.com>
67128
67129         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
67130         * lib/unicodeio.c: Likewise.
67131
67132 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
67133
67134         * lib/config.charset: New file.
67135         * lib/localcharset.c: New file.
67136         * lib/unicodeio.h, lib/unicodeio.c: New files.
67137         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
67138         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
67139         (noinst_HEADERS): Add unicodeio.h.
67140         (all-local, install-exec-local, charset.alias): New targets.
67141
67142 2000-02-28  Paul Eggert  <eggert@twinsun.com>
67143
67144         * lib/quotearg.c (ALERT_CHAR): New macro.
67145         (quotearg_buffer_restyled): Use it.
67146
67147 2000-02-27  Jim Meyering  <meyering@lucent.com>
67148
67149         * m4/check-decl.m4: Add getenv to the list.
67150
67151 2000-02-27  Jim Meyering  <meyering@lucent.com>
67152
67153         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
67154         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
67155
67156         * lib/backupfile.c: Guard inclusion of stdlib.h with
67157         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
67158         Declare malloc if needed.
67159
67160         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
67161         `#ifndef HAVE_DECL..'
67162         now that autoconf always defines the HAVE_DECL_ symbols.
67163         * lib/human.c: Likewise.
67164         * lib/same.c: Likewise.
67165         * lib/strtoumax.c: Likewise.
67166
67167         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
67168         declaration check was not run.
67169         * lib/hash.c: Likewise.
67170         * lib/human.c: Likewise.
67171         * lib/same.c: Likewise.
67172         * lib/strtoumax.c: Likewise.
67173
67174         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
67175         `.', then first look up the entire `.'-containing string as a login
67176         name.
67177
67178 2000-02-23  Jim Meyering  <meyering@lucent.com>
67179
67180         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
67181         in place of my hack.
67182
67183 2000-02-18  Paul Eggert  <eggert@twinsun.com>
67184
67185         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
67186         (textint): New typedef.
67187         (parser_control): Member year changed from int to textint.
67188         All uses changed.
67189         (YYSTYPE): Removed; replaced by %union with int and textint members.
67190         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
67191         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
67192         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
67193         (tSNUMBER, tUNUMBER): Now of type <textintval>.
67194         (date, number, to_year): Use width of number in digits, not its value,
67195         to determine whether it's a 2-digit year, or a 2-digit time.
67196         (yylex): Store number of digits of numeric tokens.
67197         Reported by John Kendall.
67198
67199         (parser_control): Changed from struct parser_control to typedef (for
67200         consistency).  All uses changed.
67201
67202         (tID): Removed; not used.
67203         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
67204
67205 2000-02-14  Paul Eggert  <eggert@twinsun.com>
67206
67207         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
67208         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
67209
67210 2000-02-12  Jim Meyering  <meyering@lucent.com>
67211
67212         * lib/userspec.c (ISDIGIT): Define it.
67213         (isdigit): Remove definition.
67214         (is_number): Use ISDIGIT, not isdigit.
67215         <libintl.h>: Include.
67216         (_ and N_): Define.
67217         (parse_user_spec): Mark translatable strings.
67218
67219 2000-02-10  Jim Meyering  <meyering@lucent.com>
67220
67221         With these changes, nanosleep.[ch] are finally enough like the other
67222         lib/* replacement files to compile on a few more losing systems.
67223
67224         * lib/nanosleep.h: Don't include config.h.
67225         Remove prototype from declaration of nanosleep.
67226         (PARAMS): Remove now-unneeded definition.
67227         * lib/nanosleep.c: #undef nanosleep.
67228         (rpl_nanosleep): Rename from nanosleep.
67229
67230 2000-02-10  Jim Meyering  <meyering@lucent.com>
67231
67232         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
67233         gnu_nanosleep to rpl_nanosleep.
67234
67235 2000-02-09  Jim Meyering  <meyering@lucent.com>
67236
67237         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
67238         struct spwd, rather than in struct passwd.  Reported by GaĂ«l QuĂ©ri.
67239
67240 2000-02-08  Akim Demaille  <akim@epita.fr>
67241
67242         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
67243         `[' and `]' and remove uses of `changequote'.
67244         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
67245         (AC_SYS_LARGEFILE): Likewise.
67246         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
67247         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
67248         of changequote.
67249         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
67250         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
67251         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
67252         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
67253
67254 2000-02-05  Jim Meyering  <meyering@lucent.com>
67255
67256         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
67257         Remove explicit use of AC_HEADER_TIME.  It is required by
67258         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
67259         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
67260         in autoconf whereby the expansion of the latter ended up preceding
67261         the expansion of its prerequisite, AC_HEADER_TIME.
67262         Reported by Volker Borchert.
67263
67264 2000-02-03  Jim Meyering  <meyering@lucent.com>
67265
67266         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
67267
67268 2000-02-03  Jim Meyering  <meyering@lucent.com>
67269
67270         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
67271         rather than with `#if HAVE_UTMPNAME'.
67272
67273 2000-02-02  Jim Meyering  <meyering@lucent.com>
67274
67275         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
67276         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
67277         Reported by Eli Zaretskii.
67278
67279 2000-02-01  Jim Meyering  <meyering@lucent.com>
67280
67281         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
67282
67283 2000-01-31  Jim Meyering  <meyering@lucent.com>
67284
67285         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
67286         functions.  Add the time.h and sys/time.h headers along with the
67287         AC_REQUIRE'ment of AC_HEADER_TIME.
67288
67289 2000-01-31  Jim Meyering  <meyering@lucent.com>
67290
67291         * lib/nanosleep.h (nanosleep): Guard declaration with
67292         `#if ! HAVE_DECL_NANOSLEEP'.
67293         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
67294         the declaration in that vendor's sys/timers.h.
67295         Reported by Christian Krackowizer.
67296
67297         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
67298         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
67299         (ISPRINT): Likewise.
67300         Reported by Tom Tromey.
67301
67302 2000-01-30  Jim Meyering  <meyering@lucent.com>
67303
67304         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
67305
67306         * m4/prereq.m4 (utmp_includes): Define.
67307         Check for ut_user and ut_name members in both struct utmpx
67308         and struct utmp.
67309
67310 2000-01-30  Jim Meyering  <meyering@lucent.com>
67311
67312         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
67313         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
67314         header files where only utmpx.ut_user is declared.
67315
67316         * lib/readutmp.h (UT_USER): Define.
67317
67318 2000-01-29  Jim Meyering  <meyering@lucent.com>
67319
67320         * m4/lib-check.m4: New file containing library-related checks from
67321         fileutils and sh-utils (textutils had none).
67322
67323 2000-01-28  Jim Meyering  <meyering@lucent.com>
67324
67325         * m4/perl.m4: Change format of warning message to look more like that
67326         from the missing script.  Suggestion from François Pinard.
67327
67328 2000-01-25  Jim Meyering  <meyering@lucent.com>
67329
67330         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
67331         well as time.h in the compile check.
67332         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
67333         Fix typo in cross-compiling case: s/yes/no/.
67334
67335 2000-01-23  Jim Meyering  <meyering@lucent.com>
67336
67337         * m4/jm-macros.m4: Move df-related tests here from
67338         fileutils/configure.in
67339
67340         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
67341         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
67342
67343         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
67344         s/space/ac_fsusage_space/.
67345         (jm_FILE_SYSTEM_USAGE): Take two parameters.
67346
67347         * m4/ftruncate.m4: New file (derived from part of
67348         fileutils/configure.in).
67349         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
67350         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
67351
67352         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
67353         AC_SUBST these here, rather than just in sh-util/configure.in, so
67354         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
67355         all the same.
67356         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
67357         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
67358         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
67359         (AC_SUBST(POW_LIBM)): Likewise.
67360         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
67361
67362 2000-01-23  Jim Meyering  <meyering@lucent.com>
67363
67364         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
67365         obstack.c.
67366
67367 2000-01-22  Jim Meyering  <meyering@lucent.com>
67368
67369         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
67370
67371         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
67372
67373         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
67374         configure.in
67375         (AC_CHECK_HEADERS): Likewise for sh-utils.
67376         (AC_CHECK_HEADERS): Likewise for textutils.
67377         Merge the three lists of headers.
67378
67379         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
67380         from fileutils' configure.in.
67381
67382         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
67383         code. Moved tests into their own function (_jm_DECL_HEADERS) in
67384         check-decl.m4.
67385
67386         * m4/check-decl.m4: Use #if rather than #ifdef.
67387         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
67388         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
67389         (_jm_DECL_HEADERS): Define new function.
67390         (jm_CHECK_DECLARATIONS): Require it.
67391
67392 2000-01-22  Jim Meyering  <meyering@lucent.com>
67393
67394         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
67395         [! HAVE_DECL_STRTOULL]: Declare strtoull.
67396         Required for some AIX systems.  Reported by Christian Krackowizer.
67397         [TESTING] (main): New function.
67398
67399         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
67400         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
67401         letters.
67402
67403         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
67404         iswprint.
67405
67406         * lib/strverscmp.c (ISDIGIT): Define.
67407         (strverscmp): Use ISDIGIT, not isdigit.
67408
67409 2000-01-19  Jim Meyering  <meyering@lucent.com>
67410
67411         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
67412         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
67413         defines `struct timespec' in <sys/time.h>
67414
67415         * m4/c-bs-a.m4: Remove uses of changequote altogether.
67416         Thanks to Akim for explaining.
67417
67418 2000-01-17  Paul Eggert  <eggert@twinsun.com>
67419
67420         * lib/nanosleep.c (nanosleep):
67421         Don't use SA_INTERRUPT to decide whether to call sigaction, as
67422         POSIX.1 doesn't require SA_INTERRUPT and some systems
67423         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
67424         it's been part of POSIX.1 since day 1 (in 1988).
67425
67426 2000-01-17  Jim Meyering  <meyering@lucent.com>
67427
67428         * lib/interlock: Remove unused file.  Reported by François Pinard.
67429
67430 2000-01-16  Paul Eggert  <eggert@twinsun.com>
67431
67432         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
67433         alert, backslash, formfeed, and vertical tab unnecessarily in
67434         shell quoting style.
67435
67436 2000-01-16  Jim Meyering  <meyering@lucent.com>
67437
67438         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
67439         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
67440         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
67441         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
67442
67443 2000-01-16  Jim Meyering  <meyering@lucent.com>
67444
67445         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
67446         because the latter didn't work.
67447
67448 2000-01-15  Jim Meyering  <meyering@lucent.com>
67449
67450         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
67451         (AC_REPLACE_FUNCS): Add memcpy and memset.
67452         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
67453         Add strpbrk.
67454         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
67455
67456 2000-01-12  Jim Meyering  <meyering@lucent.com>
67457
67458         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
67459         (jm_PREREQ): Use it.
67460         (jm_PREREQ_READUTMP): New macro.
67461         (jm_PREREQ): Use it.
67462
67463 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67464
67465         Quote multibyte characters correctly.
67466         * m4/c-bs-a.m4: New file.
67467         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
67468         (jm_PREREQ): Use it.
67469
67470 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67471
67472         * m4/uintmax_t.m4: Port to autoconf 2.13.
67473
67474 2000-01-08  Jim Meyering  <meyering@ascend.com>
67475
67476         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
67477         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
67478
67479 2000-01-04  Jim Meyering  <meyering@ascend.com>
67480
67481         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
67482         jm_STRUCT_DIRENT_D_TYPE.
67483         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
67484         jm_STRUCT_DIRENT_D_INO.
67485         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
67486         jm_STRUCT_UTIMBUF.
67487         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
67488         renamings.
67489         * m4/utime.m4: Likewise.
67490
67491         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
67492         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
67493
67494 2000-01-03  Paul Eggert  <eggert@twinsun.com>
67495
67496         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
67497         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
67498
67499 2000-01-02  Jim Meyering  <meyering@ascend.com>
67500
67501         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
67502         remember if this is necessary.
67503
67504 1999-12-26  Jim Meyering  <meyering@ascend.com>
67505
67506         * m4/jm-macros.m4: Use it here.
67507         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
67508
67509 1999-12-23  Jim Meyering  <meyering@ascend.com>
67510
67511         * m4/jm-macros.m4: Check for clock_gettime (moved from
67512         fileutils/configure.in)
67513         Check for gettimeofday.
67514
67515 1999-12-20  Jim Meyering  <meyering@ascend.com>
67516
67517         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
67518         autoconf-2.14a-1999-12-20.
67519
67520 1999-12-19  Jim Meyering  <meyering@ascend.com>
67521
67522         * m4/lstat-slash.m4: New file.
67523         * m4/jm-macros.m4: Use the new macro:
67524         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67525
67526 1999-12-07  Jim Meyering  <meyering@ascend.com>
67527
67528         * m4/perl.m4: Require that File::Compare be available, too.
67529         Too many systems seem to lack it.
67530
67531         * m4/strftime.m4: Add checks for most of the cpp macros tested in
67532         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
67533
67534 1999-11-18  Paul Eggert  <eggert@twinsun.com>
67535
67536         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
67537         problem with the QNX 4.25 shell, which doesn't propagate exit
67538         status of failed commands inside shell assignments.
67539
67540 1999-11-17  Jim Meyering  <meyering@ascend.com>
67541
67542         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
67543
67544 1999-11-07  Jim Meyering  <meyering@ascend.com>
67545
67546         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
67547
67548 1999-11-06  Jim Meyering  <meyering@ascend.com>
67549
67550         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
67551         * m4/jm-macros.m4 (jm_MACROS): Use it here.
67552
67553 1999-11-05  Jim Meyering  <meyering@ascend.com>
67554
67555         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
67556         configure.in of textutils, fileutils, and sh-utils into this one
67557         (shared between those packages) file.
67558         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
67559         AC_STRUCT_ST_BLKSIZE.
67560
67561 1999-11-03  Jim Meyering  <meyering@ascend.com>
67562
67563         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
67564         of AC_CHECK_TYPE checks includes unistd.h.
67565         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
67566         Suggestion from Akim Demaille.
67567
67568 1999-10-30  Jim Meyering  <meyering@ascend.com>
67569
67570         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
67571         m4-quoted string.
67572         * m4/ls-mntd-fs.m4: Likewise.
67573         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
67574         * m4/jm-winsz1.m4: Likewise.
67575
67576         * m4/const.m4: Remove file, since the fix made it into the experimental
67577         version of autoconf.
67578         * m4/mktime.m4: Likewise.
67579
67580         * m4/check-type.m4: Remove file, now that the latest version of
67581         AC_CHECK_TYPE takes a third arg to specify additional #includes.
67582
67583         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
67584         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
67585         AC_CHECK_TYPE.
67586
67587 1999-10-04  Jim Meyering  <meyering@ascend.com>
67588
67589         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
67590
67591 1999-09-22  Paul Eggert  <eggert@twinsun.com>
67592
67593         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
67594         2.95.1 bug with HP-UX 10.20.
67595
67596 1999-09-17  Jim Meyering  <meyering@ascend.com>
67597
67598         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
67599         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
67600         due to missing strdup (against sh-utils-2.0).
67601
67602 1999-08-29  Jim Meyering  <meyering@ascend.com>
67603
67604         * m4/jm-macros.m4: Require jm_BISON.
67605         * m4/bison.m4: New file.
67606
67607 1999-08-17  Paul Eggert  <eggert@twinsun.com>
67608
67609         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
67610         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
67611
67612 1999-08-05  Jim Meyering  <meyering@ascend.com>
67613
67614         * m4/getline.m4: Rename test file from conftestdata to conftest.data
67615         to avoid conflicts with `conftest' on 8+3 filesystems.
67616         Suggestion from Eli Zaretskii.
67617
67618 1999-08-04  Jim Meyering  <meyering@ascend.com>
67619
67620         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
67621         fileutils and sh-utils (textutils's getline test was inadequate).
67622         (AM_FUNC_GETLINE): Run this test.
67623         (AC_CHECK_FUNCS): Check for getdelim.
67624         Reported by Bob Proulx.
67625
67626 1999-08-02  Jim Meyering  <meyering@ascend.com>
67627
67628         * m4/jm-macros.m4: Add a comment.
67629
67630 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67631
67632         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
67633         <inttypes.h> defines strtoumax as a macro (and not as a
67634         function).
67635
67636 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67637
67638         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
67639         that we can shift, multiply and divide unsigned long long
67640         values; Ultrix cc can't do it.
67641
67642 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67643
67644         * m4/mktime.m4: New file, which is a preview of what should appear
67645         in the next public autoconf release.
67646
67647 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67648
67649         * m4/lfs.m4: Remove this file.
67650         * m4/largefile.m4: New file.  It contains the old contents of
67651         lfs.m4, except that all names with prefix AC_LFS have been
67652         changed to use the prefix AC_SYS_LARGEFILE instead, to be
67653         compatible with future autoconf versions.  Also, some minor m4
67654         quoting problems have been fixed.
67655
67656 1999-08-01  Paul Eggert  <eggert@twinsun.com>
67657
67658         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
67659         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
67660         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
67661         and simplify the shell code.
67662
67663 1999-08-01  Jim Meyering  <meyering@ascend.com>
67664
67665         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
67666         m4.
67667
67668 1999-07-20  Jim Meyering  <meyering@ascend.com>
67669
67670         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
67671
67672 1999-07-15  Jim Meyering  <meyering@ascend.com>
67673
67674         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
67675
67676 1999-05-22  Jim Meyering  <meyering@ascend.com>
67677
67678         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
67679
67680 1999-05-20  Jim Meyering  <meyering@ascend.com>
67681
67682         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
67683         Add a colon after each `then' in case $4 is empty.
67684
67685 1999-05-16  Jim Meyering  <meyering@ascend.com>
67686
67687         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
67688
67689 1999-05-10  Jim Meyering  <meyering@ascend.com>
67690
67691         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
67692
67693         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
67694         AC_FUNC_MKTIME.
67695
67696 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
67697
67698         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
67699
67700 1999-05-04  Paul Eggert  <eggert@twinsun.com>
67701
67702         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
67703         not CPPFLAGS, so that linking works correctly in IRIX.
67704
67705 1999-04-30  Paul Eggert  <eggert@twinsun.com>
67706
67707         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
67708
67709 1999-04-20  Paul Eggert  <eggert@twinsun.com>
67710
67711         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
67712         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
67713         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
67714         jm_AC_TYPE_UNSIGNED_LONG_LONG.
67715         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
67716
67717         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
67718
67719 1999-04-20  Jim Meyering  <meyering@ascend.com>
67720
67721         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
67722         AC_REPLACE xstroull if necessary.  From Paul Eggert.
67723         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
67724
67725 1999-04-18  Jim Meyering  <meyering@ascend.com>
67726
67727         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
67728         * m4/jm-macros.m4: Use it.
67729
67730 1999-04-06  Jim Meyering  <meyering@ascend.com>
67731
67732         * m4/strftime.m4: Remove test for %f.
67733
67734 1999-03-29  Jim Meyering  <meyering@ascend.com>
67735
67736         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
67737         superset of the AC_TYPE_* checks in the textutils, fileutils,
67738         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
67739         AC_TYPE_PID_T.
67740
67741 1999-03-28  Jim Meyering  <meyering@ascend.com>
67742
67743         * m4/jm-macros.m4: Define GNU_PACKAGE here.
67744         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
67745         replaced e.g., in the *.sh files of the sh-utils.
67746
67747 1999-03-20  Jim Meyering  <meyering@ascend.com>
67748
67749         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
67750         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
67751         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
67752
67753 1999-03-19  Jim Meyering  <meyering@ascend.com>
67754
67755         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
67756
67757 1999-03-12  Jim Meyering  <meyering@ascend.com>
67758
67759         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
67760
67761 1999-03-07  Jim Meyering  <meyering@ascend.com>
67762
67763         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
67764         declared.
67765
67766 1999-02-17  Jim Meyering  <meyering@ascend.com>
67767
67768         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
67769         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
67770
67771 1999-02-07  Jim Meyering  <meyering@ascend.com>
67772
67773         * m4/group-member.m4: New file -- extracted from sh-utils'
67774         configure.in.
67775
67776         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
67777         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
67778
67779 1999-02-06  Jim Meyering  <meyering@ascend.com>
67780
67781         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
67782         * m4/fnmatch.m4: Likewise.
67783         * m4/getgroups.m4: Likewise.
67784         * m4/lstat.m4: Likewise.
67785         * m4/malloc.m4: Likewise.
67786         * m4/putenv.m4: Likewise.
67787         * m4/realloc.m4: Likewise.
67788         * m4/regex.m4: Likewise.
67789         * m4/stat.m4: Likewise.
67790         * m4/strftime.m4: Likewise.
67791         Suggestion from Alain Magloire.
67792
67793         * m4/chown.m4: Use `.$ac_objext', not `.o'.
67794         * m4/fnmatch.m4: Likewise.
67795         * m4/getgroups.m4: Likewise.
67796         * m4/getline.m4: Likewise.
67797         * m4/lstat.m4: Likewise.
67798         * m4/malloc.m4: Likewise.
67799         * m4/memcmp.m4: Likewise.
67800         * m4/putenv.m4: Likewise.
67801         * m4/realloc.m4: Likewise.
67802         * m4/regex.m4: Likewise.
67803         * m4/stat.m4: Likewise.
67804         * m4/strftime.m4: Likewise.
67805         Suggestion from Alain Magloire.
67806
67807         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
67808         an argument.
67809
67810         * m4/regex.m4: Add a run-time Test for proper operation of
67811         re_compile_pattern.
67812
67813 1999-01-31  Jim Meyering  <meyering@ascend.com>
67814
67815         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
67816
67817 1999-01-30  Jim Meyering  <meyering@ascend.com>
67818
67819         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
67820
67821         * m4/jm-mktime.m4: Make this a wrapper around the official
67822         AM_FUNC_MKTIME rather than my private copy, now that the official one
67823         is up to date.
67824         * m4/mktime.m4: Remove file.
67825
67826         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
67827         * m4/uptime.m4: Likewise.
67828         * m4/uintmax_t.m4: Likewise.
67829
67830 1999-01-28  Jim Meyering  <meyering@ascend.com>
67831
67832         * m4/jm-macros.m4: Use jm_AFS.
67833         * m4/afs.m4: New file (from fileutils' configure.in).
67834
67835         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
67836         * m4/chown.m4: Likewise.
67837         * m4/d-ino.m4: Likewise.
67838         * m4/d-type.m4: Likewise.
67839         * m4/fnmatch.m4: Likewise.
67840         * m4/getgroups.m4: Likewise.
67841         * m4/gettext.m4: Likewise.
67842         * m4/jm-mktime.m4: Likewise.
67843         * m4/jm-winsz2.m4: Likewise.
67844         * m4/lcmessage.m4: Likewise.
67845         * m4/ls-mntd-fs.m4: Likewise.
67846         * m4/malloc.m4: Likewise.
67847         * m4/memcmp.m4: Likewise.
67848         * m4/putenv.m4: Likewise.
67849         * m4/realloc.m4: Likewise.
67850         * m4/st_mtim.m4: Likewise.
67851         * m4/strftime.m4: Likewise.
67852
67853 1999-01-16  Jim Meyering  <meyering@ascend.com>
67854
67855         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
67856         (ARGMATCH_DIE_DECL): Define.
67857
67858 1999-01-12  Jim Meyering  <meyering@ascend.com>
67859
67860         * m4/Makefile.am.in: Rewrite to avoid using fmt.
67861         Reported by Lars Hecking.
67862
67863 1999-01-10  Jim Meyering  <meyering@ascend.com>
67864
67865         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
67866         gross kludge.
67867         * m4/inttypes_h.m4: Likewise.
67868         * m4/lstat.m4: Likewise.
67869         * m4/malloc.m4: Likewise.
67870         * m4/readdir.m4: Likewise.
67871         * m4/realloc.m4: Likewise.
67872         * m4/st_dm_mode.m4: Likewise.
67873         * m4/stat.m4: Likewise.
67874         * m4/utimbuf.m4: Likewise.
67875         * m4/utimes.m4: Likewise.
67876
67877         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
67878         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
67879         comments in config.h.in are meaningful.
67880
67881         * m4/jm-macros.m4: Require autoconf-2.13 here.
67882
67883         * m4/regex.m4: By default, don't use the included regex.c on systems
67884         with glibc 2.  Suggestion from Uli Drepper.
67885
67886 1999-01-02  Jim Meyering  <meyering@ascend.com>
67887
67888         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
67889
67890 1998-12-18  Jim Meyering  <meyering@ascend.com>
67891
67892         * m4/Makefile.am.in (Makefile.am): Simplify rule.
67893         Based on a suggestion from Lars Hecking.
67894
67895 1998-11-16  Paul Eggert  <eggert@twinsun.com>
67896
67897         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
67898
67899 1998-11-16  Jim Meyering  <meyering@ascend.com>
67900
67901         * m4/lfs.m4: Double-quote the `uname...` expression.
67902
67903 1998-11-14  Jim Meyering  <meyering@ascend.com>
67904
67905         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
67906         * m4/stat.m4: Likewise.
67907
67908 1998-11-03  Jim Meyering  <meyering@ascend.com>
67909
67910         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
67911         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
67912
67913 1998-10-18  Jim Meyering  <meyering@ascend.com>
67914
67915         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
67916
67917 1998-10-17  Jim Meyering  <meyering@ascend.com>
67918
67919         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
67920         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
67921         calls for those previously hard-coded headers.  Instead, take a new
67922         parameter.
67923         (jm_CHECK_DECLARATIONS): Reflect interface change.
67924         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
67925         (jm_CHECK_DECL_LOCALTIME_R): New macro.
67926
67927         * m4/mktime.m4: Test for spring-forward gap before long-running test.
67928
67929 1998-10-14  Jim Meyering  <meyering@ascend.com>
67930
67931         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
67932         instead of "TZ=America/Vancouver".  From Paul Eggert.
67933
67934 1998-10-11  Jim Meyering  <meyering@ascend.com>
67935
67936         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
67937         This adds a test for a recently added compatibility fix for mktime.c.
67938         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
67939
67940 1998-09-27  Jim Meyering  <meyering@ascend.com>
67941
67942         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
67943
67944         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
67945         ../configure.in, including a change from Gordon Matzigkeit to allow
67946         cross-compiling for the Hurd.
67947
67948         * m4/glibc.m4: New file/macro to test for the GNU C Library
67949         versions 1 and 2.  From Gordon Matzigkeit.
67950         Indent.
67951
67952 1998-09-21  Jim Meyering  <meyering@ascend.com>
67953
67954         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
67955
67956 1998-08-18  Paul Eggert  <eggert@twinsun.com>
67957
67958         Port nanosecond-resolution times to UnixWare 2.1.2 and
67959         pedantic Solaris 2.6.
67960
67961         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
67962         AC_STRUCT_ST_MTIM.
67963         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
67964         Generate name of ns member, instead of just 1 or undef.
67965         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
67966
67967 1998-08-15  Jim Meyering  <meyering@ascend.com>
67968
67969         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
67970         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
67971         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
67972         instead of jm_TYPE_SSIZE_T.
67973
67974 1998-08-12  Jim Meyering  <meyering@ascend.com>
67975
67976         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
67977
67978 1998-08-02  Jim Meyering  <meyering@ascend.com>
67979
67980         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
67981         in acconfig.h manually.
67982
67983 1998-07-31  Paul Eggert  <eggert@twinsun.com>
67984
67985         * m4/st_mtim.m4: New file.
67986
67987 1998-07-28  Jim Meyering  <meyering@ascend.com>
67988
67989         * m4/utimes.m4: Undef stat.
67990
67991 1998-07-25  Jim Meyering  <meyering@ascend.com>
67992
67993         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
67994         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
67995
67996 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
67997
67998         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
67999         uid and gid actually remain unchanged.
68000
68001 1998-07-07  Jim Meyering  <meyering@ascend.com>
68002
68003         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
68004
68005 1998-07-04  Jim Meyering  <meyering@ascend.com>
68006
68007         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
68008         to prove that this macro can be used in packages without regex.c.
68009
68010 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
68011
68012         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
68013         is to be used.
68014
68015 1998-07-03  Jim Meyering  <meyering@ascend.com>
68016
68017         * m4/gettext.m4: Add -lintl if it's found to be necessary.
68018
68019         * m4/gettext.m4: New file -- from gettext-0.10.35.
68020         * m4/lcmessage.m4: Likewise.
68021         * m4/progtest.m4: Likewise.
68022
68023         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
68024         * m4/jm-macros.m4: Require the new macro.
68025
68026 1998-06-29  Jim Meyering  <meyering@ascend.com>
68027
68028         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
68029         for the definition of NGROUPS (used in a system header included
68030         by sys/mount.h).
68031
68032 1998-06-28  Jim Meyering  <meyering@ascend.com>
68033
68034         * m4/ls-mntd-fs.m4: New file.
68035         * m4/fstypename.m4: New file.
68036
68037         * m4/jm-macros.m4: Require the new macro.
68038         * m4/jm-glibc-io.m4: New file.
68039
68040 1998-05-19  Jim Meyering  <meyering@ascend.com>
68041
68042         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
68043         * m4/lchown.m4: New file.
68044
68045         * m4/Makefile.am.in: New file.
68046         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
68047
68048 1998-05-14  Jim Meyering  <meyering@ascend.com>
68049
68050         * m4/Makefile.am (EXTRA_DIST): Add them.
68051         * m4/jm-macros.m4: New file.
68052         * m4/utimbuf.m4: New file.
68053
68054 1998-05-12  Jim Meyering  <meyering@ascend.com>
68055
68056         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
68057
68058 1998-05-11  Jim Meyering  <meyering@ascend.com>
68059
68060         * m4/isc-posix.m4: New file.
68061
68062 1998-05-10  Jim Meyering  <meyering@ascend.com>
68063
68064         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
68065
68066 1998-05-09  Jim Meyering  <meyering@ascend.com>
68067
68068         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
68069         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
68070         with automake.
68071
68072         * m4/ssize_t.m4: New file.
68073         * m4/mktime.m4: Remove file -- the new automake has this now.
68074
68075 1998-04-26  Jim Meyering  <meyering@ascend.com>
68076
68077         * m4/assert.m4: New file.
68078         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
68079
68080 1998-04-05  Jim Meyering  <meyering@ascend.com>
68081
68082         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
68083         (jm_PREREQ): Use it here.
68084
68085 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
68086
68087         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
68088         in acconfig.h.
68089
68090 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
68091
68092         * m4/prereq.m4: New file.
68093         * m4/error.m4: New file.
68094         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
68095
68096 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
68097
68098         * m4/getline.m4: Don't set am_cv_func_working_getline before the
68099         cache-check for the same variable -- that defeated the purpose of
68100         the test; the test program was never run.  This was a problem only
68101         on systems with losing getline functions -- HP-UX 10.20 is one.
68102         Reported by Bjorn Helgaas.
68103
68104 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
68105
68106         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
68107
68108 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
68109
68110         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
68111
68112         * m4/const.m4: New file.  Use an initializer in this declaration
68113         typedef int charset[2]; const charset x;
68114         Reported by Bob Glickstein.
68115
68116 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
68117
68118         * m4/chown.m4: Fix reversed types on -1 args to chown.
68119         From Kaveh Ghazi.
68120
68121 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
68122
68123         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
68124         Add lseek and memchr.
68125
68126         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
68127         T.E.Dickey <dickey@clark.net> said that some older preprocessors
68128         have a 20-character limit on names.
68129
68130 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
68131
68132         * m4/inttypes_h.m4: New file.
68133         * m4/uintmax_t.m4: New file.
68134         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
68135
68136
68137         -----
68138
68139         Local Variables:
68140         coding: utf-8
68141         End:
68142
68143         Copyright (C) 1997-2010 Free Software Foundation, Inc.
68144
68145         Copying and distribution of this file, with or without
68146         modification, are permitted provided the copyright notice
68147         and this notice are preserved.